1.2.3 Software Development (New) Flashcards
What are software development life cycle methodologies?
A process for planning, creating, testing and deploying high quality software.
What are the 5 software development methodologies?
- Waterfall lifecycle
- Rapid Application Development
- Spiral Model
- Agile software development
- Extreme Programming
Describe the waterfall model
- Each stage of development is completed one at a time in a linear sequence, from start to finish.
- Results from a completed stage are input into the next.
What must be done if a change needs to be made within a project being developed using the waterfall model?
Programmers must revisit all levels between the current stage and the stage at which a change needs to be made.
The waterfall model suits projects which are:
- Large scale
- Low risk
- Have stable requirements
The waterfall model is absolutely unsuitable for projects which are:
- High risk
- Complex
When does working software get produced within the waterfall lifecycle? Why is this a problem?
Late during the lifecycle.
Problems may not be discovered until it is too late.
Advantages of using waterfall
- Straightforward to manage
- Clearly documented
Disadvantages of using waterfall
- Lack of flexibility
- No risk analysis
- Limited user involvement.
What are agile methods / methodologies?
An iterative process that produces software prototypes over short sprints.
How is the user involved in agile methodologies?
- Each prototype is user tested.
- Any feedback and change in requirements will be accounted for in future sprints.
Agile methodologies focues less on documentation, with the aim of what?
Giving priority to user satisfaction.
What types of projects would agile methodologies be ideal for?
Small to medium projects with unclear initial requirements.
Agile methodologies benefits
- Produces high quality code
- Flexible to changing requirements
- Regular user input
Agile methodologies drawbacks
- Poor documentation
- Requires consistent interaction between user and programmer.