CSC 426 (Software Engineering) Lecture Note
Part I Cont’d:
SOFTWARE DEVELOPMENT PROCESS MODELS
AJAYI, Olusola Olajide
Department of Computer Science,
Faculty of Science,
Adekunle Ajasin University,
Akungba-Akoko,
Ondo State, Nigeria.
olusola.ajayi@aaua.edu.ng / ajsoftengr@gmail.com
08113699553 / 07056433798 / 08137044500
Software Development Process (SDP)_
•Munassar et al (2010) defined it as an
abstract representation of a process that
presents a description of a process from
some particular perspectives.
•In this class/study, SDP refers to activities
involved in producing/developing software.
SDP Cont’d – The Activities/Processes
Software Specification
Software Development
Software Validation
Software Evolution
SDP Cont’d – The Activities/Processes
Software
Specification
Software
Development
Software
Validation
Software
Evolution
Figure 1: Software Development Activities/Processes
SDP Activities/Processes – The Breakdown
•Software Specification: This activity involves
stating the functionalities (operations) as well as
the constraints/limitations of the software.
Major Activity  Requirements.
•Software Development: This activity involves
developing (producing) a software according to the
specification outlined in the first stage of the
development process.
Major Activity  Designs.
SDP Activities/Processes – The Breakdown Cont’d
•Software Validation: This activity checks the
software developed to ensure it conforms to the
specification earlier concluded upon.
Major Activity  Testing.
•Software Evolution: This activity ensures that
the software produced is modifiable/adjustable.
Major Activity  Maintenance.
SDP Activities/Processes – The Breakdown Cont’d
•Paraphrasing Pressman, R. S. (2010), we
can define SD Process as a roadmap to
defining, building, testing, & deploying
timely and high quality software applications.
Both User &
Developers are
involved
Only
Development
Team are
involved
Only
Development
Team are
involved
Both User &
Developers are
involved
Requirements Designs Testing Maintenance
SDLC Models
•This refers to the existing and
established frameworks for developing
software.
•For the purpose of this study, we shall
be examining six (6) common ones.
SDLC Models Cont’d
i. Waterfall Model
ii. Evolutionary Model
iii. V-Shape Model
iv. Spiral Model
v. Agile Development Model
vi. Rational Unified Process (RUP)
Model
SDLC Models Cont’d
i. Waterfall Model
Undoubtedly the oldest and famous of all the
available models. It acts as baseline for other
SDLC models. In other words, other models
are derivatives of Waterfall Model.
It major strength lies in the fact that it dwells
much on requirement gathering and
ascertaining of same (by way of feedbacks)
to prevent flaws in the development of the
project. Most suitable where requirement is
well understood.
SDLC Models Cont’d
i. Waterfall Model - VARIANTS
Requirement Analysis and
Definition/Specification
Implementation and Unit
Testing
Integration and System
Testing
Operation and
Maintenance
System and Software
Design
Figure 2: Classical Waterfall Model
SDLC Models Cont’d
i. Waterfall Model – VARIANTS cont’d
Figure 3: Pure Waterfall Model
SDLC Models Cont’d
i. Waterfall Model – STRENGTHS/ADVANTAGES
 With her ‘define-b4-design’ & ‘design-b4-coding’
approach, it reduces flaws/errors in development.
 Applications developed with it, are easily understood,
implementable and maintained.
 Documentation is embraced and enhanced.
 With its deep flow, quality assurance is ensured.
SDLC Models Cont’d
i. Waterfall Model – WEAKNESSES/DISADVANTAGES
 Costly
 Time-consuming, leading to late project delivery
Maintenance
SDLC Models Cont’d
i. Waterfall Model – SUMMARY
 Summarily, Waterfall Model complies with the process flow
