SlideShare ist ein Scribd-Unternehmen logo
1 von 74
The
Waterfall
Model
Damian Gordon
The
Waterfall
Model
Damian Gordon
Contents
1. Overview
2. Details
3. Advantages
4. Disadvantages
5. Interesting
6. Reflection
7. Review
8. Summary
1. Overview
Overview
• The “Waterfall Model” is a model that
represents one method as to how software
can be developed.
System
Requirements
Software
Requirements
Analysis
Program
Design
Coding
Testing
Operations
Timeline of Methodologies
6
1950s Code & Fix
1960s Design-Code-Test-Maintain
1970s Waterfall Model
1980s Spiral Model
1990s Rapid Application Development
2000s Agile Methods
Timeline of Methodologies
7
1950s Code & Fix
1960s Design-Code-Test-Maintain
1970s Waterfall Model
1980s Spiral Model
1990s Rapid Application Development
2000s Agile Methods
Reference
• Royce, W.W., 1970, "Managing the
Development of Large Software Systems",
Proceedings of IEEE WESCON 26 (August),
pp.1–9.
Winston W. Royce
• Born in 1929.
• Died in 1995.
• An American computer
scientist, director at Lockheed
Software Technology Center in
Austin, Texas, and one of the
leaders in software
development in the second
half of the 20th century.
• He was the first person to
describe the “Waterfall
model” for software
development, although Royce
did not use the term
"waterfall" in that article, nor
advocated the waterfall model
as a working methodology.
2. Details
Introduction
• “I am going to describe my personal views about
managing large software developments.
• I have had various assignments during the past nine
years, mostly concerned with the development of
software packages for spacecraft mission planning,
commanding and post-flight analysis.
• In these assignments I have experienced different
degrees of success with respect to arriving at an
operational state, on-time, and within costs.
• I have become prejudiced by my experiences and I am
going to relate some of these prejudices in this
presentation.”
Small Developments
• For a small development, you only need the
following steps
– Typically done for programs for internal use
Large Developments
Large Developments
• System Requirements: Identify, select and
document functional, scheduling and financial
requirements.
Large Developments
• Software Requirements: Identify, select and
document the software features necessary to
satisfy the system requirements.
Large Developments
• Analysis: Methodically work through the
details of each requirement.
Large Developments
• Program Design: Use programming
techniques to design software and hardware
within the constraints and objectives set in
the earlier stages.
Large Developments
• Coding: Implement the program as designed
in the earlier stages.
Large Developments
• Testing: Test the software and record the
results.
Large Developments
• Operations: Deliver, install and
configure the completed software.
Large Developments
Large Developments
Iterative Relationship between
Successive Development Phases
Iterative Relationship between
Successive Development Phases
• Each step progresses and the design is further
detailed, there is an iteration with the
preceding and succeeding steps but rarely
with the more remote steps in the sequence.
• The virtue of all of this is that as the design
proceeds the change process is scoped down
to manageable limits.
Unfortunately the design iterations are
never confined to the successive steps
Unfortunately the design iterations are
never confined to the successive steps
• The testing phase which occurs at the end of the
development cycle is the first event for which
timing, storage, input/output transfers, etc., are
experienced as distinguished from analyzed.
• These phenomena are not precisely analyzable.
• Yet if these phenomena fail to satisfy the various
external constraints, then invariably a major
redesign is required.
How do we fix this?
Five Steps
1. Program Design comes first
2. Document the Design
3. Do it twice
4. Plan, Control and Monitor Testing
5. Involve the Customer
1. Program Design comes first
• A preliminary program design phase has been
inserted between the Software Requirements
Generation phase and the Analysis phase.
1. Program Design comes first
1. Program Design comes first
• The following steps are required:
1) Begin the design process with program
designers, not analysts or programmers.
2) Design, define and allocate the data
processing modes.
3) Write an overview document that is
understandable, informative and current.
2. Document the Design
• “How much documentation?"
• “Quite a lot"
• More than most programmers, analysts, or
program designers are willing to do if left to
their own devices.
• The first rule of managing software
development is ruthless enforcement of
documentation requirements.
2. Document the Design
3. Do It Twice
• Create a pilot study
• If the computer program in question is being
developed for the first time, arrange matters
so that the version finally delivered to the
customer for operational deployment is
actually the second version insofar as critical
design/operations areas are concerned.
3. Do It Twice
4. Plan, Control and Monitor Testing
• Without question the biggest user of project
resources, whether it be manpower, computer
time, or management judgment, is the test
phase. It is the phase of greatest risk in terms
of dollars and schedule.
4. Plan, Control and Monitor Testing
4. Plan, Control and Monitor Testing
1) Many parts of the test process are best handled
by test specialists who did not necessarily
contribute to the original design.
2) Most errors are of an obvious nature that can be
easily spotted by visual inspection.
3) Test every logic path in the computer program at
least once with some kind of numerical check.
4) After the simple errors (which are in the majority,
and which obscure the big mistakes) are
removed, then it is time to turn over the software
to the test area for checkout purposes.
5. Involve the Customer
• For some reason what a software design is
going to do is subject to wide interpretation
even after previous agreement.
• It is important to involve the customer in a
formal way so that he has committed himself
at earlier points before final delivery.
• To give the contractor free rein between
requirement definition and operation is
inviting trouble.
5. Involve the Customer
3. Advantages
Advantages
• It is easy to understand and use.
Advantages
• It is easy to manage due to the rigidity of the
model.
Advantages
• The phases are processed and completed one
at a time, and the phases do not overlap.
Advantages
• It works well for smaller projects where
requirements are very well understood.
Advantages
• It requires a lot of paperwork as compared to
other models.
Advantages
• When new team member joins, referenced
documents help them to understand the
project.
Advantages
• There output is generated after each stage,
therefore it has high visibility.
– The client and project manager gets a feel that
there is considerable progress.
– Here it is important to note that in any project
psychological factors also play an important role.
4. Disadvantages
Disadvantages
• Once an application is in the testing stage, it is
very difficult to go back and change something
that was not well-thought out in the concept
stage.
Disadvantages
• No working software is produced until late
during the life cycle.
Disadvantages
• There are high amounts of risk and
uncertainty.
Disadvantages
• Not a good model for complex and object-
oriented projects, or long and ongoing
projects.
Disadvantages
• Not suitable for the projects where
requirements are at a moderate to high risk of
changing.
Disadvantages
• Takes lot of time to change and update the
project documents.
Disadvantages
• Going back a phase or two can be a costly
affair.
5. Interesting
Interesting
When to use the Waterfall Model:
• This model is used only when the requirements
are very well known, clear and fixed.
• Product definition is stable.
• Technology is understood.
• There are no ambiguous requirements
• Ample resources with required expertise are
available freely
• The project is short.
Interesting
• In common practice, waterfall methodologies
result in a project schedule with:
– 20–40% of the time invested for the first two
phases,
– 30–40% of the time to coding, and
– 20–40% to testing and implementation.
Interesting
In 1985, the United States Department of Defense
captured this approach in DOD-STD-2167A, their
standards for working with software development
contractors, which stated that:
"the contractor shall implement a software
development cycle that includes the following six
phases: Preliminary Design, Detailed Design, Coding
and Unit Testing, Integration, and Testing".
Interesting
Validation and Verification
• Validation – “Does it do what we set out to
achieve?” or “Does it do what the customer
wants?”
• Verification – “Does the current stage do what
was agreed in the previous stage?” or “Does
what we’ve done so far adhere to regulations,
requirements, specifications, or imposed
conditions?”
Interesting
Validation
Validation
Validation
Validation
Verification
Verification
Verification
Interesting
There are other versions of the Model:
6. Reflections
Reflections
• The Waterfall Model works well with Project
Management approaches.
Reflections
• The system defined at project start might not
be suitable by the end of the project, since the
customer will be dealing with change in their
industry every business day.
Reflections
• Requirements are usually unclear at the start
of a project (“I’ll know it when I see it”).
Reflections
• Requirements change over time.
Reflections
7. Review
Review
• What did we learn?
8. Summary
Summary
The Waterfall Model

