Page 35 - DCAP405_SOFTWARE_ENGINEERING
P. 35

Software Engineering




                    Notes          called the work products. In software, a work product can be the requirements document, design
                                   document, code, prototype, etc.
                                   This restriction that the output of each step should be some work product, that can be verified,
                                   suggests that the process should have a small number of steps. Having too many steps results in
                                   too many work products or documents, each requiring V&V, and can be very expensive. Due to
                                   this, at the top level, a development process typically consists of a few steps, each satisfying a
                                   clear objective and producing a document used for V&V. How to perform the activity of the
                                   particular step or phase is generally not an issue of the development process.
                                   As a development process, typically, contains a sequence of steps, the next issue that comes is
                                   when a phase should be initiated and terminated. This is frequently done by specifying the entry
                                   criteria and exit criteria for a phase. The entry criteria of a phase specify the conditions that the
                                   input to the phase should satisfy in order to initiate the activities of that phase. The output
                                   criteria specify the conditions that the work product of this phase should satisfy in order to
                                   terminate the activities of the phase. The entry and exit criteria specify constraints of when to
                                   start and stop an activity. It should be clear that the entry criteria of a phase should be consistent
                                   with the exit criteria of the previous phase.
                                   The entry and exit criteria for a phase in a process depend largely on the implementation of the
                                   process. For example, for the same process, one organization may have the entry criteria for the
                                   design phase as “requirements document signed by the client” and another may have “no more
                                   than X errors detected per page in the requirement review.” As each phase ends with some
                                   V&V activity, a common exit criteria for a phase is “V&V of the phase completed satisfactorily,”
                                   where satisfactorily is defined by the organization based on the objectives of the project and its
                                   experience in using the process. The specification of a step with its input, output, and entry exit
                                   criteria is shown in Figure 2.4.

                                                       Figure 2.4: A Step in a Development Process

                                                                                       Information to
                                                                                       management
                                                                    Control


                                                    Entry criteria   Process           Exit criteri a
                                                                    Phase      V&V


                                                Input                                       Output

                                   Apart from the entry and exit criteria for the input and output, a development step needs to
                                   produce some information for the management process. We know that the basic goal of the
                                   management process is to control the development process. For controlling a process, the
                                   management process needs to have precise knowledge about the development process activities.
                                   As the management process is executed by a logically separate group of people, the information
                                   about the development process must flow from the development process to the management
                                   process. This requires that a step produce some information for the management process. The
                                   management process specifies the nature of this information. This information and other such
                                   information from previous steps is used by the management process to exert control on the
                                   development process. The flow of information from a step and, exercise of control is also shown
                                   in Figure 2.4.
                                   Generally, the information flow from a step is in the form of summary reports describing the
                                   amount of resources spent in the phase, schedule information, errors found in the V & V activities,
                                   etc. This type of information flow at defined points in the development process makes it possible



          28                                LOVELY PROFESSIONAL UNIVERSITY
   30   31   32   33   34   35   36   37   38   39   40