SPM Waterfall
SPM Waterfall
development principles
Software Process Models: Waterfall and Agile 1
Lecture Plan
Problem
• All software process models share four fundamental
process activities, and differ in how these are
Requirements specification
organised
• Specification:
• define requirements, functionality, constraints Specification
• Development:
• build software to meet the specification
Program
• Validation:
• validate that it does what the customer wants
• Evolution: Working program
Design
Operation and
Maintenance
The waterfall Model
practice
Design
• Go back up waterfall to
Implementatio
revisit previous steps as n and unit
testing
necessary
Integration
• Still work on one step at a and System
testing
time, cascade to next when
Operation and
completed. Maintenance
The Waterfall Model
• Customer evaluation
• Users validate prototype, report inadequacies
• Design Refinement
• Refine design in response to user feedback from prototype
• Full Scale Development
• Continue with remaining phases of traditional waterfall model
Drawbacks of the Prototyping Model
• Wasted work
• Commonly built using substandard quality controls to speed
iteration thus, they must be discarded after the prototyping phase
even if they solve significant problems
• Inadequate or incomplete prototypes
• Full prototypes are difficult thus done in parts which could miss
critical requirements at integration
• When to stop prototyping
• User can keep requesting changes each time
Evolutionary Development
• Prototype Evolution
• Method to avoid wasting work Initial Version
Specification
by smoothly evolving the
initial prototype to the final
product. Outline Outline
Development
Intermediate
Outline
Outline
Description Description Versions
Description
• In essence, never leave
prototype iteration until
implementation is complete Validation Full Version
• Get version of the software
Concurrent activities
sooner
PAUSE
• Pause
The Spiral Model
• Heavyweight Process
• Requires large amount of overhead – each layer requires lots of
documentation and meetings – slowing progress
• Primarily suitable for large projects with long timelines
• Not really a development model
• More of meta-model since it describes the way to carry out stages,
not what the stages are
• But focuses on identifying potential problems early at each stage –
produces high quality results
Drawbacks of Spiral Model
Subset Development
• Iterative Development Process (IDP) is based on subsets
• Begin with a subset of the requirements and develop a
subset of the software product
• The subset should:
• Satisfy immediate needs of users
• Serve as a vehicle for training customers, and learning for
developers
IDP