AISE502/moodle/lecture_script.html

67 lines
10 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- ==========================================================================
AISE502 · Moodle course page · section "Lecture script"
Section title (Edit section → Section name): 📘 Lecture script
Paste into one 'Text and media area'. Add the script PDF (skript/AISE502_Vorlesung_Skript.pdf)
as a file resource directly below it, or replace the [link] placeholder with its URL.
Generated by src/build_moodle.py – the reading plan is derived from src/content/week_*.json.
========================================================================== -->
<h4>📘 The lecture script: <em>A Theory of Architecture–Application Fit</em></h4>
<p>The lecture notes <strong>AISE502: AI in Software Engineering II – Lecture Notes, Core Part: A Theory of
Architecture–Application Fit</strong> (Dr. Florian Herzog, FH Graubünden, Autumn Semester 2026; five parts,
45 sections, about 212 pages) are the backbone of this module. They develop one coherent theory:
software architecture is the set of significant, hard-to-reverse decisions, driven by measurable quality
attributes, made by systematically matching an application's requirements profile against the capability
profiles of architectural patterns, and validated empirically over the whole software lifecycle.</p>
<ul>
<li><strong>Part I – Architecture as a Decision Problem</strong> (Sections 1–7): the decision problem, the
twelve profile dimensions as the shared coordinate system, the requirements profile R(a), the capability
profile C(p), the three-stage match fit(a,p), Architecture Decision Records and the measurement of a decision.</li>
<li><strong>Part II – Capability Profiles: The Seven Architectural Patterns</strong> (Sections 8–17): layered,
modular monolith, hexagonal, microservices, event-driven, pipes-and-filters and serverless – each developed
from the real problem that produced it, with its tactics, capability profile and engineering consequences
(“build it and study it”); stepping back; outlook on agent orchestration.</li>
<li><strong>Part III – Requirements Profiles: The Ten Application Classes</strong> (Sections 18–29): from core
banking (C1) to AI-native advisory platforms (C10) – challenges, weighted requirements profiles, hard
constraints, and what real systems chose.</li>
<li><strong>Part IV – The Fit: Matching, Decision Procedure, and Measurement</strong> (Sections 30–39): three
worked matches, the procedure in general, the 7 × 10 matching matrix and its cell rationales, hybrids and
evolution paths, the decision procedure, the measurement contract (fitness functions, DORA metrics),
Conway's law and team topologies, and the limits of the theory.</li>
<li><strong>Part V – The AI Dimension: Tool and Component</strong> (Sections 40–45): AI as a tool in the
lifecycle (Axis A) and AI as a non-deterministic runtime component (Axis B), how AI shifts the matrix,
agent orchestration as the emergent eighth pattern, and the synthesis of the theory.</li>
</ul>
<p><strong>How the script is used.</strong> Every weekly section names the sections to read before the lecture
(reading plan below). The project's design deliverables A1 and A2 use its methods – quality attribute scenarios,
utility tree, R(a), the three-stage match, ADR, measurement contract. And it is the open-book material of the
written examination: script and own notes on paper, closed internet; the reading for the examination is the
whole script, Parts I–V.</p>
<div style="border-left:4px solid #e0a800; background:#fff8e1; padding:8px 12px; margin:10px 0;">⚠️ <strong>Living document – the script can change during the semester.</strong> The notes are
altered and updated along the lecture: corrections, sharper wording and additional examples are worked in as
we go, and section or page numbers may shift as a result. The version on this page is always the current one.
Re-download it after every announced update and discard older copies – including printed ones you intend to
bring to the examination.</div>
<p>📄 <strong>Download:</strong> AISE502_Vorlesung_Skript.pdf – [link]</p>
<h5>Reading plan: which sections belong to which week</h5>
<table style="width:100%; border-collapse:collapse; margin:6px 0 12px 0;">
<tr><th style="text-align:left; border-bottom:2px solid #999; padding:4px 8px; vertical-align:top;">Week</th><th style="text-align:left; border-bottom:2px solid #999; padding:4px 8px; vertical-align:top;">Lecture</th><th style="text-align:left; border-bottom:2px solid #999; padding:4px 8px; vertical-align:top;">Script sections</th></tr>
<tr><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">1</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Lecture 1: Architecture as a Decision Problem</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Part I, Sections 1–2 (Section 2: introduced this week, completed in week 2)</td></tr>
<tr><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">2</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Lecture 2: The Twelve Dimensions – and How Requirements Become Measurable</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Part I, Sections 2–3 (Section 2: completed this week)</td></tr>
<tr><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">3</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Lecture 3: The Supply Side, the Match, and the Decision Record</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Part I, Sections 4–6</td></tr>
<tr><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">4</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Lecture 4: Patterns I – Layered, Modular Monolith, Hexagonal</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Part II, Sections 8–10</td></tr>
<tr><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">5</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Lecture 5: Patterns II – Microservices and Event-Driven Architecture</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Part II, Sections 11–12</td></tr>
<tr><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">6</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Lecture 6: Pipelines, Serverless, the View Across – and Your Class (C10)</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Part II, Sections 13–17; Part III, Section 28 (Sections 19–20: preview of the C1/C2 mirror pair only; read in full in week 8)</td></tr>
<tr><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">7</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Lecture 7: The Fit, Formally – Three Cases, the Procedure, the Matrix</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Part IV, Sections 30–32, 34, 37 (Section 37: introduction only)</td></tr>
<tr><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">8</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Lecture 8: Requirements Profiles I – Application Classes C1–C5</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Part III, Sections 18–23</td></tr>
<tr><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">9</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Lecture 9: Classes C6–C9 – and Ten Profiles Side by Side</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Part III, Sections 24–27, 29</td></tr>
<tr><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">10</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Lecture 10: The Fit II – Hybrids, Evolution Paths, and the Decision Procedure</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Part IV, Sections 35–36, 33</td></tr>
<tr><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">11</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Lecture 11: The Fit III – The Measurement Contract, Conway's Law, and the Limits of the Theory</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Part IV, Sections 37–39</td></tr>
<tr><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">12</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Lecture 12: The AI Dimension I – Axis A Evidence, Axis B Foundations</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Part V, Sections 40–42 (Section 42: subsections 42.1–42.5 only)</td></tr>
<tr><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">13</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Lecture 13: Threats, the Shifted Matrix, Agent Orchestration – and Synthesis</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Part V, Sections 42–45 (Section 42: subsections 42.6–42.7 only)</td></tr>
<tr><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">14</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">Lecture 14: Synthesis, Presentations, and Architecture Defence</td><td style="border-bottom:1px solid #ddd; padding:4px 8px; vertical-align:top;">–</td></tr>
</table>
<p><em>Section 7 (Summary: The Red Line) closes Part I and is not assigned to a particular week; Section 28 (C10)
is read in week 6 because it is the class of the course project.</em></p>