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.
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? 4 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.
Page 1 of 5
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.
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.
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. c) 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.
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. f) 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