Page 55 -
P. 55

38   Chapter 2   Software processes


                                                        Requirements
                                         Feasibility
                                          Study         Elicitation and
                                                           Analysis
                                                                         Requirements
                                                                         Specification
                                         Feasibility                                     Requirements
                                          Report                                          Validation
                                                           System
                                                           Models
                                                                        User and System
                                                                         Requirements
                  Figure 2.4 The                                                         Requirements
                  requirements                                                            Document
                  engineering process



                                        defines a set of requirements. Two types of requirements may be included in this
                                        document. User requirements are abstract statements of the system require-
                                        ments for the customer and end-user of the system; system requirements are a
                                        more detailed description of the functionality to be provided.
                                    4.  Requirements validation This activity checks the requirements for realism, consis-
                                        tency, and completeness. During this process, errors in the requirements document
                                        are inevitably discovered. It must then be modified to correct these problems.

                                       Of course, the activities in the requirements process are not simply carried out in a
                                    strict sequence. Requirements analysis continues during definition and specification and
                                    new requirements come to light throughout the process. Therefore, the activities of
                                    analysis, definition, and specification are interleaved. In agile methods, such as extreme
                                    programming, requirements are developed incrementally according to user priorities and
                                    the elicitation of requirements comes from users who are part of the development team.



                             2.2.2 Software design and implementation
                                    The implementation stage of software development is the process of converting a
                                    system specification into an executable system. It always involves processes of soft-
                                    ware design and programming but, if an incremental approach to development is
                                    used, may also involve refinement of the software specification.
                                       A software design is a description of the structure of the software to be implemented,
                                    the data models and structures used by the system, the interfaces between system com-
                                    ponents and, sometimes, the algorithms used. Designers do not arrive at a finished
                                    design immediately but develop the design iteratively. They add formality and detail as
                                    they develop their design with constant backtracking to correct earlier designs.
                                       Figure 2.5 is an abstract model of this process showing the inputs to the design
                                    process, process activities, and the documents produced as outputs from this process.
   50   51   52   53   54   55   56   57   58   59   60