WikiDer > Einheitliche Modellierungssprache

Unified Modeling Language
UML-logo.svg

Das Einheitliche Modellierungssprache, abgekürzt UML, ist a Modellsprache zu objektorientierten Analysen und Designs für a Informationssystem machen zu können. UML wurde entwickelt von Grady Booch, James Rumbaugh und Ivar Jacobson in dem Die Neunziger und ist seit 1997 Standard. Typischerweise sind die UML-Modelle eine grafische Darstellung bestimmter Aspekte des Informationssystems.

Allgemeines

UML ist ein Modellierungssprache die breite Zustimmung findet, was daran zu erkennen ist, dass in der Die Neunziger des zwanzigstes Jahrhundert Es wurde ein UML-Konsortium mit den Teilnehmern gegründet, darunter die folgenden namhaften Organisationen: rational, DEZ, IBM, ObjektZeit, Orakel, PS und Texas Instruments. Diese Konsortium hat die UML erstellt, die innerhalb der Objektverwaltungsgruppe (OMG) wurde als Standard übernommen.

UML kann nicht nur Beschreibungen von statisch Phänomene, aber auch von dynamisch Prozesse. UML ist ein vielseitiges Werkzeug, das in verschiedenen Phasen des Systemaufbaus eingesetzt werden kann. Einer der leistungsstarken Aspekte von UML ist, dass es relativ einfach ist, MetaBeschreibungen sind möglich.

Entgegen der landläufigen Meinung ist UML selbst kein Methode, aber ein Notationsmethode die in verschiedenen Methoden verwendet werden können. Eine Methode, die UML verwendet, ist RUP (Rationaler einheitlicher Prozess).

Sprache für Objektbeschränkungen (OCL) ist a deklarative Sprache mit denen verschiedene Regeln, Bedingungen und Restriktionen in UML angegeben werden können Zur Modellierung von UML-Diagrammen gibt es verschiedenste Programme. Beispiele dafür sind Rationale Software, Microsoft Visio, Visuelles Paradigma, Software-Ideen-Modellierer, SternUML, KanonenSkizze und Aufgabenskizze.

Geschichte

Die Autoren der UML Grady Booch, James Rumbaugh und Ivar Jacobson heißen auch die drei Freunde erwähnt. Jeder hatte seine Sprache, aber standardisierte sie in UML. Booch hatte Booch 95, Rumbaugh hatte Object Modeling Technique (OMT) und Jacobson hatte Object Oriented Software Engineering (OOSE).

Überblick über die Entwicklung der UML in den letzten Jahrzehnten

Seit 1997 gibt es einen Standard für UML. Typischerweise sind die UML-Modelle eine grafische Darstellung bestimmter Aspekte des Informationssystems. Es gibt mehrere Versionen von UML. Die erste Version war 1.0. Dann gab es mehrere Subversionen. 1.1, 1.2 bis 1.5 . Dann kam Version 2.0.

UML-Diagramme

UML bietet eine Sammlung von Struktur- und Verhaltensdiagrammen, die auch als statische und dynamische Diagramme bezeichnet werden, wie hier:

Übersicht über die verschiedenen UML-Diagramme

Alle Diagramme können Notizen enthalten. Notizen werden durch ein Rechteck mit einem Esel-Typ auf der rechten Seite dargestellt. Alle Elemente können einen Stereotyp (besondere Bedeutung) haben, zum Beispiel <<include>>.Tags können verwendet werden. Tags sind beispielsweise Elemente mit einem besonderen Wert {author="Den Ikke"}.Ein Element kann eine Einschränkung haben, die sein kann Hosenträger setzen, zum Beispiel {Alter >= 18}.

Statische Diagramme

Klassendiagramm (Klassendiagramm)

UML-Klassendiagramm

EIN Klasse besteht aus 3 Teilen:

  • der obere Teil enthält den Namen der Klasse
