COLLEGE of SCIENCE and ENGINEERING Department of Computer Science and Information Systems End-of-Semester Assessment Paper Academic Year: Module Title: Duration of Exam: Lecturer(s): 2008/2009 Systems Analysis 2. 5 Hours J. J. Collins Semester: Module Code: Percent of Total Marks: Paper marked out of : Spring CS4125 60 100 Instructions to Candidates: • Answer Q1, and any TWO other questions. Q1 Answer ALL parts. Total marks awarded for this question: 40. a) b) Distinguish analysis from design. 4 marks. What are the benefits and liabilities derived by subscribing to a development philosophy based on up-front design? marks. c) d) List the activities that take place in system design. 4 marks. What are the characteristics of the Extreme Programming (XP) approach to software development? 4 marks. What are the benefits of an open and closed architecture? 4 marks. f) What problem is addressed by Gamma et al. ’s Behavioural state pattern? Illustrate this pattern through the use of a class diagram. 4 marks. g) h) Illustrate initialisation in the MVC architecture using a sequence diagram. 4 marks. List the support features typically offered by a DBMS? 4 marks. e) Page 1 of 5 i)
Draw a class diagram that illustrates that a copy can be a copy of a book or DVD, but not both. 4 marks. Briefly critique The UML. 4 marks. j) Q2 Answer ALL parts. Total marks awarded for this question: 30. a) b) What are the characteristics of good software? 5 marks. Describe the unique features of the Object-Oriented paradigm, and illustrate polymorphism with pseudocode or coding fragments. 5 marks. Distinguish multiple classification from generalisation, and illustrate with a diagram. 5 marks. How are contracts supported in software engineering, and illustrate with a diagram.
You should briefly discuss support for enforcement of contracts. 5 marks. Draw a diagram to illustrate the principle of “programming to interfaces, not implementation”. What benefits are derived by adhering to this principle? 5 marks. f) What is meant by behavioural subtyping? Illustrate the answer with a class diagram. 5 marks. c) d) e) Q3 Answer ALL parts. Total marks awarded for this question: 30. a) What are non-functional requirements, and provide a categorisation for these requirements. 5 marks. Critique use cases as the means of capturing requirements. 5 marks. ) What technique is used by Data Driven Design (DDD) to identify key domain abstractions? Name an alternative approach to DDD. 5 marks. d) The following is a restatement of requirements that must be supported in the first iteration. Books and Journals: The library contains books and journals. It may have several copies of a given book. Some of the books are for short term loans only. All other books may be borrowed by any library member for three weeks. Members of the library can normally borrow up to six items at a time, but members of staff may borrow up to 12 items at one time.
Only members of staff may borrow journals. b) Page 2 of 5 Borrowing: the system must keep track of when books and journals are borrowed and returned, enforcing the rules described above. Identify the candidate classes in the following informal use case description, and give the reasons for the elimination of poor candidates using a clearly specified set of heuristics. Then briefly sketch a class diagram. 5 marks. e) Draw a UML diagram that reflects the following code fragment. Class Order … Public OrderLine getLineItem(Product aProduct); Public void addLineItem(Number amount, Product forProduct); ……………… 5 marks. ) What is the purpose of adding a control class to the communication fragment used to support a collaboration which realises a use case? 5 marks. Figure 1. State chart for a Campaign object (adapted from Agate case study in Bennett, McRobb, and Farmer. Object-Oriented Systems Analysis and Design, Third Edition. McGraw-Hill. 2006). Page 3 of 5 Q4 Answer ALL parts. Total marks awarded for this question: 30. a) Describe the algorithmic and non-algorithmic techniques used to document a specification for an operation. 6 marks. Modify the state chart in figure 1 when instructed that: 1.
A campaign object can be both Monitoring and Running when in the state active. 2. When Monitoring, it can be in substates survey or evaluation, with survey being the default. 3. When the event surveyComplete() fires, a transition from survey to evaluation takes place. 4. When the event runSurvey() fires, a transition from evaluation to survey takes place. 5. When running, it can be in substates advert preparation, scheduling or running adverts, with advert preparation being the default. 6. A transition from advert preparation to scheduling occurs with invocation of he reflexive operation authorise() when the event advertApproved() fires. 7. A transition from scheduling to running adverts occurs when the event confirmSchedule() fires. 8. A transition from running adverts to advert preparation occurs with invocation of the reflexive operation modifyBudget() when the event extendCampaign() fires. 9. A transition from Active to Suspended occurs with invocation of the reflexive operation stopAdverts() when the event suspendCampaign() fires. 10. A transition from Suspended to Active occurs when the event resumeCampaign() fires. 1. Must support shallow histories for the concurrent submachines Running and Monitoring. 6 marks. Draw an activity diagram that captures the following workflow for a conference organiser: • The conference organiser receives an itinerary. • He/She then sends this to an invited speaker. • The invited speaker either confirms the itinerary or fails to respond within 48 hours. • If no response has been received, the conference organiser cancels the itinerary. • Otherwise, the conference organiser books the itinerary. 6 marks.
Describe two types of coupling and three types of cohesion as described by Coad and Yourdon (1991), that apply at the class level. 6 marks. e) What problem is addressed by Gamma et al. ’s Composite structural pattern? Illustrate this pattern through the use of a class diagram. 6 marks. b) c) d) Page 4 of 5 Q5 Answer ALL parts. Total marks awarded for this question: 30. a) Draw a sequence diagram to illustrate the workflows and phases in the Rational Unified Process (RUP). 3 marks. List three principles that underpin the RUP. 3 marks. ) Briefly discuss transparency versus safety with respect to the Composite design pattern. 6 marks. d) Describe Smalltalk’s Model View Control (MVC) architecture, and illustrate your answer through the use of a class diagram. 4 marks. e) Draw a sequence diagram to illustrate initialisation of the MVC architectural pattern. 4 marks. f) Describe the Broker architecture with proxies, and illustrate your answer through the use of a sequence diagram. 4 marks. g) Why should software engineers strive to specify pre and post conditions with Object Constraint Language (OCL). 6 marks. b) Page 5 of 5