Written examination TDDB62 Software Engineering for I

advertisement
Linköpings Universitet
IDA
SaS PELAB
Kristian Sandahl
2003-01-14
Written examination TDDB62 Software Engineering for I
Date: Friday 2003-01-17
Time: 14:00-18:00
Allowed aids: One textbook of the Student’s choice. Hand-written notes in the book 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 2003-01-31 between 8:30-10:00 in
Kristian Sandahl’s office, entrance 27 or 29, 1st floor, corridor B.
Questions: Kristian Sandahl can be reached at 013-711 47, 0706-68 19 57 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)
a. A requirements specification can contain use-cases.
b. A requirements specification can never express anything about the design
of the software.
c. The requirements specification is intended to be read by the customer.
d. A requirements specification is not required for CMM level 2.
2. Which two statements are true? (One or more false statements given = 0 credits)
a. For some programs path coverage and branch coverage testing can use
identical sets of test cases.
b. It is impossible to use the concept of path coverage for programs with a
loop.
c. It is very rare that 100% statement coverage can be obtained for programs
of 2000 lines of code.
d. Stress test does not require very advanced test cases.
3. Write down two software metrics that can be used in describing the
maintainability of software.
4. Write down two benefits you get if you use a formal inspection of a requirements
specification.
5. “Adding people to a project can delay its completion.” Under what circumstances
can this become true? Why does this happen?
6. Write a dataflow diagram for a scheduling system of a university. The flow shall
involve teachers, administrators and students.
7. What is the role of a Blackboard in Blackboard architecture?
8. Write a use-case for a person buying a railway ticket with a credit card. Assume
that the person operates a completely automated system.
9. Define software reliability and failure intensity.
10. Construct a flowchart with the cyclomatic complexity 5.
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 list of software architectural styles of at least 5 items. Make groups
of three different styles and describe a property of the style that distinguishes one
of them from the other two. Repeat this at least 5 times.
As an example, imagine that we have a list of animals: DUCK, COW, DOG,
FISH, and ALIGATOR. A group of three can be DUCK, COW, DOG. A property
that distinguishes one of them from the other two can be “lays eggs”. This fits on
the DUCK only, not on COW and DOG. Another group of three can be FISH,
COW, DOG and the distinguishing property can be “lives under water”.
12. Many software engineering activities mean change and iteration. There are a lot
of concepts beginning with “re-“, for instance re-use and re-engineering. Write
down a list of these “re-“ words together with an explanation of the activity. You
should also write about the benefits that can be gained from the activities, and
under what circumstances these benefits can be expected.
13. Write down a process for formal inspections of code. For each step in your
process, explain why the step is needed.
14. You are the line manager of a department and should assign the roles: project
leader, requirements analyst, architect, test manager and librarian to the persons in
the list below. Write down your assignments with a motivation of your selection.
In the table below, 1 is the lowest competence level and level 5 is the highest.
Person Data
Operating Programming Management Social Analytical
communication systems
skills skills
A
2
1
2
5
5
5
B
4
3
5
2
4
3
C
2
2
4
1
5
3
D
1
3
3
3
3
2
E
4
2
3
1
2
4
15. Assume that you can spend a year full-time in developing a system together with
five other students who also recently finished the TDDB62 course. Select one of
the three projects:
a. A real scheduling system for a university.
b. A controller of the heating and ventilation system for the C-house.
c. A completely new website for the students of LiTH and the sections.
Write down which alternative you would like to choose. Motivate your choice,
and motivate why you didn’t chose the others. Write a risk analysis of the chosen
project that is find factors that might imply that you cannot deliver an accepted
system on time. For each of the factor, write: description, probability of
occurrence, consequences and possible ways of removing the risks.
Download