Written examination TDDB62 Software Engineering for I

advertisement
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?
Download