Software engineering, spring 2002, Session 1

 
  1. Explain why the costs of fixing an error increase the later the error is detected. Compare the difficulty of the task in the analysis, design and maintenance phases.

  2. What process models would you use in the following tasks? Why?
    • A book-keeping softwarethat uses standard database techniques
    • Natural language translation software based on recent research results
    • The control system of a self-steering robot
    • A data communication subsystem that implements a modern data communication protocol
    • A new generation object oriented operating system

  3. Alexander and Davis ohave compared software process models according to the distance between the user needs and the functionality the system provides. The diagram below describes the functionality of a system developed using the waterfall model (only the initial development is modeled and the needs are assumed to evolve steadily). Alexander and Davis propose the size of the area between the needs descriptor and the fuctionality descriptor as a measure for how well the process model suits for the given task. Explain why this diagram is like this. How would the functionality descriptor continue if the maitenance would also be done using the waterfall model.

  4. Draw the descriptors of the prototype process, the RAD process, and the evolution process in the above diagram, assuming that the resources used are equal to the ones used in waterfall development. What conclusions can be drawn of the diagrams? How should the user needs evolve to fit best with these process models.

  5. How does the component model behave with respect to the user needs and the development time as compared to the above models. What requirements does the component model place on the development environment.


Harri Laine, 16.1.2002