STUDY GUIDE · GKU 5
Software engineering study guide (Artificial Intelligence)
A trained model is a small part of an AI product. Around it sit data pipelines, an API, a user interface, monitoring and the people who build and run all of it, and software engineering is how that whole system gets specified, organised, designed and kept changeable. The first part of this unit covers process: the kinds of system software must interact with, the waterfall, iterative, spiral and agile process models, the lifecycle with its deliverables and team roles, and how to write functional and non-functional requirements, including the ones peculiar to ML. The second part covers design: coupling, cohesion and encapsulation, architectural styles, design patterns, refactoring, and contracts for components. Each section opens with a quick-revision card, and the worked examples run from easy to exam level.
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 5.1 · Software processes and requirements engineering
How software interacts with other systems
Information-management, embedded, process-control and communications systems: what each one interacts with, what makes it hard, and where an ML model sits inside each.
Process models: waterfall, iterative, spiral and agile
How plan-driven and agile processes organise the same activities differently, Scrum's roles and events, why ML projects are iterative by nature, and how to choose a model from the project's requirements stability, risk and regulation.
The lifecycle: phases, deliverables, team roles and conflict
What each lifecycle phase produces, the extra phases and artefacts of an ML system (data, model, monitoring), who does what in a team, how to plan a small project with a critical path, and how a team resolves disagreement.
Functional and non-functional requirements
Telling a functional requirement (what the system does) from a non-functional one (how well, under what constraints), the ISO/IEC 25010 quality characteristics, making requirements measurable, splitting mixed statements, and the extra requirements an ML component needs.
SKU 5.2 · Software design
Design principles: coupling, cohesion and encapsulation
Encapsulation and information hiding, the levels of coupling and cohesion, the SOLID principles with dependency inversion, and package instability as a way to check which way dependencies should point.
Software architecture and components
The common architectural styles (layered, client-server, MVC, pipe-and-filter, event-driven, microservices), the usual architecture of an ML system, modelling a design with a paradigm, and choosing ready-made components.
Design patterns
What a design pattern is, the three groups of the Gang of Four catalogue, and the patterns an AI developer meets most — Strategy, Observer, Factory Method, Adapter, Proxy, Decorator, Facade and Singleton — with when to use each.
Refactoring
Refactoring as behaviour-preserving restructuring, the code smells that call for it, the common refactorings (Extract Method, Rename, Introduce Constant, Extract Class, Replace Conditional with Polymorphism), when to refactor and when not, and how it differs from bug fixing and re-engineering.
Contract design for a small component
Design by contract: preconditions, postconditions and invariants, who is to blame when one is broken, the substitution rule for subtypes, and the habits of a good component interface — minimal, explicit inputs, no hidden global state, defined errors.
MORE ARTIFICIAL INTELLIGENCE GUIDES
- Fundamentals of artificial intelligence study guideGKU 6 · 12 sections
- Programming study guideGKU 2 · 10 sections
- Machine learning study guideGKU 7 · 13 sections
- Ethics, privacy and security study guideGKU 8 · 7 sections
- Networks study guideGKU 4 · 4 sections
- Algorithms, computability and complexity study guideGKU 1 · 10 sections
- Applied computer science: databases and operating systems study guideGKU 3 · 8 sections