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