Objektorientiertes Design und UML: Unterschied zwischen den Versionen

Aus CCWiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Julian Walter (Diskussion | Beiträge)
Zeile 1: Zeile 1:
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.
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 =
= Modellieren =
TODO: Hier soll beschrieben werden was '''modellieren''' im allgemeinen und dann speziell in der Softwareentwicklung bedeutet. <br> <br>
Hier soll beschrieben werden was '''modellieren''' im allgemeinen und dann speziell in der Softwareentwicklung bedeutet. <br> <br>
Modellieren allgemeine Definition: <br>
Modellieren allgemeine Definition: <br>
plastisch formen, gestallten, bearbeiten, durch Modellieren bilden <br> <br>
plastisch formen, gestallten, bearbeiten, durch Modellieren bilden <br> <br>

Version vom 5. Februar 2021, 10:24 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:
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)

Funktionsweise Bubblesort. Quelle: https://de.wikipedia.org/wiki/Bubblesort