Der Name der Klasse ist sehr wichtig, da er bestimmt, über welches Objekt hier gesprochen wird.
Der Name ist im Diagramm eindeutig.
Der Name ist immer Singular
ZB: Person, Fahrzeug, Rechnung, ...
Diese Attribute sind normalerweise private Attribute und können nur von den Methoden dieser Klasse aufgerufen und geändert werden. Das ist was Männer Verkapselung oder mit anderen Worten die Abschirmung von Daten.
Schreibweise: Sichtbarkeit Name: Typ = Startwert
(privat empfohlen für Attribute)
Sichtbarkeiten
: Publikum
-: Privatgelände
#: geschützt
Zum Beispiel Name, Alter, Beschreibung
z.B. name: String = "ein Name"
Methoden sind Funktionen oder Aktionen, die darauf ausgeführt werden können Objekte.
Diese können Operationen an den Attributen ausführen, um die erforderlichen Daten abzurufen oder zu ändern.
Schreibweise: Sichtbarkeitsname (Parameter: Typ): Rückgabetyp
(so gut wie möglich geschützt empfohlen)
Zum Beispiel ReadName()
ChangeName("Neuer Name")
createText(name:String):String
Der Unterschied zwischen Assoziationen, Aggregationen und Kompositionen
Der Unterschied zwischen Aggregation, Zusammensetzung und Assoziation
  • Assoziationen geben an, welche Objekte miteinander „sprechen“ können. Eine Assoziation verbindet 2 Klassen. Jedes der beiden Enden der Assoziation hat eine Multiplizität: n Objekte (an einem Ende) verbunden mit 1 Objekt (am anderen Ende). Assoziationen sind:
    • unidirektional: nur 1 Klasse kann Nachrichten an die anderen Klassen senden;
    • bidirektional: Beide Klassen können sich gegenseitig Nachrichten senden.
  • Eine Aggregation ist eine besondere Art der Assoziation zwischen 2 unterschiedlichen Klassen. Sie bilden eine „ganzheitliche“ Beziehung. Eine Aggregation beschreibt, wie 1 „Gesamtklasse“ aus 1 „Unterklasse“ oder mehr als 1 „Unterklasse“ besteht. Eine Aggregation hat immer 1 „Gesamtklasse“ mit Multiplizität = 1. Eine Aggregation kann n Objekte von 1 „Unterklasse“ oder mehr als 1 „Unterklasse“ mit unterschiedlicher Multiplizität haben.
  • Eine Komposition ist eine sehr starke Aggregation. Es ist auch eine "Ganzteil"-Beziehung, aber die "Teil-Klassen" können nicht ohne die "Ganz-Klasse" existieren. Wenn die "ganze Klasse" verschwindet, verschwinden auch die "Unterklassen".

Ein Beispiel: Schauen Sie sich die Abbildung unten an. Angenommen, wir haben 4 Klassen: Schiff, Flotte, Motor und Land. Es macht nur Sinn, eine Flotte zu existieren, wenn sich Schiffe darin befinden. Eine Flotte hat daher eine Aggregation mit Schiff. Wenn eine Flotte aufgelöst wird, bedeutet dies nicht unbedingt, dass die Schiffe mit ihr verschwinden müssen. Eine Flotte hat außerdem eine bidirektionale Assoziation mit Land. Jedes Land kann mehr als 1 Flotte haben, eine Flotte gehört nur zu einem Land. Daher die jeweiligen Multiplizitäten * und 1. Ein Schiff hat einen Motor. Hier wird eine Komposition verwendet. Dies bedeutet, dass keine Engine existieren kann, ohne dass sie im Kontext eines Schiffes betrachtet werden muss. Wenn das Schiff weg ist, ist auch die entsprechende Engine weg.

Objektdiagramm (Objektdiagramm)

Das Objektdiagramm stellt die Objekte innerhalb einer Anwendung oder eines Systems in einer Art Sammlung dar. Objekte sind Instanzen von Klassen. In einem Objekt haben die Attribute zu einem bestimmten Zeitpunkt einen bestimmten Wert. Ein Objekt hat eine eindeutige Identität. Der Name eines Objekts ist unterstrichen.

  • was kann man sehen:
    • Objekte
    • Attribute mit ihrem Wert zu einem bestimmten Zeitpunkt
    • Verbindung zwischen Objekten

Komponentendiagramm (Komponentendiagramm)

Das Komponentendiagramm zeigt die Aufteilung des Systems in Komponenten und vor allem deren gegenseitige Beziehungen bzw. Zusammenarbeit. Jede Komponente bildet eine oder mehrere Klassen.