shown below:
Require
ments
Desig
ns
Testing
Figure 4: SDLC Process showing Waterfall Compliance
Compliance
SDLC Models Cont’d
ii. Evolutionary Model
This model involves the culmination of major
activities involved in developing software.
The model emphasize ‘fast/quick’ design
approach to solution development.
Unlike Waterfall, the strength of this model is
time-saving, which is achieved by rapid way
of developing software with adequate
feedbacks.
SDLC Models Cont’d
ii. Evolutionary Model - VARIANTS
The available variants include:
Throw-Away Prototyping Model
Rapid Application Development Model /
Iterative Prototyping Model
Incremental Prototyping Model
SDLC Models Cont’d
a. Throwaway Prototyping Model –
Emphasizes fast design + minimal
requirement analysis.
In this prototyping type, a small portion of an ‘on-
going’ system is given to the client/user for
evaluation purpose.
The feedbacks allow for some modifications to
be carried out on the main system, after which
the prototype is discarded/done with/thrown
away. This is why it is also refer to as a working
system – it is only developed for
evaluation/testing purposes, it is never part of
the final delivered system/software.
SDLC Models Cont’d
Figure 5: Throwaway Prototyping Model – Variant I
Requirement
Analysis
Design/Build
Demo
Software
Testing
(Customer
Test Run
Demo App)
SDLC Models Cont’d
Figure 6: Throwaway Prototyping Model – Variant II
SDLC Models Cont’d
b. Rapid Application Development (RAD)
This iterative model emphasizes component-
based construction in rapid software
development approach. It embraces,
encourages and enables participation of
development team in actualizing
speedy/timely development.
Figure 7 shows the different phases of RAD /
Iterative model as catered by different
development teams.
SDLC Models Cont’d
Figure 7: RAD Model – Variant I
SDLC Models Cont’d
Figure 8: RAD Model – Variant II
SDLC Models Cont’d
Figure 9: RAD Model – Variant III
Specificatio
n
Validation
Developmen
t
Initial
Version
Intermediate
Version
Final Version
Specification
Development
Validation
1st Version
Intermediate
Version
Final Version
or Product
SDLC Models Cont’d
Figure 10: RAD Model – Variant IV
Requirement
Analysis
Develop
Prototype
DeploymentClient/User
Evaluation
Feedback for
Modification
Final
Implementation
& Integration
Deployment &
Operation
Maintenance
SDLC Models Cont’d
c. Incremental Model – Like the Prototyping, it
emphasizes fast design + minimal
requirement analysis. However unlike
prototyping where the demo app is delivered,
the core product/app is delivered, used and
reviewed by the user, and feedback for
modifications.
Figure 11 shows the Incremental Model.
SDLC Models Cont’d
Figure 11: Incremental Model
SDLC Models Cont’d
Differences between Waterfall & Evolutionary
Waterfall Evolutionary
Time consuming Time-saving
Costly Cheap
Inflexible Flexible
Process is easily
understood, implementable,
and maintainable
Clumsy process due to
excessive iterations and
prototypes
Sufficient requirement
analysis carried out
Insufficient requirement
analysis performed
Table 1: Differences between Waterfall and Evolutionary Models
SDLC Models Cont’d
iii. V-Shaped Model
This is an extension of the Waterfall Model,
whose development is bent upward after the
implementation/coding phase to form a V-Shape.
Figure 12 shows this.
SDLC Models Cont’d
i. V-Shaped Model
Figure 12: V-Shaped Model
SDLC Models Cont’d
i. V-Shaped Model – STRENGTHS/ADVANTAGES
 Like the Waterfall, it is easy to understood,
implement and maintain.
 Most suitable for use where requirements are clearly
spelt out.
 Each development phase and the technologies/tools
involved, are known.
SDLC Models Cont’d
i. V-Shaped Model – WEAKNESSES/DISADVANTAGES
 Again, like the Waterfall Model, it is inflexible
 Costly
 Time-consuming (even more than the Waterfall Model). Why?
