Start by reading all the questions, to see if anything is
unclear. I plan to visit around 10:00 to clarify questions.
Answers may be written in Swedish or English, or any reasonable
mixture of those.
Dictionaries may be used.
For each question, I give its points and a maximal
length of the answer. The optimal length is usually around
half of this maximum.
A checklist of common mistakes that cost points:
Answer all your 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.
In particular, don't forget to give an example if that is requested,
and make it a concrete one.
Avoid unclear or missing argumentation; risky words are
'of course', 'self-evident', 'better', 'wrong', ...
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!
In the beginning of the course we discussed some process models
(waterfall, V-model, etc.). They all have advantages
and disadvantages. What are desirable properties for
a process model?
(4 points, 1.5 page)
Requirements can be formulated in various languages: natural
languages, semi-formal languages and formal languages.
For each class of languages:
what are its two most important advantages?
what is the most important risk of using such a language?
Define the concepts cohesion and coupling
in software design. Use an example.
(5 points 1.5 page)
How can the existence of a safe state be of use in the programming of
a safety critical system?
(2 points, 0.5 page)
Relate and contrast the following concepts: failure, fault,
mishap, hazard, risk. Use a concrete example in which
these concepts occur.
(4p, 1 page).
Consider a system such as the ticket system of assignment 1,
or the system recently installed in Uppsala, or something similar.
For each of the following tests,
a black-box test using equivalence partitioning
a statistical test
an acceptance test
describe how you choose test data, give an example, and give the
goal of performing such a test.
(6 points, 2 pages)
What steps must be taken to create a reusable component
from a component that was created inside a particular system?
(3 points, 1 page)
Describe (at least) three different methods to determine the
price of a project.
(3 points, 1 page)
The following questions should be answered only by those taking
the 4- and 5-point course.
Give arguments for and against the statement that
"Reuse is the Silver Bullet".
(4 points, 1.5 page)
Many of the articles argue in favour of creating software in a
more orderly fashion than today's practice.
Why do all the "more orderly" techniques move work from the
later stages of a project to the earlier stages?
What can be the problems of shifting the work balance in this
way?