Lecture 5 and 6: Software Life Cycles Flashcards
What are the software development cycle phases?
- Requirements Phase
- Design Phase
- Implementation Phase
- Test Phase
- Installation and Checkout Phase
What are the software life cycle phases?
- Software Development Cycle
- Operation and Maintenance Phase
- Retirement Phase
What are the software life cycle models?
Code and Fix
Stagewise and Waterfall
Prototyping
Spiral
Agile/Scrum
What is the Code and Fix model?
Code a little, fix a lot, and repeat until your resources run out (not a good model)
What is the Waterfall model?
Linear approach that has each phase dependent on the previous one
Engineering: Develop an installation plan
Analysis: Identify the what (system requirements, work with and involve user, acceptance test plan)
Design: Identify the how (system specifications (hardware/software), system integration test plan)
Implementation: Build the system, test the parts, complete all system documentation
Test: Test all portions (integration, acceptance, system installation)
Maintenance: Manage change, fix defects, port the system, enhance the system
What are the weaknesses of the waterfall method?
Hard to measure real progress, pushes analysis and design feedback to maintenance phase, assumes unrealistic sequential progression
What is the prototyping model?
Determine requirements, build a prototype, do a partial design, evaluate the system, engineer the product. Make sure to throw away the prototype
Why use the prototype model?
When the user isn’t computer literate, when the user is unable to pre-specify the needed system requirements and when you aren’t sure if your design will work
What are the aspects of the evolutionary development models?
Can become a modern version of code and fix
Product evolves over time as the real requirements become known
Assumes the customers will tell us what they like and dislike about each incremental release
What is the spiral model?
Evolutionary model, risk oriented
1. Determine objectives
2. Evaluate alternatives
3. Develop, verify next-level product
4. Plan next phases
Pros: Reduce risk of failure, early feedback
Cons: Complex, risk analysis requires expertise