Software Development Life Cycle
Analysis
Design
Implementation
Evaluation
Maintenance
Corrective Maintenance
Bugs will usually be found when the software is put into action, no matter how thouroughly tested.
Adaptive Maintenance
Over time user requirements will change, so the program will have to be adapted to meet the new uesr needs.
Perfective Maintenance
Even if the software went well, there may be ways of making it even better.
Alpha Testing
Carried out by an inhouse team who run the program to check for bugs and errors.
Beta Testing
Carried out by a group of potential users who run the program and report any errors and bugs they find.
Black Box Testing
Carried out indepent of the code used in the program, looks at the program spec and creates a set of test data that covers all I/O and program functions.
White Box Testing
Depending on code logic, tests are devised which test each path through the code at least once.
Waterfall Model
Each stage is completed and documented before the next is done. Customer does not see it until the final product is completed. Any changes to be made, often means the project has to be started again.
Spiral Method
Four Basic Steps: Analysis, Design, Implementation and Evaluation. Software project passes through these phases repeatedly. Each successive loop round the spiral generates a new, refined prototype until requirements are met.
Agile Method
Each version builds on previous functionality and is thoroughly tested before release. Good for small, time-critical projects. Limited planning is needed to start.
Extreme Agile
Short iteration, close work with the user, uses paired programming, and new requirements are quickly added.
Rapid Application Development (RAD)
Workshops and focus groups, prototyping is used, strict-time limits, and reuses components.