Linköpings Universitet IDA SaS PELAB Kristian Sandahl 2005-08-19 Written examination TDDB62 Software Engineering for I Date: Tuesday 2005-08-23 Time: 14:00-18:00 Allowed aids: One textbook of the Student’s choice. Hand-written notes in the book pages are allowed. Dictionaries from English to another language without notes are allowed. Explicitly forbidden aids: Electronic equipment, separate sheets of papers even if they are glued in the book. Writing: Please write or print clearly. We cannot give credit for unreadable solutions. This is not an empty threat, in October 2004 two students had to take a complementary exam due to bad writing. You may write solutions in English or Swedish. Problems should be solved on separate sheets of A4 paper. Write only on one side of the paper and label all papers with name and personal number. When grading the solution we will split on problems, so if we find more than one problem on the paper grading will be delayed. Results: The graded exams are shown and handed out Wednesday September 9th between 11:0013:00 in conference room Donald Knuth, B-house, entrance 29, 1st floor, corridor B. Questions: Examiner Kristian Sandahl will visit you after about an hour from the start of the exam and can be reached at 0706-68 19 57 during the exam. Solve as many as possible of the problems 1-10. They probably require only a few lines solution. Each of the problems can give you 2 (two) credits. Solve no more than two of the problems 11-15. They require a thorough solution of a few pages each. Each of the problems can give you 10 (ten) credits. Grading: Credits 40 34-40 31-33 28-30 24-27 20-23 <20 Good luck! Grade Max 5 4 4 3 3 No pass ECTS Max A B C D E F Problems: Solve as many as possible of problems 1-10. Each problem gives a maximum of 2 credits. The solutions should be focused and short. 1. Write down a process of eliciting requirements in market-driven requirements engineering. The process shall be at least 4 steps and you shall also write down an argument of why your process is good. 2 Write down one benefit and one potential drawback of describing requirements formally, for instance, in the language Z. 3 Agile methods, such as eXtreme Programming, has become popular the latest years. An often heard argument against agile methods is that there is no planned architecture, which makes maintenance hard. Write down a counter-argument. 4 Microsoft uses the “daily build” concept. Write down a short process of about 4 steps describing daily build. Write down one example of a fault that is easy and one example of a fault that is not easy to find with daily build. 5 Sketch the overall architecture of a train ticket booking system. Write down an argument for why your architecture is good according to a design principle or architectural style. 6 Write down a short description of a piece of software doing two things in parallel. Draw a diagram of UML or another notation in your book displaying the parallelism. 7 Write down the definition and an example of use of the façade design pattern. 8 You are designing the class picture represented by a 2-dimensional matrix of colour pixels. Write down suggestions of two methods of picture that can be useful in a document processor such as MS Word or FrameMaker. 9 Write down a definition of the term baseline as used in Software Engineering. Write down one benefit a software developer can have from a baseline. 10 Consider the following class diagram describing a coffee machine: Interface CoinHandler 1 CoffeeCustomer 1 buys 1..* CupOfCoffee Brewer 1 1 1 makes 1..* 1 1 1 Machine 1 m Porter 1 byus 1..* CanOfCoffee es ak * 1.. Unfortunately the person writing this did not study UML too well. Write down something that is wrong with the diagram. Solve no more than two of the problems 11-15. Each problem gives a maximum of 10 credits. Try to formulate with your own wording. We will be not give more than 7 credits to solutions that mostly cite sections of the book. The solutions should be thorough and complete. 11 You are a researcher in software engineering who has got the following data from a company’s projects: a.Number of classes b.Total number of lines of code c.Average McCabe number per method d.Total McCabe number for all methods e.Max depth of inheritance tree f.Number of person-months per class g.Number of failures found the first six months at customers’ sites. Your professor wants you to find the best prediction formula according to the following pattern: Z = aX+bY, Where Z = Number of failures found the first six months at customers’ sites, a and b are constants, X and Y are independent variables selected from the data you have got. Write down a process for your research together with a motivation for each step. You can assume that the data set is so large that Normal distribution applies. 12. Write down a process for modelling requirements of a software system with use-cases and classes. Write down an example how this process works with at least 4 use-cases and 4 classes. 13 You are hired as a process consultant to a company who wants to inspect 10 detailed design descriptions of 100 pages each. There are 10 experts available that have the competence to inspect the documents. First, you get the instruction to provide a process, a timeplan and the total number of person-hours you need to perform a good inspection. It is not worthwhile to call more than 4-6 experts to each meeting. Write down these deliverables with a motivation. Now, they change your contact person, and the new person tells you that you need a real fast result. Everything needs to be ready in four working days. Probably you have to change the process and make compromises. Write down the second version of the process, time-plan and person-hours you need with motivations. End with a description of what you think might be the consequences from the change in your process and plans. (If your original plan was less than four days, assume that the new contact want the result in half of the number of days of your original plan.) 14 You are a consultant hired by the programmers trade union. The company Happy Software Inc. has up to now used the waterfall model and delivered huge updates every year to the market. Now they have listened to a professor and will immediately change to an incremental model delivering 10 times per year. The personnel is worried and invited you to an lecture. To prepare the lecture construct at least five slides of at least 50 words each, with explaining lecture notes containing: a.a short introduction to incremental model b.your idea of how this will be beneficial for the company c.your anticipation of how the work will change for programmers d.your anticipation of how the work will change for project leaders e.your anticipation of how the work will change for testers Write down the text of your slides and the lecture notes. 15. You are staffing a project with the following people and their basic abilities (0-5): Programming Analytical Name\Ability skills skills Sense of good Social order skills Experience in Experience of databases usability Anna 3 1 2 0 2 0 Lisa 2 2 1 2 0 2 Britta 1 3 3 3 1 1 Bo 2 1 2 3 2 1 Lars 3 3 0 0 3 0 Olof 1 1 3 2 1 1 Now you have the resources to train these people by increasing their abilities with a total of 15 steps. Thus 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. b.An assignment of each trained person to one of the roles. Motivate your assignment.