Software engineering, Autumn 2002, Session 2

Send your answers by email or in paper to Harri.Laine@cs.helsinki.fi, by 1st of October

 
  1. What process models would you use in the following tasks? Why?
    • A book-keeping software that 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

  2. Alexander and Davis have compared software process models according to the distance between the user needs and the functionality that 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 a 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.

  3. 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 from the diagrams? How should the user needs evolve to fit best with these process models.

  4. 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?

  5. Extreme programming (XP) is one of the best known leightwave processes. Find out what kind of process it is, and how does it compare with the processes discussed in the course.


Harri Laine, 18.9.2002