Software Development Life Cycle
Waterfall, Iterative & RAD models
Software Development Life Cycle
Analysis
Design
Implementation (Coding)
Testing
Maintenance
Analysis
Develop a specification / system requirements document.
Research using:
Design
Frontend - GUI Wireframes / Mockups, Color schemes/combos, brand requirements
Processes - Data flow diagrams, Pseudocode, Flowcharts, Gantt charts, high level overview diagrams, abstraction & decomposition - breakdown down into modular parts, Structure Charts, State Transition Diagrams.
Backend - ERD, Database Schemas
Implementation
Coding of the project.
Assets pulled together.
Some testing also takes place - modular test, verification/validation testing.
Testing
Unit Testing - automated testing using predetermined test
User Acceptance Testing
Whole System Testing - server load / concurrent user tests.
Maintenance
Waterfall Model
Analysis
Design
Implementation
Testing
Maintenance
Waterfall Model
Advantages
Disadvantages
Iterative
An adaption of the waterfall model that takes into account the probability that the project requirements will change as time goes on.
The focus is on building the core system and adding more features through each iteration and subsequent release.
Iterative Model
Advantages
Disadvantages
Rapid Application Development
Focuses on rapid development through a series of prototypes, followed by a final release.
Not a big focus on initial planning.
Optimised for GUI heavy applications.
Prototyping
Phase
Analysis and quick design
Demonstrate
Refine
Develop
Cutover
Testing
RAD Model
Advantages
Disadvantages