Software development methodologies Flashcards
What is Rapid Application Development (RAD)?
It is now used to refer to methodologies for developing software which use prototyping (a model with reduced functionality) and iteration (repeating cycles).
Advantages of RAD?
Helpful when requirements are unclear.
Excellent usability due to feedback from customer.
Allows changing requirements.
Small developing time due to minimising plans.
Time boxing keeps it on track.
Disadvantages of RAD?
Good code is not prioritised (focus is on accelerated development of front-end focused prototype).
Demanding on customer’s time for feedback.
When is RAD used?
Customer is unsure about the requirements
Small scale and of short duration.
What is the Spiral Model?
Iterative cycle split into four phases.
1. Determine objectives.
2. Identify and resolve risks.
3. development and test
4. plan the next iteration.
When is a prototype created in the spiral method?
Each cycle.
Advantages of Spiral?
Ideal for risky and complex projects, too high = drop the project before prototyping.
Changing requirements.
Users see the system a lot, results in a better users match.
Eliminates unattractive risks early on.
Disadvantages of Spiral?
Management is more complex so could be more expensive
Process is more complex than other models
Good risk analysts are expensive
Efficient code is not prioritized
No continuous customer interaction.
When is Spiral used?
Chnages in development stages are expected.
high risk
incremental manner project.
requirements aren’t finialised.
What is the difference between spiral and RAD’s usages?
Spiral is used for more larger projects, that are more riskier.
RAD is a smaller scale and time period, more customer involvement.
What is risk analysis?
The process of identifying and analyzing potential issues that could negatively impact a software project. Risk factors in software development include inadequate estimation of time, cost, scope and resources.
What is the Waterfall Lifecycle Model?
A linear, sequence of stages. Each stage is completed before the next stage begins. Good for small, simple projects where requirements are clear and do not change.
What is Extreme Programming (XP)?
An agile methodology for software development that is iterative, focussing on high quality code and customer involvement / feedback.
Advantages of the Waterfall?
Lots of documentation
Easy to schedule and arrange tasks and judge progress
Simple and easy to understand model
Does not require a lot of customer involvement