A-Level Computer Science: Software Development Methodologies

This material trains the software development content of A level Computer Science: the main ways of organising a software project, what distinguishes them, and how to choose one for a given situation. It is for Year 12 and Year 13 students, and it is also useful background for the programming project, where the development process has to be documented.

The quiz has twelve questions. Seven check the defining features of each methodology: the fixed sequence of signed-off stages in the waterfall lifecycle and the kind of project it suits, the short iterations and changing requirements of agile development, two extreme programming practices (pair programming and test-driven development), risk analysis in every loop of the spiral model, and the prototypes and time-boxing of rapid application development with their limits. Two are scenarios in which the student chooses a methodology: a client who is unsure what she wants and can meet every week, and a very large government project that depends on untested technology. The last three cover the difference between throwaway and evolutionary prototypes, beta testing compared with alpha and acceptance testing, and which stage of the systematic approach produces the requirements specification.

Every explanation names the feature of the scenario or the description that decides the answer, and says which methodology the tempting wrong answers describe.

The flashcards cover the waterfall lifecycle and when it suits a project, agile methods and their drawbacks, extreme programming, pair programming, test-driven development, the spiral model, rapid application development, time-boxing, the two kinds of prototype, alpha, beta and acceptance testing, black-box and white-box testing, and the stages of the systematic approach.

The written work has eight longer tasks to answer on paper: the waterfall stages with advantages and disadvantages, agile principles and four extreme programming practices, the spiral model and when it fits, rapid application development for a sports club and a power station, choosing methodologies for three different projects, throwaway and evolutionary prototypes, the kinds of testing, and why an agile approach suits a student's own programming project. Each task has a model answer and the points a marker would look for. Where more than one choice could be defended, the marking points reward the justification.

There is also a short oral practice with an examiner, who builds questions on invented project scenarios, judges the justification rather than a single expected answer, and gives brief feedback at the end.

The content is based on the software development sections of the A level specifications, for example OCR H446 section 1.2.3 (waterfall, agile methodologies, extreme programming, the spiral model and rapid application development, with their merits and drawbacks) and AQA 7517 section 4.13 (analysis, design, implementation, testing and evaluation, and prototyping).

  • Describe the waterfall lifecycle, agile methods, extreme programming, the spiral model and RAD
  • Explain the merits and drawbacks of each methodology
  • Choose and justify a methodology for a described project
  • Distinguish throwaway and evolutionary prototypes
  • Describe alpha, beta and acceptance testing and black-box and white-box testing
  • Identify the stages of the systematic approach to development

Practice material written by Zestly, based on the software development content of the A level Computer Science specifications (for example OCR H446 section 1.2.3 and AQA 7517 section 4.13).

Sample question

Which statement best describes the waterfall lifecycle?

See the answer

Development moves through a fixed sequence of stages, such as requirements, design, implementation, testing and maintenance, each finished and signed off before the next begins, so going back to change an earlier stage is costly

The waterfall model is linear: each stage produces documents that feed the next, and the stages happen one after another. It is easy to plan and manage, but the user sees working software late, and a mistake in the requirements found during testing is expensive to fix. Two-week releases describe agile methods, risk-driven cycles the spiral model, and pair programming extreme programming.

← Computer Science

↑ A-Level