Preview only show first 10 pages with watermark. For full document please download

Tm354-201606

dsad dsda dasa

   EMBED


Share

Transcript

  Module Examination 2016 SOFTWARE ENGINEERING Friday, 3 June 2016 2:30 pm – 5:30 pm Time allowed: 3 hours This examination is in TWO  parts and you should attempt as many questions as you can in BOTH  parts. Your answers to each part should be written in the blank answer book(s) provided . Part 1 This part contains ten short questions. You should attempt ALL the questions in Part 1.  The total score for Part 1 is 50 marks. Part 2 This part consists of two longer questions. You should attempt BOTH the questions in Part 2 . The total score for Part 2 is 50 marks. At the end of the examination  Check that you have written your personal identifier and examination number on each answer book used. Failure to do so will mean that your work cannot be identified.  Put all your used answer books together with your signed desk record on top. Fasten them in the top left corner with the round paper fastener.  Attach this question paper to the back of the answer books with the flat paper clip.  TM354/H *TM3541606F1* TM3541606F1 Copyright © 2016 The Open University  2 TM354 June 2016  Answer ALL  questions from this part of the examination. (a) What is the main motivation for, and benefit from, agile software development? (3 marks) (b) What is the purpose of modelling in agile development? (2 marks) (a) Indicate two  characteristics that distinguish agile requirements documentation from plan-driven requirements documentation. (2 marks) (b) Consider the following description of a non-functional requirement. The software is to be used in extreme weather conditions. (i) What category of non-functional requirement is it? (ii) Suggest a suitable fit criterion for this requirement. (3 marks) (a) Consider the following extract from a business description of a youth choir.  A youth choir takes children as members from 5 to 18 years old. The choir is organized in different sections per age. The choir accepts both boys and girls up to the age of 10. From the age of 11 onwards all members of the choir are girls and they need to audition to continue as, or become members. The choir organizes two events per year for all its sections and a tour for a chamber section for girls from the age of 15. From the description identify one  business process and two  business rules in this domain. (3 marks) (b) Suggest an advantage and a disadvantage of expressing business rules using a formal language like OCL. (2 marks) PART 1 Question 1 Question 2 Question 3  TM354 June 2016 TURN OVER   3 Questions 4 and 5 use the following information Figure 1 shows a fragment from the analysis diagram for a system designed to record match fixtures in a local football league. Figure 1 (a) (i) What fact is expressed by the {subset} constraint? (ii) Suggest an alternative that could be used instead of the special {subset} notation. (2 marks) (b) Consider the association loop with classes Ground  , Club , Team  and Fixture .   Write in OCL the following invariant that applies to this association loop: The ground where a fixture is played is the ground of one of the clubs whose teams are playing in that fixture. (3 marks) Imagine we want to implement a use case assign player  , where the goal of the use case is to assign a player to a team (see Figure 1). The use case assign player   will have the following pre- and postconditions: Preconditions: The instance of the class Member and the instance of the class Team are linked to the same instance of the class Club. Fewer than 11 instances of Member are currently linked to the instance of the class Team in the role of player. Postcondition: The instance of the class Member and the instance of the class Team will have been linked with the instance of the class Member in the role of player This use case requires the following operations (Table 1). Question 4 Question 5  4 TM354 June 2016 Table 1 Class Operation Member addTeam(t : Team) Team addPlayer(m : Member) (a) Draw a pair of object diagrams, before and after, to illustrate the effect of the use case. (2 marks) (b) Assuming the associations between Member   and Team  are bidirectional , there will be a consistency requirement. To illustrate, if player1  is linked to team1 , then team1  must be linked to player1 . What do the GRASP patterns suggest for handling this requirement? What impact would this suggestion have in terms of the operations in Table 1? (3 marks)  An online agency arranges lettings for holiday cottages. This question is concerned with the lifecycle of a reservation, which represents the fact that a customer has booked a particular property between given dates. When a customer submits a booking request a provisional reservation is created and a confirmation invoice sent within two working days. If the customer decides to accept and the start date of the rental is more than 10 weeks away they must then pay a deposit of 25% of the rental cost; otherwise they must pay the full rental. If the customer decides not to accept, the reservation is cancelled. Where the full cost was not due at the time of booking, the balance must be paid not later than 10 weeks before the start date of the rental. Failure to pay by the due date results in the reservation being cancelled with no refund of the deposit. If a customer cancels a fully paid reservation they receive a refund of 50% providing the cancellation is made more than 5 weeks before the start date of the rental. Otherwise no refund is made. When the start date of the rental is reached a fully paid reservation which has not been cancelled will then be recorded as fulfilled. Consider the following states for an instance of Reservation :  provisional  , reserved, fully paid  , and two final states cancelled   and fulfilled  . Draw a statechart diagram showing the lifecycle of an instance of Reservation . (5 marks) (a) Suggest one reason why reuse is desirable in software development. (2 marks) (b) Briefly outline the purpose of the Adapter pattern, explaining when you would use it. (3 marks) Question 6 Question 7