Written examination TDDB62 Software Engineering for I

advertisement
Linköpings Universitet
IDA
SaS PELAB
Kristian Sandahl
2002-01-14
Written examination TDDB62 Software Engineering for I
Date: Thursday 2002-01-17
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 Wednesday 2002-01-30 between 11:0013:00 in SaS conference room, entrance 29, 1st floor, corridor B.
Questions: Kristian Sandahl can be reached at 28 19 57, 0706-68 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
28-33
20-27
<20
Good luck!
Grade
Max
5
4
3
No pass
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)
a. Cleanroom Engineering is an incremental development method.
b. Cleanroom Engineering is an iterative development method.
c. The focus of Cleanroom Engineering is cost control.
d. The focus of Cleanroom Engineering is quality control.
2. How large part of maintenance cost is normally attributed to non-corrective maintenance?
Answer with 10% resolution and refer to your source.
3. Explain why low cohesion and high coupling is bad.
Please note that the 2nd definition of Coupling in the Glossary in Peters and Pedrycz is
wrong.
4. Give two reasons for applying Software Configuration Management.
5. Write down a use-case description for the following use-case diagram.
Teacher
Student
Person responsible of
audiovisual equipment
The database
containing
the schedule
6. What is a dataflow diagram?
7. Describe two invented software modules: one that is well suited for
implementation in C++, but not in Java; and one that is well suited for
implementation in Java but not in C++.
8. Construct a connected flowchart with a cyclomatic complexity of 7.
9. How was the COCOMO model constructed?
10. Write down a set of test-cases ensuring path coverage of the following
program:
No
Yes
X<1
Yes
No
Y=Y-1
X<2
Y=sin(X)
No
Y=tan(X)
Yes
Y>3
Y=Y-1
Y=Y/X
Answer no more than two of the questions 11-15. Each question gives a maximum
of 10 credits. The answers should be thorough and complete.
11. Thoroughly describe the waterfall software life-cycle model. List three other models and
explain their relationship to the waterfall model.
12. Describe five important roles in a software engineering team. For each role, describe
responsibility, authority, competence profile, which documents the role is responsible for
and what you can do if the person becomes sick for a week.
13. List five metrics of program size or program complexity. Define each metric and account
for how it can be calculated in a practical implementation project, for instance, your own
PUM-projects. What conclusions would you draw if the metrics significantly deviate
from the expected values halfway through the implementation phase?
14. Explain with a small example how object-orientation can be used to specify
requirements, specify design and implementing a system. What benefits can be expected
from this approach?
15. Plan a lab-exercise in maintenance. Invent a software application of your own choice and
describe the base-line system the students can download. Give them tasks that cover all
types of maintenance and a majority of the process steps. Plan for work in 2 passes of 4
hours each.
Download