Professional Documents
Culture Documents
The waterfall Model was the first Process Model to be introduced. It is also
referred to as a linear- sequential life cycle model. It is very simple and easy to
use. In a waterfall model, each phase must be completed before the next phase can
begin, and there is no overlapping in the phases.
It illustrate the software development process in a linear sequential flow. This
model was the first SDLC Model to be used widely in software engineering to
ensure success of the project. In this model typically the outcome of one phase act
as the input for the next phase sequentially.
Over the years, the industry has seen more popular software development
methodologies like Agile, DevOps etc. However such methodologies have not
been able to suit all project scenarios.
In order to overcome the challenge associated with such methodologies, software
development process could combine the Agile's interactivity with the step of
waterfall process.
The following illustration is a representation of different phase of the waterfall
model:-
Requirement
Analysis
System
Design
Implementation
Testing
Deployment
Maintenance
Waterfall Model:-
Advantages:-
1. Simple and easy to understand and use.
2. Easy to manage due to the rigidity of the model.
3. Phases are processed and completed one at a time.
4. Works well for smaller projects where requirements are
very well understood.
5. Clearly defined stages.
6. Easy to arrange tasks.
7. Process and results are well documented.
Disadvantages:-
1. No working software is produced until late during the
lifecycle.
2. High amount of risk and uncertainty.
3. Not a good model for complex and object-oriented
projects.
4. Poor model for long and ongoing projects.
5. It is difficult to measure progress within stages.
6. Adjusting scope during the lifecycle can end a project.
V-Model:-
Coding
V-Model
Design phase:-
Requirement analysis
System design
Architecture design
Module design
Testing phase:-
Unit testing
Integration testing
System testing
Acceptance testing
Advantages:-
Disadvantages:-
5. High risk and uncertainty.
6. It is not a good for complex and object-oriented projects.
7. This model does not support iteration of phase.
8. It does not easily handle concurrent events.
Incremental Process Model:-
Incremental Model is a process of software development where requirements divided
into multiple standalone modules of the software development cycle. In this model,
each module goes through the requirements, design, implementation, and testing
phases.
Every subsequent release of the module adds function to the previous release. The
process continues until the complete system achieved.
The various phases of this model are:-
1. Requirement analysis
2. Design & development
3. Testing
4. Implementation
Build1 Design and Testing Implementation
development
Build2
Design and
Requirements Testing Implementation
development
Build3
Design and Testing Implementation
development
Incremental model
Advantages:-
1. Errors are easy to be recognized.
2. Easier to test and debug.
3. More flexible
4. Simple to manage risk because it handled during its iteration.
5. The client gets important functionality early.
Disadvantages:-
6. Need for good panning.
7. Total cost is high.
8. Well defined module interfaces are needed.
Advantages:-
1. Reduced development time.
2. Increases reusability of components.
3. Quick initial reviews occur.
4. Encourages customer feedback.
Disadvantages:-
5. Requires highly skilled developers/designers.
6. High dependency on modelling skills.
7. Needs strong team collaboration.