Flashcards
Software Development Methodologies
Cards in this deck (15)
- 1Waterfall FeaturesSteps are completed in a linear and sequential manner
Possible to backtrack stages - 2Waterfall AdvantagesFocus on documentation - improves quality of final product
Easy to understand and manage - helpful for small dev teams
Well-defined stages and requirements - 3Waterfall DisadvantagesLack of end-user input
Not flexible so unsuitable for riskier projects
Backtracking will be required if problems are discovered late in development, so may be very expensive - 4Spiral FeaturesCentred around risk management
Has 4 main stages:
1. Determine objectives
2. Identify and resolve risks
3. Develop and test
4. Plan the next iteration
Involves development of prototypes by iterating through these stages - 5Spiral AdvantagesControls risk
Scales well to large projects
Flexible enough to add changes to requirements - 6Spiral disadvantagesExpensive as specialist risk planners are required
Complex to manage
Often doesn't prioritise code efficiency - 7Agile FeaturesA large group of methodologies may be collectively deemed as agile
All consist of potentially non-linear development stages
Mostly built on iterative processes
Emphasis placed on code quality, simplicity (YAGNI) and flexibility to cope with user requirements - 8Agile AdvantagesFlexible enough to cope with changing requirements
Customer involvement ensures requirements are met
Code is efficient and contains few bugs - 9Agile DisadvantagesClient representative required
Requires collaboration between developers
Higher cost to develop - 10Rapid Application Development (RAD)Focus on code over documentation
Uses workshops and focus groups for requirement gathering
Consists of building prototypes and refining them over multiple iterations, with end-user feedback at each stage
Emphasises code reuse and time limits - 11RAD AdvantagesFlexible enough to deal with changing requirements
Customers involved at each stage
Ensures a high level of functionality in the final product
Reduces the likelihood of getting bogged down by suggested improvements - developers are constantly chasing a moving target - 12RAD DisadvantagesClient representative required
Doesn't scale easily
Time limits for project development may mean code is inefficient - 13Extreme Programming (XP)Agile methodology
Emphasis on coding
Customer representative provides requirements and answers questions from the dev team
Short iterations using paired programming (programmers work in pairs - one codes, the other evaluates and they swap)
Code is often refactored and tested in parallel with development - 14Advantages of XPVery flexible - can deal with changing requirements
High level of customer involvement
High-quality code through paired programming and refactoring - 15Disadvantages of XPClient representative required at all times
Requires collaboration between programmers
Increases development costs
Information
- Description
- A level OCR A level Computer Science (Topic 3 - Software Development) Flashcards on Software Development Methodologies, created by James Norman on 27/01/2020.
- Created by
- James Norman
- Views
- 0
- Rating