Page 31 - DCAP405_SOFTWARE_ENGINEERING
P. 31

Software Engineering




                    Notes          Further, restriction on the degrees of freedom for a particular project are specified by the project
                                   plan, which, in itself, is within the boundaries established by the process. In other words, a
                                   project plan cannot include performing an activity that is not there in the process.
                                   It is essentially the process that determines the expected outcomes of a project as each project is
                                   an instance of the process it follows. Due to this, the focus software engineering is heavily on the
                                   process.
                                                             Figure 2.2: Software Processes

                                                                          Software Process


                                                                   Product            Process
                                                                 Engineering        Management
                                                                  Processes           Process

                                                   Development    Project     Software Configuration
                                                     Process    Management    Management Process
                                                                  Process

                                   2.2.1 What is a Software Process?

                                   A software process is the set of activities and associated results that produce a software product.
                                   Software engineers mostly carry out these activities. There are four fundamental process activities,
                                   which are common to all software processes. These activities are:
                                   1.  Software specification: The functionality of the software and constraints on its operation
                                       must be defined.
                                   2.  Software development: The software to meet the specification must be produced.
                                   3.  Software validation: The software must be validated to ensure that it does what the
                                       customer wants.
                                   4.  Software evolution: The software must evolve to meet changing customer needs.
                                   Different software processes organize these activities in different ways and are described at
                                   different levels of detail. The timing of the activities varies as does the results of each activity.
                                   Different organizations may use different processes to produce the same type of product.
                                   However, some processes are more suitable than others for some types of application.




                                     Notes  If an inappropriate process is used, this will probably reduce the quality or the
                                     usefulness of the software product to be developed.

                                   The Software Process Model

                                   A software process model is a simplified description of a software process, which is presented
                                   from a particular perspective. Models, by their very nature, are simplifications, so a software
                                   process model is an abstraction of the actual process, which is being described. Process models
                                   may include activities, which are part of the software process, software products and the roles of
                                   people involved in software engineering. Some examples of the types of software process
                                   model that may be produced are:
                                   1.  A workflow model: This shows the sequence of activities in the process along with their
                                       inputs, outputs and dependencies. The activities in this model represent human actions.


          24                                LOVELY PROFESSIONAL UNIVERSITY
   26   27   28   29   30   31   32   33   34   35   36