Unleash Your Potential - Namagunga Girls Coding Club
Lecture 1. Software Process Models.pdf
1. • CSIT142A Software Engineering I
SOFTWARE PROCESS
MODELS
Colegio De San Juan De Letran - Calamba
School of Computer Studies and Technology
Mr. Owen Harvey Balocon
Instructor
BSCS 2-1
1
2. SOFTWARE DEVELOPMENT LIFE CYCLE
The Software Development Life Cycle alludes to a process utilized by the
Software Development Industry for designing, developing, and testing
software solutions. The objective of this process is to develop high-
quality software solutions that exceed or meet user expectations within
stipulated time frames. SDLC is also known as a software development
process, which is a framework that defines software development tasks
that are formed at every phase of the development process.
The project follows the process which consists of a detailed plan
elaborating on how to develop, maintain, alter, replace, or enhance the
software solutions. A typical software process consists of multiple stages
such as planning and requirement analysis, defining requirements,
designing a software product architecture, developing the software
solution, testing the project, deploying or maintaining the software in the
market.
4. An Introduction To The Software Process Model
Software processes refer to a coherent set of activities and processes required
for specifying, designing, implementing, and testing the software systems. Any
software process model is the abstract representation and ideation of a process
that can highlight the description of a resembling process for a few specific
perspectives.
There are multiple software processes that majorly involve:
• Specification: It defines which systems would perform what job.
• Design And Implementation: It defines the organization of the software
systems and their subsequent implementation.
• Validation: It checks what the customer wants from the required system.
• Evolution: It involves changing the system corresponding to the user
requirements.
5. 1. Waterfall Model
The Waterfall model
represents a breakdown of
software project activities in
a linear sequential phase.
Each phase of this model
relies on the deliverables of
the previous phase, and it
corresponds to the particular
aspects of the tasks. The
Waterfall model is the first
software process model that
was introduced. This model
is extremely easy to
understand by the
developers.
6. 1. Waterfall Model
Each phase of this model is
completed before the next
phase to avoid the overlapping
among the multiple phases.
The Waterfall model illustrates
the software process in a linear
sequential flow, which means
that any face of the whole
process begins only if the
previous phase is completed.
The approach of this model is
typical for most of the areas of
software engineering design.
It goes from requirements >
design > development > testing
> deployment > maintenance.
7. 2. Iterative Mode
An Iterative software
development life cycle model
does not directly attempt to
begin with a full specification of
the prerequisites. Instead, it
starts by focusing on a
simplified and initial set of user
features and activities. These
features are then progressively
developed to gain complexity
and a broad range of functions
until the expected software
system is finished. While
adopting the Iterative software
model approach, the
philosophy of gradual
incremental development is
also used liberally.
8. 2. Iterative Mode
In simple words, an iterative
approach starts by
implementing and specifying
just a part of the software that
can be reviewed or prioritized
for identifying further
requirements. This process is
repeated with several new
versions of the software for
every iteration. In any
lightweight iterative software
project, the project code
represents the actual source of
system documentation, but in a
critical iterative project, formal
software projection is also
required.
9. 3. V Model
The V model for software
process represents a
development methodology
that can be considered as
an extension of the Waterfall
software model. In this
process, instead of moving
down in a unique and linear
manner, the steps of the
process are bent upwards
soon after the coding phase,
to develop a typical V shape.
10. 3. V Model
This model represents the
relationship between each
phase of the software
development life cycle,
along with the associated
phases of software testing.
The horizontal and vertical
axis of this model represents
time/project completeness
and level of abstraction,
respectively.
11. 4. RAD Model
The Rapid Application
Development Model was first
proposed by IBM in the 1980s.
The critical feature of this model is
the use of powerful development
tools and techniques. A software
project can be implemented using
this model if the project can be
broken down into small modules
wherein each module can be
assigned independently to
separate teams. These modules
can finally be combined to form
the final product. Development of
each module involves the various
basic steps as in the waterfall
model i.e analyzing, designing,
coding, and then testing...
12. 5. Spiral Model
The Spiral model refers to a
test-driven software
development model that was
introduced for superimposing
the shortcomings present in a
conventional Waterfall model.
The Spiral model looks exactly
like a spiral having multiple
loops. The exact number of
spiral loops is unknown and
they can differ from project to
project. The Spiral model
facilitates risk handling
management, and the final
software project is delivered in
the form of loops.
13. 5. Spiral Model
Each loop of the Spiral
model is known as the
phase of the whole software
development process. The
initial phase of the Spiral
model in its early
development stages of the
Waterfall life cycle is
required to develop the final
software product. The total
number of faces required to
develop the software can
differ from project managers
and depends on associated
risks.
14. 6. Agile Model
The Agile model refers to an
umbrella term for a specific set
of practices and methods
based on the values expressed
in the same manifesto. Agile
manifesto represents a way of
thinking that allows businesses
and team members to quickly
innovate and respond to the
ever-changing demands of the
industry while eliminating the
risks. Organizations can use
the Agile methodology with the
help of various available
frameworks such as Kanban,
Lean, Scrum, etc.
15. 6. Agile Model
The Agile development
movement also offers
alternatives to conventional
project management
systems. The Agile model is
typically used in the software
development process for
helping the businesses to
respond proactively,
referring to a group of
software process
methodologies.