Written examination TDDB62 Software Engineering for I

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