It is a sequential lifecycle that is simple to understand and use each phase has to be completed finished before another start which means no overlapping is allowed.
It divides the software life cycle into the six phases.
- Only the important requirements of the customer are captured and the details of the requirement are ignored.
- All the different ways in which the problem can be solved are identified.
- Different solution strategies are analyzed to examine their benefits and shortcomings.
The aim of the requirements analysis and specification phase is to understand the exact requirements of the customer and to document them properly. This phase consists of two distinct activities, namely requirements gathering and analysis, and requirements specification as follows:
- Requirements Gathering and Analysis: The goal of the requirements gathering activity is to collect all relevant information from the customer regarding the product to be developed. Once the requirements have been gathered, the analysis activity is taken up. The goal of the requirement analysis is to weed out the incompleteness and inconsistencies in these requirements.
- Requirement Specification: The customer requirements identified during the requirements gathering and analysis activity are organized into a software requirement specification (SRS) document. The important components of this document are functional requirements, non-functional requirements, and the goals of implementation.
The goal 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. In technical terms, during the design phase, the software architecture is derived from the SRS document.
The purpose of coding and unit testing phase of software development is to translate the software design into the source code.The coding phase is also sometimes called the implementation phase.
Once the coding of application is done, it is then integrated with all other modules with different functionality. During each step of integration, earlier planned modules are incorporated into the parts included the structure of the software and then the entire system is tested.
- α Testing: In this testing, the software is tested by the development team, i.e., the developers.
- β Testing: In this testing, the software is tested by friendly customers and other target users who will use the beta version of your product.
- Classical waterfall model is easy to understand and simple to use.
- In the waterfall model, only one phase is executed at a time or phases cannot overlap.
- In this model, each phase is clearly defined.
- Waterfall model works best for a small project, where requirements are clearly defined.
- Each Process, actions and results are well documented.
- The classical waterfall model is an idealistic one since it assumes that no development error is ever committed by the engineers during any of the life cycle phases. However, in practical development environments, the engineers do commit a large number of errors in almost every phase of the life cycle.
- It becomes tough to go back to the phase. For example, if the application has now shifted to the coding phase, and there is a change in requirement, It becomes tough to go back and change it.
- This model cannot accept the changes in requirements during development.
No comments:
Post a Comment