Analyse und Design objektorientierter Softwaresysteme mit der Unified Modeling Language (UML) - Cheatsheet.pdf

Analyse und Design objektorientierter Softwaresysteme mit der Unified Modeling Language (UML) - Cheatsheet
Analyse und Design objektorientierter Softwaresysteme mit der Unified Modeling Language (UML) - Cheatsheet Geschichte und Entwicklung von UML Definition: Unified Modeling Language (UML) wurde in den 1990er Jahren entwickelt, um die Vielzahl von Diagrammtechniken zu standardisieren, die zur Modellierung von Softwaresystemen verwendet wurden. Details: Ursprung: 1994 durch Grady Booch, James Rumbaugh...

© StudySmarter 2024, all rights reserved.

Analyse und Design objektorientierter Softwaresysteme mit der Unified Modeling Language (UML) - Cheatsheet

Geschichte und Entwicklung von UML

Definition:

Unified Modeling Language (UML) wurde in den 1990er Jahren entwickelt, um die Vielzahl von Diagrammtechniken zu standardisieren, die zur Modellierung von Softwaresystemen verwendet wurden.

Details:

  • Ursprung: 1994 durch Grady Booch, James Rumbaugh und Ivar Jacobson bei Rational Software entwickelt
  • 1997: UML 1.1 als Standard durch die Object Management Group (OMG) angenommen
  • Hauptziel: einheitliche und verständliche Darstellung von Softwarearchitekturen
  • Aktuelle Version: UML 2.5.1 (seit Dez. 2017)
  • Bietet diverse Diagrammtypen: Klassendiagramme, Use-Case-Diagramme, Sequenzdiagramme, Aktivitätsdiagramme etc.

Grundkonzepte der Modellierung

Definition:

Grundkonzepte der Modellierung: fundamentale Prinzipien und Abstraktionstechniken, die in der Softwaremodellierung verwendet werden.

Details:

  • Abstraktion: Reduktion der Komplexität durch Hervorhebung wichtiger Details.
  • Kapselung (Encapsulation): Verbergen der internen Zustände eines Objekts und Bereitstellung von Schnittstellen zur Interaktion.
  • Modularität: Zerlegung eines Softwaresystems in unabhängige Module, die getrennt entwickelt und gewartet werden können.
  • Hierarchie: Strukturierung von Modellen in verschiedene Ebenen oder Schichten zur besseren Organisation.
  • Komposition: Zusammenfügen kleinerer Teile zu komplexeren Einheiten.
  • Generalisierung und Spezialisierung: Zusammenfassen ähnlicher Konzepte zu allgemeineren Konzepten und Ableiten speziellerer Konzepte aus allgemeinen.
  • Assoziation: Definition von Beziehungen zwischen Objekten.

Übersicht der verschiedenen UML-Diagrammtypen

Definition:

Kurze Übersicht der verschiedenen UML-Diagrammtypen für die Modellierung objektorientierter Softwaresysteme.

Details:

  • Anwendungsfalldiagramm: Darstellung der Interaktionen zwischen Akteuren und dem System.
  • Klassendiagramm: Struktur des Systems durch Klassen, Attribute und Methoden.
  • Objektdiagramm: Instanzen von Klassen und deren Beziehungen zu einem bestimmten Zeitpunkt.
  • Sequenzdiagramm: Zeitliche Abfolge von Nachrichten zwischen Objekten.
  • Kollaborationsdiagramm (Kommunikationsdiagramm): Interaktionen zwischen Objekten und deren Struktur.
  • Zustandsdiagramm: Zustände und Übergänge von Objekten während ihres Lebenszyklus.
  • Aktivitätsdiagramm: Logischer Ablauf von Aktivitäten und Workflows.
  • Komponentendiagramm: Struktur und Abhängigkeiten von Softwarekomponenten.
  • Verteilungsdiagramm: physikalische Verteilung von Softwarekomponenten auf Hardware.

Beziehungen in Klassendiagrammen (Assoziationen, Vererbungen, Aggregationen)

Definition:

