-:Table of Contents:-
-
Software Process Model
-
The Waterfall Model
-
Advantages
-
Disadvantages
-
Suitable for
-
Not Suitable for
Software Process Models -
A software process model is a simplified representation of a software process. Each model represents a process from a specific perspective. There are some general process model, called Generic Process Model.
-
The Waterfall Model
-
Evolutionary Model
-
Component-based Model
More than one software process model is employed in large software.
The Waterfall Model:
The waterfall model is a sequential approach, where each fundamental activity of a process represented as a separate phase, arranged in linear order.
In the waterfall model, you must plan and schedule all of the activities before starting working on them (plan-driven process).
Phases of Waterfall Model- the Waterfall model consists of five phases and every phases takes input from the output of previous phase. Its means every phase has to be completed before the next phase starts and there is no-overlapping of the phase.
Requirement Specifications- This phase is the most important phase of any development process. In this all requirements are gathered and validated. It also helps in estimating product costs, risks and schedules.
Analysis and System Design- This phase designs the overall software architecture for the proposed software system. This phase analyses specifications and identifies the fundamental software system components and their relationships.
Implementation and Unit Testing – In this phase, Software design is converted into the specific software components through programming & documentation. In this, each components are tested on the basis of their specifications.
Integration & System Testing- In this phase, all the developed program units or components are integrated and tested as a complete system to ensure that the software fulfills all the requirements. After successful testing, the software system delivered to the customer.
Operation and Maintenance – This the last phase of Waterfall model. In this the system is delivered and deployed to the customer and maintenance of system started.
Maintenance is an ongoing phase, in which all the rectified errors are corrected and delivered to the customer time to time.
Advantages of Waterfall Model –
-
Divides whole process in phases. This allow for separate schedule and deadlines for each phase.
-
It is easy to understand.
-
Easy to manage model as each phase has specific deliverable and a review process.
-
Not a complex model.
Disadvantages of Waterfall Model –
-
Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage.
-
High amounts of risk and uncertainty.
-
Not a good model for complex and object-oriented projects.
-
Poor model for long and ongoing projects.
-
Not suitable for the projects where requirements are at a moderate to high risk of changing.
Waterfall Model is Suitable For –
-
Requirements are clearly determined.
-
Each phase clearly laid out sequentially flows to next phase.
-
Each phase fully complete.
-
Each phase output is available for the input to next phase.
Waterfall Model is Not Suitable For -
-
Real projects, because it not follows sequential flow.
-
Not possible to define all requirements explicitly.
-
High risk projects.
Worksheet – 2 (The Waterfall Model)
-
What do you mean by Software Process model?
-
What do you mean by Waterfall Model?
-
Write down the different phases of Waterfall model.
-
What are the main objective of Requirement specification?
-
Differentiate between – (a) Unit Testing and System Testing (b) Validation and Verification (c) Implementation and Integration.
-
In what circumstances Waterfall model is not suitable?
-
Why Waterfall model is not suitable for complex and large project.
-
Write down the advantages & disadvantages of Waterfall model.
