Objektorientiertes Design und UML: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 26: | Zeile 26: | ||
* '''Komponentendiagramm''' | * '''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 wie Komponenten über Abhängigkeitsbeziehung und Konnektoren miteinander verbunden sind. | ** 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''' | * '''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. | ** Die Darstellung umfasst dabei typischerweise Rechnerknoten, Komponenten, Artefakte, Ausprägungsspezifikationen, Verbindungen und Verteilungsbeziehungen. | ||
| Zeile 37: | Zeile 37: | ||
** Zeigt die Struktur des modellierten Systems für einen limitierten Zeitabschnitt bzw. konkreten Zeitpunkt (Momentaufnahme). | ** 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. | ** Die Darstellung umfasst dabei typischerweise Ausprägungsspezifikationen von Klassen und Assoziationen. | ||
* '''Paketdiagramm''' | * '''Paketdiagramm''' | ||
Version vom 8. Januar 2021, 14:36 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
TODO: Hier soll beschrieben werden was modellieren im allgemeinen und dann speziell in der Softwareentwicklung bedeutet.
Modellieren allgemeine Definition:
plastisch formen, gestallten, bearbeiten, durch Modellieren bilden
Modellieren in der Softwareentwicklung:
Modellieren in der Softwareentwicklung wird auch Softwaredesign genannt. Softwaredesign ist oft wichtig wegen der Komplexität der Computerprogramme, um das Risiko der "Fehlentwicklung" zu minimieren. Bevor die Software modelliert wird, werden im Zuge der Anforderungserhebung zunächst die einzelnen Anforderungen designiert. Diese werden meistens von Auftraggeber und Auftragnehmer gemeinsam ausgesucht.
Modellieren wird also zur visuellen Darstellung von Programmen 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.
Die Diagramme in UML lassen sich in zwei Hauptgruppen aufteilen: Strukturdiagramm und Verhaltensdiagramme.
Strukturdiagramme:
- Klassendiagramm
- Dient zur graphischen Darstellung von Klassen (=abstrakter Oberbegriff für die Beschreibung der gemeinsamen Struktur und des gemeinsamen Verhalten von Objekten), Schnittstellen sowie deren Beziehungen
- 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.
- 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 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
UML Klassendiagramm
UML Sequenzdiagramm
TODO: Bitte Beachten
Wenn möglich versuche die Quellen für die Information zu nennen. Wir nehmen das hier nicht so genau, aber es sollte möglich sein die entsprechende Seite aus der die Information entnommen wurde zu finden.
Bilder bitte direkt mit Quelle (Beispiel)
