Software Engineering, Exam, March 17, 2010.

Duration 08:00-13:00.

  1. Given a fixed budget, explain the benefits of incremental development on
    1. usability
    2. functionality
    3. presence of faults
    in the delivered product (4 points, 1.5 page)

  2. What reasons could the customer have to impose process requirements? (3 points, 1 page)

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

  4. System development can be divided into requirements engineering, design, implementation, and so on.
    1. In this context, what are the steps of designing a software system? (5 points, 1.5 page)
    2. Why is there no hard border between requirements specification and design?
      (2 points, 0.5 page)
    3. How is the design process altered if many reusable components are available?
      (3 points, 1 page)

  5. Give three examples of tasks that are usually performed by the middle layer in a logical three-tier architecture. (3 points, 1 pages)


  6. It is sometimes a requirement for a safety critical system that certain features of the programming language are not used. Give 4 examples of such features and motivate for each feature why it can cause a hazard or make the system impossible to verify. (4 points, 1.5 pages)

  7. In some safety-critical systems, there are several (N) copies of the same hardware. In software, the corresponding concept is N-version programming. Explain how the differences between hardware and software cause differences in the application/behaviour/effectivity of redundant hardware versus N-version programming. (4 points, 1 page)

  8. Describe (at least) five different test methods. For each method, mention
        * its goal, and
        * (briefly) how it is done, and
        * what CASE-tools are useful, or even necessary.
    (10 points, 3 pages)

  9. Give three examples of requirements that cannot be tested, but that can be verified by inspection. (3 points, 1 page)

  10. Give a brief description of the Scrum process.  (4 points, 1.5 page)

  11. Describe four different methods to estimate the cost of a project. What input does each method need (i.e., what information do you need in order to apply each method)? (4 points, 1.5 page)

  12. 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)