Software Engineering, Exam, April 16, 2008.
Duration 09:00-14:00.
- Start by reading all the questions, to see
if anything is unclear. I plan to visit around 10:30 to clarify
questions.
- Answers may be written in Swedish or English,
or any reasonable mixture of those.
Dictionaries may be used.
- Start each answer on a new page. Please
hand in the pages in the correct order.
- For each question, I give its points and
a maximal length of the answer. The optimal
length is usually around half of this maximum. (This does
not include drawings.)
- A checklist of common mistakes that cost points:
- Answer all 12 questions. A bad
answer never gives less points than no answer.
- Read the question again after you have
written the answer. Verify that you have actually answered
the question. Verify that you answered all parts.
Verify that you have not hidden the answer
between many other irrelevant comments about the topic.
- In particular, don't forget to give
an example if that is requested, and make it a concrete one.
- Good luck!
- In this course, we have
used the V-model. Accenture also uses the V-model. What are the advantages
of the V-model, compared to other software engineering process models?
(4 points, 1.5 page)
- Explain
- the concepts validation and verification,
- which methods typically are used for validation,
- which methods typically are used for verification.
(6 points, 2 pages)
- Give three reasons
why an engineer could be interested in tracing a requirement back to its
stakeholder(s). (3 points, 1 page)
- Some software is made for a single customer, while other software
is developed to be sold on an open market. Explain the resulting differences
in the requirements elicitation phase.
(4 points, 1 page)
- A logical three-tier architecture is to be implemented. What
kind of requirements influence the choice between a physical three-tier
architecture and a client-server architecture with a thin client?
(5 points, 2 pages)
- You are asked to develop a system with safety critical functions.
What are the central design issues w.r.t. safety? In other words:
what would you discuss with the customer (domain expert) regarding a safe
design? (4 points, 1.5 pages)
Turn!
- Give an example of a system that has different
requirements for ROCOF (Rate of OCcurrence Of Failure) for different
kinds of failures. Give a concrete example of the system, the failures,
and why they should have different ROCOF. (3 points, 1 page)
- Describe (at
least) five different test methods. For each method, mention
* its goal, and
* (briefly) how it is done, and
* what CASE-tools are useful, or even necessary.
(10 points, 4 pages)
- Consider the following piece of program (bubble sort):
repeat
sorted = true;
for i = 1 to n-1 {
if a[i] >= a[i+1] {
tmp = a[i];
a[i] = a[i+1];
a[i+1] = tmp;
sorted = false
}
}
until sorted
- Show what steps you take in order to perform a branch
coverage test for this program.
- Explain the following terms (in relation to your answer in a):
"basic block", "infeasible path", "oracle problem".
- The program contains a fault: the comparison ">=" should be
">". Coverage testing can easily miss this error. What alternative
verification method(s) are likely to reveal the error? Explain why.
(4+3+2 points, 3 pages)
- Name at least five parameters that are likely
to influence the cost of a software project.
(3 points, 1 page)
- Discuss the concepts of "quality planning", "quality control"
and "quality assurance" in relation to a project: when, who, how? (4 points,
1 page)
- Consider the CMMI model.
- What are the 5 (or 6) stages of the model?
- What is the model supposed to measure?
- Why is it sometimes preferable to remain at "level 3" instead of
aspiring to "level 5"?
(2+1+2 points, 2 pages)