TENTAMEN Programutvecklingsmetodik TDDB62 den 15 januari 1999 (14-18)

advertisement

1(4)

Tekniska Högskolan i Linköping

Institutionen för Datavetenskap

Mariam Kamkar

TENTAMEN

Programutvecklingsmetodik

TDDB62 den 15 januari 1999 (14-18)

(C-huset, T1)

Jour:

Hjälpmedel:

Anvisningar:

Mariam Kamkar 281949/297950

Inga.

- 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(4)

PART 1

1 (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?

2 (5p)

You are a software engineer and your job is to supervise the development of a new software for Micro-

Heaven. List ways that your company can fail to satisfy the contract with the MicroHeaven. What are the probable causes of such failures?

3 (2p)

Consider the requirements phase and the specification phase. Would it make more sense to combine these two activities into one phase rather than treating them separately?

4 (6p)

List the documentation that should be produced during each phase of the software life cycle.

5 (5p)

Determine the cohesion of the following modules:

!" #$%&' !"%&('*) '('+ !

!%&%&, %&!"$

6 (2p)

Suppose that you have to build a product to determine the square root of 73,624.9385 to four decimal places. Once the product has been implemented and tested, it will be thrown away. What life-cycle model would you use? give reason for your answer.

7 (4p)

Describe: a) the sort of product that would be an ideal application for the incremental model.

b) the type of situation where the incremental model might lead to difficulties.

c) the sort of product that would be an ideal application for the spiral model.

d) the type of situation where the spiral model is inappropriate.

8 (1p)

Explain what is meant by stepwise refinement.

9 (2p)

Does one-person software production organization need a version control tool, and if so, why?

10 (2p)

Does one-person software production organization need a configuration control tool, and if so, why?

11 (2p)

What is the effect of introducing Case tools (as opposed to environments) within organizations with low maturity level?

3(4)

12 (3p)

How are the terms correctness proving, verification, and validation used in the course book?

13 (2p)

What are the similarities between a walkthrough and an inspection? What are the differences?

14 (5p)

You are the boss of MicroHeaven, in charge of developing the new software. The software has been delivered to you for acceptance testing. What properties of the software do you test?

15 (3p)

Carefully distinguish between: a) data encapsulation and abstract data types.

b) abstraction and information hiding.

c) polymorphism and dynamic binding.

16 (2p)

What is the influence of: a) cohesion on reuse?

b) coupling on reuse?

4(4)

PART 2

17 (2p)

Should rapid prototyping be used if the product is to be developed using the object-oriented paradigm?

18 (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>

::= <bit> [<bitstring>]

::= 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.

19 (1 p)

The purpose of using a FSM in a software engineering project is to: a) Formally specify synchronization of events.

b) Formally describe the system in terms of its states and dynamic state change behavior.

c) Help to specify a set of reasonable branch testing inputs.

d) All of the above.

20 (2p)

A file contains the results of three types of medical tests: radiological, blood chemistry, and bacteriological tests. Each record includes the date and time the test performed and the name of the patient. The records are sorted by name, by date within name, and by time within date. Use JSD (Jackson System

Development) notation to specify the structure of the file.

21 (4p)

Program “Triangle” reads three integer values. The three values are interpreted as representing the lengths of sides of a triangle. The program prints a message that states whether the triangle is scalene

(oliksidig), isosceles (likbent) or equilateral ((liksidig).

Write a set of test cases (as following) to adequately test this program.

Test 1:

Goal:

Input:

Test 2:

...

Test a valid equilateral

5, 5, 5

Download