slr6 - software development Flashcards
Describe the general software development lifecycle
1 Feasibility
2 Requirements
3 Analysis and design
4 implementation
5 testing
6 Deployment
7 evaluation
What are the 5 development methodologies
Waterfall
RAD - Rapid application development
Spiral
Agile
Extreme programming
Describe the waterfall model
Each phase has a well-defined start and end point with clear goals for each stage
The waterfall model allows you to move back on a previous stage as well as forwards
Describe Rapid application development
Following the initial approval of a feasible program, increasingly refined prototypes are made
What is agile
A group of methodologies that focus on the idea that requirements will shift throughout development
What is an algorithm
a sequence of steps designed to perform a task
Describe black box testing
Simply checks if an input produces the expected output
Describe white box testing
Testing that all the algorithms are functioning as intended
Why is being able to move backwards on previous stages an important feature of the development cycle
Developers often have to rework earlier stages when new features are needed
Which stages of the development cycle are repeated with RAD
Analysis
Design/ implementation
Testing/ evaluation
What are the 4 stages of the spiral model
Determine objectives
Identify and resolve risks
Development and test
Plan the next iteration
What are the advantages of the waterfall methodology
Simplicity makes it easy to manage
Everyone on the project is clear about their responsibilities at each stage
Clear objectives
Easy to see if the project is on schedule
What are the disadvantages of the waterfall methodology
carries a lot of risk
The user doesn’t get to see the product until the project is nearly finished
If requirements are misunderstood, then the project wont be easy to fix - it is not suitable for high risk projects
What are the advantages of RAD
Requirements don’t need to be completely clear from the start
Focus groups can be used to gather requirements
Continuous feedback means that the software is likely to have excellent usability
What are the disadvantages of RAD
The focus is on usability not efficiency
Regular contact with the client must be maintained
Scales poorly for larger teams