Component 6 - Key Definitions Flashcards
Understand the waterfall lifecycle, agile methodologies, extreme programming, the spiral model and rapid application development
Software development projects should follow a lifecycle. The purpose of a life cycle is to manage the stages of development to ensure that the intended outcomes actually happen, deadlines are met and budgets are not exceeded. Each of the specified methods have their own specific goal, drawbacks and advantages
The relative merits and drawbacks of different methodologies and when they might be used.
Briefly:
Waterfall: the most traditional model, followed from analysis to review with each step having to be fully completed before the next can begin. Rigid in structure and inflexible if requirements change, however, there is always documentation and accountability throughout the project
Spiral: An iterative model which recognises the need for regular review and development. Each iteration sees the phases grow longer, more expensive and hopefully more productive. It is said to be “risk aware” in that the regular reviews allow developers and managers to spot and fix issues as they happen.
Agile: Extreme programming and RAD are actually methods of implementing an agile lifecycle. As the name suggests, the agile methodology is designed to be fully flexible in order to meet the demands of customers. Agile lifecycles are determined mainly by developers who decide how long each prototyping/iteration cycle will take and what they think can be produced in that time scale. Overall the focus is on the rapid production of software with the flexibility to change/add in requirements as necessary.
Writing and following algorithms
This objective is down to you – this is the part of the exam spec where it says you should be able to program….!