Software Engineering, Exam, December 18 2000.

Duration 9:00 - 14:00.

  1. a) Compare the activities that occur in the "standard" waterfall process, to the activities in a waterfall process that relies heavily on component reuse. ....(3 points, 1 page)
    b) What problems can you expect as a result of reusing components in your system?
    ....(3 points, 1 page)

  2. a) How do you validate a requirements specification? ....(2 points, 1 page)
    b) How do you verify a requirements specification? ....(2 points, 1 page)

  3. What are the general purposes of making system models during requirements engineering? Distinguish between informal and formal models. ....(4 points, 2 pages)

  4. You are implementing a system that logically has a 3-tier architecture. For the physical architecture, you can choose between a thin client and a fat client architecture. Describe the issues and properties of your system that influence the choice. ....(5 points, 2 pages)

  5. Give a concrete example how increasing the safety of a system can decrease its reliability. Make it clear which reliability measure you refer to. ....(3 points, 1 page)

    Turn!

  6. Motivate why statistical testing is not suitable to verify that a system satisfies high reliability and safety requirements. ....(2 points, 0.5 page)

  7. Consider the following function written in JAIL (Just Another Imperative Language):

    real function exponent(real a, int b);
    // compute ab
    real result;
    result := 1.0;
    if b < 0 then
    b := -b;
    a := 1.0/a;
    end if;
    while b > 0 loop
    b := b-1;
    result := result*a;
    end loop;
    return result

    a) Show what steps must be taken to find test cases for coverage testing, using this program as an example. Show the distinction between node-coverage and branch-coverage.
    ....(5 points, 2 pages)
    b) Explain why coverage testing is unlikely to reveal the error (no need to distinguish beteen node- and branch-coverage here). ....(1 point, 2 lines)
    c) Explain briefly the concept of boundary value testing, and show that it would probably reveal the error. ....(3 points, 1 page)
    d) Explain why inspection would probably reveal the error. ....(1 point, 2 lines)

  8. Discuss how you can measure the productivity of your team of programmers, and what problems make it hard to achieve an accurate measure. ....(4 points, 1.5 pages)

  9. Quality management standards and processes often have their roots in manufacturing industry. Discuss what assumptions underlie such standards and processes, and to what extent these assumptions are valid in software engineering. ....(4 points, 2 pages)

  10. Your company runs small projects, 6-10 people. It has the following policy:
    Apart from the people involved in the project, 2-3 others attend all weekly meetings.
    What advantages can be expected from this policy? ....(3 points, 1 page)

  11. Argue that Brooks' article No Silver Bullet is
    - no longer valid, because reuse is now a silver bullet.
    or
    - still valid, and explain why reuse is not a silver bullet.
    (5 points, 2 pages. The value is in the motivation, and showing that you know Brooks' terminology and arguments. It is not in the standpoint you take.)