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
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.
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.
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
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.
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.
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
- Programming languages study guideGKU 7 · 11 sections
- Algorithms, computability and complexity study guideGKU 1 · 11 sections
- Discrete structures study guideGKU 3 · 9 sections
- Computer architecture and organization study guideGKU 2 · 12 sections
- Operating systems study guideGKU 6 · 13 sections
- Information management: database systems and data modelling study guideGKU 4 · 10 sections
- Networking study guideGKU 5 · 10 sections