1.2.3 - Software Development Flashcards
What is the waterfall lifecycle model?
This model is based on a series of stages completed in sequence from start to finish.
What happens in the analysis stage of the waterfall model?
A feasibility study using “TELOS”.
- Technical
- Economic
- Legal
- Operational
- Scheduling
What are the benefits of the waterfall lifecycle model?
It is straightforward to manage and clearly documented.
What are the drawbacks of the waterfall lifecycle model?
If a change needs to be made within a project, programmers must revisit all levels between the current stage and the change stage.
This makes the model inflexible and unsuitable to projects with changing requirements.
It also means users have little input, only involved at the beginning and end.
There is also no risk analysis.
When is the waterfall lifecycle good?
Static, low-risk projects which need little user input, like a piece of general purpose software.
What is the agile methodology model?
The problem is broken down into sections which are developed in parallel.
The design and analysis phase often occur together.
Different sections of software can be at different
stages of development.
A working prototype is delivered early on and prototypes are built upon and improved in an iterative manner so that new prototypes are delivered regularly
throughout the course of the development cycle.
What are the benefits of the agile methodology model?
It produces high quality code.
It is flexible to changing requirements.
It has regular user input.
What are the drawbacks of the agile methodology model?
It has poor documentation and requires consistent user-programmer interaction.
When is the agile methodology good?
Small to medium projects with unclear initial requirements.
What is the extreme programming model?
This is an agile model which is built on “user stories”: system requirements specified by the end user and used when designing the program.
Each iteration through the cycle generates what is called a “working version” of the program which means it could function as the final product.
Describe who works on an extreme programming model.
The development team consists of a pair of programmers alongside a representative end-user.
Programmers work no
longer than forty hours a week with the aim that quality is not compromised.
What are the benefits of the extreme programming model?
It produces high quality code, as it is written by one person and constantly critiqued by the other.
Constant user involvement means high usability.
What are the drawbacks of the extreme programming model?
There is a high cost of two people working on one project.
Teamwork is essential.
End-user needs to be able to be present.
Iterative nature of development means it is hard to produce good documentation.
When is the extreme programming model good?
Small to medium projects with unclear initial requirements requiring excellent usability.
What is the spiral model?
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