what is a systems development lifecycle (SDLC)
a framework defining tasks performed at each step in the software development process
define the waterfall lifecycle method
a linear, sequence of stages where each stage is completed before the next stage begins
define agile methods
its an umbrella term for a set of methods and practices based on the values and principles expressed in the Agile Manifesto
define extreme programming (XP)
a type of agile methodology for software development that is iterative, focussing on high quality code and customer involvement / feedback
define iterative development
process where a software product is developed after breaking it down into smaller, easily developable “chunks”. Each chunk is analysed, designed, developed and tested in repeated cycles (iterations).
what is a risk analysis,
give examples (4)
process of identifying and analysing potential issues that could negatively impact a software project
e.g. inadequate estimation of time, cost, scope and resources
when might the waterfall lifecyle be used
good for small, simple projects where requirements are clear and do not change and when there is not benefit in having a customer having early access to the system/ having input in the software
pros of waterfall lifecyle (4)
cons of waterfall lifecycle model (5)
when might the extreme programming (a type of agile methodology ) be used
when early implementation is important, when requirements are changing, and when the project doesn’t involve a big staff
pros of XP (type of agile methodology) (3)
cons of XP (a type of agile methodology) (2)
define RAD
what makes the iteration different
Rapid application development refers to methodologies for developing software which uses prototypes (a model with reduced functionality) and iteration (repeating cycles)
the prototype is then reviewed by the customer and if needed further changes are made, creating a new prototype
the process repeats until the last prototype becomes the final product
the iteration is timeboxed, a limited time period given in which a well - defined deliverable must be produced
pros of RAD (5)
cons of RAD (2)
when might RAD be used
when a system can be modularised to be delivered in an incremental manner
and when customer is unsure of their requirements, which is usually the case
define the spiral model
when the iterative cycle is split into 4 phases, (determine objectives and alternatives, identify and resolve risks, development and test, plan the next iteration)
with a high emphasis on risk identification and resolution, prototypes are created in each cycle
pros of the spiral model (5)
cons of the spiral model (5)
when might the spiral model be used
when significant changes are expected to be made during the development process
when the customer is unsure about their requirements
when risk is high
differences between waterfall vs extreme lifecycle (4)