Written examination TDDB62 Software Engineering for I

Linköpings Universitet
Kristian Sandahl
Written examination TDDB62 Software Engineering for I
Date: Saturday 2002-10-26
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 2002-11-08 between 11:00-12:30 in
Donald Knuth, SaS conference room, entrance 27 or 29, 1st floor, corridor B.
Questions: Kristian Sandahl can be reached at 013-711 47, 0706-68 19 57 during the
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.
Good luck!
No pass
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. CORBA is software you can use for communication between objects.
b. CORBA is a standard for a middleware aiding the design of distributed
object-oriented systems.
c. CORBA comes from Object Management Group (OMG).
d. CORBA is a product of Rational.
2. Which two statements are true? (One or more false statements given = 0 credits)
a. High coupling and low cohesion are indications of high maintainability.
b. If low coupling is achieved, then cohesion has no effect on
c. Highly cohesive classes can have a high cyclomatic complexity.
d. Coupling between two classes means that a fault in one class can cause a
failure when the other class is executed.
3. Which two statements are true? (One or more false statements given = 0 credits)
a. For a very immature company there is a large investment to reach CMM
level 1.
b. Organisations on CMM-level “Defined” have Requirement management.
c. People CMM evaluates and develops the skills of individual employees.
d. CMM is a product from the Software Engineering Institute (SEI).
4. What are the benefits of using a sandwich testing strategy?
5. What can be improved with fault injection (or fault seeding)?
6. Construct a use-case text and sequence diagram for a part of theatre ticket
booking system.
7. Describe a process for software cost estimation.
8. Write a state transition diagram of at least three states for a book in a library
9. Describe the circumstances where time to deliver is more important than cost
and/or quality.
10. What is the cyclomatic complexity of the following
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. Describe the Parnas' information hiding principle. Construct a small system
example, which show designs with and without applying the principles. Which
are the benefits from the principle in terms of your example?
12. Make a list of software life cycle and process models of at least 5 items. Make
groups of three different models and describe a property of the model 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”.
13. A friend of yours have heard about “Requirements engineering” and asks you,
since you are a good student, what that is and what you can earn by using it in
your business. Your friend is self-made in information systems development and
knows a lot about his customers and programming, but now he had hired some
people and is eager to learn about methods and processes to get more structured
work. What is your answer to your friend?
14. What are the methodological and technical differences between the development
of a scheduling system for a university and a control system for a large, costly
manufacturing process, for example, pulp (pappersmassa) production? What
software development processes are applicable? Which architectures can be
chosen? Which programming languages can be used? How should the systems be
tested? Which parts will cost most? How can maintenance be organised?
15. What is the COCOMO, or COCOMOII models? Who can use them? What type of
data do you need to apply them? How good are they? Construct an exam question
where most of your knowledge of COCOMO/COCOMOII is used. Provide the
answer so I can compute it with an ordinary calculator for technical users.