1 LINKÖPINGS UNIVERSITET IDA Kristian Sandahl, David Broman 2007-05-16 Written exam for Software Engineering Theory Date: 2007-05-16 Time: 13.15-12.00 Valid for pass of the written exam in courses: TDDB61, TDDB62, TDDC01, TDDC06, TDDC88, TDDC93. Allowed aids: Two sheets of handwritten A4 pages. You may write on both pages, with any type of size and colours. One volume of dictionary to or from English or an English wordbook. Explicitly forbidden aids: Textbooks, machine-written pages, photocopied pages, pages of different format than A4, electronic equipment. Graded exams will be handed out 2007-05-16 in C3 between 10.15-13.00. Questions of clarification will be answered by assistant Andreas Borg, who will visit the exam about an hour after start. Examiner Kristian Sandahl can be reached on phone 0706-68 19 57 during the exam. Instruktioner till tentamensvakter Studenterna får ha med sig 2 handskrivna A4-blad med text på båda sidorna och ett lexikon. Studenter med andra hjälpmedel utan särskilt tillstånd får inte påbörja tentamen förrän examinator kontaktats. Instructions to students, please read carefully • • • • • • • • Try to solve as many problems as possible. Motivate all solutions. Please, write and draw clearly. Write only on one side of the paper. Write solutions to problems on separate sheets of paper. Label all papers with name and your Swedish personal number. You may write solutions in either Swedish or English. Please, note that the problems are not necessarily written in order of difficulty. Page 1(5) 2 Grading The exam consists of two parts: Fundamental and Advanced. The Fundamental part has problems worth 10 credits per area. Areas are: Requirements, Design & Architecture, Testing, Planning & Processes, and Quality factors. Thus the Fundamental part can give maximally 50 credits. The Advanced part has problems with 50 credits in total. They can be distributed over two to five problems. Each problem typically requires a longer solution of several pages. The maximum number of credits assigned to each problem is given in within parentheses at the end of the last paragraph of the problem. Pass condition: At least 6 credits per area in the Fundamental part and at least 50 credits in total. This gives you the mark 3 in the Swedish system and an E in ECTS. Higher marks are given based on fulfilled pass condition and higher amounts of credits according to the following table: Total credits 100-85 84-76 75-67 66-58 57-50 49-0 Mark in Swedish system 5 4 4 3 3 UK Mark in ECTS A B C D E F Good Luck! Kristian and David Page 2(5) 3 Problems Part 1: Fundamental Area 1: Requirements 1. Why is it a good idea to give all requirements a unique number? (2) 2. Write a diagram with two use-cases in UML, with different actors, of an inventory system of a supermarket. (4) 3. Give the benefits and drawbacks of writing requirements specifications using a formal notation. (4) Area 2: Design and Architecture 4. Construct UML diagrams, for instance a sequence diagram or collaboration diagram, realising the dynamics of the following use-case description: The teacher enters his courses with number of hours and preferred scheduling constraints into a database. The administrator fetches all teachers’ data and feeds it to the optimisation algorithm. The result from the optimisation algorithm is sent back to the administrator who makes some manual corrections and stores the approved schedule in the database. The students navigate in the database aided by an applet to find out their schedule for their courses. (5) 5. Shortly describe a design pattern of your own choice. Remember to include benefits, drawbacks and a small example of how it can be applied. (5) Area 3: Testing 6. Define the terms error, fault and failure in the Software Engineering context. (3) 7. Describe the concept “boundary value analysis” or “boundary value testing” with a small example. Why is it so interesting to focus on the boundaries? (4) 8. Give three examples of reasons to stop system testing. (3) Area 4: Planning and Processes 9. What is the strict difference between an iterative and an incremental life-cycle model? (2) 10. Give four statements about the waterfall model. Each statement shall either be an advantage or a disadvantage of the waterfall model. (4) Page 3(5) 4 11. Describe two roles in a software development process in terms of tasks, authorities and needed competence. (4) Area 5: Quality factors 12. Give five examples of data that can be found in an inspection record. (5) 13. Give five different measures that bear on usability of an interactive information system. (5) Page 4(5) 5 Part 2: Advanced 14. You are staffing a project with the following people and their basic abilities (0-5, 5 is highest): Programming Analytical Sense Social Experience skills of skills in Name\Ability skills databases good order 3 1 2 0 2 Anna 2 2 1 2 0 Lisa 1 3 3 3 1 Britta 2 1 2 3 2 Bo 3 3 0 0 3 Lars 1 1 3 2 1 Olof Now you have the resources to train the people by increasing their abilities with a total of 15 steps. You can, for instance, increase all peoples’ database skills to a 4. You need the following roles to develop an inventory system for a supermarket: - Project leader - Lead analyst - Architect - Test leader - Librarian - Quality coordinator Write down: a. The resulting table after the training. Motivate why you used the resources this way. (6) b. Rank the roles in order of importance as you think of it. Give arguments (both backing and reservations) for your decision. (6) c. An assignment of each trained person to one of the roles. Motivate your assignment. (6) Experience of usability 0 2 1 1 0 1 15. Imagine a theatre ticket booking system. The customer can buy tickets on-line or at the ticket office. The officer can sell tickets and schedule the performances. Draw UML(* views of the systems: a. At least 5 use-cases (5) b. At least 5 classes (5) c. A state-diagram with at least 5 states (5) d. A sequence diagram with at least 5 messages (5) e. An activity diagram with at least one synchronization bar (3) f. A deployment diagram with at least two nodes (2) (* If you are not certain about whether some parts of your diagram are standard UML, please provide explanations of the notions you introduce. 16. Describe the Synchronise and Stabilise process model. Hint: Microsoft is supposed to use this model much (7) Page 5(5)