Written exam for Software Engineering Theory

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