Weitere ähnliche Inhalte

Was ist angesagt?

Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineeringRupesh Vaishnav
 
Spiral model presentation
Spiral model presentationSpiral model presentation
Spiral model presentationSayedFarhan110
 
waterfall model
waterfall modelwaterfall model
waterfall modelShiva Krishna
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineeringkirupasuchi1996
 
3. ch 2-process model
3. ch 2-process model3. ch 2-process model
3. ch 2-process modelDelowar hossain
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressmanRohitGoyal183
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLESwarnima Tiwari
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 MuhammadTalha436
 
Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software EngineeringMuhammad Yousuf Abdul Qadir
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9Ian Sommerville
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software managementmeena466141
 
Rapid Application Development Model
Rapid Application Development ModelRapid Application Development Model
Rapid Application Development ModelDamian T. Gordon
 
Waterfall model
Waterfall modelWaterfall model
Waterfall modelkhushboo8093
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Fadhil Ismail
 
Software Engineering
Software EngineeringSoftware Engineering
Software EngineeringUMA PARAMESWARI
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)Simran Kaur
 

Was ist angesagt? (20)

Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
Spiral model presentation
Spiral model presentationSpiral model presentation
Spiral model presentation
 
waterfall model
waterfall modelwaterfall model
waterfall model
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineering
 
Software design
Software designSoftware design
Software design
 
3. ch 2-process model
3. ch 2-process model3. ch 2-process model
3. ch 2-process model
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressman
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020
 
Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software Engineering
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
Waterfall Model
Waterfall ModelWaterfall Model
Waterfall Model
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
 
Software process
Software processSoftware process
Software process
 
Rapid Application Development Model
Rapid Application Development ModelRapid Application Development Model
Rapid Application Development Model
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
Waterfall model in SDLC
Waterfall model in SDLCWaterfall model in SDLC
Waterfall model in SDLC
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 

Ă„hnlich wie The Waterfall Model

Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering MethodologiesDamian T. Gordon
 
Conventional software Management---.pptx
Conventional software Management---.pptxConventional software Management---.pptx
Conventional software Management---.pptxTONY562
 
Software Development
Software DevelopmentSoftware Development
Software DevelopmentGoutama Bachtiar
 
ISTQB - Software development life cycle
ISTQB - Software development life cycleISTQB - Software development life cycle
ISTQB - Software development life cycleHoangThiHien1
 
Process models
Process modelsProcess models
Process modelsPreeti Mishra
 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process ModelsAjit Nayak
 
Software vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfSoftware vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfavishekpradhan24
 
Software engineering jwfiles 3
Software engineering jwfiles 3Software engineering jwfiles 3
Software engineering jwfiles 3Azhar Shaik
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design Jayant Dalvi
 
Unified process
Unified processUnified process
Unified processJean PĐ°oli
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process modelssnehalkulkarni74
 
Chapter 2
Chapter 2 Chapter 2
Chapter 2 KaiEnTee1
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project ManagementRamesh Babu
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Process Model in Software Engineering.ppt
Process Model in Software Engineering.pptProcess Model in Software Engineering.ppt
Process Model in Software Engineering.pptAtharvaBavge
 
V Model.pptx
V Model.pptxV Model.pptx
V Model.pptxVarunMM2
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
 

Ă„hnlich wie The Waterfall Model (20)

Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
 
Conventional software Management---.pptx
Conventional software Management---.pptxConventional software Management---.pptx
Conventional software Management---.pptx
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
ISTQB - Software development life cycle
ISTQB - Software development life cycleISTQB - Software development life cycle
ISTQB - Software development life cycle
 
Process models
Process modelsProcess models
Process models
 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process Models
 
Software vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfSoftware vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdf
 
Software engineering jwfiles 3
Software engineering jwfiles 3Software engineering jwfiles 3
Software engineering jwfiles 3
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design
 
Unified process
Unified processUnified process
Unified process
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process models
 
Chapter 2
Chapter 2 Chapter 2
Chapter 2
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Process Model in Software Engineering.ppt
Process Model in Software Engineering.pptProcess Model in Software Engineering.ppt
Process Model in Software Engineering.ppt
 
V Model.pptx
V Model.pptxV Model.pptx
V Model.pptx
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 

Mehr von Damian T. Gordon

Universal Design for Learning, Co-Designing with Students.
Universal Design for Learning, Co-Designing with Students.Universal Design for Learning, Co-Designing with Students.
Universal Design for Learning, Co-Designing with Students.Damian T. Gordon
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesDamian T. Gordon
 
REST and RESTful Services
REST and RESTful ServicesREST and RESTful Services
REST and RESTful ServicesDamian T. Gordon
 
Serverless Computing
Serverless ComputingServerless Computing
Serverless ComputingDamian T. Gordon
 
Cloud Identity Management
Cloud Identity ManagementCloud Identity Management
Cloud Identity ManagementDamian T. Gordon
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and DockerDamian T. Gordon
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud ComputingDamian T. Gordon
 
Introduction to ChatGPT
Introduction to ChatGPTIntroduction to ChatGPT
Introduction to ChatGPTDamian T. Gordon
 
How to Argue Logically
How to Argue LogicallyHow to Argue Logically
How to Argue LogicallyDamian T. Gordon
 
Evaluating Teaching: SECTIONS
Evaluating Teaching: SECTIONSEvaluating Teaching: SECTIONS
Evaluating Teaching: SECTIONSDamian T. Gordon
 
Evaluating Teaching: MERLOT
Evaluating Teaching: MERLOTEvaluating Teaching: MERLOT
Evaluating Teaching: MERLOTDamian T. Gordon
 
Evaluating Teaching: Anstey and Watson Rubric
Evaluating Teaching: Anstey and Watson RubricEvaluating Teaching: Anstey and Watson Rubric
Evaluating Teaching: Anstey and Watson RubricDamian T. Gordon
 
Evaluating Teaching: LORI
Evaluating Teaching: LORIEvaluating Teaching: LORI
Evaluating Teaching: LORIDamian T. Gordon
 
Designing Teaching: Pause Procedure
Designing Teaching: Pause ProcedureDesigning Teaching: Pause Procedure
Designing Teaching: Pause ProcedureDamian T. Gordon
 
Designing Teaching: ADDIE
Designing Teaching: ADDIEDesigning Teaching: ADDIE
Designing Teaching: ADDIEDamian T. Gordon
 
Designing Teaching: ASSURE
Designing Teaching: ASSUREDesigning Teaching: ASSURE
Designing Teaching: ASSUREDamian T. Gordon
 
Designing Teaching: Laurilliard's Learning Types
Designing Teaching: Laurilliard's Learning TypesDesigning Teaching: Laurilliard's Learning Types
Designing Teaching: Laurilliard's Learning TypesDamian T. Gordon
 
Designing Teaching: Gagne's Nine Events of Instruction
Designing Teaching: Gagne's Nine Events of InstructionDesigning Teaching: Gagne's Nine Events of Instruction
Designing Teaching: Gagne's Nine Events of InstructionDamian T. Gordon
 
Designing Teaching: Elaboration Theory
Designing Teaching: Elaboration TheoryDesigning Teaching: Elaboration Theory
Designing Teaching: Elaboration TheoryDamian T. Gordon
 
Universally Designed Learning Spaces: Some Considerations
Universally Designed Learning Spaces: Some ConsiderationsUniversally Designed Learning Spaces: Some Considerations
Universally Designed Learning Spaces: Some ConsiderationsDamian T. Gordon
 

Mehr von Damian T. Gordon (20)

Universal Design for Learning, Co-Designing with Students.
Universal Design for Learning, Co-Designing with Students.Universal Design for Learning, Co-Designing with Students.
Universal Design for Learning, Co-Designing with Students.
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
REST and RESTful Services
REST and RESTful ServicesREST and RESTful Services
REST and RESTful Services
 
Serverless Computing
Serverless ComputingServerless Computing
Serverless Computing
 
Cloud Identity Management
Cloud Identity ManagementCloud Identity Management
Cloud Identity Management
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
Introduction to ChatGPT
Introduction to ChatGPTIntroduction to ChatGPT
Introduction to ChatGPT
 
How to Argue Logically
How to Argue LogicallyHow to Argue Logically
How to Argue Logically
 
Evaluating Teaching: SECTIONS
Evaluating Teaching: SECTIONSEvaluating Teaching: SECTIONS
Evaluating Teaching: SECTIONS
 
Evaluating Teaching: MERLOT
Evaluating Teaching: MERLOTEvaluating Teaching: MERLOT
Evaluating Teaching: MERLOT
 
Evaluating Teaching: Anstey and Watson Rubric
Evaluating Teaching: Anstey and Watson RubricEvaluating Teaching: Anstey and Watson Rubric
Evaluating Teaching: Anstey and Watson Rubric
 
Evaluating Teaching: LORI
Evaluating Teaching: LORIEvaluating Teaching: LORI
Evaluating Teaching: LORI
 
Designing Teaching: Pause Procedure
Designing Teaching: Pause ProcedureDesigning Teaching: Pause Procedure
Designing Teaching: Pause Procedure
 
Designing Teaching: ADDIE
Designing Teaching: ADDIEDesigning Teaching: ADDIE
Designing Teaching: ADDIE
 
