1.2.3 - Software Development Flashcards

1
Q

What is the waterfall lifecycle model?

A

This model is based on a series of stages completed in sequence from start to finish.

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

What happens in the analysis stage of the waterfall model?

A

A feasibility study using “TELOS”.

  • Technical
  • Economic
  • Legal
  • Operational
  • Scheduling
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the benefits of the waterfall lifecycle model?

A

It is straightforward to manage and clearly documented.

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

What are the drawbacks of the waterfall lifecycle model?

A

If a change needs to be made within a project, programmers must revisit all levels between the current stage and the change stage.
This makes the model inflexible and unsuitable to projects with changing requirements.
It also means users have little input, only involved at the beginning and end.
There is also no risk analysis.

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

When is the waterfall lifecycle good?

A

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

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

What is the agile methodology model?

A

The problem is broken down into sections which are developed in parallel.
The design and analysis phase often occur together.
Different sections of software can be at different
stages of development.
A working prototype is delivered early on and prototypes are built upon and improved in an iterative manner so that new prototypes are delivered regularly
throughout the course of the development cycle.

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

What are the benefits of the agile methodology model?

A

It produces high quality code.
It is flexible to changing requirements.
It has regular user input.

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

What are the drawbacks of the agile methodology model?

A

It has poor documentation and requires consistent user-programmer interaction.

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

When is the agile methodology good?

A

Small to medium projects with unclear initial requirements.

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

What is the extreme programming model?

A

This is an agile model which is built on “user stories”: system requirements specified by the end user and used when designing the program.
Each iteration through the cycle generates what is called a “working version” of the program which means it could function as the final product.

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

Describe who works on an extreme programming model.

A

The development team consists of a pair of programmers alongside a representative end-user.
Programmers work no
longer than forty hours a week with the aim that quality is not compromised.

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

What are the benefits of the extreme programming model?

A

It produces high quality code, as it is written by one person and constantly critiqued by the other.
Constant user involvement means high usability.

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

What are the drawbacks of the extreme programming model?

A

There is a high cost of two people working on one project.
Teamwork is essential.
End-user needs to be able to be present.
Iterative nature of development means it is hard to produce good documentation.

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

When is the extreme programming model good?

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
15
Q

What is the spiral model?

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
16
Q

What are the benefits of the spiral model?

A
  • Thorough risk-analysis and mitigation
  • Caters to changing user needs
  • Produces prototypes throughout
17
Q

What are the drawbacks of the spiral model?

A
  • Expensive to hire risk assessors
  • Lack of focus on code efficiency
  • High costs due to constant prototyping
18
Q

When is the spiral model good?

A

Large, risk-intensive projects with a high budget.

19
Q

What is the RAD methodology?

A

RAD is an iterative methodology which uses partially functioning prototypes which are
continually built-upon.
User requirements are initially gathered using focus groups and
used to develop an ‘incomplete’ version of the solution which is given to the user to trial.
User feedback is then used to generate the next, improved prototype and this continues
until the prototype matches the requirements of the end-users at which point it becomes
the final product.

20
Q

What are the benefits of RAD?

A

Caters to changing user requirements
Highly usable finished product
Focus on core features, reducing development time.

21
Q

What are the drawbacks of RAD?

A

Poorer quality documentation

Fast pace reduces code quality because of changing requirements.

22
Q

When is RAD good?

A

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

23
Q

What makes a good algorithm? (inputs)

A

Clearly defined inputs
Valid output for every input
Deals with invalid inputs.

24
Q

What makes a good algorithm? (not inputs)

A

Must always reach a stopping condition
Well-documented for reference
Well-commented so modifications can easily be made.