1.2.3 Software Development Flashcards
Describe the waterfall cycle
- Traditional programming methodology where a series of stages are completed in sequence from start to finish
- Any chnage requires programmers to revisit all levels
What are the advantages of the waterfall cycle?
- Straightforward to manage
- Clearly documented
What are the disadvantages of the waterfall cycle?
- Lack of flexibility
- No risk analysis
- Limited user involvement
What are the uses of the waterfall cycle?
Static, low-risk projects which need little user input, such
as a piece of general-purpose software.
Describe agile methodologies
- collection of methodologies which aim to improve the flexibility of software development
- Adapt to changes in user requirements faster.
- Problem is broken down into sections which are developed in parallel.
- Working prototype delivered early on and built upon in an iterative manner
What are the advatages of agile methodologies?
- Produces high quality code
- Flexible to changing requirements
- Regular user input
What are the disadvatages of agile methodologies?
- Poor documentation
- Requires consistent interaction between user and programmer
What are the uses of agile methodologies?
Small to medium projects with unclear initial requirements.
Describe extreme programming
- Agile model
- Pair programming
- Representative end user
- Model built on system requirements specified by end user
What are the advantages of extreme programming?
- Produces high quality code
- Constant user involvement means high usability
What are the disadvatages of extreme programming?
- High cost of two people working on one project
- Teamwork is essential
- End-user may not be able to be present
What are the uses of extreme programming?
Small to medium projects with unclear initial requirements requiring excellent usability.
Describe the spiral methodology
The spiral model is built on four key stages
with the focus of effectively managing
risk-heavy projects:
- Analysing system requirements
- Pinpointing and mitigating risks
- Development, testing and
implementation
- Evaluating to inform the next iteration
What are the advatages of the spiral methodology?
- Thorough risk-analysis and mitigation
- Caters to changing user needs
- Produces prototypes throughout
What are the disadvatages of the spiral methodology?
- Expensive to hire risk assessors
- Lack of focus on code efficiency
- High costs due to constant prototyping