Development Methodologies Flashcards

1
Q

What are the 7 stages of the software development lifecycle?

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 (testing it works)
  • deployment (installing it in the target environment)
  • evaluation (asking the user if they are satisfied with the product)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the 8th magic hidden phase of the software development lifecycle

A

Maintainence 🌈

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

What are the advantages of the waterfall model?

A
  • simple and easy to manage
  • everyone is clear on responsibilities
  • clear objectives
  • easy to see if project is on schedule
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the disadvantages of the waterfall model?

A
  • carries much risk
  • the user is not involved except at the beginning
  • misunderstanding requirements could lead to a hard to fix project
  • therefore not suitable for complex projects
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Where should the waterfall model be used?

A

Large scale, well understood, low risk projects

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

What are the advantages of rapid application development?

A
  • requirements don’t need to be clear at the start
  • meetings with the user throughout can provide requirements
  • continuous feedback from the user creates an excellent solution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the disadvantages of rapid application development?

A
  • focused on usability rather than efficiency of the product, not suited for projects requiring code efficiency
  • regular contact with the client must be maintained
  • scales poorly with large teams
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Where should rapid application development be used?

A

When initial requirements are not fully understood

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

What are the advantages of the spiral method?

A
  • risk is at the heart of this model
  • excellent for high risk projects
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the disadvantages of the spiral methodology?

A
  • complex nature if risk analysis can be expensive as this is a specialised skill
  • project can suffer if risk analysis is done badly
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

When should the spiral methodology be used?

A

Large scale, high risk projects, especially if the user doesn’t understand the requirements upfront

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

What are the advantages of agile and extreme programming?

A
  • emphasises programming, so likely to be high quality code
  • promotes respect and collaboration, so leads to a productive development team
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the disadvantages of agile and extreme programming?

A
  • requires a closely collaborating team, so unlikely to work if the team is spread across a large area geographically
  • client must have a full time representative on the team
  • some processes involved can be expensive
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

When should agile and extreme programming be used?

A

When the emphasis of the project is on quality of code

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

What are the stages of the waterfall lifecycle?

A
  • requirements
  • design
  • coding
  • testing
  • evaluation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the stages of rapid application development?

A
  • feasibility
    Loop:
    - requirements/analysis
    - design/coding
    - testing/evaluation
  • deployment
  • maintainence
17
Q

What are the stages of the spiral methodology?

A
  • determine objectives
  • identify and resolve risks
  • development and test
  • plan the next iteration

RISK DRIVEN

18
Q

What is the structure of the agile methodologies?

A
  • The product is built in a series of sprints
  • these are short time boxed periods where the team has focused goals
  • each sprint should be bitesize work that takes no more than 4 weeks
19
Q

What are the key values of extreme programming?

A
  • paired programming (two programmers working at one computer)
  • collective code ownership
  • continuous integration
  • code standards
  • refactoring (revisiting and redesigning old code)