Software Process
When you work to build a product or a system, it’s important to go
through a series of predictable steps - a roadmap that helps you to
create a timely, high-quality result.
The roadmap that you follow is called a “software process”.
Process model
A process is defined as a collection of work activities, actions and tasks that
are performed when some work product is to be created.
Each of these activities, actions, and tasks reside within a framework or model
that defines their relationship with the process and with one another.
Types of Software Process Models
• The Waterfall model
• The Incremental model
• Evolutionary process models:
• Prototyping model
• The spiral model
• Concurrent process model
Characteristics of Waterfall Model
• Called as classic life cycle model.
• This Model suggests a systematic, sequential approach to software
development.
• Software is developed as a whole.
• Used when requirements are well understood in the beginning.
Steps in Waterfall Model
1. Communication
2. Planning
3. Modeling
4. Construction
5. Deployment
Contd..
A variation in the representation of waterfall model is called the V-
model.
V-model depicts the assurance actions to the actions associated with
communication, modeling and early construction activities.
Once code has been generated, the team moves up the right side of V,
essentially performing a series of tests that validate each of the models
created as the team moved down left side.
In reality, the is no difference between the waterfall and the V- model.
The V- model illustrates how verification and validation actions are
associated with earlier engineering actions.
Advantages
• Classic life cycle model
• Useful in situations where requirements are fixed and proceed to
completion in linear manner
Disadvantages
• There are also some disadvantages of waterfall model:
Real projects rarely follow the sequential flow since they are
always iterative.
The model requires requirements to be explicitly spelled out in
the beginning, which is often difficult.
The customer must have patience. A working model is not
available until late in the project time plan.
Leads to ‘Blocking States’.
Applications
We can take real life examples for water fall model like automobile
companies -
When they are building a car, the requirements are fixed,
predefined.
There will be no change in the requirements during the process of
building a car.
Once we complete a stage, we proceed to the next one.
SUMMARY
Software Process Models
Waterfall Model
Communication
Planning
Modeling
Construction
Deployment
The V-Model
• Advantages
• Disadvantages
• Applications
Stimulating Question
• Waterfall model is the most widely used process model than
incremental process model- Justify your answer.
ANS:
• Real projects rarely follow the sequential flow since they are always
iterative.
• Compared to waterfall, iterative development allows flexibility in
accommodating new requirements or changes thereof. It also
provides room for improvement in succeeding iterations based on
lessons learned from previous iterations.