Page 1 of 4 Programme Code: DT228, DT282 Module Code: CMPU 2019 CRN: 22390, 26464 TECHNOLOGICAL UNIVERSITY DUBLIN KEVIN STREET CAMPUS _____________ BSc. (Honours) Degree in Computer Science BSc. (Honours) Degree in Computer Science (International) Year 2 ______________ SEMESTER 1 EXAMINATIONS 2019/20 ______________ Software Engineering 1 Mr. Richard Lawlor Dr. Deirdre Lillis Dr. Martin Crane Two Hours Instructions to candidates ANSWER FOUR QUESTIONS OUT OF FIVE. ALL QUESTIONS CARRY EQUAL MARKS. Page 2 of 4 1. (a) What is a usecase List three significant advantages and a potential disadvantage in using usecases. (10 marks) (b) Describe briefly two other roles usecases may have besides requirements description. (5 marks) (c) Explain both the meaning and purpose of a usecase realisation. (10 marks) 2. (a) Show how the following class diagram could be reified by introducing a linking class so that a person can work more than 1 job at a company or work for different companies. Then provide an object diagram to show a snapshot of this design. (8 marks) (b) Explain what is meant by coupling and cohesions and elaborate on how object-oriented programming addresses the design concerns of coupling and cohesion. (10 marks) (c) Outline three types of coupling. (7 marks) Page 3 of 4 3. (a) What is meant by requirement engineering Describe some of the problems or issues in this activity when it is part of the Waterfall lifecycle. Mention any other significant problems in the Waterfall process. (15 marks) (b) Briefly outline two approaches to Prototyping and describe their main purpose, paying particular attention to the one which relates more to requirements. (10 marks) 4. (a) Software is required to keep a record of the passengers who have boarded an aircraft. An aircraft has a maximum capacity. Provide an UML class diagram which specifies the state of the software system and which also shows two operations which modify the state. Describe briefly a class invariant which applies here but which a class diagram cannot show. Also using natural language or set notation, specify one of the operations more precisely by providing an appropriate contract for it. (7 marks) (b) Give a UML-based Specification Environment (USE) specification for the class diagram from part (a) along with an OCL contract for one operation. Do not consider the implementation of the operation at this stage, just describe what is done rather than how. (10 marks) (c) Using SOIL, provide an abstract implementation of the operation described in part (b), create some test objects which will allow you to test your specification in USE. Explain how you could then test your model using the USE command line interface. (8 marks) Page 4 of 4 5. (a) Explain what each of the following symbols stand for and what they could represent in analysis modelling. Provide a simple sequence diagram, for example for the usecase “borrow book”, to illustrate their use. (10 marks) (b) Given the following sequence diagram, comment on it and propose an alternative which is more in line with object-oriented principles. (15 marks)