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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

All study guides

Read the full guide beside your practice questions.

Open the app