Written examination TDDB62 Software Engineering for I

advertisement
Linköpings Universitet
IDA
SaS PELAB
Kristian Sandahl
2004-08-23
Written examination TDDB62 Software Engineering for I
Date: Tuesday 2004-08-24
Time: 14:00-18:00
Allowed aids: One textbook of the Student’s choice. Hand-written notes in the book pages 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 Monday 2004-09-06 between 12:30-13.30
in Kristian Sandahl’s office, B-house, entrance 27 or 29, 1st floor, corridor B.
Questions: Kristian Sandahl can be reached at 0706-68 19 57 or 013-28 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. Write down a use case of an inspection process with the author of the document
as an actor.
2. Write down two coding rules for Java that make programs easier to understand.
3. Write down a definition and a suggestion for a testing method of each of the
usability attributes: Relevance, Efficiency, Attitude, and Learnability.
4. Give two arguments against using formal methods when specifying software.
5. Describe the major characteristics of a layered software architecture?
6. Write a state transition diagram of at least three states for a book in a library
system.
7. What are the benefits of using a sandwich testing strategy?
8. Write down four concrete pieces of advice of how to perform good interviews for
requirements elicitation.
9. How can an earned-value chart be used for software development? Give one
drawback of this chart.
10. Compare Java to another programming language of your own choice. Write down
two differences of Java and the other programming language. At least one
difference should be non-syntactical.
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. A cinema has several rooms showing different movies several times per day.
There is an administrative system that keeps track of which movies are shown in
each room at which hours and generates visitor statistics for different movies as
input to the decision of whether to show the movie in the coming weeks. The
administrative system also takes care of bookings of seats, printing of tickets
and registration of payments with cash or card. There is also a web-interface
where visitors access the administrative system to check if there are any free
seats. The visitors can further access the administrative system to place an order
for tickets. The administrative system issues an order number and gives the
visitor two choices, to come to the cinema and pay the tickets an hour before the
show, or to pre-pay the order with credit card details through a payment service
which is outside the administrative system.
Your task is now to create models of the administrative system with at
least 2 classes, 2 methods, 2 use-cases, 2 state-charts and 2 interactivity
diagrams. Please remember that a use-case is both a diagram and a piece of text
describing how the actor interacts with the system. You will get 1(one) credit per
correct and relevant use-case, class, method, state-chart and interactivity
diagrams, maximally 2 in each category. It is a good idea to provide an answer for
about 15 credits since there is always a risk that you make minor mistakes with
some of the model elements
12. Create your own catalogue of at least five architectural styles. For each style,
write down a description and a list of benefits and drawbacks for development
organisations using the styles.
13. You have agreed to give a talk on software reliability for a group of junior
programmers. Create 4-5 OH slides together with supporting notes for yourself.
You have been asked to cover most of the following issues:
•
Definition of reliability
•
Metrics for reliability
•
Input domain equivalence classes
•
Reliability growth
•
Fault classification
Make sure that you put these issues in a coherent context. Simply defining the
issues is not enough.
14. 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?
15. You have been called to a company developing information systems for banking.
A typical project spans about 12 months and keeps about 40 people busy. The
standard development method is based on the V-model. Your task is to introduce
incremental methods. You need to ensure that the company can deliver on time
even during the phase of method change. Write a plan for your work. Don’t forget
things such as time plan, cost, education and expected benefits. The more of
different aspects of chaning development method you can think of, the better.
Download