Page 52 -
P. 52

CHAPTER 2  THE PROCESS                                              23

                                   developed is likely to change.  Adaptive maintenance results in modification to
                                   the software to accommodate changes to its external environment.
                                   Enhancement. As software is used, the customer/user will recognize addi-
                                   tional functions that will provide benefit. Perfective maintenance extends the
                                   software beyond its original functional requirements.
                When you use the   Prevention. Computer software deteriorates due to change, and because of
                term maintenance,  this, preventive maintenance, often called software reengineering, must be con-
                recognize that it’s  ducted to enable the software to serve the needs of its end users. In essence,
                much more than
                simply fixing bugs.  preventive maintenance makes changes to computer programs so that they can
                                   be more easily corrected, adapted, and enhanced.
                              In addition to these support activities, the users of software require continuing sup-
                              port. In-house technical assistants, telephone-help desks, and application-specific
                              Web sites are often implemented as part of the support phase.
                                                                         1
                                Today, a growing population of legacy programs is forcing many companies to
                              pursue software reengineering strategies (Chapter 30). In a global sense, software
                              reengineering is often considered as part of business process reengineering.
                                The phases and related steps described in our generic view of software engineer-
                              ing are complemented by a number of umbrella activities. Typical activities in this cat-
                              egory include:
                                •  Software project tracking and control
                                •  Formal technical reviews
                                •  Software quality assurance

                                •  Software configuration management
                                •  Document preparation and production
                                •  Reusability management
                                •  Measurement
                 Umbrella activities
                                •  Risk management
                              Umbrella activities are applied throughout the software process and are discussed in
                              Parts Two and Five of this book.


                        2.2   THE SOFTWARE PROCESS

                              A software process can be characterized as shown in Figure 2.2.  A common process
                              framework is established by defining a small number of framework activities that are
                              applicable to all software projects, regardless of their size or complexity. A number
                              of task sets—each a collection of software engineering work tasks, project milestones,



                              1  The term legacy programs is a euphemism for older, often poorly designed and documented soft-
                                ware that is business critical and must be supported over many years.
   47   48   49   50   51   52   53   54   55   56   57