SDLC Models Cont’d
Differences between Waterfall & V-Shaped
Waterfall V-Shaped
No planning at early stage –
jump start to requirement.
Planning is done as early
test approach.
Table 2: Differences between Waterfall and V-Shaped Models
SDLC Models Cont’d
iv. Spiral Model
This combines the features/characteristics and
strengths of prototyping and waterfall models in
tandem with adequate risk analysis. It is most
suitable for large, complex and security-
driven/risk-involving software projects.
It was described and presented by Barry Boehm
in 1986 in his paper, titled: ‘A Spiral Model of
Software Development and Enhancement’. It was
widely accepted not because it discusses
iterative processes of developing software like
other models but because it presented the
necessity for risk pattern and cost to be
examined from the requirement to the
development/deployment stage.
SDLC Models Cont’d
iv. Spiral Model
Figure 13: Spiral Model – A Typical Model, Variant I
SDLC Models Cont’d
iv. Spiral Model
Figure 14: Spiral Model – A Typical Model, Variant II
SDLC Models Cont’d
iv. Spiral Model
Figure 15: Spiral Model – A Full/Complete Model, Variant I
SDLC Models Cont’d
iv. Spiral Model
Figure 16: Spiral Model – A Full/Complete Model, Variant II
SDLC Models Cont’d
iv. Spiral Model – Phases & Activities
(1) OBJECTIVE/PLANNING Phase
i. Decide on the visibility/possibility of the project.
ii. Determine the cost of implementation.
iii. Specify project timeline.
iv. Suggest alternative approach to implementation.
SDLC Models Cont’d
iv. Spiral Model – Phases & Activities
(2) RISK ASSESSMENT/ANALYSIS Phase
What do we look out for? What do we analyze?
i. Developer’s level of experience.
ii. Requirement information.
iii. Delivery schedules.
iv. Key system operations.
SDLC Models Cont’d
iv. Spiral Model – TAXONOMY
(1) Risk: Implies an uncertain outcome that has potentials
for loss.
It refers to measurable parameter that determines
loss.
(2) Verification: Implies checks to ensure the team is
building the software product rightly.
(3) Validation: Implies checks to ensure the team is building
the right software product.
(4) Testing: Implies executing the program/application with
set of data (valid & invalid) to study the software
behavior.
(5) Debugging: Implies examining code(s) that cause(s)
failing in software performance.
SDLC Models Cont’d
iv. Spiral Model Flowchart
Figure 17: Spiral Model – The Flow
SDLC Models Cont’d
iv. Spiral Model – STRENGTHS/ADVANTAGES
 Risk avoidance.
 Precise knowledge of requirements.
 Accommodates frequent changes in requirements.
 Like Waterfall, it is more realistic than other iterative
models in that it allows software product to evolve
as the development process progresses.
SDLC Models Cont’d
iv. Spiral Model – WEAKNESSES/DISADVANTAGES
 Time consuming.
 Not generic in application – Different application
with different risk factors; so, it has to be developed
and applied differently.
 Complex process.
 Involve excessive and rigorous documentation
process.
 Unsuitable for small software projects.
SDLC Models Cont’d
Differences between Waterfall & Spiral
Waterfall Spiral
Risk is not considered Analyzes and manages risk
No adequate estimation of
budget
Adequate estimation of
budget achieved through
planning and progressive
phases
Costly Costlier
Table 3: Differences between Waterfall and Spiral Models
SDLC Models Cont’d
Spiral Model – Boehm’s Philosophy
Figure 18: Boehm’s Philosophy
that prompted Spiral Model
“Stop the life cycle—I want to
get off!”
“Life-cycle Concept Considered
Harmful.”
“The waterfall model is dead.”
“No, it isn’t, but it should be.”
SDLC Models
Under Topic Exercise (UTE) 1
i. Following the demonstrated discussion pattern of
this course and particularly under this topic, write
on:
a. Agile Model
b. RUP Model
ii. Enumerate the strengths and weaknesses of the
various Evolutionary Models.
iii. Come up with a modified Spiral Model and discuss
the activities of each phase of the model.
iv. In few paragraphs and in convincing ways, discuss
the necessities and benefits of modeling as a
pointer and preceding step to software
development.
SDLC Models
Under Topic Exercise (UTE) 2
i. Iterative vs Incremental Models – Comment on the
‘fight’.
ii. Discuss the differences between:
i. Evolutionary and V-Shaped Models
ii. Evolutionary and Spiral Models
iii. Evolutionary and Agile Models
iv. Evolutionary and RUP Models
iii. Between V-Shaped and Agile Models, which will you
prefer and why?
iv. V-Shaped and Agile: Which is more agile? Discuss.
v. Considering Spiral and Agile Models, which springs
up software faster and more reliably? Lecture a
fellow.

More Related Content

