Lecture 2 - 2 - Software Process Models
Lecture 2 - 2 - Software Process Models
Process Models
Software Development Life Cycle
(SDLC) models
• A software life cycle model (also termed process model) is a
pictorial and diagrammatic representation of the software
life cycle.
• A life cycle model represents all the methods required to
make a software product transit through its life cycle stages.
• It also captures the structure in which these methods are to
be undertaken.
• In other words, a life cycle model maps the various activities
performed on a software product from its beginning to
retirement.
• There are different software development life cycle models,
which are followed during the software development phase.
• These models are also called "Software Development
Process Models."
• Each process model follows a series of phase unique to its
type to ensure success in the step of software development.
3
• There are many development life cycle models that have
been developed in order to achieve different required
objectives.
• The models specify the various stages of the process and the
order in which they are carried out.
• The most used, popular and important SDLC models are
given below:
Need of SDLC model
• The development team must determine a suitable life cycle
model for a particular plan and then observe to it.
• Without using an exact life cycle model, the development of
a software product would not be in a systematic and
disciplined manner.
• When a team is developing a software product, there must
be a clear understanding among team representative about
when and what to do.
• Otherwise, it would point to confusion and project failure.
• This problem can be defined by using an example.
• Suppose a software development issue is divided into
various parts and the parts are assigned to the team
members.
• From then on, suppose the team representative is
allowed the freedom to develop the roles assigned to
them in whatever way they like.
• It is possible that one representative might start writing
the code for his part, another might choose to prepare
the test documents first, and some other engineer might
begin with the design phase of the roles assigned to him.
• This would be one of the perfect methods for project
failure.
• A software life cycle model describes entry and exit criteria
for each phase.
• A phase can begin only if its stage-entry criteria have been
fulfilled.
• So without a software life cycle model, the entry and exit
criteria for a stage cannot be recognized.
• Without software life cycle models, it becomes hard for
software project managers to monitor the progress of the
project.
Software Development Life Cycle
(SDLC) models
• Waterfall model
• V model
• Incremental model
• RAD model
• Agile model
• Iterative model
• Spiral model
• Prototype model
Waterfall Model
• The waterfall model is a breakdown of project activities into
linear sequential phases, where each phase depends on the
deliverables of the previous one and corresponds to a
specialization of tasks.
• The approach is typical for certain areas of engineering
design.
• The waterfall is a universally accepted SDLC model.
• In this method, the whole process of software development
is divided into various phases.
• The waterfall model is a continuous software development
model in which development is seen as flowing steadily
downwards (like a waterfall) through the steps of
requirements analysis, design, implementation, testing
(validation), integration, and maintenance.
• Linear ordering of activities has some significant
consequences.
• First, to identify the end of a phase and the beginning of
the next, some certification techniques have to be
employed at the end of each step.
• That will ensure that the output of the stage is consistent
with its input (which is the output of the previous step),
and that the output of the stage is consistent with the
overall requirements of the system.
• Winston Royce introduced the Waterfall Model in 1970.
• This model has five phases:
• Requirements analysis and specification,
• design,
• implementation,
• unit testing, integration and system testing, and
• operation and maintenance.
• The steps always follow in this order and do not overlap.
• The developer must complete every phase before the next
phase begins.
• This model is named "Waterfall Model", because its
diagrammatic representation resembles a cascade of
waterfalls.
Requirements analysis and specification
phase:
• The aim of this phase is to understand the exact requirements
of the customer and to document them properly.
• Both the customer and the software developer work together
so as to document all the functions, performance, and
interfacing requirement of the software.
• It describes the "what" of the system to be produced and not
"how.“
• In this phase, a large document called Software Requirement
Specification (SRS) document is created which contained a
detailed description of what the system will do in the common
language.
Design Phase
79