Page 52 -
P. 52

2.1   Software process models  35



                          Requirements      Component       Requirements      System Design
                           Specification      Analysis       Modification      with Reuse



                                                                        Development         System
                     Figure 2.3 Reuse-oriented                          and Integration    Validation
                     software engineering





                                2.1.3 Reuse-oriented software engineering
                                       In the majority of software projects, there is some software reuse. This often happens
                                       informally when people working on the project know of designs or code that are
                                       similar to what is required. They look for these, modify them as needed, and incor-
                                       porate them into their system.
                                         This informal reuse takes place irrespective of the development process that is
                                       used. However, in the 21st century, software development processes that focus on the
                                       reuse of existing software have become widely used. Reuse-oriented approaches rely
                                       on a large base of reusable software components and an integrating framework for
                                       the composition of these components. Sometimes, these components are systems in
                                       their own right (COTS or commercial off-the-shelf systems) that may provide spe-
                                       cific functionality such as word processing or a spreadsheet.
                                         A general process model for reuse-based development is shown in Figure 2.3.
                                       Although the initial requirements specification stage and the validation stage are
                                       comparable with other software processes, the intermediate stages in a reuse-
                                       oriented process are different. These stages are:

                                       1.  Component analysis Given the requirements specification, a search is made for
                                          components to implement that specification. Usually, there is no exact match and
                                          the components that may be used only provide some of the functionality required.
                                       2.  Requirements modification During this stage, the requirements are analyzed using
                                          information about the components that have been discovered. They are then mod-
                                          ified to reflect the available components. Where modifications are impossible, the
                                          component analysis activity may be re-entered to search for alternative solutions.

                                       3.  System design with reuse During this phase, the framework of the system is
                                          designed or an existing framework is reused. The designers take into account the
                                          components that are reused and organize the framework to cater for this. Some
                                          new software may have to be designed if reusable components are not available.
                                       4.  Development and integration Software that cannot be externally procured is
                                          developed, and the components and COTS systems are integrated to create the
                                          new system. System integration, in this model, may be part of the development
                                          process rather than a separate activity.
   47   48   49   50   51   52   53   54   55   56   57