PPTX
Defining the Problem - Goals and requirements
PPT
Software design
PPT
Dynamic Object-Oriented Requirements System (DOORS)
PPTX
Ch5 system modeling
PPT
Pressman ch-3-prescriptive-process-models
PPTX
Software Engineering- Requirement Elicitation and Specification
PPTX
Ch 2 what is software quality
PDF
software construction modules,language,tools,design
Defining the Problem - Goals and requirements
Software design
Dynamic Object-Oriented Requirements System (DOORS)
Ch5 system modeling
Pressman ch-3-prescriptive-process-models
Software Engineering- Requirement Elicitation and Specification
Ch 2 what is software quality
software construction modules,language,tools,design

What's hot (20)

PPTX
Uml deployment diagram
PPTX
V model presentation
PDF
Software Engineering : OOAD using UML
PPTX
Software Development Life Cycle
PPTX
state modeling In UML
PPT
Ian Sommerville, Software Engineering, 9th Edition Ch1
PDF
Elaboration and domain model
PPTX
Uml structural diagrams
PPTX
Design Concept software engineering
PPTX
Software testing & Quality Assurance
PPTX
Unit 1 defects classes
PPSX
Student Marks Analyzing System-Problem Statement, SRS, ERD, DFD, Structured C...
PPTX
Component based software engineering
PPTX
Ch 7 integrating quality activities in the projectlife cycle
PPT
Software requirements engineering lecture 01
PPTX
Design concept -Software Engineering
PPTX
SDLC
PPTX
Software requirements specification
PPT
UML Diagrams
PDF
Incremental model
Uml deployment diagram
V model presentation
Software Engineering : OOAD using UML
Software Development Life Cycle
state modeling In UML
Ian Sommerville, Software Engineering, 9th Edition Ch1
Elaboration and domain model
Uml structural diagrams
Design Concept software engineering
Software testing & Quality Assurance
Unit 1 defects classes
Student Marks Analyzing System-Problem Statement, SRS, ERD, DFD, Structured C...
Component based software engineering
Ch 7 integrating quality activities in the projectlife cycle
Software requirements engineering lecture 01
Design concept -Software Engineering
SDLC
Software requirements specification
UML Diagrams
Incremental model
Ad

Viewers also liked (18)

PPTX
System Development Life Cycle (SDLC)
PPTX
List of Software Development Model and Methods
PPT
PPTX
Software Development Process Models (SCRUM Methodology)
PDF
Mobile App Design course (iOS & Android)
PPT
Spiral model
PPTX
Software Process Models
PPTX
Introduction to Android and Android Studio
PDF
Software Development Life Cycle (SDLC)
PPT
Types of Software Testing
PPT
Software Process Models
PPTX
Software Testing Basics
PDF
Software Development Life Cycle (SDLC)
PPT
Software Development Life Cycle (SDLC)
PPT
Software Testing Fundamentals
PPT
Testing concepts ppt
PPTX
Software testing ppt
PPTX
6 basic steps of software development process
System Development Life Cycle (SDLC)
List of Software Development Model and Methods
Software Development Process Models (SCRUM Methodology)
Mobile App Design course (iOS & Android)
Spiral model
Software Process Models
Introduction to Android and Android Studio
Software Development Life Cycle (SDLC)
Types of Software Testing
Software Process Models
Software Testing Basics
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
Software Testing Fundamentals
Testing concepts ppt
Software testing ppt
6 basic steps of software development process
Ad

Similar to CSC426 - SDLC Models (20)

PPTX
System development life cycle models
PPTX
SDLC (Software development life Cycle)
PPTX
PPTX
Introduction to Software Development Life Cycle: Phases & Models
PPTX
Manual Testing Module 3-SDLC.pptx sdlc cycle most important part in manual
DOCX
Water Fall
PPT
Software Engineering Into-- -week 4.ppt
PPT
SDLC- concept and models
PPTX
SDLC Models
PPTX
SDLC Model (Waterfall,Iterative Waterfall,Spiral)
PPTX
Software Engineering1 Development models
PPTX
Software Development Life Cycle(SDLC) By Team Avengers (Dept. of Pharmacy)
PDF
Software development life cycle (SDLC) Models
DOCX
Sdlc overview
PPTX
SDLC - Software Development Life Cycle
PPTX
Basics of Object-Oriented SE (OOSE).....
PPT
187202477-Models-of-SDLC-ppt-Original.ppt
PPTX
Process Models
PPTX
Process Models
PDF
Plagiarism Report SDLC 1.pdf
System development life cycle models
SDLC (Software development life Cycle)
Introduction to Software Development Life Cycle: Phases & Models
Manual Testing Module 3-SDLC.pptx sdlc cycle most important part in manual
Water Fall
Software Engineering Into-- -week 4.ppt
SDLC- concept and models
SDLC Models
SDLC Model (Waterfall,Iterative Waterfall,Spiral)
Software Engineering1 Development models
Software Development Life Cycle(SDLC) By Team Avengers (Dept. of Pharmacy)
Software development life cycle (SDLC) Models
Sdlc overview
SDLC - Software Development Life Cycle
Basics of Object-Oriented SE (OOSE).....
187202477-Models-of-SDLC-ppt-Original.ppt
Process Models
Process Models
Plagiarism Report SDLC 1.pdf

