1.2.3 Software development - Callum Flashcards
What development methodology should be used for a large, risk-heavy project?
Spiral model- This is due to the vast amount of money that can be invested in risk assessors and prototypes over a long period of time
What are the advantages of the Waterfall model?
*easy to understand and follow
*lots of documentation
*usually takes less time because less time is invested into user requirements
What are the disadvantages of the Waterfall model?
*It is inflexible- it cannot change if the user requirements change partway through the project
*Doesnt work well for very long projects as each stage will take too long
What are the qualities of a good algorithm?
*inputs must be clearly defined
*must always produce a valid output for a defined input
*must be able to deal with invalid inputs
*must always reach a stopping condition
*must be well documented
*must be well commented
What type of testing allows end-users to test the program?
Beta testing
What is extreme programming?
A programming methodology in which two programmers and an end-user work together to create a program, through having one programmer code and having the other critique the code.
What is Rapid Application Development?
An iterative methodology which uses partially functioning prototypes that are trialled by the user and are continuously built upon
What are the disadvantages of the Spiral model?
*High cost due to constant prototyping
*Lack of focus on code efficiency
*Expensive to hire risk assessors
What are the disadvantages of the Agile model(s)?
*there is poor/ a lack of documentation
*requires constant interaction between programmer and user
What are the stages of most programming methodologies?
*Analysis
*Design
*Development
*Testing
*Implementation
*Evaluation
*Maintenance