Objektorientiertes Design und UML: Unterschied zwischen den Versionen

Aus CCWiki
Zur Navigation springen Zur Suche springen
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 13: Zeile 13:
Die '''U'''nified '''M'''odeling '''L'''anguage ('''UML'''), ist eine grafische Modellierungssprache zur Beschreibung von Softwaresystemen. Der Grundgedanke der '''UML''' besteht darin, eine einheitliche Notation für viele Einsatzgebiete zu haben.
Die '''U'''nified '''M'''odeling '''L'''anguage ('''UML'''), ist eine grafische Modellierungssprache zur Beschreibung von Softwaresystemen. Der Grundgedanke der '''UML''' besteht darin, eine einheitliche Notation für viele Einsatzgebiete zu haben.


'''UML''' gilt als Standard zur Analyse und Design objektorientierter Anwendungen. Sie bietet ein Gerüst, um so unterschiedliche Applikationen wie Datenbankanwendungen, Echtzeitsysteme oder Grafikprogramme einheitlich darstellen zu können. Die Aufgabe der '''UML''' ist Spezifikation, Visualisierung und Dokumentation von Modellen für Softwaresysteme. Sie wird von der '''O'''bject '''M''' '''G'''roup entwickelt und ist sowohl von ihr als auch von der ISO (International Standard Organisation) zertifiziert.
'''UML''' gilt als Standard zur Analyse und Design objektorientierter Anwendungen. Sie bietet ein Gerüst, um so unterschiedliche Applikationen wie Datenbankanwendungen, Echtzeitsysteme oder Grafikprogramme einheitlich darstellen zu können. Die Aufgabe der '''UML''' ist Spezifikation, Visualisierung und Dokumentation von Modellen für Softwaresysteme. Sie wird von der '''O'''bject '''M'''anagement '''G'''roup entwickelt und ist sowohl von ihr als auch von der ISO (International organisation for standardization) zertifiziert.


Die Diagramme in '''UML''' lassen sich in zwei Hauptgruppen aufteilen, Struktur- und Verhaltensdiagramme, welche im folgenden anhand von Vertretern der jeweiligen Gruppe kurz  beschrieben werden.
Die Diagramme in '''UML''' lassen sich in zwei Hauptgruppen aufteilen, Struktur- und Verhaltensdiagramme, welche im folgenden anhand von Vertretern der jeweiligen Gruppe kurz  beschrieben werden.

Aktuelle Version vom 5. März 2021, 09:40 Uhr

Im folgenden wird zuerst auf die Begriffe UML und modellieren eingegangen. In weiterer Folge werden wir uns mit zwei gebräuchlichen Diagrammtypen, dem Klassendiagramm und dem Sequenzdiagramm beschäftigen.

Modellieren

Hier soll beschrieben werden was modellieren im Allgemeinen und dann speziell in der Softwareentwicklung bedeutet.

Modellieren allgemeine Definition

Modellieren bedeutet plastisch formen, gestalten, bearbeiten oder etwas durch Modellieren bilden.

Modellieren in der Softwareentwicklung

Modellieren in der Softwareentwicklung wird auch Softwaredesign genannt. Softwaredesign ist oft aufgrund der Komplexität von Computerprogrammen wichtig, um das Risiko der "Fehlentwicklung" zu minimieren. Bevor die Software modelliert wird, werden im Zuge der Anforderungserhebung zunächst die einzelnen Anforderungen erhoben. Diese Anforderungen werden meistens von Auftraggeber und Auftragnehmer gemeinsam erarbeitet.

Modellieren kann also zur visuellen Darstellung von Programmen, der Softwarearchitektur, Programmabläufen, Datenflüssen, usw. verwendet.

UML

Die Unified Modeling Language (UML), ist eine grafische Modellierungssprache zur Beschreibung von Softwaresystemen. Der Grundgedanke der UML besteht darin, eine einheitliche Notation für viele Einsatzgebiete zu haben.

