


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The summer 2007 exam for the systems modelling module of the bachelor of science in computing degree at cork institute of technology. The exam consists of four questions worth five marks each, covering topics such as object-oriented programming, uml diagrams, association, aggregation, composition, and use cases.
Typology: Exams
1 / 4
This page cannot be seen from the preview
Don't miss anything!



(NFQ Level 7)
Answer any Four questions. Examiners: Ms. M. Meagher Ms. A. Brown Mr. A. Tobin
(b) What is an Object’s state? What is an Object’s behaviour? How are state and behaviour related? (5 Marks)
(c) Discuss the phases and disciplines/workflows that one finds in the Unified Process. What in your opinion are the most important artefacts that one should produce? Explain the reasoning for your choices (5 Marks)
(d) Compare and contrast a UML sequence diagram with a UML collaboration diagram (communication diagram). Which diagram would be more beneficial to use and why? (5 Marks)
(e) Explain the concept of Polymorphism. (5 Marks)
‘Companies may employ many people, and people may work for many companies. Each company has a managing director, and every employee in a company has a manger, who may manage many subordinate employees. (5 Marks)
(b) Outline your understanding of the type of relationships that can exist among classes. (5 Marks)
(c) Using the UML notation, draw a class diagram to represent the following problem domain. ‘A module consists of a collection of named features. A feature can either be a variable, a routine or a nested module. Routines consist of a declaration part and a statement part. Features local to the routine can be declared in the declaration part, and the statement part consists of a non-empty sequence of statements. Statements can be loops, conditionals or assignments, and each assignment contains a reference to the variable that it is being assigned to.’
(10 Marks)
(d) What is the multiplicity of the association between the classes in each of the following pairs? Explain your answers.
(a) ‘ Owns’ , linking the class ‘People’ to ‘Cars’. (b) ‘ Has’ , linking the class ‘Library’ to ‘Books’. (c) ‘ Is occupying’ , linking the class ‘America’ and ‘Iraq’. (d) ‘ Flies’ , linking the class ‘Pilot’ to ‘Plane’. (e) ‘ Pilots’ , linking the class ‘Captain’ to ‘Ship’. (5 Marks)
(b) “Low Coupling and High Cohesion are important indicators of the quality of a Class Diagram – a good design strives to achieve Low Coupling across classes and modules, and High Cohesion within these design units”.
Do you agree with this quote? What is the reason for your answer? How might you go about assessing the Coupling and Cohesion of a class or module? (10 Marks)
(c) In analysis, we create a Domain (Conceptual) model as a representation of real-world entities. What kind of attributes should we include with this Domain (Conceptual) model? Why? What kind of attribute should we not include with this Domain (Conceptual) model? (5 Marks)
(b) The following is a system behaviour contract for an operation called makeChequePayment(driversLicenceNum :number) in a Point-of-Sale-Terminal system:
Contract
Name: makeCheckPayment (driversLicenceNum :number)
Responsibilities: Create and request authorisation for a check Payment. Type or Class:
Cross References: Use Case – Buy Items
Notes: The request has to be transformed into a flat Record.
Output:
Pre-conditions: The current sale is complete.
Post-conditions:
Create a collaboration / sequence diagram for the makeChequePayment(driversLicenceNum :number) operation using your knowledge of the General Principles in Assigning Software Responsibilities Patterns (GRASP Patterns).
(8 Marks)
(c) Develop a minimal design class diagram for the above operation. (8 Marks)