TENTAMEN Programutvecklingsmetodik TDDB62 den 26 august 1999 (14-18)

advertisement
1(3)
Tekniska Högskolan i Linköping
Institutionen för Datavetenskap
Mariam Kamkar
TENTAMEN
Programutvecklingsmetodik
TDDB62
den 26 august 1999 (14-18)
(C-huset, T2)
Jour:
Mariam Kamkar 281949/297950
Hjälpmedel:
Inga.
Anvisningar:
- Alla svar skall motiveras och om förutsättningar saknas
skall rimliga antaganden göras.
- Skriv tydligt.
- Skriv bara på en sida av papper.
Lycka Till!
2(3)
1 (12p)
Describe the following life-cycle models and analyze their strengths and weaknesses.
• waterfall model
• rapid prototyping model
• build-and-fix model
2 (5p)
a) Describe a situation in which the client, developer, and user are one and the same person.
b) What problems can aries if the client, developer, and user are one and the same person?
How can these problems be solved?
c) What are the potential advantages if the client, developer, and user are one and the same person?
3 (5p)
Determine the cohesion of the following modules:
!" #$%&' !"%&('*) '('+!
!%&
%&,%&!"$
4 (8p)
Give at least 2 examples in which black-box testing might give the impression that “everything is OK”,
while glass-box (white-box) tests might uncover an error. Give at least 2 examples in which glass-box
testing give the impression that “everything is OK”, while black-box tests might uncover an error.
5 (6p)
Explain and give example for each of the following testing coverage criteria:
• branch coverage
• all-definition-use-path coverage
• path coverage
6 (6p)
A floating-point binary number consists of an optional sign followed by one or more bits, followed by
the letter E, followed by another optional sign, followed by one or more bits. Examples of floating-point
binary numbers include 11010E-1010, -100101E11101, and +1E0.
More formally, this can be expressed as:
<floating-point binary>::= [<sign>] < bitstring> E [<sign>] <bitstring>
<sign>::= +|<bitstring>::= <bit> [<bitstring>]
<bit> ::= 0|1
(The notation [...] denotes an optional item, and a|b denotes a or b).
Specify a finite state machine that will take as input a string of characters and determine whether or not
that string constitutes a valid floating-point binary number.
7 (5p)
Use a Petri net to specify the circulation of a single book through the library of the Linköping university.
3(3)
8 (3p)
What is meant by each of the following types of maintenance:
a) Corrective maintenance
b) Adaptive maintenance
c) Perfective maintenance
9 (2p)
What are the similarities between a walkthrough and an inspection? What are the differences?
10 (1p)
Explain what is meant by stepwise refinement.
11 (4p)
Does one-person software production organization need a version control tool, and if so, why?
Does one-person software production organization need a configuration control tool, and if so, why?
12 (2p)
What is the effect of introducing Case tools (as opposed to environments) within organizations with low
maturity level?
13 (3p)
How are the terms correctness proving, verification, and validation used in the course book?
14 (3p)
Carefully distinguish between:
a) data encapsulation and abstract data types.
b) abstraction and information hiding.
c) polymorphism and dynamic binding.
Download