More from Bro Shola Ajayi (14)

PPTX
DMA Chap2
PPTX
DMA113 Chap1
PPTX
STRUCTURED PROGRAMMING Chap2
PPTX
CSC431_Chap1
PPTX
Csc413 chap1
PPTX
Csc303 part1 chap1
PPTX
INTRO TO SQL
PPTX
Intro to Web Prog
PPTX
Database: An Intro
PPTX
Database: An Introduction
PPTX
Seminar on cgpa calculation
PPTX
CSC426 - Software Engineering Lecture Note Cont'd
PPTX
CSC426 - Software Engineering Lecture Note
PPTX
Requirement analysis
DMA Chap2
DMA113 Chap1
STRUCTURED PROGRAMMING Chap2
CSC431_Chap1
Csc413 chap1
Csc303 part1 chap1
INTRO TO SQL
Intro to Web Prog
Database: An Intro
Database: An Introduction
Seminar on cgpa calculation
CSC426 - Software Engineering Lecture Note Cont'd
CSC426 - Software Engineering Lecture Note
Requirement analysis

Recently uploaded (20)

PPTX
Reproductive system-Human anatomy and physiology
PDF
Disorder of Endocrine system (1).pdfyyhyyyy
PDF
Fun with Grammar (Communicative Activities for the Azar Grammar Series)
PDF
1.Salivary gland disease.pdf 3.Bleeding and Clotting Disorders.pdf important
PPTX
principlesofmanagementsem1slides-131211060335-phpapp01 (1).ppt
PPTX
PLASMA AND ITS CONSTITUENTS 123.pptx
PDF
M.Tech in Aerospace Engineering | BIT Mesra
PDF
Compact First Student's Book Cambridge Official
PDF
Everyday Spelling and Grammar by Kathi Wyldeck
PDF
PUBH1000 - Module 6: Global Health Tute Slides
PDF
Nurlina - Urban Planner Portfolio (english ver)
PDF
Solved Past paper of Pediatric Health Nursing PHN BS Nursing 5th Semester
PPT
REGULATION OF RESPIRATION lecture note 200L [Autosaved]-1-1.ppt
PDF
Journal of Dental Science - UDMY (2022).pdf
PDF
fundamentals-of-heat-and-mass-transfer-6th-edition_incropera.pdf
PDF
Farming Based Livelihood Systems English Notes
PDF
Chevening Scholarship Application and Interview Preparation Guide
PDF
The TKT Course. Modules 1, 2, 3.for self study
PDF
Civil Department's presentation Your score increases as you pick a category
PPTX
2025 High Blood Pressure Guideline Slide Set.pptx
Reproductive system-Human anatomy and physiology
Disorder of Endocrine system (1).pdfyyhyyyy
Fun with Grammar (Communicative Activities for the Azar Grammar Series)
1.Salivary gland disease.pdf 3.Bleeding and Clotting Disorders.pdf important
principlesofmanagementsem1slides-131211060335-phpapp01 (1).ppt
PLASMA AND ITS CONSTITUENTS 123.pptx
M.Tech in Aerospace Engineering | BIT Mesra
Compact First Student's Book Cambridge Official
Everyday Spelling and Grammar by Kathi Wyldeck
PUBH1000 - Module 6: Global Health Tute Slides
Nurlina - Urban Planner Portfolio (english ver)
Solved Past paper of Pediatric Health Nursing PHN BS Nursing 5th Semester
REGULATION OF RESPIRATION lecture note 200L [Autosaved]-1-1.ppt
Journal of Dental Science - UDMY (2022).pdf
fundamentals-of-heat-and-mass-transfer-6th-edition_incropera.pdf
Farming Based Livelihood Systems English Notes
Chevening Scholarship Application and Interview Preparation Guide
The TKT Course. Modules 1, 2, 3.for self study
Civil Department's presentation Your score increases as you pick a category
2025 High Blood Pressure Guideline Slide Set.pptx

