0% found this document useful (0 votes)
0 views

Lecture-03-SDLC-1

The document discusses the Software Development Life Cycle (SDLC) models, focusing on the Waterfall and Iterative Waterfall models, as well as the Spiral model. It outlines the phases of each model, their strengths, weaknesses, and when to use them, emphasizing the importance of risk management and customer involvement in the development process. The lecture is part of a software engineering course led by Ms. Humaira Anwer.

Uploaded by

uzair durrani
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
0 views

Lecture-03-SDLC-1

The document discusses the Software Development Life Cycle (SDLC) models, focusing on the Waterfall and Iterative Waterfall models, as well as the Spiral model. It outlines the phases of each model, their strengths, weaknesses, and when to use them, emphasizing the importance of risk management and customer involvement in the development process. The lecture is part of a software engineering course led by Ms. Humaira Anwer.

Uploaded by

uzair durrani
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

Lecture 03

Software Development Life


Cycle-SDLC

Software Engineering
COSC-1104

Ms. Humaira Anwer


[email protected]

Lecture 03 Software Development Life Cycle-S 1


DLC
SDLC
Model
• A framework that
describes the
activities
performed at
each stage of a
software
development
project.

Lecture 03 Software Development Life Cycle-SDLC 2


Introduction

• Why discuss the models?


• Answer: They represent the framework of a disciplined approach to
development.
• Have milestones, deliverables, constraints, etc.

• SQA must take place in conjunction with the completing of these


activities or looking at the work products produced from these activities.

• Need to understand the models before we can produce plans that are
integrated into these models.
Classical
and Other • Will discuss
Software • Waterfall Model
Developm • Iterative Waterfall Model
• The spiral model
ent • The prototyping model
Methodolo • Incremental Model
gies • Agile Model
• V & V Model
• The OO model
Waterfall Model

Lecture 03 Software Development Life Cycle-S 5


DLC
Waterfall Model
The phases are organized in a linear
order and the output of one phase
becomes the input for the next phase.

Properties:
• Linear
• Sequential
• Non-Iterative
• Uni-Directional

Note:
Previous phase must be locked before
moving towards next phase.
Lecture 03 Software Development Life Cycle-SDLC 6
Waterfal
l Model
Analysis – Feasibility study of the
project.

Requirements – defines needed


information, function, behavior,
performance and interfaces.

Design – data structures,


software architecture, interface
representations, algorithmic
details.

Development – source code,


database, user documentation,
testing.
Waterfal
l Model
Testing – Goal: to discover errors /
correct errors to achieve an
acceptable level of quality. Carried
out by developers/testing teams
prior to delivery.

Deployment – Installation of the


system at the customer’s end. Install
incrementally, run in parallel; turn
switch and live with it, etc.

Maintenance – the process of


changing, modifying, and
updating software to keep up
with customer needs
Easy to understand, easy to use

Provides structure to inexperienced staff


Waterfa
ll Milestones are well understood

Strengt Sets requirements stability

hs Good for management control (plan,


staff, track)

Works well when quality is more


important than cost or schedule
All requirements must be known upfront

Deliverables created for each phase are


considered frozen – inhibits flexibility

Can give a false impression of progress


Waterfall
Deficienci Does not reflect problem-solving nature of
es software development – iterations of phases

Integration is one big bang at the end

Little opportunity for customer to preview the


system (until it may be too late)
When to use the Waterfall
Model
Requirements are very well known

Product definition is stable

Technology is understood

New version of an existing product

Porting an existing product to a new platform.


Iterative Waterfall Model

Lecture 03 Software Development Life Cycle-S 12


DLC
Iterative Waterfall Model

• In a practical software development


project, the classical waterfall
model is hard to use.
• Iterative Waterfall Model is
Enhancement of Waterfall model
• In Iterative waterfall model, the
feedback paths are provided from
every phase to its preceding phase
• The feedback paths allow for
correction of the errors committed
during a phase, as and when
these are detected in a later
phase.

13
Lecture 03 Software Development Life Cycle-SDLC
Iterative Waterfall Model

