1.2.3 Software development Flashcards

1
Q

Software development methodologies

What are 5 common methodologies?

A

Waterfall lifecycle

Rapid Application Development (RAD)

Spiral

Agile

Extreme Programming (XP)

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

What are the stages of the Waterfall methodology?

A

Define requirements

Analysis

Design

Implement

Test

Install

Maintain

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

Describe the ‘define requirements’ stage of the Waterfall methodology

A

Describing the overall purpose and what is wanted out of the software

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

Describe the ‘analysis’ stage of the Waterfall methodology

A

When the time, cost, and resources required for the project are assessed

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

Describe the ‘design’ stage of the Waterfall methodology

A

Working out how the program is to be structured and created

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

Describe the ‘implement’ stage of the Waterfall methodology

A

Coding is carried out

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

Describe the ‘test’ stage of the Waterfall methodology

A

Plans are made for how the program is to be tested, and the tests are carried out

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

Describe the ‘install’ stage of the Waterfall methodology

A

The software is provided out to the users

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

Describe the ‘maintain’ stage of the Waterfall methodology

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

What are the features of the Waterfall methodology?

A
  • The project is split with milestones at each stage
  • The method is sequential, with stages rarely being revisited after completing them
  • Works best when requirements and risks are well understood
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the advantages of the Waterfall Methodology?

A
  • Time and money is saved by planning at the initial stages
  • Milestones enforce a disciplined approach and easily assessable progress
  • Encourages extensive documentation
  • Easy for someone outside of the project to understand it
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the disadvantages of the Waterfall methodology?

A
  • Clients often don’t know exactly what they want
  • Not as good for high risk or challenging projects
  • Requires tight documentation, which can dampen creativity
  • Not suited for vague or changing requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the stages of the RAD methodology?

A

Requirements specification

Prototypes

Customer evaluation

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

Describe the pilot prototype of the RAD methodology

A

Used to determine how feasible a design approach is. It is not intended to be developed further

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

Describe the modeling prototype of the RAD methodology

A

Created to test if it fits the requirements. It is demonstrated to the user and is either:

Throwaway: code is discarded after being used

Evolutionary: the code is retained to develop the next prototype

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

What are the features of the RAD methodology?

A

It uses an iterative approach, where each part is provided to the user when ready.

Prototypes are developed rather than extensive documentation made at the start.

17
Q

What are the advantages of the RAD methodology?

A
  • Accounts for if the customer is unsure of what they want at the start
  • Will improve quality as the customer can provide feedback from early on
  • Focuses on the speed of development
  • Risk analysis is key
18
Q

What are the disadvantages of the RAD methodology?

A
  • Requires significant time commitment from the customer
  • Risk of poorly designed project, with ‘see what happens’
  • Not good for large projects or widely spread teams
19
Q

What are the stages of the Spiral methodology?

A

Plan

Analyse risk

Engineering

Evaluation

20
Q

Describe the ‘plan’ stage of the Spiral methodology

A

Requirements are initially drafted

They are later edited to keep updated

21
Q

Describe the ‘analyse risk’ stage of the Spiral methodology

A

Risk is analysed

A prototype is produced, which is a functional view of the software

22
Q

Describe the ‘engineering’ stage of the Spiral methodology

A

The coding occurs, and then it is tested

23
Q

Describe the ‘evaluation’ stage of the Spiral methodology

A

The customer evaluates the project in its current stage, and the requirements are then updated

24
Q

What are the features of the Spiral methodology?

A

Iterative approach: cycles round all the stages

At the end of each cycle, the project is presented to the customer

25
Q

What are the advantages of the Spiral methodology?

A
  • Good for a large, risky project
  • Prototypes help to track the requirements
  • Allows for extra functionality to be added later on
  • Customers have a chance to evaluate much early than in other methods
26
Q

What are the disadvantages of the Spiral methodology?

A
  • Success depends on handling the risks early on
  • Can be considered overkill for small, short projects
  • Can be costly in terms of man-hours needed
  • Requires customers to be engaged throughout the process
27
Q

What are the stages of the Agile methodology?

A

Iteration of:

Planning

Analysis

Design

Build

Test

28
Q

What are the advantages of the Agile methodology?

A
  • Minimal documentation
  • Promotes teamwork
  • Realistic approach considering that clients often don’t know the full requirements
  • Supports fluctuating requirements
29
Q

What are the disadvantages of the Agile methodology?

A
  • Doesn’t work well when different modules depend on each other
  • Less documentation so can be harder to maintain and extend in the future
  • Depends on customer interaction
  • Depends on self-discipline, since it is management light
30
Q

What are the features of the Agile methodology?

A
  • This is a group of similar methodologies
  • Each iteration delivers a small set of feature, which are reviewed by the client before moving to the next iteration
31
Q

What are the stages of the XP methodology?

A

Iterative:

Outline plan

Code

Unit test

Customer acceptance test

32
Q

What are the features of the XP methodology?

A
  • XP is an example of the Agile methodology
  • Acts as a code-first approach
    *
33
Q

What are the advantages of the XP methodology?

A
  • Same advantages as the Agile methodology
  • Resulting code is high quality after testing through many unit tests
  • Good for when requirements are not well defined
  • Programming in pairs provides opportunities to learn
34
Q

What are the disadvantages of the XP methodology?

A
  • Same disadvantages as the Agile methodology
  • Doesn’t work with geographically distributed groups
  • Pair programming can be intensive and tiring
  • Doesn’t work too well with large teams