Software Engineering, Exam, April 21, 2006.

Duration 9:00 - 14:00.

  1. During the course we discussed some software engineering processes (waterfall, V-model, etc.). They all have advantages and disadvantages. What are desirable properties for a process?
    (5 points, 2 pages)

  2. Who are the expected readers of a requirements specification and what properties do they want the specification to have? (5 points, 1 page)

  3. Explain the concepts
    1. validation and
    2. verification
    and how both can be done. (6 points, 2 pages)

  4. What benefits can the making of a formal requirements specification have? Name at least three benefits and motivate why they can be achieved through formal specification. (3 points, 1 page)

  5. Give an example of a system that has different requirements for MTTF (Mean Time To Failure) for different kinds of failures. (3 points, 1 page)

  6. 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)
    Turn!

  7. A serious, non-trivial bug is detected in a program. A version that works around the bug is installed the next day. What further steps have to be taken? (5 points, 1.5 page)

  8. Describe (at least) five different test methods. For each method, mention
    (10 points, 4 pages)

  9. Consider the following function, that computes the logarithm of an integer N, rounded down to an integer. The function assumes that N > 0, so its behaviour for other values of N is irrelevant.

    int function log(int N)
    % assumes that N > 0.
    i := 1;
    k := 0;
    while i < N do
        i := 2*i;
        if i < N then k := k+1;
    endwhile;
    return k;

    1. Give a set of test data (values for N) that constitute a branch coverage test. Show clearly what steps you take to arrive at these values.
      (5 points, 2 pages)
    2. The program does not behave correctly if N is a power of 2.  Is this error likely to be discovered by inspection, by a branch coverage test, respectively by a black box test? Why?
      (3 points, 1 page)

  10. Give a brief description of the Scrum process. Describe how it can be combined with iterative, respectively incremental, development. (4 points, 1.5 page)

  11. Describe the tasks associated to securing the quality of a project, and by who, how and when they are carried out in relation to the project. (6 points, 2 pages)