Linköpings Universitet IDA SaS PELAB Kristian Sandahl 2004-10-19 Written examination TDDB62 Software Engineering for I Date: Saturday 2004-10-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 will not give credit for unreadable answers. You may write answers in English or Swedish. Questions should be answered 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 answers we will split on questions, so if we find more than one question on the paper grading will be delayed. Results: The graded exams are shown and handed out Friday 2004-11-08 between 10:00-12:00 in conference room Donald Knuth, B-house, entrance 29, 1st floor, corridor B. Questions: Kristian Sandahl can be reached at 0706-68 19 57 or 013-12 42 53 during the examination. Answer as many as possible of the questions 1-10. They probably require only a few lines answer. Each of the questions can give you 2 (two) credits. Answer no more than two of the questions 11-15. They require a thorough answer of a few pages each. Each of the questions 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 Questions: Answer as many as possible of questions 1-10. Each question gives a maximum of 2 credits. The answers should be focused and short. 1. Which two statements are true? (One or more false statements given = 0 credits; only one statement given that is correct = 1 credit) a. All diagrams of UML are orthogonal, thus it is impossible to describe the same behaviour of a system with two types of diagrams. b. UML is well suited to model functional requirements. c. In UML, a sequence diagram is equivalent to an interaction diagram. d. It is possible to calculate the cyclomatic number for at least one of the UML diagram types. 2. Which two statements are true? (One or more false statements given = 0 credits; only one statement given that is correct = 1 credit) a. Changes due to changes in hardware and operating systems represent a majority of maintenance costs. b. The composition relation between classes in UML is a special case of describing horizontal traceability. c. An assessment of your routines for commenting code can be used in estimating the maintenance effort in the COCOOMO II model. d. Low coupling of a system reduces then number of ripple effects needed to be investigated in corrective maintenance. 3. Write down two arguments for using inspections as a means to validating software. 4. Consider the two variants of modelling a coffee machine: Revised class model Extended class model CoffeCustomer 0..* buys 0..* CupOfCoffee CoffeCustomer 0 ..* 5. 6. 7. 8. 0..* 0..*buys 0..* CanOfCoffee buys 0..* CupOfCoffee Generalisation association s buy Porter 0..* Porter 0..* buys 0..* CanOfCoffee Write down one benefit and one drawback of using the Revised class model compared to the Extended class model. Write down one advantage and one disadvantage of using an algorithmic effort estimation model. What is the difference between the effectiveness and efficiency of a software system? Explain this with an example of a software system. Write down two rules of eXtreme Programming. Write down two reasons of why people have such a problem of expressing requirements in a simple, consistent and concise way. 9. Write down one advantage and one disadvantage of having the author of a document serving as scribe at an inspection meeting. 10. Consider a system with the following component hierarchy A B C F D G E H I J K L M Write down a sequence and dependency diagram for a bottom-up integration testing for the system. Is this a good strategy for the system? Write down a motivation for your decision. Answer no more than two of the questions 11-15. Each question gives a maximum of 10 credits. Try to formulate with your own wording. We will be reluctant to give more than 7 credits to solutions that mostly cite sections of the book. The answers should be thorough and complete. 11. Write down a definition of at least ten software quality factors. For each quality factor, define a way to measure the quality that can be applied in your course projects. 12. Write down a definition of five life cycle or process models. For each of the models, write down and motivate: a. the model’s suitability for development of safety critical systems b. the model’s suitability for development of small web-based information systems 13. You have become responsible for a process change project at a company with about 100 people. The goal of your project is to introduce the use of design patterns. First you decide to give a presentation of patterns at the company education day. Design and layout five slides for your presentation of about 50 words each, where you define patterns, give examples, show benefits, present challenges, and accounts for how the change to this new way of working will be performed without jeopardizing the ongoing projects. 14. Write down a quite complete set of use cases for a library system. Show how you create a class model by noun-phrase analysis. Draw the class diagram with a few basic relations. 15. Problematize gender issues in software engineering. At least I would like a list of answers with motivations to the following questions: a. Are there parts of processes, tools and techniques of Software Engineering that suits women better than others? b. How can we make Software Engineering education more attractive to women? c. Are there issues of Software Engineering that discriminates women? If you don’t think gender issues is an interesting problem you should not answer this question. Some sample questions to help you start thinking: Why are there only 2% women of people active in open source development? Why do we have so many good female project leaders in industry? Are women better in discovering the true needs of a customer? Why do female students choose to become project or knowledge managers instead of programmers? Is it a coincidence that the Swedish Requirement Engineering Research Network, have a quite even male/female member ratio, whereas there are no women in the Swedish Software Engineering program committee? Is it a coincidence that two of the most well known researchers in maintenance are women? Are men more intrigued about creating the perfect software? Are men keener on adopting new technology?