This article shows the software process models used in Software Engineering. Using these selected models process techniques we can improve the quality of software and also the development effort.
Waterfall Model
Presents a systematic sequential approach to development.
Advantages and Limitations
- Better than a haphazard approach.
- Requires that requirements are well-specified and unchanging.
- Assumes a sequential flow, that real projects rarely follow.
- Working version becomes available very late (after coding).
- Developers may need to wait due to dependent tasks.
Conclusion
When the requirements are well understood, it is reasonable to use this approach.
Diagram
Prototyping Model
A prototype is developed to understand the requirements.
Advantages and Limitations
- Misunderstandings, ambiguities and missing functions may be identified.
- The user sees the model at an early stage.
- The user may ask for the finished product via “a few fixes” to the prototype.
- Developers may make implementation compromises.
Conclusion
- When requirements are not well understood, it may be reasonable to use this approach.
- A prototype's purpose is to understand the requirements. A better (good quality) product must be subsequently developed.
Diagram
Incremental Model
Delivers software in increments, each increment is a working product and adds to the functionality of the previous increment.
Advantages and Limitations
- Business pressures may be met.
- Technical risks may be managed.
- Fewer resources may be used to proceed.
- Client does not need to pay for all the software at once.
- Increments may be difficult to define.
- Software may be difficult to maintain.
Conclusion
When the “core” product is well understood and increments can be easily defined, it is reasonable to use this approach.
Diagram
Spiral Model
Delivers the software in a series of incremental releases.
Advantages and Limitations
- Risks are resolved before they become problematic.
- Requires risk analysis expertise.
Conclusion
When risks are high and need to be resolved, it is reasonable to use this approach.
Diagram