Waterfall Model : Software Engineering
Waterfall Model (Linear Sequential Model)
Phases:
- Requirements analysis and definition.
- System and software design.
- Implementation and unit testing.
- Operation and maintenance.
Short Description
- used when requirements are well defined and reasonably stable.
- eg. adaptation of accounting software to accommodate changes to mandated government regulations.
- safety critical software are usually developed using waterfall model as lots of analysis and documentation is required before implementation begins.
- subsystems within a large system may be developed using different approaches. Parts of system that are well understood can be specified and developed using waterfall process model.
- Appropriate for:
- Embedded Systems
- Critical Systems.
- Larger software systems that are part of broader engineering systems developed by several partner companies.
Limitations:
- difficult for customers to state all requirements explicitly at the beginning of most projects.
- customers must have patience because a working version of the program will not be available until late in the project time span.
- major blunders may not be detected until the working program is reviewed.
- premature freezing of requirements. (eg. when requirements are too expensive to implement).
Additional Notes:
- The following phase should not start until the previous phase has finished. For hardware development with high manufacturing cost involved, this makes sense. However, for software development, these stages overlap and deed info to each other. eg. During design, problems with requirements are identified, during coding design problems are found and so on. The software process in practice is never a simple linear model but involves a feedback from one phase to another.
Comments
Post a Comment