SLR 6 - SOFTWARE DEVELOPMENT Flashcards
1
Q
What are the stages of the software development lifecycle SDLC?
A
- feasibility: is the problem solvable?
- requirements: working out what the solution needs to do
- analysis and design: working out how the solution needs to do it
- implementation: coding the solution
- testing: checking it actually works
- deployment: installing it in the target environment
- evaluation: checking in with the user – is the solution complete?
- maintenance: ensuring it continues to function properly by the way of improvements, patches and updates
2
Q
What is a software development methodology?
A
the arrangement of the phases of the SDLC and how programmers move from one phase to another (both forwards and backwards)
3
Q
What are the 5 main software development methodologies?
A
- waterfall
- rapid application development (RAD)
- spiral
- agile
- extreme programming
4
Q
What is the waterfall model?
A
- derives its name from its cascading effect from one phase to another
- each phase has a well-defined start and end point with identifiable deliverables
- a slight evolution of the waterfall model allows you to move back to a previous stage as well as forwards (this reflects the fact that developers often have to rework earlier stages in light of knowledge gained as development progresses)
5
Q
Advs of the waterfall model
A
- simplicity makes it easy to manage
- everyone on the project is very clear of their responsibilities at each stage
- clear deliverables
- easy to see if a project is running to schedule
- ease of management can make it suitable for large-scale development projects, assuming they are well-understood and carry little risk
6
Q
Disadvs of the waterfall model
A
- carries a lot of risk
- user doesn’t get to see the product for the first time until the project is near its end
- misunderstanding requirements can lead to a project that isn’t easy to fix
- requirements must be very well understood so this model is not suitable for complex projects
7
Q
What is rapid application development (RAD)?
A
a methodology that involves producing successive prototypes of the software until a final version is produced and approved
8
Q
Advs of RAD
A
- requirements don’t need to be made clear from the start
- focus groups involving the user can be used to gather requirements without the need for full formal requirements document upfront
- continuous feedback from the client means that the solution is likely to have excellent usability
- good for projects where the initial requirements are not fully understood, as the iterative nature prevents development from becoming side-tracked
9
Q
Disadvs of RAD
A
- focus on usability rather than how the product works (not suited for projects where code efficiency is very important
- regular contact with client must be maintained at all times
- scales poorly for large projects with big teams
10
Q
What is the spiral model?
A
- a risk-driven development methodology
- more of a guide for development teams, allowing them to adopt elements of one or more other methodologies like waterfall or RAD
- better thought of as a process model generator, where decisions on the software development methodology are made based on the risks identified
11
Q
A