Designing Teaching: ASSURE
Designing Teaching: ASSUREDesigning Teaching: ASSURE
Designing Teaching: ASSURE
 
Designing Teaching: Laurilliard's Learning Types
Designing Teaching: Laurilliard's Learning TypesDesigning Teaching: Laurilliard's Learning Types
Designing Teaching: Laurilliard's Learning Types
 
Designing Teaching: Gagne's Nine Events of Instruction
Designing Teaching: Gagne's Nine Events of InstructionDesigning Teaching: Gagne's Nine Events of Instruction
Designing Teaching: Gagne's Nine Events of Instruction
 
Designing Teaching: Elaboration Theory
Designing Teaching: Elaboration TheoryDesigning Teaching: Elaboration Theory
Designing Teaching: Elaboration Theory
 
Universally Designed Learning Spaces: Some Considerations
Universally Designed Learning Spaces: Some ConsiderationsUniversally Designed Learning Spaces: Some Considerations
Universally Designed Learning Spaces: Some Considerations
 

KĂĽrzlich hochgeladen

Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxleah joy valeriano
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 

KĂĽrzlich hochgeladen (20)

Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 

The Waterfall Model

  • 2. Contents 1. Overview 2. Details 3. Advantages 4. Disadvantages 5. Interesting 6. Reflection 7. Review 8. Summary
  • 4. Overview • The “Waterfall Model” is a model that represents one method as to how software can be developed.
  • 6. Timeline of Methodologies 6 1950s Code & Fix 1960s Design-Code-Test-Maintain 1970s Waterfall Model 1980s Spiral Model 1990s Rapid Application Development 2000s Agile Methods
  • 7. Timeline of Methodologies 7 1950s Code & Fix 1960s Design-Code-Test-Maintain 1970s Waterfall Model 1980s Spiral Model 1990s Rapid Application Development 2000s Agile Methods
  • 8. Reference • Royce, W.W., 1970, "Managing the Development of Large Software Systems", Proceedings of IEEE WESCON 26 (August), pp.1–9.
  • 9. Winston W. Royce • Born in 1929. • Died in 1995. • An American computer scientist, director at Lockheed Software Technology Center in Austin, Texas, and one of the leaders in software development in the second half of the 20th century. • He was the first person to describe the “Waterfall model” for software development, although Royce did not use the term "waterfall" in that article, nor advocated the waterfall model as a working methodology.
  • 11. Introduction • “I am going to describe my personal views about managing large software developments. • I have had various assignments during the past nine years, mostly concerned with the development of software packages for spacecraft mission planning, commanding and post-flight analysis. • In these assignments I have experienced different degrees of success with respect to arriving at an operational state, on-time, and within costs. • I have become prejudiced by my experiences and I am going to relate some of these prejudices in this presentation.”
  • 12. Small Developments • For a small development, you only need the following steps – Typically done for programs for internal use
  • 14. Large Developments • System Requirements: Identify, select and document functional, scheduling and financial requirements.
  • 15. Large Developments • Software Requirements: Identify, select and document the software features necessary to satisfy the system requirements.
  • 16. Large Developments • Analysis: Methodically work through the details of each requirement.
  • 17. Large Developments • Program Design: Use programming techniques to design software and hardware within the constraints and objectives set in the earlier stages.
  • 18. Large Developments • Coding: Implement the program as designed in the earlier stages.
  • 19. Large Developments • Testing: Test the software and record the results.
  • 20. Large Developments • Operations: Deliver, install and configure the completed software.
  • 24. Iterative Relationship between Successive Development Phases • Each step progresses and the design is further detailed, there is an iteration with the preceding and succeeding steps but rarely with the more remote steps in the sequence. • The virtue of all of this is that as the design proceeds the change process is scoped down to manageable limits.
  • 25. Unfortunately the design iterations are never confined to the successive steps
  • 26. Unfortunately the design iterations are never confined to the successive steps • The testing phase which occurs at the end of the development cycle is the first event for which timing, storage, input/output transfers, etc., are experienced as distinguished from analyzed. • These phenomena are not precisely analyzable. • Yet if these phenomena fail to satisfy the various external constraints, then invariably a major redesign is required.
  • 27. How do we fix this?
  • 28. Five Steps 1. Program Design comes first 2. Document the Design 3. Do it twice 4. Plan, Control and Monitor Testing 5. Involve the Customer
  • 29. 1. Program Design comes first • A preliminary program design phase has been inserted between the Software Requirements Generation phase and the Analysis phase.
  • 30. 1. Program Design comes first
  • 31. 1. Program Design comes first • The following steps are required: 1) Begin the design process with program designers, not analysts or programmers. 2) Design, define and allocate the data processing modes. 3) Write an overview document that is understandable, informative and current.
  • 32. 2. Document the Design • “How much documentation?" • “Quite a lot" • More than most programmers, analysts, or program designers are willing to do if left to their own devices. • The first rule of managing software development is ruthless enforcement of documentation requirements.
  • 33. 2. Document the Design
  • 34. 3. Do It Twice • Create a pilot study • If the computer program in question is being developed for the first time, arrange matters so that the version finally delivered to the customer for operational deployment is actually the second version insofar as critical design/operations areas are concerned.
  • 35. 3. Do It Twice
  • 36. 4. Plan, Control and Monitor Testing • Without question the biggest user of project resources, whether it be manpower, computer time, or management judgment, is the test phase. It is the phase of greatest risk in terms of dollars and schedule.
  • 37. 4. Plan, Control and Monitor Testing
  • 38. 4. Plan, Control and Monitor Testing 1) Many parts of the test process are best handled by test specialists who did not necessarily contribute to the original design. 2) Most errors are of an obvious nature that can be easily spotted by visual inspection. 3) Test every logic path in the computer program at least once with some kind of numerical check. 4) After the simple errors (which are in the majority, and which obscure the big mistakes) are removed, then it is time to turn over the software to the test area for checkout purposes.
  • 39. 5. Involve the Customer • For some reason what a software design is going to do is subject to wide interpretation even after previous agreement. • It is important to involve the customer in a formal way so that he has committed himself at earlier points before final delivery. • To give the contractor free rein between requirement definition and operation is inviting trouble.
  • 40. 5. Involve the Customer
  • 42. Advantages • It is easy to understand and use.
  • 43. Advantages • It is easy to manage due to the rigidity of the model.
  • 44. Advantages • The phases are processed and completed one at a time, and the phases do not overlap.
  • 45. Advantages • It works well for smaller projects where requirements are very well understood.
  • 46. Advantages • It requires a lot of paperwork as compared to other models.
  • 47. Advantages • When new team member joins, referenced documents help them to understand the project.
  • 48. Advantages • There output is generated after each stage, therefore it has high visibility. – The client and project manager gets a feel that there is considerable progress. – Here it is important to note that in any project psychological factors also play an important role.
  • 50. Disadvantages • Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage.
  • 51. Disadvantages • No working software is produced until late during the life cycle.
  • 52. Disadvantages • There are high amounts of risk and uncertainty.
  • 53. Disadvantages • Not a good model for complex and object- oriented projects, or long and ongoing projects.
  • 54. Disadvantages • Not suitable for the projects where requirements are at a moderate to high risk of changing.
  • 55. Disadvantages • Takes lot of time to change and update the project documents.
  • 56. Disadvantages • Going back a phase or two can be a costly affair.
  • 58. Interesting When to use the Waterfall Model: • This model is used only when the requirements are very well known, clear and fixed. • Product definition is stable. • Technology is understood. • There are no ambiguous requirements • Ample resources with required expertise are available freely • The project is short.
  • 59. Interesting • In common practice, waterfall methodologies result in a project schedule with: – 20–40% of the time invested for the first two phases, – 30–40% of the time to coding, and – 20–40% to testing and implementation.
  • 60. Interesting In 1985, the United States Department of Defense captured this approach in DOD-STD-2167A, their standards for working with software development contractors, which stated that: "the contractor shall implement a software development cycle that includes the following six phases: Preliminary Design, Detailed Design, Coding and Unit Testing, Integration, and Testing".
  • 61. Interesting Validation and Verification • Validation – “Does it do what we set out to achieve?” or “Does it do what the customer wants?” • Verification – “Does the current stage do what was agreed in the previous stage?” or “Does what we’ve done so far adhere to regulations, requirements, specifications, or imposed conditions?”
  • 63. Interesting There are other versions of the Model:
  • 65. Reflections • The Waterfall Model works well with Project Management approaches.
  • 66. Reflections • The system defined at project start might not be suitable by the end of the project, since the customer will be dealing with change in their industry every business day.
  • 67. Reflections • Requirements are usually unclear at the start of a project (“I’ll know it when I see it”).