The waterfall model is also called as linear sequential model or classic cycle model. It is the oldest software paradigm. This model suggests a systematic approach to software development.
In a waterfall model each phase must be completed before the next phase can begin and there is no overlapping in phase.
The Waterfall model is the oldest SDLC (Software development life cycle) approach that was used for software development.
The software development starts with requirements gathering phase then processing through analysis, design, coding, testing and maintenance. The diagram illustrates Waterfall model.
Requirement Specification and Analysis
The aim of the requirement analysis and specification phase is to understand the exact requirements of the customer and document them properly. This phase consists of two different activities.
1. Requirement gathering and analysis
2. Requirement specification
Design:
The aim of the design phase is to transform the requirements specified in the SRS document into a structure that is suitable for implementation in some programming language.
Coding
In coding phase software design is translated into source code using any suitable programming language. Thus each designed module is coded. The aim of the unit testing phase is to check whether each module is working properly or not.
Testing
Testing begins when coding is done. While performing testing the major focus is on logical intervals of software. The testing ensures execution of all the paths, fundamental behavior. The purpose of testing is to uncover errors, fix the bugs and meet the customer requirements.
Maintenance
Maintenance is the most important phase of a software life cycle. The effort spent on maintenance is the 60% of the total effort spent to develop full software. There are basically three types of maintenance:
When to use waterfall model
Disadvantages
In a waterfall model each phase must be completed before the next phase can begin and there is no overlapping in phase.
The Waterfall model is the oldest SDLC (Software development life cycle) approach that was used for software development.
The software development starts with requirements gathering phase then processing through analysis, design, coding, testing and maintenance. The diagram illustrates Waterfall model.
Requirement Specification and Analysis
The aim of the requirement analysis and specification phase is to understand the exact requirements of the customer and document them properly. This phase consists of two different activities.
1. Requirement gathering and analysis
2. Requirement specification
Design:
The aim of the design phase is to transform the requirements specified in the SRS document into a structure that is suitable for implementation in some programming language.
Coding
In coding phase software design is translated into source code using any suitable programming language. Thus each designed module is coded. The aim of the unit testing phase is to check whether each module is working properly or not.
Testing
Testing begins when coding is done. While performing testing the major focus is on logical intervals of software. The testing ensures execution of all the paths, fundamental behavior. The purpose of testing is to uncover errors, fix the bugs and meet the customer requirements.
Maintenance
Maintenance is the most important phase of a software life cycle. The effort spent on maintenance is the 60% of the total effort spent to develop full software. There are basically three types of maintenance:
- Corrective Maintenance: This type of maintenance is carried out to correct errors that were not discovered during the product development phase.
- Perfective Maintenance: This type of maintenance is carried out to enhance the functionalities of the system based on the customer’s request.
- Adaptive Maintenance: Adaptive maintenance is usually required for porting the software to work in a new environment such as work on a new computer platform or with a new operating system.
When to use waterfall model
- Requirements are very well known, clear and fixed
- Product definition is stable.
- Technology is understood
- There are no ambiguous requirements
- The project is short.
Advantages
- Easy to understand even by non-technical person
- Each phase has well defined inputs and outputs
- Each phase of development proceeds sequentially
- Helps the project manager in proper planning of project
- Helps in controlling schedules, budgets and documentation.
Disadvantages
- Requirements need to be specified before the development proceeds.
- Users have little interaction with the project
- After the development process starts changes can’t be accommodated early
- It is very time consuming and costly model.
0 comments :
Post a Comment
Note: only a member of this blog may post a comment.