Nutzungsdiagramm (Bereitstellungsdiagramm)

Das Nutzungsdiagramm zeigt die Nutzung der Hardwarekomponenten innerhalb einer Systemkonfiguration.

Dynamische Diagramme

Anwendungsfalldiagramm

Es Anwendungsfalldiagramm zeigt die Akteure und Benutzerfunktionen des Systems. Ein allgemeines Anwendungsfalldiagramm ist eine Zeichnung. Ein detaillierter Anwendungsfall ist ein Text mit fester Struktur. Es ist ein dynamisches Diagramm.

  • Was ist auf dem Diagramm zu sehen:
Methode
  1. Systemnamen ermitteln
  2. Akteure bestimmen
  3. Welche Bedürfnisse haben Akteure (Anwendungsfall)
  4. Schreiben Sie den Anwendungsfall in einen detaillierten Anwendungsfall
  5. die Assoziation zwischen den Akteuren und Anwendungsfällen erfassen
  6. den Zusammenhang zwischen Use Cases ermitteln (Stereotyp <> und <>)
  7. prüfen
    1. jeder Akteur muss mindestens 1 Anwendungsfallzuordnung haben
    2. jeder Anwendungsfall muss mindestens eine Akteurszuordnung haben

Kollaborationsdiagramm (Kollaborationsdiagramm/ Kommunikationsdiagramm)

Das Anwendungsdiagramm zeigt, wie das System verwendet wird, welche Aktionen damit ausgeführt werden müssen. Es wird angezeigt, welche Verantwortlichkeiten (Nachrichten/Methoden) über den Verein gesendet werden.

Sequenzdiagramm/Sequenzdiagramm (Sequenzdiagramm)

UML-Sequenzdiagramm

Das Sequenzdiagramm zeigt die Interaktionen zwischen verschiedenen Objekten, die eine bestimmte Funktionalität (oder einen Teil davon) implementieren. Die zeitliche Abfolge steht im Mittelpunkt des Sequenzdiagramms. Auch bekannt als Sequenzdiagramm, was auf dem Diagramm zu sehen ist:

  • Objekte
  • Schauspieler
  • Lebenslinie (Lebenslinie)
  • Aktivierungsblock (Ausführungsleiste)
  • Mitteilungen
  • erstellen und löschen (erstellen und zerstören)
  • Fragment (UML 2.0) (Fragmente) z.B. loop (loop) , alt (Alternativen), opt (optional), par (parallel), ...

Aktivitätsdiagramm

Es Aktivitätsdiagramm zeigt die Zustände des Systems während seiner Nutzung und wie die verschiedenen Zustände ineinander übergehen.

  • Was ist auf dem Diagramm zu sehen:
    • Aktivität starten und beenden
    • Aktivität
    • Überleitung
    • Schwimmbahn (Schwimmlane): Bahn, für die ein bestimmter Akteur verantwortlich ist
    • Choice-Knoten (Entscheidungsknoten) und Merge-Knoten (Merge-Knoten)
    • fork and Join für parallele Verarbeitung
Methode
  1. Entscheiden Sie, welchen detaillierten Anwendungsfall Sie erarbeiten möchten
  2. Zeichne die Akteure und das System des Anwendungsfalls oben und ziehe vertikale gestrichelte Linien dazwischen (Schwimmbahnen)
  3. Zeichnen Sie für jede Interaktion zwischen den Akteuren und dem System die Aktivität in die Schwimmbahn der Person, die die Aktivität ausführt
  4. Optionsknoten, Fork und Joins platzieren
  5. Zeichne die Pfeile zwischen allen Elementen (Übergänge)

Korrelationsdiagramm

Das Korrelationsdiagramm konzentriert sich auf die Zusammenarbeit zwischen Objekten und deren strukturierter Organisation.

Zustandsdiagramm (Zustandsdiagramm)

Das Zustands- oder Zustandsdiagramm zeigt den Zustand, in dem sich ein Objekt während seiner Existenz im System befinden kann, sowie die Übergänge in Zustände, die Ereignisse und Aktivitäten, die Zustandsänderungen bewirken.

Siehe auch

Externer Link

Siehe die Kategorie UML von Wikimedia Commons für Mediendateien zu diesem Thema.