1.2.3 Software Development Flashcards

1
Q

Describe the waterfall cycle

A
  • Traditional programming methodology where a series of stages are completed in sequence from start to finish
  • Any chnage requires programmers to revisit all levels
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the advantages of the waterfall cycle?

A
  • Straightforward to manage
  • Clearly documented
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the disadvantages of the waterfall cycle?

A
  • Lack of flexibility
  • No risk analysis
  • Limited user involvement
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the uses of the waterfall cycle?

A

Static, low-risk projects which need little user input, such
as a piece of general-purpose software.

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

Describe agile methodologies

A
  • collection of methodologies which aim to improve the flexibility of software development
  • Adapt to changes in user requirements faster.
  • Problem is broken down into sections which are developed in parallel.
  • Working prototype delivered early on and built upon in an iterative manner
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the advatages of agile methodologies?

A
  • Produces high quality code
  • Flexible to changing requirements
  • Regular user input
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the disadvatages of agile methodologies?

A
  • Poor documentation
  • Requires consistent interaction between user and programmer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the uses of agile methodologies?

A

Small to medium projects with unclear initial requirements.

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

Describe extreme programming

A
  • Agile model
  • Pair programming
  • Representative end user
  • Model built on system requirements specified by end user
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the advantages of extreme programming?

A
  • Produces high quality code
  • Constant user involvement means high usability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the disadvatages of extreme programming?

A
  • High cost of two people working on one project
  • Teamwork is essential
  • End-user may not be able to be present
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the uses of extreme programming?

A

Small to medium projects with unclear initial requirements requiring excellent usability.

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

Describe the spiral methodology

A

The spiral model is built on four key stages
with the focus of effectively managing
risk-heavy projects:
- Analysing system requirements
- Pinpointing and mitigating risks
- Development, testing and
implementation
- Evaluating to inform the next iteration

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

What are the advatages of the spiral methodology?

A
  • Thorough risk-analysis and mitigation
  • Caters to changing user needs
  • Produces prototypes throughout
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the disadvatages of the spiral methodology?

A
  • Expensive to hire risk assessors
  • Lack of focus on code efficiency
  • High costs due to constant prototyping
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the uses of the spiral methodology?

A

Large, risk-intensive projects with a high budget.

17
Q

Describe rapid application development

A
  • Iterative methodology
  • Uses partially functioning prototypes which are built upon
  • User feedback on prototype is used to improve next prototype
  • Repeats until prototype matches end-user requirements
  • This prototype becomes the final product
18
Q

What are the advantages of RAD

A
  • Caters to changing user requirements
  • Highly usable finished product
  • Focus on core features, reducing development time
19
Q

What are the disadvantages of RAD?

A
  • Poorer quality documentation
  • Fast pace may reduce code quality
20
Q

What are the uses of RAD?

A

Small to medium, low-budget projects with short time-frames.