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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the 5 main software development methodologies?

A
  • waterfall
  • rapid application development (RAD)
  • spiral
  • agile
  • extreme programming
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly