Business Information Systems · T7

Systemdesign – Klassen- & Sequenzdiagramme ⚠️ LÜCKE

Überblick

Das Systemdesign konkretisiert, wie ein System technisch umgesetzt wird. Es baut auf den Requirements-Engineering-Ergebnissen auf und legt Entscheidungen über Klassen, Datenstrukturen und Interaktionsabläufe fest. Prüfungsrelevant ist das Lesen und Interpretieren von Klassendiagrammen und Sequenzdiagrammen, nicht das Zeichnen.

Relevanz: Unterschied Systemarchitektur vs. Systemdesign erklären; Klassen- und Sequenzdiagramme lesen und interpretieren können; Übergang von «Was» (Anforderungen) zu «Wie» (Systemdesign) beschreiben.

Kernkonzepte
  • Systemdesign (Definition): Bezieht sich auf die spezifische Ausarbeitung und Strukturierung der einzelnen Komponenten eines Systems sowie ihrer Interaktionen. Geht sehr ins Detail und legt fest, wie jede Komponente implementiert wird. Enthält Entscheidungen über Programmiersprachen, Frameworks, Datenbanken, Schnittstellen und andere technische Aspekte. Detaillierte Dokumentation zur Unterstützung der Entwickler.
  • Abgrenzung Systemarchitektur vs. Systemdesign: Systemarchitektur = High-Level-Sicht auf die Gesamtstruktur (für Architekten und Stakeholder). Systemdesign = Detail-Sicht auf einzelne Komponenten und ihre Implementierung (für Entwickler).
  • Von «Was» zu «Wie»: Kontextdiagramm, Use Case-Diagramm, Aktivitätsdiagramm (Anforderungsanalyse) beschreiben, was das System tun soll → Diese Informationen fliessen in das Systemdesign: Klassendiagramm und Sequenzdiagramm beschreiben, wie es technisch umgesetzt wird.
  • UML Klassendiagramm: Beschreibt die statische Struktur eines Systems. Klassen und ihre Beziehungen zueinander werden modelliert. Eine Klasse (Class) beschreibt eine Menge von Instanzen mit denselben Merkmalen. Attribute (mindestens Name) und Methoden werden festgehalten. Einsetzbar in Analyse- (Domainmodell), Design- und Implementierungsphase. Beziehungen: Assoziation, Aggregation, Komposition, Vererbung (mit Multiplizitäten wie 0..1, 1, 1..* etc.).
  • UML Sequenzdiagramm: Zeigt, wie Klassen zur Laufzeit interagieren. Beschreibt den zeitlichen Ablauf von Nachrichten/Methodenaufrufen zwischen Objekten. Ergänzt das Klassendiagramm um die dynamische Perspektive.
  • Referenzarchitekturen und Cloud-Notationen: Standardisierte Architekturmuster und anbieterspezifische Notationen (z.B. AWS, Azure, Google Cloud) zur Darstellung von Cloud-Systemdesigns.
Fachwörter & Glossar
  • SystemdesignDetaillierte Ausarbeitung der Systemkomponenten und ihrer Interaktionen; legt technische Umsetzungsentscheidungen fest (Programmiersprachen, Frameworks, Datenbanken).
  • KlasseUML-Element im Klassendiagramm; beschreibt eine Menge von Objekten mit denselben Attributen und Methoden.
  • AttributEigenschaft/Datenelement einer Klasse (z.B. Name, Adresse, Preis).
  • MethodeVerhalten/Operation einer Klasse (z.B. speichern(), berechnen()).
  • AssoziationBeziehung zwischen zwei Klassen im Klassendiagramm; gibt an, dass Objekte der einen Klasse mit Objekten der anderen in Beziehung stehen.
  • MultiplizitätGibt im Klassendiagramm an, wie viele Instanzen einer Klasse an einer Beziehung beteiligt sein können (z.B. 1, 0..1, 1..*, 0..*).
  • KlassendiagrammUML-Diagramm zur Beschreibung der statischen Struktur eines Systems durch Klassen, ihre Attribute, Methoden und Beziehungen.
  • SequenzdiagrammUML-Diagramm, das den zeitlichen Ablauf von Nachrichten zwischen Objekten zur Laufzeit darstellt; zeigt die dynamische Interaktion.
  • ReferenzarchitekturBewährtes, wiederverwendbares Architekturmuster für eine bestimmte Domäne oder Technologie, das als Vorlage dient.
  • DomainmodellKlassendiagramm in der Analysephase; stellt die wichtigsten Konzepte (Entitäten) eines Fachbereichs und ihre Beziehungen dar. ---