67 lines
10 KiB
HTML
67 lines
10 KiB
HTML
<!-- ==========================================================================
|
||
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>
|