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

Lecture 3 - SDLC Models

The document discusses different models, methodologies, techniques and tools used in system development life cycle (SDLC). It describes various models used to represent system components and manage development processes. These include flow charts, data flow diagrams, Gantt charts etc. It also lists techniques such as strategic planning, project management and software testing techniques. Methodologies combine techniques to complete activities in each SDLC phase using various models and software tools. Process models like waterfall, spiral and incremental are also explained.

Uploaded by

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

Lecture 3 - SDLC Models

The document discusses different models, methodologies, techniques and tools used in system development life cycle (SDLC). It describes various models used to represent system components and manage development processes. These include flow charts, data flow diagrams, Gantt charts etc. It also lists techniques such as strategic planning, project management and software testing techniques. Methodologies combine techniques to complete activities in each SDLC phase using various models and software tools. Process models like waterfall, spiral and incremental are also explained.

Uploaded by

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

SDLC MODELS

Methodologies
 A system development methodology is a guideline to
follow for completing every activity in the SDLC,
including specific models, tools and techniques.
Models
 A model is an abstract view of a system that ignores
system details. A model may be:
 Most models, used in system development, are

graphical (diagrams and charts).


 They include representations of inputs, outputs,

processes, data, objects, object interactions, locations,


networks, devices, or highlighting the tasks for the
project .
Models(Cont..)
 The models, used in SDLS, may be summarized as:
(1) Models of system components
◦ Flow chart
◦ Data flow diagram (DFD)
◦ Entity-relationship diagram (ERD)
◦ Structure chart
◦ Use case diagram
◦ Class diagram
◦ Sequence diagram
(2) Models to manage the development process
◦ PERT chart
◦ Gantt chart
◦ Organizational hierarchy chart
◦ Financial analysis model – NPV, ROI
Tools
 A tool is a software support that
helps create models or other
components required in the project.
A list of tools types includes:
◦◦
◦◦


Techniques
 A technique is a collection of guidelines that help the
analyst complete a system development activity or
task.
 It might be step-by-step instructions or more general

advices.
Techniques(Cont.…)
 A list
of techniques used in system
development includes:-
◦ Strategic planning techniques
◦ Project management techniques
◦ User interviewing techniques
◦ Data-modeling techniques
◦ Relational database design techniques
◦ Structured analysis technique
◦ Structured programming technique
◦ Software-testing
usability testing) techniques (e.g.
◦ Object-oriented
techniques analysis and design
Interaction
 A methodology includes a collection of techniques
used to complete activities within each phase of the
SDLC.
 The activities include completion of a variety of

models
 Software are used to help to complete the activities.
Relationships Among Components of a
Methodology
The software process

01/23/2024 Software Processes 10


Software Process Models

Process Models include:-


 Waterfall Model
 Spiral Model
 Incremental Model
 Rapid Application Model
• Phased Model
• Prototyping
• Throw-away Prototyping
 Concurrent development model
 Component based Model

01/23/2024 Software Processes 11


Waterfall Model

 Traditionally, the SDLC is based on “waterfall


model”. This model is characterized by:-
 Each life cycle phase is completed in sequence and
then the results of the phase flow on to the next
phase
 There is no going back once the phase is completed
(like a waterfall) or it is extremely difficult to do
 The key deliverables for each phase are typically
produced on paper (hundreds of pages in length)
 The decisions made at each phase are frozen, i.e.
they cannot be changed
Waterfall Model
Advantages of a waterfall
 The four key advantages of the waterfall model:
1. Easy to manage. Each phase has specific deliverable
and a review.
2. Works well for projects where requirements are well
understood.
3. Works well when quality is more important than
cost/schedule.
4. It minimizes changes to the requirements as the
project proceeds
Disadvantages of a waterfall model
 The key disadvantages include:-
• It is difficult to measure progress within stages.
• Cannot accommodate changing requirements.
• No working software is produced until late in the life cycle.
• Adjusting scope during the life cycle can end a project
• Not suitable for complex projects
• Not suitable for projects of long duration because in long running
projects requirements are likely to change.
• Users can only judge quality at the end.
• Percentage completion of functionality can not be determined in mid
of the project because every functionality is undergoing some phase.
• Very risky, since one process can not start before finishing the other.
Spiral Model
 The spiral model proposed by Boehm is an iterative model with
the following activities
 Determine objectives and constraints
 Evaluate Alternatives
 Identify risks
 Resolve risks by assigning priorities to highest risks
 Develop a series of prototypes for the identified risks starting
with the highest risk.
 Use a waterfall model for each prototype development (“cycle”)
 If a risk has successfully been resolved, evaluate the results of
the “cycle” and plan the next round
 If a certain risk cannot be resolved, terminate the project
immediately.
Determine objectiv
es, Evaluate alter
natives,
alter
nativ
es, & constr
aints identify & resolv
e risks

Risk
analysis

Risk
analysis
Risk
analysis
P1
Prototype3
Prototype2
Prototype1

Requirements Concept of
plan operation Software
System
Requirements Product Detailed
Design Design
Development Requirements
plan validation
P2
Code

Integration Design Unit Test


plan validation Develop &erify
v
Plan ne
xt phase next le
vel produc
Integration &Test
Acceptance
Test

NB:The project begins in the center of the spiral where project is still small, easy
Advantages of the Spiral model
1. The focus on risk avoidance makes the Spiral model
ideal for large-scale and mission critical products.
2. Working software code is developed early; thus, the
customer is given many opportunities to evaluate the
software and plenty of time to ease into adoption of the
software.
Disadvantages of the Spiral model
1. The Spiral model can cost considerably more to
implement than other life cycle models.
2. The risk analysis phase requires highly specific
expertise, and the project's success depends on the output
of this phase.
3. The Spiral model is inappropriate for use in small and
medium-scale projects that are not mission-critical.
Incremental Model
 The Incremental life cycle model builds an iterative
approach into the Waterfall model.
 Rather than deliver the system as a single delivery, the

development and delivery is broken down into


increments with each increment delivering part of the
required functionality.
 User requirements are prioritized and the highest

priority requirements are included in early increments.


 Once the development of an increment is started, the

requirements are frozen though requirements for later


increments can continue to evolve.
Incremental Model
Incremental Model
 Development begins with requirements gathering and
high-level design, and then requirements are divided
into iterations.
 The Incremental model is evolutionary meaning that a

working version of the software is created by the end of


the first iteration, and subsequent iterations build upon
the work of earlier iterations. Low-level design is
performed during each iteration, and unit testing
evaluates the functionality added during the current
iteration.
 System testing evaluates the way in which the new

functionality affects the functionality of the entire


system.
Advantages of Incremental model
 Unlike the Waterfall models, the Incremental model
generates a working prototype early in the
development process.
 The iterative nature of the Incremental model makes it

more flexible when adding or changing requirements.


 This model is also easier to test and debug because

testing is performed incrementally during each iteration


on a relatively small amount of new code.
 The Incremental model is an effective tool for

managing risk. Chancy portions of development can be


identified and carefully managed in their own iteration.
In addition to being performed incrementally, each
iteration represents a measurable milestone.
Disadvantage of Incremental model

 Like the Waterfall model, the Incremental model


exhibits some rigidity in that phases cannot be
overlapped.
 Because requirements-gathering and design are

performed during each iteration and not before


development begins, projects developed using the
Incremental model may incur errors in early iterations.
 The Incremental model is less risky than the Waterfall

model, but it may be inappropriate for large, long term


projects

You might also like