STUDY GUIDE · GKU 3
Software modelling and analysis study guide (Software Engineering)
A model is a deliberate simplification that answers a question about a system before, or instead of, building it. This guide covers why and how engineers model, the three kinds of model — information, structure and behaviour — and how to choose among them, analysis class models with multiplicities, use-case, activity and state models of behaviour, formal specification with pre- and postconditions and invariants, the analysis that checks models for completeness, consistency and correctness, and traceability links that tie requirements, models, code and tests together.
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 3.1 · Foundations of modelling and analysis
Modelling foundations and types of model
What a model is and what makes it useful, the principles of modelling, the classification of models by what they describe (information, structure, behaviour) and by how precise they are, and how to select a modelling method for a question.
Information and structure modelling: analysis class models and multiplicities
Building an analysis class model from requirements text, choosing between class and attribute, associations, generalisation and association classes, reading multiplicities, and checking whether a model's multiplicities can be met by a given population of objects.
Behaviour modelling: use cases, activity diagrams and state machines
The three behaviour models used in analysis — use-case models for goals, activity diagrams for workflows with decisions and parallel steps, state machines for objects whose reaction depends on history — and how to count the scenarios a model contains.
Formal specification: invariants, preconditions and postconditions
Specifying a system as a state with an invariant and operations with pre- and postconditions, the proof obligation that every operation preserves the invariant, and how this finds errors in a specification before any code is written.
Engineering analysis of models: completeness, consistency and correctness
What engineering analysis means for software, the three properties every model is checked for, the concrete checks for each — state-event coverage, determinism of guards, reachability, cross-model agreement — and a worked analysis that finds defects in a model before any code exists.
Implementing traceability across models, code and tests
Trace links as a directed graph from requirements through model elements and code to tests, the standard kinds of link, computing the impact of a change and the reasons behind an element by reachability, and the practices that keep links alive in a real project.
MORE SOFTWARE ENGINEERING GUIDES
- Computing foundations study guideGKU 1 · 23 sections
- Engineering fundamentals study guideGKU 2 · 13 sections
- Ethical and professional practice study guideGKU 7 · 7 sections
- Software design study guideGKU 5 · 9 sections
- Software verification and validation study guideGKU 6 · 7 sections
- Software quality study guideGKU 8 · 7 sections
- Requirements analysis and specification study guideGKU 4 · 7 sections