Beziehungen in Klassendiagrammen definieren die Verbindungen zwischen Klassen. Drei Grundtypen: Assoziationen, Vererbungen, Aggregationen.

Details:

  • Assoziation: Verbindung zwischen Klassen; repräsentiert z.B. Nutzung oder Zusammenarbeit.
  • Vererbung: Eine Klasse erbt Attribute und Methoden von einer anderen; dargestellt durch eine Linie mit einem unvollständigen Dreieck.
  • Aggregation: Spezielle Form der Assoziation; Ganzes-Teil-Beziehung, wobei das Teil unabhängig existieren kann; dargestellt durch eine Raute an der Seite des Ganzen.

Erstellung und Interpretation von Objektdiagrammen

Definition:

Objektdiagramme zeigen spezifische Instanzen von Klassen zu einem bestimmten Zeitpunkt. Sie dienen zur Visualisierung von konkreten Objekten und deren Beziehungen in einem System.

Details:

  • Objekte werden durch Rechtecke dargestellt, die den Klassennamen und die Attributwerte enthalten.
  • Beziehungen zwischen Objekten werden durch Linien illustriert.
  • Diagramme helfen, das Verhalten eines Systems zu einem bestimmten Zeitpunkt zu verstehen.
  • Nützlich für die Validierung von Klassendiagrammen.
  • Zeigen eine Momentaufnahme des Systems anstelle des gesamten Lebenszyklus.

Darstellung von Nachrichtenfluss in Sequenzdiagrammen

Definition:

Veranschaulicht den Austausch von Nachrichten zwischen Objekten im zeitlichen Verlauf.

Details:

  • Sequenzdiagramm zeigt Interaktionen zwischen Objekten in der zeitlichen Abfolge
  • Hauptkomponenten: Akteure, Objekte, Lebenslinien, Nachrichten
  • Nachrichtenfluss durch Pfeile dargestellt
  • Synchroner Nachrichtentyp: durchgezogener Pfeil mit geschlossener Pfeilspitze
  • Asynchroner Nachrichtentyp: durchgezogener Pfeil mit offener Pfeilspitze
  • Rückgabewerte: gestrichelte Pfeile
  • Selbstaufruf: Schleifen innerhalb einer Lebenslinie
  • Aktivitätsbalken zeigen aktive Objektphasen

Schlüsselkonzepte von Zustandsdiagrammen (Zustandsmaschinen, Übergangsbedingungen)

Definition:

Zustandsdiagramme visualisieren die Zustände eines Objekts und die Übergänge zwischen diesen Zuständen in einem Softwaresystem.

Details:

  • Zustandsmaschinen: Modellieren das Verhalten eines Objekts durch Zustände und Übergänge.
  • Zustände: Beschreiben die mögliche Konfiguration eines Objekts zu einem bestimmten Zeitpunkt.
  • Übergänge: Definieren Wechsel zwischen Zuständen aufgrund von Ereignissen.
  • Übergangsbedingungen: \textit{guard conditions}, die erfüllt sein müssen, damit ein Übergang stattfindet.
  • Zustandswechsel: Wird durch Trigger \textit{(events)} initiiert.

Darstellung von Aktionen und Kontrollflüssen in Aktivitätsdiagrammen

Definition:

Darstellung von Aktionen und Kontrollflüssen in Aktivitätsdiagrammen.

Details:

  • Aktionen: Elementaroperationen im Diagramm, dargestellt durch Rechtecke mit abgerundeten Ecken.
  • Kontrollflüsse: Verbinden die Aktionen, dargestellt durch gerichtete Pfeile.
  • Startpunkt: Initialknoten, dargestellt als ausgefüllter Kreis.
  • Endpunkt: Aktivitätsendknoten, dargestellt als ausgefüllter Kreis mit äußerem Ring.
  • Verzweigungen: Entscheidungs- und Zusammenführungsknoten, dargestellt durch Rhomben.
  • Parallele Ausführung: Gabelungs- und Synchronisationsknoten, dargestellt durch dicke Balken.
  • Schleifen: Kontrollstrukturen zur wiederholten Ausführung von Aktionen.
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden