1.2.3 Software development Flashcards
Software development methodologies
What are 5 common methodologies?
Waterfall lifecycle
Rapid Application Development (RAD)
Spiral
Agile
Extreme Programming (XP)
What are the stages of the Waterfall methodology?
Define requirements
Analysis
Design
Implement
Test
Install
Maintain
Describe the ‘define requirements’ stage of the Waterfall methodology
Describing the overall purpose and what is wanted out of the software
Describe the ‘analysis’ stage of the Waterfall methodology
When the time, cost, and resources required for the project are assessed
Describe the ‘design’ stage of the Waterfall methodology
Working out how the program is to be structured and created
Describe the ‘implement’ stage of the Waterfall methodology
Coding is carried out
Describe the ‘test’ stage of the Waterfall methodology
Plans are made for how the program is to be tested, and the tests are carried out
Describe the ‘install’ stage of the Waterfall methodology
The software is provided out to the users
Describe the ‘maintain’ stage of the Waterfall methodology
What are the features of the Waterfall methodology?
- The project is split with milestones at each stage
- The method is sequential, with stages rarely being revisited after completing them
- Works best when requirements and risks are well understood
What are the advantages of the Waterfall Methodology?
- Time and money is saved by planning at the initial stages
- Milestones enforce a disciplined approach and easily assessable progress
- Encourages extensive documentation
- Easy for someone outside of the project to understand it
What are the disadvantages of the Waterfall methodology?
- Clients often don’t know exactly what they want
- Not as good for high risk or challenging projects
- Requires tight documentation, which can dampen creativity
- Not suited for vague or changing requirements
What are the stages of the RAD methodology?
Requirements specification
Prototypes
Customer evaluation
Describe the pilot prototype of the RAD methodology
Used to determine how feasible a design approach is. It is not intended to be developed further
Describe the modeling prototype of the RAD methodology
Created to test if it fits the requirements. It is demonstrated to the user and is either:
Throwaway: code is discarded after being used
Evolutionary: the code is retained to develop the next prototype
What are the features of the RAD methodology?
It uses an iterative approach, where each part is provided to the user when ready.
Prototypes are developed rather than extensive documentation made at the start.
What are the advantages of the RAD methodology?
- Accounts for if the customer is unsure of what they want at the start
- Will improve quality as the customer can provide feedback from early on
- Focuses on the speed of development
- Risk analysis is key
What are the disadvantages of the RAD methodology?
- Requires significant time commitment from the customer
- Risk of poorly designed project, with ‘see what happens’
- Not good for large projects or widely spread teams
What are the stages of the Spiral methodology?
Plan
Analyse risk
Engineering
Evaluation
Describe the ‘plan’ stage of the Spiral methodology
Requirements are initially drafted
They are later edited to keep updated
Describe the ‘analyse risk’ stage of the Spiral methodology
Risk is analysed
A prototype is produced, which is a functional view of the software
Describe the ‘engineering’ stage of the Spiral methodology
The coding occurs, and then it is tested
Describe the ‘evaluation’ stage of the Spiral methodology
The customer evaluates the project in its current stage, and the requirements are then updated
What are the features of the Spiral methodology?
Iterative approach: cycles round all the stages
At the end of each cycle, the project is presented to the customer