Small systems lifecycle Flashcards
Waterfall model phases
Requirement gathering and analysis System design Implementation Integration and Testing Deployment of system Maintenance
Waterfall advantages
Simple and easy to use
Clearly defined stages
Works well for small projects
Process and results well documented
Waterfall disadvantages
High risk/uncertainty
Cant accommodate changing requirements.
No working software produced until late during life cycle.
Spiral model description
Iterative approach. Stages are visited and revisited in a constant quest for perfection. Each completed cycle referred to as iteration of development.
Spiral model stages
Identification
Design
Construct/Build
Evaluation and Risk Analysis
Spiral model advantages
Changing requirements can be accommodated
Allows extensive use of prototypes
Requirements can be captured more accurately
Users can see the system early
Development can be divided into smaller parts, and risky parts can be developed earlier, helping in better risk management.
Spiral model disadvantages
Management more complex
End of project may not be known early
Not suitable for small/low risk projects due to cost
Complex process
Spiral may go on indefinitely
Large number of intermediate stages requires excessive documentation.
RAD description
Rapid Application Development breaks analysis design implementation and testing stages into series of short development cycles, with 5 stages.
RAD Stages
Business modelling Data modelling Process modelling Application generation Turnover.
RAD Advantages
Changing requirements can be accommodated.
Progress can be measured.
Iteration time can be short with use of powerful RAD tools.
Productivity with fewer people in short time.
Reduced development time
Increased reusability of components
Integration from beginning solves many integration issues.
Encourages customer feedback.
RAD Disadvantages
Depends on technically strong team members for identifying business requirements
Only systems that can be modularized can be built using RAD
Highly skilled developers/designers
High dependency on modelling skills
Inapplicable to cheaper projects, as cost of modeling and automated code gen is very high
Management is more complex
Requires user involvement throughout lifecycle
Suitable for project requiring shorter development times.