Page 71 -
P. 71

54   Chapter 2   Software processes


                   FURTHER RE ADING

                      Managing Software Quality and Business Risk. This is primarily a book about software management
                      but it includes an excellent chapter (Chapter 4) on process models. (M. Ould, John Wiley and Sons
                      Ltd, 1999.)

                      Process Models in Software Engineering. This is an excellent overview of a wide range of software
                      engineering process models that have been proposed. (W. Scacchi, Encyclopaedia of Software
                      Engineering, ed. J.J. Marciniak, John Wiley and Sons, 2001.) http://www.ics.uci.edu/~wscacchi/
                      Papers/SE-Encyc/Process-Models-SE-Encyc.pdf.

                      The Rational Unified Process—An Introduction (3rd edition). This is the most readable book
                      available on the RUP at the time of this writing. Krutchen describes the process well, but
                      I would like to have seen more on the practical difficulties of using the process. (P. Krutchen,
                      Addison-Wesley, 2003.)





                   E XERCISES

                      2.1. Giving reasons for your answer based on the type of system being developed, suggest the
                           most appropriate generic software process model that might be used as a basis for managing
                           the development of the following systems:
                           A system to control anti-lock braking in a car

                           A virtual reality system to support software maintenance
                           A university accounting system that replaces an existing system
                           An interactive travel planning system that helps users plan journeys with the lowest
                           environmental impact
                      2.2. Explain why incremental development is the most effective approach for developing business
                           software systems. Why is this model less appropriate for real-time systems engineering?

                      2.3. Consider the reuse-based process model shown in Figure 2.3. Explain why it is essential to
                           have two separate requirements engineering activities in the process.
                      2.4. Suggest why it is important to make a distinction between developing the user
                           requirements and developing system requirements in the requirements engineering
                           process.

                      2.5. Describe the main activities in the software design process and the outputs of these
                           activities. Using a diagram, show possible relationships between the outputs of these
                           activities.
                      2.6. Explain why change is inevitable in complex systems and give examples (apart from
                           prototyping and incremental delivery) of software process activities that help predict changes
                           and make the software being developed more resilient to change.
   66   67   68   69   70   71   72   73   74   75   76