Page 64 -
P. 64

CHAPTER 2  THE PROCESS                                              35

                                Evolutionary models are iterative. They are characterized in a manner that enables
                              software engineers to develop increasingly more complete versions of the software.

                              2.7.1    The Incremental Model
                              The incremental model combines elements of the linear sequential model (applied
                              repetitively) with the iterative philosophy of prototyping. Referring to Figure 2.7, the
                              incremental model applies linear sequences in a staggered fashion as calendar time
                              progresses. Each linear sequence produces a deliverable “increment” of the software
                              [MDE93]. For example, word-processing software developed using the incremental
                              paradigm might deliver basic file management, editing, and document production
               The incremental model  functions in the first increment; more sophisticated editing and document production
               delivers software in  capabilities in the second increment; spelling and grammar checking in the third
               small but usable pieces,  increment; and advanced page layout capability in the fourth increment. It should be
               called “increments.” In
               general, each increment  noted that the process flow for any increment can incorporate the prototyping para-
               builds on those that  digm.
               have already been  When an incremental model is used, the first increment is often a core product.
               delivered.
                              That is, basic requirements are addressed, but many supplementary features (some
                              known, others unknown) remain undelivered. The core product is used by the cus-
                              tomer (or undergoes detailed review). As a result of use and/or evaluation, a plan is
                              developed for the next increment. The plan addresses the modification of the core
                              product to better meet the needs of the customer and the delivery of additional
                              features and functionality. This process is repeated following the delivery of each
                              increment, until the complete product is produced.






                                  System/information  Increment 1
                                    engineering
                                  Analysis  Design  Code  Test  Delivery of
                                                               1st increment

                                                                         Delivery of
                                    Increment 2  Analysis  Design  Code  Test
                                                                        2nd increment


                                              Increment 3  Analysis  Design  Code  Test  Delivery of
                                                                                  3rd increment


                                                       Increment 4  Analysis  Design  Code  Test  Delivery of
                                                                                            4th increment
               FIGURE 2.7
               The
               incremental
               model                                       Calendar time
   59   60   61   62   63   64   65   66   67   68   69