Answer the following using the list of names provided

advertisement
91.3913
a previous Midterm Test
Name: ______________________
Answer all questions on the test paper.
Student Number: ______________
There is a total of 50 marks.
Signature: ____________________
1. Answer the following using the list of names provided.
Alexander
Bayer
Beck
Booch
Chen
Cockburn
Coplien
Date
Fowler
Gamma
Hay
Helm
Jacobson
Johnson
Larman
Parnas
Rumbaugh
Vlissides
a) Who is credited with first developing the notion of patterns?
b) Who is in the Gang of Four?
c) Who are the three amigos?
d) Who is responsible for inventing GRASP?
2. Which pattern might lead us to invent a new class, one that is not in our Domain
Model?
3. Name the GRASP patterns.
4. What does the acronym UML stand for?
5. What does the acronym GRASP stand for?
6. What is the significant contribution of the Gang of Four?
7. What is the significant contribution of the 3 amigos?
8. When we apply the Controller pattern, there are two general solutions that can arise.
Explain these two approaches. Describe the use of Controller that has been used in
the text for NextGenPOS.
9. Suppose documents are considered to be collections of chapters, chapters are
considered collections of sections, sections are considered collections of paragraphs.
Use composition to show associations between Documents, Chapters, Sections, and
Paragraphs.
10. There are two parts to this question:
a) create a sequence diagram that corresponds to the following diagram,
b) create a class diagram (with navigability adornments) and show responsibilities
for classes
:Entry
1: create ()
2.2: add (e)
setup ()
c:Catalogue
e:Entry
2.1: create ()
2.3: changeX ()
2: changeX ()
2.3.1: updateX ()
11. There are two parts to this question:
a) create a collaboration diagram that corresponds to the following diagram,
b) create a class diagram (with navigability adornments) and show
responsibilities
C:Client
C:Coordinator
A:Transaction
B:Transaction
endTrans()
[not abort] commit()
commit()
commit()
[abort] abort()
abort()
abort()
12. In order to manage a project, it is necessary to break the work to be done into many
different activities. Consider the following partial arrangement of activities for a
project:
Student Record Project
analysis
Create use
cases
design
Create domain
model
construction
Create class
model
test
testa
deployment
testb
testc
In general, projects have hundreds of activities that are arranged hierarchically where the
hierarchy is a tree of multiple levels. Note that the leaf nodes are the nodes representing
the actual activities that people are assigned to. Note that these are grouped into
meaningful collections of activities. In the above, “analysis” is seen to comprise two
activities “create use cases” and “create domain model”.
Each activity is responsible for knowing when it starts, when it ends, who is assigned to
it, if it is completed, etc.
Create a class model, based on the composite pattern, that can be used to manage the
activities that comprise a project.
13. Consider the following Use Case.
A DBA needs to enter the design of a table into the system. The DBA logs-in by
identifying him/herself and supplies the password. The system accepts the DBA as a
user and the DBA indicates to the system he/she needs to create a new table. The
system responds asking the name of the table and the DBA supplies the table name.
The DBA enters an attribute (its name and its data type) which the system accepts.
The DBA continues entering attributes until he/she indicates there are no more. The
system asks the user for the name of the primary key. The DBA supplies the name of
the primary key to the system. The system saves all information about the new table.
Having completed his/her goal, the DBA logs out of the system.
a) Express the use case as a System Sequence Diagram.
b) Consider the above use case and suppose that two new use cases have been
created: one for logging in, and one for logging out. Illustrate, using a Use
Case diagram, how “include” could be used to show the three use cases
working to accomplish the Actor’s goal.
14. In order to track marriages, a model is proposed:
Male
1...*
1...*
Female
Marriage
The Marriage association class keeps track of the day and time of the marriage
ceremony.
The analyst noted the following needs/requirements:
 many persons do not marry,
 many persons marry more than once,
 the same two persons may even marry each other more than once,
 marriages are always between one Male and one Female
The above model does not meet all the requirements discovered by the analyst.
a) Discuss why the model falls short of meeting the requirements.
b) Modify the model, or, propose a new model, so that all requirements are
satisfied.
c) Assume there are three people named John, Debbie, and April. Illustrate
instances of objects, based on your model in b) above, in an object diagram
where:
 John married Debbie on April 1, 2000
 John married April on Jan 1, 2001
 John re-married Debbie on July 1, 2003
15. Create an Activity Diagram for the following:
The process of creating a datamart begins with a planning session. Once the planning
session is complete, three streams of activities can start concurrent with one another.
In the first stream there are two sequential activities: 1. technical design and 2.
product selection and installation. The second stream comprises three sequential
activities: 1. dimensional modeling, 2. physical design, and 3. data staging design and
development. The third stream comprises two sequential activities: 1. end-user
application specification and 2. application development. Once these three streams
complete, the last activity deployment can begin.
Download