Software developement

5.0(1)
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Get a hint
Hint

The 5 developement methodologies you need to know

Get a hint
Hint
  • Waterfall lifecycle

  • Agile methodologies

  • Extreme programming

  • Spiral model

  • Rapid application development

Get a hint
Hint

Waterfall lifecycle

Get a hint
Hint
  • Includes analysis, design, implementation, evaluation and maintanance

  • Linear process - the stages are completed in sequence

  • Phases can be revisited back in turn

Card Sorting

1/5

Anonymous user
Anonymous user
flashcard set

Earn XP

Description and Tags

Made with help from PMT Comp. Sci. notes

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

6 Terms

1
New cards

The 5 developement methodologies you need to know

  • Waterfall lifecycle

  • Agile methodologies

  • Extreme programming

  • Spiral model

  • Rapid application development

2
New cards

Waterfall lifecycle

  • Includes analysis, design, implementation, evaluation and maintanance

  • Linear process - the stages are completed in sequence

  • Phases can be revisited back in turn

3
New cards

Extreme programming

  • Programming stage is main focus

  • Is a form of agile developement

  • Includes planning, design, code, test

  • Testing is focused throughout developement

  • Prioritises code quality over documentation

  • Encourages the use of pair programming

4
New cards

Spiral model

  • Incremental design

  • Includes planning, design, programming and evaluation

  • At the end of all 4 phases it repeats

  • Each phase usually adds a new element to the problem

  • Is used to manage risk

  • Prioritises riskiest elements first

5
New cards

Alpha testing

  • Testing by the developers

  • Testing in the way the end user would

  • Used when the program is complete

  • Takes place before beta testing

6
New cards

Advantages of a modular approach

  • Work is easier to divide between a team

  • each team member just needs to know what values go into their subroutine and the expected functionality

  • Saves time as work takes place in parallel

  • each team member can work on their area of expertise.

  • Breaks problems into smaller area

  • Easier to test/ debug/ read

  • Each subroutine can be tested before integration.

  • Code can be reused in the project/ future projects