Written examination TDDB62 Software Engineering for I

advertisement
Linköpings Universitet
IDA
SaS PELAB
Kristian Sandahl
2003-01-14
Written examination TDDB62 Software Engineering for I
Date: Saturday 2004-01-17
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 Friday 2004-01-30 between 12:00-14:00 in
conference room Donald Knuth, B-house, entrance 29, 1st floor, corridor B.
Questions: Kristian Sandahl can be reached at 0706-68 19 57 or 013-12 42 53 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. Which two statements are true? (One or more false statements given = 0 credits;
only one statement given that is correct = 1 credit)
According to the terminology used in the course (based on IEEE-standard):
a. If I write “>” instead of “<” I have committed an error
b. If I write “>” instead of “<” I have caused a failure
c. If I write “>” instead of “<” my program contains a fault
d. If I write “>” instead of “<” in a text-string then it can never cause a
failure
2. Which two statements are true? (One or more false statements given = 0 credits;
only one statement given that is correct = 1 credit)
a. If you have a written description of the system it is a good idea to look for
candidate objects amongst the nouns in the text.
b. If you have a written description of the system it is a good idea to look for
candidate use-cases amongst the adjectives in the text.
c. If you use polymorphism in a Java system you can reduce the number of
if-statements in the code.
d. It is practically impossible to reuse use-cases between different products.
3. Write down a use case of an inspection process with the author of the document
as an actor.
4. Write down two coding rules for Java that make programs easier to understand.
5. Write down 2 benefits and 2 drawbacks of using the waterfall lifecycle model.
6. Write down a formal proof of: The Cyclomatic Number is always a positive
integer.
7. Write down two performance tests that are meaningful for a word processor.
Explain why you think these are the most important.
8. Write down a definition and a suggestion for a testing method of each of the
usability attributes: Relevance, Efficiency, Attitude, and Learnability.
9. Write down an explanation of the concept of a token in Petri-Nets. Use an
example.
10. Write down an example of a diagram tracking the progress of a project. Write
down one advantage and one drawback of that diagram.
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. Assess the CMM level of your course project organisation. Write down a detailed
and thorough motivation for your choice. You should also give concrete advice of
things to do to improve in the most suitable key process areas.
12. 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; they can
be classes, methods, use-cases, state-charts and 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, state-chart and interactivity diagrams, maximally 10. 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
13. The meta-model for requirements engineering consists of four phases:
1) elicitation,
2) specification,
3) modelling, and
4) formalization.
For each of the four phases:
a. Write down a definition in terms of its goal or purpose.
b. Write down an example of a method, tool or technique used in the phase
along with at least one advantage and one disadvantage.
14. 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.
15. You have become the person responsible for your company’s software
development experience web. Write down a hierarchy of web pages with a brief
description of their intended content. You should also write down an example of a
more complete page, you can use the experience you got in your course project.
Write down processes for how the input and maintenance of the web can be
organised. End with some arguments selling your solution.
Download