CSC426 - SDLC Models

  • 1. CSC 426 (Software Engineering) Lecture Note Part I Cont’d: SOFTWARE DEVELOPMENT PROCESS MODELS AJAYI, Olusola Olajide Department of Computer Science, Faculty of Science, Adekunle Ajasin University, Akungba-Akoko, Ondo State, Nigeria. [email protected] / [email protected] 08113699553 / 07056433798 / 08137044500
  • 2. Software Development Process (SDP)_ •Munassar et al (2010) defined it as an abstract representation of a process that presents a description of a process from some particular perspectives. •In this class/study, SDP refers to activities involved in producing/developing software.
  • 3. SDP Cont’d – The Activities/Processes Software Specification Software Development Software Validation Software Evolution
  • 4. SDP Cont’d – The Activities/Processes Software Specification Software Development Software Validation Software Evolution Figure 1: Software Development Activities/Processes
  • 5. SDP Activities/Processes – The Breakdown •Software Specification: This activity involves stating the functionalities (operations) as well as the constraints/limitations of the software. Major Activity  Requirements. •Software Development: This activity involves developing (producing) a software according to the specification outlined in the first stage of the development process. Major Activity  Designs.
  • 6. SDP Activities/Processes – The Breakdown Cont’d •Software Validation: This activity checks the software developed to ensure it conforms to the specification earlier concluded upon. Major Activity  Testing. •Software Evolution: This activity ensures that the software produced is modifiable/adjustable. Major Activity  Maintenance.
  • 7. SDP Activities/Processes – The Breakdown Cont’d •Paraphrasing Pressman, R. S. (2010), we can define SD Process as a roadmap to defining, building, testing, & deploying timely and high quality software applications. Both User & Developers are involved Only Development Team are involved Only Development Team are involved Both User & Developers are involved Requirements Designs Testing Maintenance
  • 8. SDLC Models •This refers to the existing and established frameworks for developing software. •For the purpose of this study, we shall be examining six (6) common ones.
  • 9. SDLC Models Cont’d i. Waterfall Model ii. Evolutionary Model iii. V-Shape Model iv. Spiral Model v. Agile Development Model vi. Rational Unified Process (RUP) Model
  • 10. SDLC Models Cont’d i. Waterfall Model Undoubtedly the oldest and famous of all the available models. It acts as baseline for other SDLC models. In other words, other models are derivatives of Waterfall Model. It major strength lies in the fact that it dwells much on requirement gathering and ascertaining of same (by way of feedbacks) to prevent flaws in the development of the project. Most suitable where requirement is well understood.
  • 11. SDLC Models Cont’d i. Waterfall Model - VARIANTS Requirement Analysis and Definition/Specification Implementation and Unit Testing Integration and System Testing Operation and Maintenance System and Software Design Figure 2: Classical Waterfall Model
  • 12. SDLC Models Cont’d i. Waterfall Model – VARIANTS cont’d Figure 3: Pure Waterfall Model
  • 13. SDLC Models Cont’d i. Waterfall Model – STRENGTHS/ADVANTAGES  With her ‘define-b4-design’ & ‘design-b4-coding’ approach, it reduces flaws/errors in development.  Applications developed with it, are easily understood, implementable and maintained.  Documentation is embraced and enhanced.  With its deep flow, quality assurance is ensured.
  • 14. SDLC Models Cont’d i. Waterfall Model – WEAKNESSES/DISADVANTAGES  Costly  Time-consuming, leading to late project delivery
  • 15. Maintenance SDLC Models Cont’d i. Waterfall Model – SUMMARY  Summarily, Waterfall Model complies with the process flow shown below: Require ments Desig ns Testing Figure 4: SDLC Process showing Waterfall Compliance Compliance
  • 16. SDLC Models Cont’d ii. Evolutionary Model This model involves the culmination of major activities involved in developing software. The model emphasize ‘fast/quick’ design approach to solution development. Unlike Waterfall, the strength of this model is time-saving, which is achieved by rapid way of developing software with adequate feedbacks.
  • 17. SDLC Models Cont’d ii. Evolutionary Model - VARIANTS The available variants include: Throw-Away Prototyping Model Rapid Application Development Model / Iterative Prototyping Model Incremental Prototyping Model
  • 18. SDLC Models Cont’d a. Throwaway Prototyping Model – Emphasizes fast design + minimal requirement analysis. In this prototyping type, a small portion of an ‘on- going’ system is given to the client/user for evaluation purpose. The feedbacks allow for some modifications to be carried out on the main system, after which the prototype is discarded/done with/thrown away. This is why it is also refer to as a working system – it is only developed for evaluation/testing purposes, it is never part of the final delivered system/software.
  • 19. SDLC Models Cont’d Figure 5: Throwaway Prototyping Model – Variant I Requirement Analysis Design/Build Demo Software Testing (Customer Test Run Demo App)
  • 20. SDLC Models Cont’d Figure 6: Throwaway Prototyping Model – Variant II
  • 21. SDLC Models Cont’d b. Rapid Application Development (RAD) This iterative model emphasizes component- based construction in rapid software development approach. It embraces, encourages and enables participation of development team in actualizing speedy/timely development. Figure 7 shows the different phases of RAD / Iterative model as catered by different development teams.
  • 22. SDLC Models Cont’d Figure 7: RAD Model – Variant I
  • 23. SDLC Models Cont’d Figure 8: RAD Model – Variant II
  • 24. SDLC Models Cont’d Figure 9: RAD Model – Variant III Specificatio n Validation Developmen t Initial Version Intermediate Version Final Version Specification Development Validation 1st Version Intermediate Version Final Version or Product
  • 25. SDLC Models Cont’d Figure 10: RAD Model – Variant IV Requirement Analysis Develop Prototype DeploymentClient/User Evaluation Feedback for Modification Final Implementation & Integration Deployment & Operation Maintenance
  • 26. SDLC Models Cont’d c. Incremental Model – Like the Prototyping, it emphasizes fast design + minimal requirement analysis. However unlike prototyping where the demo app is delivered, the core product/app is delivered, used and reviewed by the user, and feedback for modifications. Figure 11 shows the Incremental Model.
  • 27. SDLC Models Cont’d Figure 11: Incremental Model
  • 28. SDLC Models Cont’d Differences between Waterfall & Evolutionary Waterfall Evolutionary Time consuming Time-saving Costly Cheap Inflexible Flexible Process is easily understood, implementable, and maintainable Clumsy process due to excessive iterations and prototypes Sufficient requirement analysis carried out Insufficient requirement analysis performed Table 1: Differences between Waterfall and Evolutionary Models
  • 29. SDLC Models Cont’d iii. V-Shaped Model This is an extension of the Waterfall Model, whose development is bent upward after the implementation/coding phase to form a V-Shape. Figure 12 shows this.
  • 30. SDLC Models Cont’d i. V-Shaped Model Figure 12: V-Shaped Model
  • 31. SDLC Models Cont’d i. V-Shaped Model – STRENGTHS/ADVANTAGES  Like the Waterfall, it is easy to understood, implement and maintain.  Most suitable for use where requirements are clearly spelt out.  Each development phase and the technologies/tools involved, are known.
  • 32. SDLC Models Cont’d i. V-Shaped Model – WEAKNESSES/DISADVANTAGES  Again, like the Waterfall Model, it is inflexible  Costly  Time-consuming (even more than the Waterfall Model). Why?
  • 33. SDLC Models Cont’d Differences between Waterfall & V-Shaped Waterfall V-Shaped No planning at early stage – jump start to requirement. Planning is done as early test approach. Table 2: Differences between Waterfall and V-Shaped Models
  • 34. SDLC Models Cont’d iv. Spiral Model This combines the features/characteristics and strengths of prototyping and waterfall models in tandem with adequate risk analysis. It is most suitable for large, complex and security- driven/risk-involving software projects. It was described and presented by Barry Boehm in 1986 in his paper, titled: ‘A Spiral Model of Software Development and Enhancement’. It was widely accepted not because it discusses iterative processes of developing software like other models but because it presented the necessity for risk pattern and cost to be examined from the requirement to the development/deployment stage.
  • 35. SDLC Models Cont’d iv. Spiral Model Figure 13: Spiral Model – A Typical Model, Variant I
  • 36. SDLC Models Cont’d iv. Spiral Model Figure 14: Spiral Model – A Typical Model, Variant II
  • 37. SDLC Models Cont’d iv. Spiral Model Figure 15: Spiral Model – A Full/Complete Model, Variant I
  • 38. SDLC Models Cont’d iv. Spiral Model Figure 16: Spiral Model – A Full/Complete Model, Variant II
  • 39. SDLC Models Cont’d iv. Spiral Model – Phases & Activities (1) OBJECTIVE/PLANNING Phase i. Decide on the visibility/possibility of the project. ii. Determine the cost of implementation. iii. Specify project timeline. iv. Suggest alternative approach to implementation.
  • 40. SDLC Models Cont’d iv. Spiral Model – Phases & Activities (2) RISK ASSESSMENT/ANALYSIS Phase What do we look out for? What do we analyze? i. Developer’s level of experience. ii. Requirement information. iii. Delivery schedules. iv. Key system operations.
  • 41. SDLC Models Cont’d iv. Spiral Model – TAXONOMY (1) Risk: Implies an uncertain outcome that has potentials for loss. It refers to measurable parameter that determines loss. (2) Verification: Implies checks to ensure the team is building the software product rightly. (3) Validation: Implies checks to ensure the team is building the right software product. (4) Testing: Implies executing the program/application with set of data (valid & invalid) to study the software behavior. (5) Debugging: Implies examining code(s) that cause(s) failing in software performance.
  • 42. SDLC Models Cont’d iv. Spiral Model Flowchart Figure 17: Spiral Model – The Flow
  • 43. SDLC Models Cont’d iv. Spiral Model – STRENGTHS/ADVANTAGES  Risk avoidance.  Precise knowledge of requirements.  Accommodates frequent changes in requirements.  Like Waterfall, it is more realistic than other iterative models in that it allows software product to evolve as the development process progresses.
  • 44. SDLC Models Cont’d iv. Spiral Model – WEAKNESSES/DISADVANTAGES  Time consuming.  Not generic in application – Different application with different risk factors; so, it has to be developed and applied differently.  Complex process.  Involve excessive and rigorous documentation process.  Unsuitable for small software projects.
  • 45. SDLC Models Cont’d Differences between Waterfall & Spiral Waterfall Spiral Risk is not considered Analyzes and manages risk No adequate estimation of budget Adequate estimation of budget achieved through planning and progressive phases Costly Costlier Table 3: Differences between Waterfall and Spiral Models
  • 46. SDLC Models Cont’d Spiral Model – Boehm’s Philosophy Figure 18: Boehm’s Philosophy that prompted Spiral Model “Stop the life cycle—I want to get off!” “Life-cycle Concept Considered Harmful.” “The waterfall model is dead.” “No, it isn’t, but it should be.”
  • 47. SDLC Models Under Topic Exercise (UTE) 1 i. Following the demonstrated discussion pattern of this course and particularly under this topic, write on: a. Agile Model b. RUP Model ii. Enumerate the strengths and weaknesses of the various Evolutionary Models. iii. Come up with a modified Spiral Model and discuss the activities of each phase of the model. iv. In few paragraphs and in convincing ways, discuss the necessities and benefits of modeling as a pointer and preceding step to software development.
  • 48. SDLC Models Under Topic Exercise (UTE) 2 i. Iterative vs Incremental Models – Comment on the ‘fight’. ii. Discuss the differences between: i. Evolutionary and V-Shaped Models ii. Evolutionary and Spiral Models iii. Evolutionary and Agile Models iv. Evolutionary and RUP Models iii. Between V-Shaped and Agile Models, which will you prefer and why? iv. V-Shaped and Agile: Which is more agile? Discuss. v. Considering Spiral and Agile Models, which springs up software faster and more reliably? Lecture a fellow.