1.2.3 Software development Flashcards Preview

A Level Computer Science > 1.2.3 Software development > Flashcards

Flashcards in 1.2.3 Software development Deck (34)
Loading flashcards...
1

Software development methodologies

What are 5 common methodologies?

Waterfall lifecycle

Rapid Application Development (RAD)

Spiral

Agile

Extreme Programming (XP)

2

What are the stages of the Waterfall methodology?

Define requirements

Analysis

Design

Implement

Test

Install

Maintain

3

Describe the 'define requirements' stage of the Waterfall methodology

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

4

Describe the 'analysis' stage of the Waterfall methodology

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

5

Describe the 'design' stage of the Waterfall methodology

Working out how the program is to be structured and created

6

Describe the 'implement' stage of the Waterfall methodology

Coding is carried out

7

Describe the 'test' stage of the Waterfall methodology

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

8

Describe the 'install' stage of the Waterfall methodology

The software is provided out to the users

9

Describe the 'maintain' stage of the Waterfall methodology

10

What are the features of the Waterfall methodology?

  • 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

11

What are the advantages of the Waterfall Methodology?

  • 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

12

What are the disadvantages of the Waterfall methodology?

  • 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

13

What are the stages of the RAD methodology?

Requirements specification

Prototypes

Customer evaluation

14

Describe the pilot prototype of the RAD methodology

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

15

Describe the modeling prototype of the RAD methodology

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

16

What are the features of the RAD methodology?

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

What are the advantages of the RAD methodology?

  • 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

What are the disadvantages of the RAD methodology?

  • 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

What are the stages of the Spiral methodology?

Plan

Analyse risk

Engineering

Evaluation

20

Describe the 'plan' stage of the Spiral methodology

Requirements are initially drafted

They are later edited to keep updated

21

Describe the 'analyse risk' stage of the Spiral methodology

Risk is analysed

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

22

Describe the 'engineering' stage of the Spiral methodology

The coding occurs, and then it is tested

23

Describe the 'evaluation' stage of the Spiral methodology

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

24

What are the features of the Spiral methodology?

Iterative approach: cycles round all the stages

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

25

What are the advantages of the Spiral methodology?

  • 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

What are the disadvantages of the Spiral methodology?

  • 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

What are the stages of the Agile methodology?

Iteration of:

Planning

Analysis

Design

Build

Test

28

What are the advantages of the Agile methodology?

  • Minimal documentation
  • Promotes teamwork
  • Realistic approach considering that clients often don't know the full requirements
  • Supports fluctuating requirements

29

What are the disadvantages of the Agile methodology?

  • 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

What are the features of the Agile methodology?

  • 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