A generic view of Process

Software process is defined as a framework for the tasks that are required to produce a high quality software product. It defines the approach that is taken to develop a software product. In other words, the process followed by a software engineer to build, deliver, deploy and evolve a software product from the inception to the delivery and final retirement to the system is called the software production process. Processes are important because they impose consistency on a set of activities. They guide our actions by allowing us to examine, understand, control and improve the activities involved in the process. The work associated with software engineering can be categorized into three generic phases :

1. Definition Phase
2. Development Phase
3. Maintenance Phase

1. Definition Phase : It is the base of Definition phase. The definition phase focuses on “what”. That is, during definition, the software engineer attempts to identify what information is to be processed, what function and performance are desired, what system behavior can be expected, what interfaces are to be established, what design constraints exist, and what validation criteria are required to define a successful system. During this, three major tasks will occur in some form: system or information engineering, software project planning and requirements analysis.

2. Development Phase : The development phase focuses on “how”. How data are to be structured, how function is to be implemented within a software architecture, how procedural details are to be implemented, how interfaces are to be characterized, how the design will be translated into a programming language and how testing will be performed. Three specific technical tasks will always occur in this phase:
  • Software design
  • Code generation
  • Software testing

3. Maintenance Phase : The maintenance phase focuses on changes associated with error correction, adaptations required as the software's environment evolves, and changes due to enhancements brought about by changing customer requirements. Four types of change are encountered during the Maintenance phase:

  • Error Correction : Even with the best quality assurance activities, it is likely that the customer will uncover defects in the software. Corrective maintenance changes the software to correct defects.
  • Adaptation : Over time, the original environment (e.g., CPU, operating system, business rules, external product characteristics) for which the software was developed is likely to change. Adaptive maintenance results in modification to the software to accommodate changes to its external environment.
  • Enhancement : As software is used, the customer/user will recognize additional functions that will provide benefit. Perfective maintenance extends the software beyond its original functional requirements.
  • Prevention maintenance : Computer software deteriorates due to change, and because of this, preventive maintenance, often called software re-engineering, must be conducted to enable the software to serve the needs of its end users. Preventive maintenance makes changes to computer programs so that they can be more easily corrected, adapted, and enhanced.

Next Topic :

No comments:

Post a Comment