01 SoftwareProcessModels
01 SoftwareProcessModels
Software Construction
SOFTWARE PROCESS
MODELS
Outline
• domain analysis
• requirements gathering and modeling
• architecture design and specification
• coding and testing
• delivery and deployment
• maintenance and evolution
• retirement
Software Development Process
Informal
Requirements
Process
Product
Process as a Black Box
Informal
Requirements
Process
Product
Process as a White Box
Informal
Requirements
Process
Product
feedback
Waterfall Process Model
Requirements
Design
• Advantages
– Easy to understand, easy to use
– Provides structure to inexperienced staff
– Milestones are well understood
– Sets requirements stability
Waterfall Process Model
• Weaknesses
– All requirements must be known upfront
– Deliverables created for each phase are considered
frozen – inhibits flexibility
– Can give a false impression of progress
– Does not reflect problem-solving nature of 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)
Late Design Breakage
Projects Suitable for Waterfall Model
Requirements
Design
Coding and
module testing
Integration and
system testing
Deployment
Agile Methods
• https://www.youtube.com/watch?v=vRne1NiCIHQ
• https://www.youtube.com/watch?v=Z9QbYZh1YXY
• https://www.youtube.com/watch?v=XU0llRltyFM
Agile Manifesto
SCRUM Process
Problems with agile methods