Software Engineering: Generic View
To engineer software adequately, a software engineering process must be defined. The work
that is associated with software engineering can be categorized into three generic phases:
1.Definition phase
2. Development phase
3. Maintenance phase
1. Definition Phase:
Definition phase focuses on “what” questions that is during the definition the software
developers attempts to identify.
1.What information is to be processed?
2.What function and performance are desired?
3.What validation conditions are required?
4.What types of interfaces are to be established?
5.What design constraints exists?
All the questions can be answered through
1. System Analysis
2. Software Project Planning
3. Requirement Analysis
2. Development Phase:
Development phase focus on “How” questions. In this phase developer attempts to answer
1. How data structure and software architecture are to be designed?
2. How procedural details are to be implemented?
3. How design will be translated into a programming language?
4. How testing will be performed?
All the previous questions can be answered through
1. Software Design
2. Coding and
3. Software Testing
3. Maintenance Phase:
The maintenance phases focus on “change” that is associated with:
1. Error correction
2. Adaptation required
3. Enhancement
4. Prevention
1. Error Correction
- It is likely that the customer will uncover defects in the software.
- Corrective maintenance changes the software to correct defects.
2. Adaptation (variation,revision)
Over time, the original environment (e.g. CPU, OS, Business Rules etc.) 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.
3. 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.
4. Prevention
Computer software deteriorate due to change, and because of this, preventive
maintenance often called software reengineering must be conducted to enable the
software to serve the needs of its end users.
The phases and related steps described in generic view of SE are complemented by a
number of Umbrella Activities as under:
- Software project tracking and control
- Formal technical reviews
- Software quality assurance
- Software Configuration management
- Document preparation and production
- Reusability management
- Measurement
- Risk management
Post a Comment
If you have any doubts, Please let me know
Thanks!