waterfall model in software development life cycle | SDLC


Soft-ware process models

What is software process model ?

A software process model is simplified representation of a software process in software development life cycle,various models are designed and defined these models are called a software development process model .

Waterfall model

The waterfall model was the first process model that to be introduced . It is referred to as a linear sequential life cycle model . It is very simple to understand and use . In waterfall model, each phase must be completed before the next phase can begin and there is no over lopping in the phases.

The waterfall model illustrates the software development process in a linear sequential flow this means that any phase in the development process begins only if the previous phase is complete. In the waterfall model, the phases do no overlap.

It is introduced in 1970 Winston Royce the whole process of software development is divide into separate phases .

Phases of waterfall model

1) Requirement Analysis : All possible requirement of the system to be developed are captured in this phase and Documented in a requirement specification document .

2) System design and software design : The requirement specification from first phase are studied in this phase and the system design is prepared . This system design helps in specifying hardware and system requirements and helps in defining the overall system architecture . Software design involves identifying and describing the fundamental software system abstraction and their relationship.


Water-fall model

3) Implementation and unit testing : With inputs from the system design, the system us first developed in a small programs called units which are integrated in the next phase.Each unit is developed and tested for its functionality,which is referred to as unit testing.

4) Integration and system testing : All the units developed in the implementation phase are integrated into a system after testing of each unit . Post integration the entire system is tested for any faults and failures. After testing the software systems delivered to the customer .

5) Operation and maintenance : This is the longest life cycle phase the system is installed and put into practical use . Maintenance involved correcting errors.which were not discovered in earlier stages of life cycle, improving the implementation of system units and enhancing the system’s services as new requirements are discovered.

All the phases are cascaded to each other in which progress is seen as flowing steadily downward ( likely waterfall ) through the phases .

When to use waterfall model

1. Requirements are not changing frequently.
2. Application is not complicated and big.
3. Project is short.
4. Requirement is clear .
5. Environment is stable.
6. Technology is understood and is not dynamic .
7. Resources are available and trained.



Advantage of waterfall model 

The advantage of waterfall development are that it allows for departmentalization and control. A schedule can be with deadlines for each stage of development and product can proceed through the development process model phases one by one.

Some major Advantage of Waterfall model :

1. simple and easy to understand and use .
2. Easy to manage due to rigidity of the model. Each phase has specific deliverable and a review process .
3. Phases are processed and competed one at a time.
4. Works well for smaller projects where requirements are very well understood.
5. Clearly defined stages.
6. Well understood milestones.
7. Easy to arrange tasks.
8. Process and results are well documented .
9. They should perform quality assurance test.(Verification and validation) before completing each stage .
10. Project is completely depend on project team with minimum Clint intervention.
11. Any changes is software is made during the process of the development.

Disadvantage of waterfall

The disadvantage of waterfall development is that is dose not allow much reflection or revision. Once an application is in the testing stage ,it is very difficult to go back and change something that was not well documented or thought upon in the concept.

1. Error can be fixed only during the phase.
2. It is not desirable for complex project where requirements changes frequently.
3. Testing period comes quite late in the developmental process .
4. High amount of risk and uncertainty.
5. It is difficult to measure progress within stages.

Important and related Post  :

>> What is application software and system software
>> Evolution development model 
>> What is software process model ?
>> incremental model with details.
>> What is CASE ?
>> Software Engineering | Classification of Software Requirements
>> Software Engineering | Spiral Model
>>What is operating system 
>>What is traffic monitoring system 
>> what is computer virus and names of virus.
>>What is embedded control system  
>> What is compiler .
>> What is linker.
>> What is Interpreter
>> Modern Principles Of Software Development
>> Types of Software Testing
>> Software Testing | Basics
>> Software Engineering | Debugging Approaches
>> Software Engineering | Classification of Software Requirements
>> Software Engineering | Requirements Engineering Process
>> Software Engineering | Classification of Software

Post a Comment

0 Comments