UML gilt als Standard zur Analyse und Design objektorientierter Anwendungen. Sie bietet ein Gerüst, um so unterschiedliche Applikationen wie Datenbankanwendungen, Echtzeitsysteme oder Grafikprogramme einheitlich darstellen zu können. Die Aufgabe der UML ist Spezifikation, Visualisierung und Dokumentation von Modellen für Softwaresysteme. Sie wird von der Object Management Group entwickelt und ist sowohl von ihr als auch von der ISO (International organisation for standardization) zertifiziert.

Die Diagramme in UML lassen sich in zwei Hauptgruppen aufteilen, Struktur- und Verhaltensdiagramme, welche im folgenden anhand von Vertretern der jeweiligen Gruppe kurz beschrieben werden.

Strukturdiagramme

  • Kompositionsstrukturdiagramm
    • Zeigt einheitlich das Innere eines Klassifizierers (Metaklasse = Klasse einer Klasse) und dessen Wechselwirkung mit seiner Umgebung.
  • Komponentendiagramm
    • Stellt die Zusammenhänge der einzelnen Komponenten einer zu erstellenden Softwarelösung dar.
    • Die Darstellung umfasst dabei typischerweise Komponenten mit deren Schnittstellen bzw. Ports und zeigt auch wie Komponenten über Abhängigkeitsbeziehung und Konnektoren miteinander verbunden sind.
  • Verteilungsdiagramm
    • Dient zur Darstellung der Verteilung von Komponenten auf Rechenknoten.
    • Zeigt wie Komponenten konfiguriert sind und welche Abhängigkeiten bestehen
    • Die Darstellung umfasst dabei typischerweise Rechnerknoten, Komponenten, Artefakte, Ausprägungsspezifikationen, Verbindungen und Verteilungsbeziehungen.
  • Objektdiagramm
    • Zeigt die Struktur des modellierten Systems für einen limitierten Zeitabschnitt bzw. konkreten Zeitpunkt (Momentaufnahme).
    • Die Darstellung umfasst dabei typischerweise Ausprägungsspezifikationen von Klassen und Assoziationen.
Ähnlich dem Klassendiagramm, jedoch werden die Objekte, also konkrete Instanzen von Klassen mit deren Werten dargestellt.
  • Paketdiagramm
    • Dient der Strukturierung der verschiedenen Darstellungen.
    • Pakete ermöglichen einen guten Überblick über ein Gesamtsystem (für große Systeme sehr wichtig)
    • Die Darstellung umfasst dabei typischerweise Pakete, Paketverschmelzungen, Paketimports und Abhängigkeitsbeziehungen.
  • Profildiagramm
    • Wird in der Metamodellebene verwendet, um sogenannte Stereotype mit Klassen anzuzeigen
    • Diese haben dann die Bezeichnung <<stereotype>> oder bei Profilen und Paketen <<profile>> bekommen.

Verhaltensdiagramme

  • Aktivitätsdiagramm
    • Es wird meist der Ablauf eines Anwendungsfalls beschrieben, es eignet sich aber auch zur Modellierung aller Aktivitäten innerhalb eines Systems.
  • Anwendungsfalldiagramm (Use-Case Diagramm)
    • Beschreibt das Zusammenwirken von Personen (Aktoren) mit einem System.
    • Es stellt Anwendungsfälle und Akteure mit ihren jeweiligen Abhängigkeiten und Beziehungen dar.
  • Interaktionsübersichtsdiagramm
  • Kommunikationsdiagramm
    • Stellt den Austausch von Nachrichten dar.
  • Sequenzdiagramm
    • Stellt die einzelnen Objekte und ihre Interaktion (auf zeitlichen Ablauf bezogen) dar
  • Zeitverlaufsdiagramm
    • Ist ein zweidimensionales Diagramm, wobei auf der x-Achse die Zeit, und auf der y-Achse Zustände von Objekten aufgetragen werden.
    • Dieser Diagrammtyp ähnelt damit der Anzeige eines Oszilloskops, wird also seit langem in der Elektrotechnik verwendet.
  • Zustandsdiagramm
    • Visualisiert die unterschiedlichsten Zustände, die Objekte in ihrem Leben annehmen können
    • Wird benutzt, um das Verhalten eines Systems oder die zulässige Nutzung der Schnittstellen eines Systems zu spezifizieren

Diagramme