STUDY GUIDE · GKU 8

Software engineering study guide (Computer Science)

Software engineering is what turns a program that works on the author's laptop into a system that a team can build, check, change and run for years. This unit follows a system through its life. The first part covers how the work is organised — process models, lifecycle phases, risks and effort estimates — and how a system is specified: what kind of system it is, its data model, its use cases and its functional and non-functional requirements. The second part covers how it is built and checked: design principles and architecture, integration and testing, and code inspection, complexity measurement and defect tracking. Each section opens with a quick-revision card; worked examples run from easy to exam level, and every listing in them was run.

Structured by the official ETEC subject standard for this topic: every listed topic and learning outcome, with formulas, figures and worked examples. The full sections are available to members in the app.

SKU 8.1 · Software processes, management and requirements engineering

  1. Development processes, lifecycle, risk and estimation

    The lifecycle phases and what each delivers; waterfall, V-model, incremental, spiral and agile, and how to choose; risk exposure; and effort estimation with basic COCOMO.

  2. Kinds of software system and data modelling

    How information-management, embedded, process-control and communications systems interact with their environment, and the parts of a data model: class diagrams and ER diagrams.

  3. Software engineering foundations and requirements

    Why software needs engineering, functional and non-functional requirements and how to write them, elicitation techniques and their challenges, use cases, and how to analyse a requirements model.

SKU 8.2 · Software design, construction, verification and validation

  1. Design principles and software architecture

    Abstraction, encapsulation, coupling and cohesion; structured and object-oriented design; architectural styles; dependency metrics; and design mechanisms for reliability, efficiency and robustness.

  2. Integration strategies and testing methods

    Verification versus validation; big-bang, top-down, bottom-up and sandwich integration with stubs and drivers; black-box and white-box test design; and documenting a test set.

  3. Code analysis, inspection and defect tracking

    Static and dynamic analysis, cyclomatic complexity, how a code inspection is run and what it looks for, and how defects are reported, tracked and measured.

MORE COMPUTER SCIENCE GUIDES

All study guides

Read the full guide beside your practice questions.

Open the app