The feedback paths allow the


phase to be reworked

Lecture 03 Software Development Life Cycle-S 14


DLC
Strengths of Iterative Waterfall
Model

Feedback Path: iterative


waterfall allows the mechanism Simple: iterative waterfall
of error connection because model is simple to understand
Parallel development: can be
there is a feedback path from and use. It is the most widely
done.
one phase to its preceding used software development
phase which it lacks in the model evolved so far.
Waterfall Model.

15
More resources: may be required to implement the iterative
waterfall model.

Difficult to include change requests: In the iterative waterfall


model, all the requirements must be clearly defined before
Deficienci starting of the development phase but sometimes customer
requirement changes which is difficult to incorporate change

es of
requests that are made after development phase starts.

Iterative Not support Intermediate delivery: Project has to be fully


completed before it delivered to the customer.

Waterfall
Model Risk handling: Project is prone to many types of risk but there
is no risk handling mechanism.

Not suitable for a small project.

Lecture 03 Software Development Life Cycle-SDLC 16


When to Use Iterative
Waterfall Model
The requirements of the project are defined
and clearly understood.

New technology is being learned by the


development team.

There are some high-risk features and goals


which might change in the future.

Lecture 03 Software Development Life Cycle-S 17


DLC
Spiral Model

Lecture 03 Software Development Life Cycle-S 18


DLC
• The spiral model is a systems
development lifecycle (SDLC)
method used for risk management
that combines the iterative
development process model with
elements of the Waterfall model.
• The exact number of loops of the spiral

Spiral is unknown and can vary from project to


project.

Model • Each loop of the spiral is called a Phase


of the software development
process.
• The Radius of the spiral at any point
represents the expenses(cost) of the
project so far.
• The angular dimension represents the
progress made so far in the current
phase.

Lecture 03 Software Development Life Cycle-SDLC 19


Spiral Model

Objectives
determination Identify and
and identify resolve Risks
alternative
solutions

Review and plan Develop next


for the next version of the
Phase Product

Lecture 03 Software Development Life Cycle-SDLC 20


Spiral Model

• Objectives determination and identify alternative


solutions: Requirements are gathered from the customers
and the objectives are identified, elaborated, and analyzed
at the start of every phase. Then alternative solutions
possible for the phase are proposed in this quadrant.
• Identify and resolve Risks: During the second quadrant,
all the possible solutions are evaluated to select the best
possible solution. Then the risks associated with that
solution are identified and the risks are resolved using the
best possible strategy. At the end of this quadrant, the
Prototype is built for the best possible solution.
• Develop next version of the Product: During the third
quadrant, the identified features are developed and verified
through testing. At the end of the third quadrant, the next
version of the software is available.
• Review and plan for the next Phase: In the fourth
quadrant, the Customers evaluate the so far developed
version of the software. In the end, planning for the next
phase is started.

Lecture 03 Software Development Life Cycle-SDLC 21


Strengths of Spiral Model

Risk Handling: The projects with many unknown risks that occur as
the development proceeds, in that case, Spiral Model is the best
development model to follow due to the risk analysis and risk
handling at every phase.

Good for large projects: It is recommended to use the Spiral Model


in large and complex projects.

Flexibility in Requirements: Change requests in the Requirements at


later phase can be incorporated accurately by using this model.

Customer Satisfaction: Customer can see the development of the


product at the early phase of the software development and thus,
they habituated with the system by using it before completion of the
total product.

Lecture 03 Software Development Life Cycle-


SDLC 22
• As mentioned before, the spiral model is
best used in large, expensive and
complicated projects. Other uses include:
• projects in which frequent releases are

When
necessary;
• projects in which changes may be
required at any time;
to use • long term projects that are not feasible
due to altered economic priorities;
Spiral • medium to high risk projects;
• projects in which cost and risk analysis
Model is important;
• projects that would benefit from the
creation of a prototype; and
• projects with unclear or complex
requirements.

Lecture 03 Software Development Life Cycle-SDLC 23

You might also like