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.