Software Engineering, Exam, May 25, 2004.
Duration 8:00 - 13:00.
- Start by reading all the questions, to see if anything is unclear.
I plan to visit around 9: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.
- When a question asks you to compare two things
A and B, make sure to highlight the contrasts: their differences. I
do not want a full description of A and a full description
of B, leaving it to me to find the differences.
- Good luck!
- Explain why it would be unlikely that a fixed-price project
would use an exploratory development process (evolutionary prototyping).
In contrast, explain also why an incremental process is not unlikely.
(6 points, 2 pages)
- Give three essentially different methods to estimate the
cost of a project before its start. Make it clear what inputs
are needed for each method.
(3 points, 1 page)
- Give two examples each of:
- functional product requirements
- non-functional product requirements
- process requirements
(3 points, 1.5 page)
Turn!
- Describe the reliability metrics Probability of Failure on Demand
(POFOD) and Mean Time to Failure (MTTF). Give examples that show how they
are used for different purposes.
(4 points, 1 page)
- What benefits can the making of a formal requirements specification
have? Name at least three benefits.
(3 points, 1 page)
- A logical three-tier architecture is to be implemented. Give an
example where it would be a reasonable choice to implement it by a client-server
architecture with a fat client. Motivate why a fat client would be
reasonable in this case.
(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 questions would you discuss with the customer (domain expert) immediately
regarding the safety aspect?
(4 points, 1.5 pages)
- In the Prevas guest lecture, "compliance to specification"
and "fitness for use" were mentioned as quality aspects. Relate these concepts
to validation and verification.
(2 points, 1 page)
- What software faults or shortcomings are unlikely
(or even impossible) to detect by code reviews?
(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)
- Discuss the concepts of "quality planning", "quality control"
and "quality assurance" in relation to a project: when, who, how?
(4 points, 1 page)
- a. Describe in general terms how "process improvement" can be
organized.
b. If the process is "an instance of a course being taught", describe the
role of the course evaluation as a tool for process improvement.
(3 points, 1 page)
Good luck! Don't forget to fill in the course evaluation for this course!