UML-Diagramme. UML: Von der Theorie zur Praxis Darstellung von Entwurfslösungen in Form von Uml-Diagrammen

10.4. UML-DIAGRAMME

10.4.1. Arten von visuellen UML-Diagrammen

Mit UML können Sie verschiedene Arten von visuellen Diagrammen erstellen:

Anwendungsfalldiagramme

Sequenzdiagramme;

Kooperative Charts;

Klassendiagramme

Zustandsdiagramme;

Komponentendiagramme;

Platzierungsdiagramme.

Die Diagramme veranschaulichen verschiedene Aspekte des Systems. Ein kooperatives Diagramm zeigt beispielsweise, wie Objekte interagieren müssen, um einige Funktionen des Systems zu implementieren. Jedes Diagramm hat seinen eigenen Zweck.

10.4.2. Anwendungsfalldiagramme

Anwendungsfalldiagramme zeigen die Wechselwirkungen zwischen Anwendungsfällen, die die Funktionen eines Systems darstellen, und Akteuren, die Personen oder Systeme darstellen, die Informationen empfangen oder an dieses System senden. Ein Beispiel für ein Anwendungsfalldiagramm für einen Geldautomaten ist in Abb. 1 dargestellt. 10.1.

Zahl: 10.1.Anwendungsfalldiagramm

Das Diagramm zeigt die Interaktion zwischen Anwendungsfällen und Akteuren. Es spiegelt die Systemanforderungen aus Sicht des Benutzers wider. Anwendungsfälle sind also Funktionen, die vom System ausgeführt werden, und Akteure sind Stakeholder in Bezug auf das System, das aufgebaut wird. Diagramme zeigen, welche Akteure Anwendungsfälle initiieren. Sie zeigen auch an, wann der Akteur Informationen aus dem Anwendungsfall erhält. Im Wesentlichen kann ein Anwendungsfalldiagramm die Systemanforderungen veranschaulichen. In unserem Beispiel initiiert der Bankkunde verschiedene Anwendungsfälle: "Geld vom Konto abheben", "Geld überweisen", "Geld auf das Konto hinzufügen", "Guthaben anzeigen", "Identifikationsnummer ändern", "Zahlung ausführen". Ein Bankangestellter kann den Anwendungsfall Change Identification Number einleiten. Im Anwendungsfall "Zahlung ausführen" befindet sich ein Pfeil zum Kreditsystem. Externe Systeme können auch Akteure sein. In diesem Fall wird das Kreditsystem genau als Akteur angezeigt - es befindet sich außerhalb des Geldautomaten-Systems. Ein Pfeil, der vom Anwendungsfall zum Akteur zeigt, zeigt an, dass der Anwendungsfall dem Akteur einige Informationen liefert. In diesem Fall liefert der Anwendungsfall "Zahlung ausführen" dem Kreditsystem Informationen zu einer Kreditkartenzahlung.

Viele Informationen über das System können aus Anwendungsfalldiagrammen abgerufen werden. Diese Art von Diagramm beschreibt die allgemeine Funktionalität des Systems. Benutzer, Projektmanager, Analysten, Entwickler, QS-Spezialisten und alle anderen, die sich für das gesamte System interessieren, können anhand der Anwendungsfalldiagramme verstehen, was das System tun sollte.

10.4.3. Sequenzdiagramme

Sequenzdiagramme zeigen den Ablauf von Ereignissen, die innerhalb eines Anwendungsfalls auftreten. Beispielsweise sieht der Anwendungsfall "Geld abheben" mehrere mögliche Sequenzen vor: Geld abheben, versuchen, Geld abzuheben, wenn nicht genügend Geld auf dem Konto vorhanden ist, versuchen, Geld mit der falschen Identifikationsnummer abzuheben, und einige andere. Ein normales Szenario für das Abheben von 20 USD von einem Konto (sofern keine Probleme wie eine falsche Identifikationsnummer oder unzureichende Mittel auf dem Konto vorliegen) ist in Abb. 1 dargestellt. 10.2.

Abbildung 10.2.Sequenzdiagramm für die Auszahlung von 20 USD von seinem Konto durch den Kunden Joe

Im oberen Bereich des Diagramms werden alle Akteure und Objekte angezeigt, die das System benötigt, um den Anwendungsfall "Geld abheben" zu erfüllen. Pfeile entsprechen Nachrichten, die zwischen dem Akteur und dem Objekt oder zwischen Objekten übertragen werden, um die erforderlichen Funktionen auszuführen. Es ist auch zu beachten, dass das Sequenzdiagramm Objekte und keine Klassen zeigt. Klassen sind Arten von Objekten. Objekte sind spezifisch; statt Klasse Klientdas Sequenzdiagramm zeigt einen bestimmten Kunden Joe.

Der Anwendungsfall beginnt, wenn der Kunde seine Karte in das Lesegerät einlegt - dieses Objekt wird im Rechteck oben im Diagramm angezeigt. Es liest die Kartennummer, öffnet das Joe Account-Objekt und initialisiert den ATM-Bildschirm. Der Bildschirm fragt Joe nach seiner Registrierungsnummer. Der Kunde gibt die Nummer 1234 ein. Der Bildschirm überprüft die Nummer auf dem Joe's Account-Objekt und stellt fest, dass sie korrekt ist. Der Bildschirm zeigt Joe dann ein Auswahlmenü an und Joe wählt "Geld abheben". Der Bildschirm fragt, wie viel er abheben möchte, und Joe gibt 20 US-Dollar an. Der Bildschirm entfernt Geld vom Konto. Auf diese Weise wird eine Reihe von Prozessen initiiert, die vom Joe's Account-Objekt ausgeführt werden. Gleichzeitig wird überprüft, ob sich mindestens 20 USD auf diesem Konto befinden, und der erforderliche Betrag wird vom Konto abgezogen. Die Registrierkasse wird dann angewiesen, "einen Scheck und 20 USD in bar auszustellen". Schließlich weist dasselbe Joe-Kontoobjekt den Kartenleser an, die Karte zurückzugeben.

Dieses Sequenzdiagramm zeigt den Ablauf des Anwendungsfalls "Zurückziehen" anhand eines speziellen Beispiels, in dem Kunde Joe 20 US-Dollar abhebt. Durch Betrachten dieses Diagramms werden Benutzer mit den Besonderheiten ihrer Arbeit vertraut. Analysten sehen die Abfolge (den Ablauf) von Aktionen, Entwickler sehen die zu erstellenden Objekte und ihre Operationen. Fachleute für Qualitätskontrolle verstehen die Details des Prozesses und können Tests entwerfen, um sie zu überprüfen. Sequenzdiagramme sind daher für alle am Projekt Beteiligten nützlich.

10.4.4. Kooperative Charts

Kooperative Diagramme zeigen dieselben Informationen wie Sequenzdiagramme an. Sie tun dies jedoch auf unterschiedliche Weise und für unterschiedliche Zwecke. Dargestellt in Abb. 10.2 Sequenzdiagramm ist in Abb. 10.3 als kooperatives Diagramm.

Objekte werden nach wie vor als Rechtecke und Zeichen als Figuren dargestellt. Während ein Sequenzdiagramm die Interaktionen zwischen Akteuren und Objekten über die Zeit zeigt, gibt es in einem kooperativen Diagramm keine Beziehung zur Zeit. Somit ist ersichtlich, dass der Kartenleser das "Joe-Konto" zum Öffnen anweist und das "Joe-Konto" das Gerät veranlasst, die Karte an den Besitzer zurückzugeben. Direkt interagierende Objekte sind durch Linien verbunden. Wenn beispielsweise ein Kartenleser direkt mit einem Geldautomatenbildschirm kommuniziert, ziehen Sie eine Linie zwischen ihnen. Das Fehlen einer Linie bedeutet, dass keine direkte Kommunikation zwischen den Objekten besteht.

Zahl: 10.3.Kooperatives Diagramm, das den Vorgang des Abhebens von Geld von einem Konto beschreibt

Das kooperative Diagramm zeigt also die gleichen Informationen wie das Sequenzdiagramm an, wird jedoch für verschiedene Zwecke benötigt. QS-Spezialisten und Systemarchitekten können die Verteilung von Prozessen zwischen Objekten verstehen. Angenommen, eine Art kooperatives Diagramm ähnelt einem Stern, bei dem einem zentralen Objekt mehrere Objekte zugeordnet sind. Der Systemarchitekt kann zu dem Schluss kommen, dass das System zu stark von einer zentralen Einrichtung abhängig ist und neu gestaltet werden muss, um die Prozesse gleichmäßiger zu verteilen. In einem Sequenzdiagramm wäre diese Art der Interaktion schwer zu erkennen.

10.4.5. Klassendiagramme

Klassendiagramme spiegeln die Wechselwirkungen zwischen den Klassen des Systems wider. Zum Beispiel ist "Joes Konto" ein Objekt. Der Typ eines solchen Objekts kann im Allgemeinen als Konto betrachtet werden, dh "Konto" ist eine Klasse. Klassen enthalten Daten und Verhalten (Aktionen), die sich auf diese Daten auswirken. Beispielsweise enthält die Account-Klasse die Identifikationsnummer des Clients und Aktionen, die dies überprüfen. In einem Klassendiagramm wird für jeden Objekttyp eine Klasse aus Sequenzdiagrammen oder kooperativen Diagrammen generiert. Das Klassendiagramm für den Anwendungsfall "Geld abheben" ist in Abbildung 1 dargestellt. 10.4.

Das Diagramm zeigt die Beziehungen zwischen den Klassen, die den Anwendungsfall "Geld abheben" implementieren. An diesem Prozess sind vier Klassen beteiligt: \u200b\u200bKartenleser, Konto, Geldautomat (Geldautomatenbildschirm) und Geldautomat (Registrierkasse). Jede Klasse im Klassendiagramm wird durch ein Rechteck dargestellt, das in drei Teile unterteilt ist. Der erste Teil gibt den Namen der Klasse an, der zweite - seine attribute.Ein Attribut ist eine Information, die eine Klasse kennzeichnet. Beispielsweise verfügt die Kontoklasse über drei Attribute: Kontonummer, PIN (Identifikationsnummer) und Kontostand. Der letzte Teil enthält Klassenoperationen, die dies widerspiegeln verhalten(Aktionen der Klasse). Die Verknüpfungslinien zwischen den Klassen zeigen die Interaktion zwischen den Klassen.

Zahl: 10.4.Klassen Diagramm

Entwickler verwenden Klassendiagramme, um tatsächlich Klassen zu erstellen. Tools wie Rose generieren eine Klassencodebasis, die Programmierer mit Details in der Sprache ihrer Wahl ausfüllen. Mit diesen Diagrammen können Analysten die Details des Systems anzeigen und Architekten können das Design verstehen. Wenn beispielsweise eine Klasse zu viel Funktionslast trägt, wird dies im Klassendiagramm angezeigt, und der Architekt kann es auf andere Klassen verteilen. Sie können das Diagramm auch verwenden, um Fälle zu identifizieren, in denen keine Beziehungen zwischen den kommunizierenden Klassen definiert sind. Klassendiagramme sollten erstellt werden, um die interagierenden Klassen in jedem Anwendungsfall anzuzeigen. Sie können auch allgemeinere Diagramme erstellen, die alle Systeme oder Subsysteme abdecken.

10.4.6. Zustandsdiagramme

Zustandsdiagramme dienen dazu, die verschiedenen Zustände zu modellieren, in denen sich ein Objekt befinden kann. Während Klassendiagramme ein statisches Bild von Klassen und ihren Beziehungen zeigen, werden Zustandsdiagramme verwendet, um die Dynamik des Systemverhaltens zu beschreiben.

Zustandsdiagramme zeigen das Verhalten eines Objekts. Somit kann ein Bankkonto mehrere verschiedene Zustände haben. Es kann geöffnet, geschlossen oder das Guthaben dafür überschritten werden. Das Verhalten des Kontos ändert sich je nach Status. Das Zustandsdiagramm zeigt genau diese Informationen. In Abb. 10.5 zeigt ein Beispiel eines Zustandsdiagramms für ein Bankkonto.

Zahl: 10.5.Zustandsdiagramm für die Account-Klasse

Dieses Diagramm zeigt die möglichen Kontostatus sowie den Prozess des Kontoübergangs von einem Status in einen anderen. Wenn ein Client beispielsweise die Schließung eines offenen Kontos anfordert, wechselt dieser in den Status "Geschlossen". Die Kundenanforderung wird aufgerufen veranstaltung,es sind Ereignisse, die den Übergang von einem Zustand in einen anderen bewirken.

Wenn ein Kunde Geld von einem offenen Konto abhebt, kann das Konto in den Status "Überschussguthaben" versetzt werden. Dies geschieht nur, wenn der Kontostand kleiner als Null ist, was sich in der Bedingung [negativer Saldo] in unserem Diagramm widerspiegelt. In eckigen Klammern bedingungbestimmt, wann ein Übergang von einem Zustand in einen anderen auftreten kann oder nicht.

Das Diagramm enthält zwei spezielle Zustände: initialeund finale.Der Ausgangszustand wird mit einem schwarzen Punkt hervorgehoben: Er entspricht dem Zustand des Objekts zum Zeitpunkt seiner Erstellung. Der Endzustand wird durch einen schwarzen Punkt in einem weißen Kreis angezeigt: Er entspricht dem Zustand des Objekts unmittelbar vor seiner Zerstörung. In einem Zustandsdiagramm kann es nur einen Anfangszustand geben. Gleichzeitig kann es so viele Endzustände geben, wie Sie benötigen, oder es kann überhaupt keinen geben.

Wenn sich ein Objekt in einem bestimmten Zustand befindet, können bestimmte Prozesse ausgeführt werden. In unserem Beispiel wird bei Überschreitung des Darlehens eine entsprechende Nachricht an den Kunden gesendet. Die Prozesse, die auftreten, wenn sich ein Objekt in einem bestimmten Zustand befindet, werden aufgerufen aktionen.

Zustandsdiagramme müssen nicht für jede Klasse erstellt werden, sondern werden nur in sehr komplexen Fällen verwendet. Wenn ein Klassenobjekt in mehreren Zuständen existieren kann und sich in jedem von ihnen unterschiedlich verhält, benötigt es wahrscheinlich ein solches Diagramm. In vielen Projekten werden sie jedoch überhaupt nicht verwendet. Wenn jedoch Zustandsdiagramme erstellt wurden, können Entwickler diese beim Erstellen von Klassen verwenden.

Zustandsdiagramme werden hauptsächlich zu Dokumentationszwecken benötigt.

10.4.7. Komponentendiagramme

Komponentendiagramme zeigen, wie das Modell auf der physischen Ebene aussieht. Es zeigt die Softwarekomponenten Ihres Systems und die Verbindungen zwischen ihnen. In diesem Fall werden zwei Arten von Komponenten unterschieden: ausführbare Komponenten und Codebibliotheken.

In Abb. 10.6 zeigt eines der Komponentendiagramme für ein ATM-System. Dieses Diagramm zeigt die Komponenten eines ATM-Systemclients. In diesem Fall hat das Entwicklungsteam beschlossen, das System in der Sprache C ++ zu erstellen. Jede Klasse hat eine eigene Header-Datei und eine Datei mit der Erweiterung. CPP, sodass jede Klasse ihren eigenen Komponenten im Diagramm zugeordnet wird. Die hervorgehobene dunkle Komponente wird aufgerufen paketspezifikationund entspricht der Body-Datei der ATM-Klasse in C ++ (Datei mit der Erweiterung .CPP). Eine nicht ausgewählte Komponente wird auch als Paketspezifikation bezeichnet, entspricht jedoch der C ++ - Klassenheaderdatei (Datei mit der Erweiterung .H). ATM-Komponente. exe ist eine Spezifikation für eine Aufgabe und repräsentiert den Informationsverarbeitungsfluss. In diesem Fall ist ein Verarbeitungsthread ein ausführbares Programm.

Die Komponenten sind durch eine gestrichelte Linie verbunden, die die Abhängigkeiten zwischen ihnen zeigt. Ein System kann abhängig von der Anzahl der Subsysteme oder ausführbaren Dateien mehrere Komponentendiagramme haben. Jedes Subsystem ist ein Paket von Komponenten.

Komponentendiagramme werden von den Projektteilnehmern verwendet, die für die Kompilierung des Systems verantwortlich sind. Das Komponentendiagramm gibt eine Vorstellung davon, in welcher Reihenfolge die Komponenten kompiliert werden sollen und welche ausführbaren Komponenten vom System generiert werden. Das Diagramm zeigt die Entsprechung der Klassen zu den implementierten Komponenten. Es wird also dort benötigt, wo die Codegenerierung beginnt.

Zahl: 10.6.Komponentendiagramm

10.4.8. Platzierungsdiagramme

Platzierungsdiagramme zeigen den physischen Standort verschiedener Systemkomponenten in einem Netzwerk. In unserem Beispiel besteht das ATM-System aus einer großen Anzahl von Subsystemen, die auf separaten physischen Geräten oder Knoten ausgeführt werden. Das Layoutdiagramm für das ATM-System ist in Abb. 2 dargestellt. 10.7.

In diesem Diagramm können Sie den physischen Standort des Systems ermitteln. ATM-Client-Programme werden an mehreren Standorten an verschiedenen Standorten ausgeführt. Kunden kommunizieren über die geschlossenen Netzwerke mit dem regionalen Geldautomaten-Server. Es wird die ATM-Server-Software ausgeführt. Über das lokale Netzwerk interagiert der regionale Server wiederum mit dem Bankdatenbankserver, auf dem Oracle ausgeführt wird. Schließlich wird ein Drucker an den regionalen Geldautomaten-Server angeschlossen.

Dieses Diagramm zeigt also den physischen Standort des Systems. Beispielsweise folgt unser ATM-System einer dreistufigen Architektur, wobei die erste Schicht die Datenbank hostet, die zweite mit dem regionalen Server und die dritte mit dem Client.

10.7. Platzierungsdiagramm

Das Layoutdiagramm wird vom Projektmanager, den Benutzern, dem Systemarchitekten und dem Betriebspersonal verwendet, um das physische Layout des Systems und den Standort der einzelnen Subsysteme zu ermitteln. Der Projektmanager erklärt den Benutzern, wie das fertige Produkt aussehen wird. Das Bedienpersonal kann die Installationsarbeiten des Systems planen.

Aus dem Microsoft Office-Buch Autor Leontyev Vitaly Petrovich

Diagramme Die Zahlen in der Tabelle vermitteln nicht immer einen vollständigen Eindruck, auch wenn sie für Sie am bequemsten sortiert sind. Mit den in Microsoft Excel verfügbaren Diagrammvorlagen können Sie ein visuelles Bild Ihrer Tabellenkalkulationsdaten ohne erhalten

Aus dem Buch Computer 100. Erste Schritte mit Windows Vista Autor Zozulya Yuri

Diagramme Diagramme werden verwendet, um tabellarische Daten in grafischer Form darzustellen, die die Klarheit von Informationen erheblich verbessern, das Verhältnis verschiedener Parameter oder die Dynamik ihrer Änderung anzeigen können. Verwenden Sie die Werkzeuge, um Diagramme in Word einzufügen

Aus dem Buch Effektive Büroarbeit Autor Ptashinsky Vladimir Sergeevich

Diagramme Das visuellste Merkmal von Excel ist die Darstellung der Ergebnisse von Berechnungen oder gesammelten Daten in Form von Diagrammen (Diagrammen): Manchmal können die beeindruckendsten Zahlen nicht überzeugen, wie dies selbst mit einfachen Grafiken möglich ist. Excel hat

Aus einer Excel-Arbeitsmappe. Multimedia-Kurs der Autor Medinov Oleg

Kapitel 8 Diagramme Excel wird häufig zum Erstellen von Dokumenten verwendet, die verschiedene statistische und analytische Berichte darstellen. Dies können Verkaufsberichte, Tabellen mit Lufttemperaturmessungen, Daten aus Meinungsumfragen usw. sein. Zahlen sind nicht immer

Aus dem Buch Word 2007 Popular Tutorial Autor Krainsky I.

Erstellen eines Diagramms Für das erste Beispiel müssen Sie die in Abb. 1 gezeigte Tabelle erstellen. 8.1. Zahl: 8.1. Temperaturmessungstabelle Wir werden ein einfaches Temperaturdiagramm erstellen, das auf den Daten in dieser Tabelle basiert. 1. Wählen Sie den gefüllten Bereich in der Tabelle aus. 2. Gehe zu

Aus dem Buch Tutorial zum Arbeiten am Computer Autor Kolisnichenko Denis Nikolaevich

6.6. Diagramme Zusätzlich zu Grafikdateien können Sie Diagramme in Word-Dokumente einfügen. Mithilfe von Diagrammen können Sie numerische Daten visuell darstellen, beispielsweise verfolgen, wie sich die Daten ändern, und die Entwicklung eines Projekts in Dynamik verfolgen. Diagramme werden ähnlich

Aus dem Buch Objektorientierte Analyse und Design mit C ++ - Anwendungsbeispielen Autor Butch Grady

14.9. Diagramme Vielleicht ist es an der Zeit, trockene Zahlen in Grafiken umzuwandeln, um unsere Tabelle schöner und informativer zu machen? Hierzu werden Diagramme verwendet. Sagen Sie, was Ihnen gefällt, aber ein Diagramm wird besser wahrgenommen als eine Tabelle. Um ein Diagramm zu erstellen, müssen Sie die Werte auswählen, für die

Aus dem Buch Programming Technologies Autor Kamaev VA

5.2. Grundlegende Klassendiagramme: Klassen und die Beziehung zwischen ihnen Ein Klassendiagramm zeigt Klassen und ihre Beziehungen und repräsentiert so den logischen Aspekt eines Projekts. Ein separates Klassendiagramm bietet eine spezifische Ansicht der Klassenstruktur. In der Analysephase haben wir

Aus dem Buch Modellierung von Geschäftsprozessen mit BPwin 4.0 Autor Maklakov Sergey Vladimirovich

5.4. Wesentliche Objektdiagramme: Objekte und ihre Beziehungen Ein Objektdiagramm zeigt vorhandene Objekte und ihre Beziehungen im logischen Systemdesign. Mit anderen Worten, ein Objektdiagramm ist eine Momentaufnahme des Ereignisflusses in einer bestimmten Konfiguration.

Aus dem OrCAD PSpice-Buch. Stromkreisanalyse von Keown J.

5.7. Prozessdiagramme. Wesentlich: Prozessoren, Geräte und Verbindungen Prozessdiagramme werden verwendet, um die Verteilung von Prozessen auf Prozessoren in einem physischen Systemdesign darzustellen. Das separate Prozessdiagramm zeigt eine Ansicht der Prozessstruktur

Aus dem VBA-Buch für Dummies Autor Cummings Steve

10.4. UML-DIAGRAMME 10.4.1. Arten von visuellen Diagrammen Mit UMLUML können Sie verschiedene Arten von visuellen Diagrammen erstellen: Anwendungsfalldiagramme; Sequenzdiagramme; kooperative Diagramme; Klassendiagramme; Zustandsdiagramme; Diagramme

Aus dem Buch Tutorial für Macintosh Autorin Skrylina Sophia

1.2.6. Drahtgitterdiagramm 1.2.26 zeigt ein typisches Beispiel eines Zerlegungsdiagramms mit Begrenzungsrahmen, das als Drahtgitterdiagramm bezeichnet wird. Zahl: 1.2.26. Beispiel eines Zerlegungsdiagramms mit Drahtmodell Ein Drahtmodell enthält eine Kopfzeile (oben im Rahmen) und eine Fußzeile (unten).

Aus dem Buch des Autors

Zeitdiagramme Um Zeitdiagramme der Eingangs- und Ausgangsspannungen zu erhalten, muss die Eingangsdatei geringfügig geändert werden. Wie im vorherigen Beispiel wird eine sinusförmige Eingangsspannung verwendet: Vi 1 0 sin (0 0,5 V 5 kHz) zusammen mit der Transientenanalyse

Aus dem Buch des Autors

Diagramme und Grafiken Nur ein Spezialist kann die Bedeutung der endlosen Zahlenreihe erkennen, aber jeder kann ein Histogramm oder Kreisdiagramm verstehen (oder zumindest erklären, dass er es versteht). VBA verfügt nicht über integrierte Diagrammtools, sondern über solche

Aus dem Buch des Autors

5.1.14. Diagramme Diagramme sind eine grafische Darstellung numerischer Tabellendaten. Pages bietet verschiedene Arten von Diagrammen: Spalte, gestapelte Spalte, Balken, gestapelte Leiste, Linie, Bereich, gestapelter Bereich

Aus dem Buch des Autors

5.2.8. Diagramme Ein Diagramm ist eine grafische Darstellung von Daten aus einem ausgewählten Bereich. Befolgen Sie zum Erstellen eines Diagramms den folgenden Algorithmus: 1. Erstellen Sie eine Tabelle mit berechneten Werten. 2. Wählen Sie den gewünschten Bereich aus (er kann aus nicht benachbarten Rechtecken bestehen

UML-Modell (UML-Modell) ist eine Sammlung einer endlichen Menge von Sprachkonstrukten, von denen die Hauptentitäten Entitäten und Beziehungen zwischen ihnen sind.

Die Entitäten und Modellbeziehungen selbst sind Instanzen der Metamodell-Metaklassen.

Wenn man das UML-Modell unter dem allgemeinsten Gesichtspunkt betrachtet, kann man sagen, dass es sich um ein Diagramm handelt (genauer gesagt um einen geladenen Multi-Pseudo-Hyper-Digraphen), in dem Scheitelpunkte und Kanten mit zusätzlichen Informationen geladen werden und eine komplexe interne Struktur aufweisen können. Die Eckpunkte dieses Diagramms werden als Entitäten und die Kanten als Relationen bezeichnet... Der Rest dieses Abschnitts bietet einen schnellen (vorläufigen), aber vollständigen Überblick über die verfügbaren Entitätstypen und Beziehungen. Zum Glück gibt es nicht zu viele von ihnen. In den folgenden Kapiteln des Buches werden alle Entitäten und Beziehungen noch einmal ausführlicher und anhand von Beispielen betrachtet.

1.4.1. Entitäten

Zur Vereinfachung der Anzeige können Entitäten in UML in vier Gruppen unterteilt werden:

  • strukturell;
  • verhalten;
  • gruppierung;
  • anmerkung.

Strukturelle Entitäten sollen, wie Sie sich vorstellen können, die Struktur beschreiben. In der Regel umfassen strukturelle Einheiten Folgendes.

Ein Objekt (Objekt) 1 ist eine Entität, die eindeutig ist und Status und Verhalten kapselt.

Klasse (Klasse) 2 - eine Beschreibung einer Reihe von Objekten mit gemeinsamen Attributen, die den Status bestimmen, und Operationen, die das Verhalten bestimmen.

Schnittstelle (Schnittstelle) 3 ist eine benannte Gruppe von Operationen, die eine Reihe von Diensten definiert, die von einem Verbraucher angefordert und von einem Dienstanbieter bereitgestellt werden können.

Zusammenarbeit (Zusammenarbeit) 4 - Eine Sammlung von Objekten, die interagieren, um ein Ziel zu erreichen.

Darsteller (Akteur) 5 - eine Entität, die sich außerhalb des modellierten Systems befindet und direkt mit diesem interagiert.

∇ Eine solche Beziehung besteht sicherlich, die in Abb. Diagrammtyphierarchie für UML 1 in Form einer Abhängigkeitsbeziehung mit einem Verfeinerungsstereotyp.

∇∇ In UML 1 entstand eine unfreiwillige Assoziation zwischen einem Kooperationsdiagramm und einer gleichnamigen Entität, die nicht ganz richtig und manchmal irreführend war.

∇∇∇ In UML 2 hat sich die syntaktische und semantische Belastung des Zustandsdiagramms so stark geändert, dass der Name den Inhalt nicht mehr widerspiegelt.

Eine Liste der neuen Diagramme und ihrer Namen, die in diesem Buch verwendet werden, ist unten dargestellt.

  • Zusammengesetztes Strukturdiagramm
  • Paketdiagramm
  • Zustandsmaschinendiagramm
  • Kommunikationsdiagramm
  • Interaktionsübersicht Diagramm
  • Zeitdiagramm

In Abb. Diagrammtyphierarchie für UML 2 (Teil 1 und 2) ist ein Klassendiagramm, das die Beziehung von Diagrammen in UML 2 zeigt.

Später in diesem Kapitel werden wir alle dreizehn kanonischen Diagramme sehr kurz beschreiben, um einen bestimmten Kontext und ein bestimmtes Vokabular für die spätere Präsentation zu haben. Die Details sind in den verbleibenden Kapiteln des Buches aufgeführt.

Bevor wir jedoch mit dem nächsten Abschnitt fortfahren, wollen wir einen kleinen Exkurs darüber machen, wie der Standard die Formatierung von Diagrammen erfordert. Die allgemeine Vorlage für die Diagrammpräsentation ist unten dargestellt.

Es gibt zwei Hauptgestaltungselemente: einen äußeren Rahmen und ein Etikett mit dem Diagrammnamen. Wenn mit dem Rahmen alles einfach ist - es ist ein Rechteck, das den Bereich begrenzt, in dem sich die Diagrammelemente befinden sollen -, wird der Diagrammname in einem speziellen Format geschrieben (siehe Abb. 1). Notation für Diagramme.

Die angegebene komplexe Form der Registerkarte wird nicht von allen Werkzeugen unterstützt. Dies ist jedoch nicht erforderlich, da die Semantik primär und die Notation sekundär ist. Von nun an verwenden wir überall ein Rechteck als Beschriftung für das Diagramm, und dies sollte keine Verwirrung stiften.

Mögliche Tags (Typen) für Diagramme sind in der folgenden Tabelle aufgeführt. Die vom Standard angebotenen Tags werden in die zweite Spalte geschrieben. Wie die Praxis gezeigt hat, sind die von der Norm vorgeschlagenen Regeln jedoch nicht immer zweckmäßig und logisch begründet. Daher enthält die dritte Spalte der Tabelle eine Alternative, die unserer Meinung nach angemessen ist.

Tab. Diagrammtypen und Tags

Diagrammtitel Tag (Standard) Tag (vorgeschlagen)
Nutzungsdiagramm anwendungsfall oder uc anwendungsfall
Klassen Diagramm klasse klasse
Automatendiagramm zustandsmaschine oder stm zustandsmaschine
Aktivitätsdiagramm aktivität oder handlung aktivität
Sequenzdiagramm interaktion oder sd sd
Kommunikationsdiagramm interaktion oder sd comm
Komponentendiagramm komponente oder cmp komponente
Platzierungsdiagramm unentschlossen einsatz
Objektdiagramm unentschlossen objekt
Internes Strukturdiagramm klasse klasse oder komponente
Interaktionsübersichtsdiagramm interaktion oder sd interaktion
Synchronisationsdiagramm interaktion oder sd zeitliche Koordinierung
Paketdiagramm paket oder pkg paket
11.1. Struktur der einheitlichen Modellierungssprache

Einheitliche Modellierungssprache (UML) ist derzeit der De-facto-Standard zur Beschreibung (Dokumentation) der Ergebnisse des Entwurfs und der Entwicklung objektorientierter Systeme. Die UML-Entwicklung begann 1994 mit Grady Booch und James Rambeau von Rational Software. Im Herbst 1995 schloss sich Ivar Jacobson ihnen an, und im Oktober desselben Jahres wurde eine vorläufige Version 0.8 der Unified Method veröffentlicht. Seitdem wurden mehrere Versionen der UML-Spezifikation veröffentlicht, von denen zwei den Status eines internationalen Standards haben:

UML 1.4.2 - "ISO / IEC 19501: 2005. Informationstechnologie. Offene verteilte Verarbeitung. Einheitliche Modellierungssprache (UML). Version 1.4.2" (dt. "Informationstechnologie. Offene verteilte Verarbeitung. Einheitliche Modellierungssprache (UML). Version 1.4.2 ");

UML 2.4.1 - "ISO / IEC 19505-1: 2012. Informationstechnologie. OMG UML. Teil 1. Infrastruktur" (dt. "Informationstechnologie - Objektverwaltungsgruppe Unified Modeling Language ( OMG UML) - Teil 1: Infrastruktur ") und" ISO / IEC 19505-2: 2012. Informationstechnologie. Modellierungssprache für Unified Object Management Group (OMG UML). Teil 2. Überbau "(dt." Informationstechnologie - Objekt Management Group Unified Modeling Language (OMG UML) - Teil 2: Überbau ").

Die neueste offizielle Sprachspezifikation finden Sie unter www.omg.org.

Die allgemeine Struktur der UML ist in der folgenden Abbildung dargestellt.

Zahl: 11.1. UML-Struktur

11.2. UML-Semantik und -Syntax

Semantik - ein Abschnitt der Linguistik, der die Bedeutung von Spracheinheiten untersucht, vor allem ihre Wörter und Phrasen.

Syntax - Möglichkeiten, Wörter und ihre Formen zu Phrasen und Sätzen zu kombinieren, Sätze zu komplexen Sätzen zu kombinieren und Aussagen als Teil des Textes zu erstellen.

In Bezug auf die UML definieren Semantik und Syntax einen Präsentationsstil (Modellbildung), der natürliche und formale Sprachen kombiniert, um grundlegende Konzepte (Modellelemente) und Mechanismen für deren Erweiterung darzustellen.

11.3. UML-Notation

Notation ist eine grafische Interpretation der Semantik für ihre visuelle Darstellung.

Die UML definiert drei entitätstyp :

Strukturell - eine Abstraktion, die ein konzeptuelles oder physisches Objekt widerspiegelt;

Gruppierung - ein Element, das für eine semantische Vereinheitlichung von Diagrammelementen verwendet wird;

Erläuterung (Anmerkung) - Ein Kommentar zu einem Diagrammelement.

Die folgende Tabelle enthält eine kurze Beschreibung der wichtigsten Entitäten, die in der grafischen Notation verwendet werden, und der wichtigsten Möglichkeiten, sie anzuzeigen.

Tabelle 11.1. Entitäten

Eine Art Name Bezeichnung Definition (Semantik)
Strukturell
(Klasse)
Viele Objekte mit einer gemeinsamen Struktur und einem gemeinsamen Verhalten

(Objekt)
Eine Abstraktion einer realen oder imaginären Entität mit klar definierten konzeptuellen Grenzen, Individualität (Identität), Zustand und Verhalten. Aus UML-Sicht sind Objekte Klasseninstanzen (Entitätsinstanzen).

(Darsteller)

Techniker
Pfaddienste
Eine Entität außerhalb des Systems, die mit dem System interagiert und dessen Funktionalität verwendet, um bestimmte Ziele zu erreichen oder bestimmte Probleme zu lösen. Somit ist der Akteur eine externe Informationsquelle oder ein externer Informationsempfänger.

(Anwendungsfall)
Beschreibung der vom System ausgeführten Aktionen, die zu einem signifikanten Ergebnis für den Akteur führen

(Zustand)
Beschreibung des Momentes im Leben eines Unternehmens, in dem es eine bestimmte Bedingung erfüllt, eine Aktivität ausführt oder auf das Eintreten eines Ereignisses wartet
Zusammenarbeit
(Zusammenarbeit)
Beschreibung einer Reihe von Instanzen von Akteuren, Objekten und deren Interaktion bei der Lösung eines bestimmten Problems

(Komponente)
Der physische Teil des Systems (Datei), einschließlich Systemmodule, die die Implementierung eines konsistenten Satzes von Schnittstellen ermöglichen

(Schnittstelle)

iBerechnung
Eine Reihe von Operationen, die einen Dienst (eine Reihe von Diensten) definieren, der von einer Klasse oder Komponente bereitgestellt wird

(Knoten)
Der physische Teil des Systems (Computer, Drucker usw.), der Ressourcen zur Lösung des Problems bereitstellt
Gruppierung
(Paket)
Allgemeiner Mechanismus zum Gruppieren von Elementen.
Im Gegensatz zu einer Komponente ist ein Paket ein rein konzeptionelles (abstraktes) Konzept. Besondere Fälle des Pakets sind das System und das Modell

(Fragment)
Der Bereich der spezifischen Interaktion zwischen Akteur- und Objektinstanzen

(Aktivitätspartition)
Eine Gruppe von Operationen (Verantwortungsbereich), die von einer Entität (Akteur, Objekt, Komponente, Knoten usw.) ausgeführt werden.

(unterbrechbare Aktivitätsregion)
Eine Gruppe von Operationen, deren normale Abfolge aufgrund des Einsetzens einer nicht standardmäßigen Situation unterbrochen werden kann
Erklären Hinweis
(Kommentar)
Artikelkommentar. Wird mit einer gestrichelten Linie an das kommentierte Element angehängt

Einige Quellen, insbesondere [,], unterscheiden auch Verhaltensentitäten wechselwirkungen und endliche ZustandsmaschinenAus logischer Sicht sollten sie jedoch als Diagramme klassifiziert werden.

Einige der oben genannten Entitäten implizieren ihre detaillierte Beschreibung in Zerlegungsdiagrammen. Im Diagramm der obersten Ebene sind sie mit einem speziellen Symbol oder einer speziellen Beschriftung gekennzeichnet.

Die folgende Tabelle enthält eine Beschreibung aller Typen beziehungen UML wird in Diagrammen verwendet, um Beziehungen zwischen Entitäten anzuzeigen.

Tabelle 11.3. Beziehungen

Name Bezeichnung Definition (Semantik)
Verband Eine Beziehung, die eine sinnvolle Beziehung zwischen zwei oder mehr Entitäten beschreibt. Die allgemeinste Art von Beziehung
Anhäufung Ein Subtyp der Assoziation, der die Beziehung "Teil" - "Ganzes" beschreibt, in der der "Teil" getrennt vom "Ganzen" existieren kann. Die Raute wird von der "ganzen" Seite angezeigt. Die Beziehung wird nur zwischen Entitäten desselben Typs angezeigt
Komposition Ein Subtyp der Aggregation, in dem "Teile" nicht getrennt vom "Ganzen" existieren können. In der Regel werden "Teile" gleichzeitig mit dem "Ganzen" erstellt und zerstört.
Abhängigkeit Eine Beziehung zwischen zwei Entitäten, bei der eine Änderung in einer Entität (unabhängig) den Status oder das Verhalten einer anderen Entität (abhängig) beeinflussen kann. Eine unabhängige Entität wird auf der Seite des Pfeils angezeigt
Verallgemeinerung Die Beziehung zwischen einer generischen Entität (Vorfahr, Elternteil) und einer spezialisierten Entität (Kind, Kind). Das Dreieck wird von der übergeordneten Seite angezeigt. Die Beziehung wird nur zwischen Entitäten desselben Typs angegeben
Realisierung Eine Beziehung zwischen Entitäten, bei der eine Entität eine Aktion definiert, die eine andere Entität ausführen soll. Beziehungen werden in zwei Fällen verwendet: zwischen Schnittstellen und Klassen (oder Komponenten), zwischen Anwendungsfällen und Kollaborationen. Die Pfeilseite zeigt die Entität an, die die Aktion definiert (Schnittstelle oder Anwendungsfall).

Für Assoziation, Aggregation und Zusammensetzung, vielzahl (Englische Multiplizität), die die Gesamtzahl der Instanzen von Entitäten kennzeichnet, die an der Beziehung teilnehmen. Es wird normalerweise auf jeder Seite der Beziehung in der Nähe der entsprechenden Entität angezeigt. Die Multiplizität kann auf folgende Arten angegeben werden:

- * - eine beliebige Anzahl von Kopien, einschließlich keiner;

Nicht negative ganze Zahl - die Multiplizität ist streng festgelegt und entspricht der angegebenen Zahl (zum Beispiel: 1, 2 oder 5);

Bereich nicht negativer Ganzzahlen "erste Zahl .. zweite Zahl" (zum Beispiel: 1..5, 2..10 oder 0..5);

Ein Zahlenbereich von einem bestimmten Anfangswert bis zu einer beliebigen endgültigen "ersten Zahl .. *" (zum Beispiel: 1 .. *, 5 .. * oder 0 .. *);

Liste nicht negativer Ganzzahlen und Bereiche, die durch Kommas getrennt sind (zum Beispiel: 1, 3..5, 10, 15 .. *).

Wenn die Multiplizität nicht angegeben wird, wird angenommen, dass ihr Wert 1 ist. Die Multiplizität der Instanzen von Entitäten, die an der Abhängigkeit, Verallgemeinerung und Implementierung teilnehmen, wird immer als 1 angenommen.

Die folgende Tabelle beschreibt mechanismen zu erweitern wird verwendet, um die Semantik von Entitäten und Beziehungen zu klären. Im Allgemeinen ist ein Erweiterungsmechanismus eine Textzeichenfolge in Klammern oder Anführungszeichen.

Tabelle 11.4. Verlängerungsmechanismen

Name Bezeichnung Definition (Semantik)
Stereotyp
(Stereotyp)
« » Eine Bezeichnung, die die Semantik eines Notationselements angibt (z. B. eine Abhängigkeit mit dem Stereotyp "include" wird als Einschlussbeziehung behandelt, und eine Klasse mit dem Stereotyp "border" ist eine Grenzklasse).
Wachzustand
(Wachzustand)
Boolesche Bedingung (zum Beispiel: oder [Identifizierung abgeschlossen])
Einschränkung
(Zwang)
{ } Regel zur Einschränkung der Semantik des Modellelements (z. B. (Ausführungszeit weniger als 10 ms))
Markierter Wert
(markierter Wert)
{ } Neue oder qualifizierende Eigenschaft eines Notationselements (zum Beispiel: (Version \u003d 3.2))

Zusätzlich zu Stereotypen, die in Anführungszeichen als Textzeichenfolge angegeben sind, können grafische Stereotypen in Diagrammen verwendet werden. Die folgende Abbildung zeigt Beispiele für Standard- und stereotype Anzeigen.

a) Standardbezeichnung b) Standardbezeichnung
mit Textstereotyp
c) grafisches Stereotyp

Zahl: 11.2. Beispiele für Standard- und stereotype Klassenanzeige

Diagramm ist eine Gruppierung von Notationselementen, um einen Aspekt des zu entwickelnden Informationssystems darzustellen. Diagramme sind normalerweise zusammenhängende Diagramme, in denen Entitäten Eckpunkte und Beziehungen Bögen sind. Die folgende Tabelle enthält eine kurze Beschreibung der UML-Diagramme.

Tabelle 11.5. Diagramme

Diagramm Geplanter Termin
durch den Grad der physischen Verwirklichung durch Anzeige der Dynamik nach angezeigtem Aspekt

(Anwendungsfall)
Zeigt Systemfunktionen, Interaktion zwischen Akteuren und Funktionen an Logisch Statisch Funktionell

(Klasse)
Zeigt eine Reihe von Klassen, Schnittstellen und Beziehungen zwischen ihnen an Logisch oder
physisch
Statisch Funktional und informativ

(Paket)
Zeigt eine Reihe von Paketen und die Beziehung zwischen ihnen an Logisch oder
physisch
Statisch Komponente
Verhalten
(Verhalten)

(Zustandsmaschine)
Zeigt die Zustände einer Entität und Übergänge zwischen ihnen während ihres Lebenszyklus an Logisch Dynamisch Verhalten

(Aktivität)
Zeigt Geschäftsprozesse im System an (Beschreibung der Verhaltensalgorithmen)
Interaktionen
(Interaktion)

(Reihenfolge)
Zeigt die Reihenfolge der Nachrichtenübermittlung zwischen Objekten und Akteuren an

(Kommunikation)
Ähnlich wie bei einem Sequenzdiagramm, jedoch liegt der Schwerpunkt auf der Struktur der Interaktionen zwischen Objekten
Implementierung
(Implementierung)

(Komponente)
Zeigt Systemkomponenten (Programme, Bibliotheken, Tabellen usw.) und die Verknüpfungen zwischen ihnen an Körperlich Statisch Komponente

(Einsatz)
Zeigt die Platzierung von Komponenten nach Hosts sowie deren Konfiguration an

Der UML 2.x-Standard definiert außerdem zusätzliche, hochspezialisierte Diagramme:

Ein Objektdiagramm ist ähnlich, aber Objekte werden anstelle von Klassen angezeigt.

Zeitdiagramm - beschreibt den Zustand eines Objekts über die Zeit;

Zusammengesetztes Strukturdiagramm - beschreibt die Ports (einschließlich Schnittstellen) einer Klasse für die Interaktion mit anderen Klassen;

Profildiagramm - ähnlich der Beschreibung der darin enthaltenen Klassen;

Das Interaktionsübersichtsdiagramm ist ähnlich, jedoch mit versteckten Interaktionsfragmenten (Fragmente mit einem ref-Tag). Es ist eine kontextuelle (konzeptionelle), deren Elemente in separaten Zerlegungsdiagrammen konkretisiert werden.

Für eine erweiterte konzeptionelle Darstellung der internen Architektur des Systems erlaubt der Großteil während der Konstruktion die Verwendung etablierter grafischer Stereotypen für die sogenannten. Ein solches Diagramm heißt 1, gehört jedoch nicht zur Liste der durch den UML-Standard definierten Diagramme.

Bei der Entwicklung eines separaten Modells des Systems werden verschiedene Diagrammtypen erstellt. Darüber hinaus werden bei der Entwicklung eines Modells eines komplexen Systems in der Regel mehrere Diagramme desselben Typs erstellt. Gleichzeitig ist es möglich, keine separaten Diagrammtypen zu erstellen, wenn dies nicht erforderlich ist. Beispielsweise sind Diagramme und austauschbar, sie werden nur für Objekte mit komplexem Verhalten erstellt. Die folgende Tabelle enthält Anleitungen zur Notwendigkeit, Diagramme nach Systemmodell zu entwickeln (zu verfeinern).

Tabelle 11.6. Modelle und Diagramme verknüpfen

Die angegebene Tabelle zeigt das Testmodell nicht, da im Rahmen seiner Konstruktion keine Diagramme entwickelt, sondern auf Vollständigkeit und Konsistenz überprüft (getestet) werden.

Ein Teil der Diagramme nach ihrer Erstellung erfordert die Entwicklung und Verfeinerung bei der Entwicklung des nächsten Modells (technologischer Prozess). So sollte zum Beispiel bei der Entwicklung geklärt werden. In Modellen.

4. Definieren Sie das Konzept "".

Das UML-Diagramm ist eine spezielle grafische Beschreibungssprache, die für die Objektmodellierung bei der Entwicklung verschiedener Software entwickelt wurde. Diese Sprache hat ein breites Profil und ist ein offener Standard, der verschiedene grafische Notationen verwendet, um ein abstraktes Modell des Systems zu erstellen. Die UML wurde erstellt, um die Definition, Visualisierung, Dokumentation und das Design aller Arten von Softwaresystemen bereitzustellen. Es ist erwähnenswert, dass das UML-Diagramm selbst keine Programmiersprache ist, aber es bietet die Möglichkeit, einen separaten Code basierend darauf zu generieren.

Warum wird es benötigt?

UML endet nicht mit der Modellierung aller Arten von Software. Außerdem wird diese Sprache heute aktiv zur Modellierung verschiedener Geschäftsprozesse, zur Durchführung des Systemdesigns sowie zur Anzeige von Organisationsstrukturen verwendet.

Mithilfe der UML können Softwareentwickler eine vollständige Konvention in der grafischen Notation erzwingen, die zur Darstellung allgemeiner Konzepte wie Komponente, Generalisierung, Klasse, Verhalten und Aggregation verwendet wird. Dadurch wird ein stärkerer Fokus auf Architektur und Design erreicht.

Es ist auch erwähnenswert, dass es verschiedene Arten solcher Diagramme gibt.

Klassen Diagramm

Ein UML-Klassendiagramm ist ein statisches Strukturdiagramm, das die Struktur eines Systems beschreibt und die Attribute, Methoden und Abhängigkeiten zwischen mehreren verschiedenen Klassen zeigt.

Es ist erwähnenswert, dass es bei der Erstellung solcher Diagramme verschiedene Gesichtspunkte gibt, je nachdem, wie sie verwendet werden:

  • Konzeptionell. In diesem Fall beschreibt das UML-Klassendiagramm das Modell einer bestimmten Domäne, und es werden nur Klassen angewendeter Objekte bereitgestellt.
  • Spezifisch. Das Diagramm wird im Entwurfsprozess verschiedener Informationssysteme verwendet.
  • Implementierung. Das Klassendiagramm enthält alle Arten von Klassen, die direkt im Programmcode verwendet werden.

Komponentendiagramm

Ein UML-Komponentendiagramm ist ein vollständig statisches Strukturdiagramm. Es soll die Aufteilung eines bestimmten Softwaresystems in verschiedene Strukturkomponenten sowie deren Verbindungen demonstrieren. Ein UML-Komponentendiagramm als solches kann alle Arten von Modellen, Bibliotheken, Dateien, Paketen, ausführbaren Dateien und vielen anderen Elementen verwenden.

Verbund / Verbundstrukturdiagramm

Das UML-Verbund- / Verbundstrukturdiagramm ist ebenfalls ein statisches Strukturdiagramm, wird jedoch verwendet, um die interne Struktur von Klassen anzuzeigen. Wenn möglich, kann dieses Diagramm auch die Interaktion von Elementen in der internen Struktur der Klasse demonstrieren.

Ein Subtyp von ihnen ist das UML-Diagramm der Zusammenarbeit, das verwendet wird, um die Rollen sowie die Interaktion verschiedener Klassen innerhalb der Grenzen der Zusammenarbeit zu demonstrieren. Sie sind sehr praktisch, wenn Sie Entwurfsmuster modellieren müssen.

Es ist erwähnenswert, dass UML-Klassendiagrammtypen und zusammengesetzte Strukturtypen gleichzeitig verwendet werden können.

Bereitstellungsdiagramm

Dieses Diagramm wird verwendet, um Arbeitsknoten sowie alle Arten von Artefakten zu simulieren, die für sie bereitgestellt wurden. UML 2 stellt Artefakte auf verschiedenen Knoten bereit, während die erste Version ausschließlich Komponenten bereitstellt. Daher wird das UML-Bereitstellungsdiagramm hauptsächlich für die zweite Version verwendet.

Zwischen dem Artefakt und der von ihm implementierten Komponente wird eine offensichtliche Abhängigkeit gebildet.

Objektdiagramm

In dieser Ansicht können Sie eine vollständige oder teilweise Momentaufnahme des Systems anzeigen, das zu einem bestimmten Zeitpunkt erstellt wird. Alle Instanzen von Klassen eines bestimmten Systems werden vollständig darauf angezeigt und geben die aktuellen Werte ihrer Parameter sowie die Verknüpfungen zwischen ihnen an.

Paketdiagramm

Dieses Diagramm ist struktureller Natur und enthält hauptsächlich alle Arten von Paketen sowie die Beziehung zwischen ihnen. In diesem Fall gibt es keine strikte Trennung zwischen mehreren Strukturdiagrammen, weshalb ihre Verwendung meist nur der Einfachheit halber angetroffen wird und keine semantische Bedeutung hat. Es ist erwähnenswert, dass verschiedene Elemente andere UML-Diagramme bereitstellen können (Beispiele: Pakete und Paketdiagramme selbst).

Ihre Verwendung wird durchgeführt, um die Organisation mehrerer Elemente in Gruppen nach einem bestimmten Merkmal sicherzustellen, um die Struktur zu vereinfachen und um die Arbeit mit dem Modell dieses Systems zu organisieren.

Aktivitätsdiagramm

Ein UML-Aktivitätsdiagramm zeigt die Zerlegung einer bestimmten Aktivität in mehrere Bestandteile. In diesem Fall bezieht sich das Konzept der "Aktivität" auf die Angabe eines bestimmten ausführbaren Verhaltens in Form einer parallelen sowie koordinierten sequentiellen Ausführung verschiedener untergeordneter Elemente - verschachtelter Aktivitätstypen und verschiedener Aktionen, die durch Threads verbunden sind, die von den Ausgaben eines bestimmten Knotens zu den Eingaben eines anderen Knotens gehen.

UML-Aktivitätsdiagramme werden häufig verwendet, um verschiedene Geschäftsprozesse sowie parallele und sequentielle Berechnungen zu modellieren. Sie simulieren unter anderem alle Arten von technologischen Abläufen.

Automatendiagramm

Diese Ansicht wird auch als etwas anderes UML-Zustandsdiagramm bezeichnet. Hat eine präsentierte Zustandsmaschine mit einfachen und zusammengesetzten Zuständen sowie Übergängen.

Eine endliche Zustandsmaschine ist eine Spezifikation einer Folge verschiedener Zustände, durch die ein bestimmtes Objekt geht, oder einer Interaktion als Reaktion auf bestimmte Ereignisse in seinem Leben sowie der Reaktion des Objekts auf solche Ereignisse. Eine Zustandsmaschine, die ein UML-Zustandsdiagramm verwendet, wird an das Quellelement angehängt und zum Definieren des Verhaltens seiner Instanzen verwendet.

Die sogenannten Drachenschemata können als Analoga solcher Diagramme verwendet werden.

Anwendungsfalldiagramme

Das UML-Anwendungsfalldiagramm zeigt alle Beziehungen, die zwischen Akteuren entstehen, sowie die verschiedenen Anwendungsfälle. Seine Hauptaufgabe besteht darin, sich als vollwertiges Tool bereitzustellen, mit dessen Hilfe ein Kunde, ein Endbenutzer oder ein Entwickler das Verhalten und die Funktionalität eines bestimmten Systems gemeinsam diskutieren kann.

Wenn bei der Modellierung eines Systems ein UML-Anwendungsfalldiagramm verwendet wird, wird der Analyst Folgendes tun:

  • Trennen Sie das simulierte System klar von seiner Umgebung.
  • Identifizieren Sie die Akteure, die Art und Weise ihrer Interaktion mit diesem System sowie die erwartete Funktionalität.
  • Stellen Sie im Glossar als Themenbereich verschiedene Konzepte ein, die sich auf eine detaillierte Beschreibung der Funktionalität dieses Systems beziehen.

Wenn in UML ein Verwendungsdiagramm entwickelt wird, beginnt das Verfahren mit einer Textbeschreibung, die bei der Arbeit mit einem Kunden erhalten wird. Gleichzeitig ist anzumerken, dass verschiedene nichtfunktionale Anforderungen bei der Erstellung eines Modells von Anwendungsfällen vollständig weggelassen werden und für sie bereits ein separates Dokument erstellt wird.

Kommunikation

Ein Kommunikationsdiagramm ist wie ein UML-Sequenzdiagramm transitiv, dh es drückt die Interaktion in sich selbst aus, demonstriert sie jedoch gleichzeitig auf unterschiedliche Weise und kann bei Bedarf mit der erforderlichen Genauigkeit ineinander umgewandelt werden.

Das Kommunikationsdiagramm zeigt die Wechselwirkungen, die zwischen den verschiedenen Elementen der Verbundstruktur auftreten, sowie die Rollen der Zusammenarbeit. Der Hauptunterschied zu einem Sequenzdiagramm besteht darin, dass es die Beziehung zwischen mehreren Elementen klar anzeigt und die Zeit nicht als separate Dimension verwendet wird.

Dieser Typ zeichnet sich durch ein völlig freies Format aus, mit dem mehrere Objekte und Links auf dieselbe Weise wie in einem Objektdiagramm angeordnet werden können. Wenn die Reihenfolge der Nachrichten in diesem freien Format beibehalten werden muss, werden sie chronologisch nummeriert. Das Lesen dieses Diagramms beginnt mit der ursprünglichen Nachricht 1.0 und wird dann in der Richtung fortgesetzt, in der Nachrichten von einem Objekt zu einem anderen weitergeleitet werden.

Die meisten dieser Diagramme zeigen genau die gleichen Informationen, die uns ein Sequenzdiagramm liefert. Da jedoch eine andere Art der Darstellung von Informationen verwendet wird, sind bestimmte Dinge in einem Diagramm viel einfacher zu identifizieren als in einem anderen. Es ist auch erwähnenswert, dass das Kommunikationsdiagramm deutlicher zeigt, mit welchen Elementen jedes einzelne Element interagiert, während das Sequenzdiagramm deutlicher zeigt, in welcher Reihenfolge die Interaktionen stattfinden.

Sequenzdiagramm

Ein UML-Sequenzdiagramm zeigt die Wechselwirkungen zwischen mehreren Objekten, die nach ihrem Zeitpunkt des Auftretens geordnet sind. Dieses Diagramm zeigt die zeitlich geordneten Interaktionen zwischen mehreren Objekten. Insbesondere werden alle Objekte angezeigt, die an der Interaktion teilnehmen, sowie die vollständige Abfolge der von ihnen ausgetauschten Nachrichten.

Die Hauptelemente in diesem Fall sind die Bezeichnungen verschiedener Objekte sowie vertikale Linien, die den Zeitablauf und Rechtecke zeigen, die die Aktivität eines bestimmten Objekts oder die Ausführung einer Funktion durch dieses Objekt bereitstellen.

Kollaborationsdiagramm

Mit dieser Art von Diagrammen können Sie Interaktionen zwischen mehreren Objekten demonstrieren und von der Reihenfolge der Broadcast-Nachrichten abstrahieren. Diese Art von Diagrammen in kompakter Form zeigt absolut alle gesendeten und empfangenen Nachrichten eines bestimmten Objekts sowie die Formate dieser Nachrichten an.

Aufgrund der Tatsache, dass Sequenzdiagramme und Kommunikationsdiagramme einfach unterschiedliche Ansichten derselben Prozeduren sind, bietet Rational Rose die Möglichkeit, ein Kommunikationsdiagramm aus einem Sequenzdiagramm oder umgekehrt zu erstellen und diese vollautomatisch zu synchronisieren.

Interaktionsübersichtsdiagramme

Dies sind UML-Diagramme, die eine Art Aktivitätsdiagramm darstellen und sowohl Sequenzelemente als auch Kontrollflusskonstrukte enthalten.

Es ist erwähnenswert, dass dieses Format Kollaborations- und Sequenzdiagramme kombiniert, die aus verschiedenen Blickwinkeln die Möglichkeit bieten, die Interaktion zwischen mehreren Objekten im zu bildenden System zu berücksichtigen.

Synchronisationsdiagramm

Es ist ein alternatives Sequenzdiagramm, das die Zustandsänderung auf einer Lebenslinie mit einer bestimmten Zeitskala klar zeigt. Kann in verschiedenen Echtzeitanwendungen sehr nützlich sein.

Was sind die Vorteile?

Es sind einige Vorteile zu beachten, die das UML-Verwendungsdiagramm von anderen unterscheiden:

  • Die Sprache ist objektorientiert, wodurch die Technologien zur Beschreibung der Ergebnisse der durchgeführten Analyse und des durchgeführten Designs den Programmiermethoden in allen Arten objektorientierter Sprachen des modernen Typs semantisch nahe kommen.
  • Mit dieser Sprache kann ein System aus nahezu jedem möglichen Blickwinkel beschrieben werden, und verschiedene Aspekte seines Verhaltens werden auf dieselbe Weise beschrieben.
  • Alle Diagramme sind auch nach relativ kurzer Kenntnis der Syntax relativ einfach zu lesen.
  • Mit UML können Sie Ihre eigenen grafischen und textuellen Stereotypen erweitern und einführen, was nicht nur zur Verwendung in der Softwareentwicklung beiträgt.
  • Die Sprache ist ziemlich weit verbreitet und entwickelt sich auch ziemlich aktiv.

Nachteile

Trotz der Tatsache, dass die Konstruktion von UML-Diagrammen viele Vorteile hat, werden sie häufig wegen der folgenden Nachteile kritisiert:

  • Redundanz. In den allermeisten Fällen sagen Kritiker, dass die UML zu groß und komplex ist, und dies ist oft ungerechtfertigt. Es enthält viele redundante oder praktisch nutzlose Konstruktionen und Diagramme, und meistens geht diese Kritik auf die zweite Version und nicht auf die erste, da in neueren Revisionen mehr Kompromisse "vom Ausschuss entwickelt" werden.
  • Verschiedene semantische Ungenauigkeiten. Da die UML durch eine Kombination aus sich selbst, Englisch und OCL definiert ist, fehlt ihr die Steifheit, die Sprachen innewohnt, die durch formale Beschreibungstechniken genau definiert werden. In bestimmten Situationen widersprechen sich die abstrakte Syntax von OCL, UML und Englisch, während sie in anderen Fällen unvollständig sind. Die Ungenauigkeit der Beschreibung der Sprache selbst betrifft sowohl Benutzer als auch Tool-Anbieter, was letztendlich zu einer Inkompatibilität der Tools führt, da unterschiedliche Spezifikationen auf einzigartige Weise interpretiert werden.
  • Probleme bei der Implementierung und beim Studium. Alle oben genannten Probleme führen zu gewissen Schwierigkeiten bei der Einführung und dem Erlernen von UML. Dies gilt insbesondere dann, wenn die Führung die Ingenieure zwingt, sie zwangsweise anzuwenden, obwohl sie keine Vorkenntnisse haben.
  • Der Code spiegelt den Code wider. Eine andere Meinung ist, dass nicht schöne und attraktive Modelle wichtig sind, sondern die Arbeitssysteme selbst, dh der Code ist das Projekt. In Übereinstimmung mit dieser Ansicht besteht die Notwendigkeit, eine effizientere Methode zum Schreiben von Software zu entwickeln. Die UML wird für Ansätze geschätzt, die Modelle kompilieren, um ausführbaren oder Quellcode neu zu generieren. In der Realität reicht dies jedoch möglicherweise nicht aus, da der Sprache die Vollständigkeitseigenschaften von Turing fehlen und jeder generierte Code letztendlich durch das begrenzt wird, was ein UML-Interpreter-Tool annehmen oder definieren kann.
  • Nicht übereinstimmende Last laden. Dieser Begriff stammt aus der Theorie der Systemanalyse, um die Unfähigkeit der Eingabe eines bestimmten Systems zu bestimmen, die Ausgabe eines anderen Systems wahrzunehmen. Wie bei jedem Standardnotationssystem kann die UML einige Systeme effizienter und präziser darstellen als andere. Daher neigt der Entwickler eher zu Lösungen, die sich besser zum Weben aller Stärken der UML sowie anderer Programmiersprachen eignen. Dieses Problem ist offensichtlicher, wenn die Entwicklungssprache nicht den Grundprinzipien der objektorientierten orthodoxen Doktrin entspricht, dh nicht versucht, in Übereinstimmung mit den Prinzipien der OOP zu arbeiten.
  • Versucht vielseitig zu sein. UML ist eine universelle Modellierungssprache, die mit jeder heute existierenden Verarbeitungssprache kompatibel sein soll. Im Kontext eines bestimmten Projekts müssen die anwendbaren Fähigkeiten dieser Sprache ausgewählt werden, damit das Designteam das endgültige Ziel erreichen kann. Darüber hinaus gehen mögliche Wege zur Begrenzung des Umfangs der UML in einem bestimmten Bereich durch einen Formalismus, der nicht vollständig formuliert ist, aber selbst Gegenstand von Kritik ist.

Daher ist die Verwendung dieser Sprache nicht in allen Situationen relevant.

UML ist eine Abkürzung für Unified Modeling Language. Tatsächlich ist es eine der beliebtesten Techniken zur Modellierung von Geschäftsprozessen und eine internationale Standardnotation zum Spezifizieren, Visualisieren und Dokumentieren der Softwareentwicklung. Von der Object Management Group definiert, entstand aus mehreren zusätzlichen UML-Notationssystemen und ist mittlerweile zum De-facto-Standard für die visuelle Modellierung geworden. Das Grundprinzip jeder objektorientierten Programmierung beginnt mit der Erstellung eines Modells.

Die UML wurde aus dem Chaos um Softwareentwicklung und Dokumentation erstellt. In den neunziger Jahren gab es verschiedene Arten der Darstellung von Softwaresystemen. Es bestand Bedarf an einer einheitlicheren visuellen UML-Darstellung dieser Systeme. Daher wurde sie 1994-1996 von drei Software-Ingenieuren entwickelt, die bei Rational Software arbeiten. Es wurde später 1997 als Standard übernommen und bleibt es mit nur wenigen Aktualisierungen.

Grundsätzlich ist UML eine universelle Modellierungssprache im Bereich der Softwareentwicklung. Dies spiegelt sich jetzt jedoch in der Dokumentation mehrerer Geschäfts- oder Workflowprozesse wider, z. B. in Aktivitätsdiagrammen. Der UML-Diagrammtyp kann als Ersatz für Flussdiagramme verwendet werden. Sie bieten sowohl eine standardisierte Möglichkeit zur Modellierung von Workflows als auch eine Vielzahl von Funktionen zur Verbesserung der Lesbarkeit und Effizienz.

Die Architektur basiert auf einem Metaobjekt, das die Basis für die Erstellung der UML definiert. Es ist genau genug, um eine gesamte Anwendung zu erstellen. Vollständig ausführbare UML kann auf mehreren Plattformen mit unterschiedlichen Technologien und allen Prozessen während des gesamten Softwareentwicklungszyklus bereitgestellt werden.

UML ist für die Entwicklung einer visuellen Modellierungssprache durch Benutzer vorgesehen. Es unterstützt übergeordnete Designkonzepte wie Strukturen, Vorlagen und Zusammenarbeit. UML ist eine Sammlung von Elementen wie:

  1. Programmiersprachenanweisungen.
  2. Akteure - beschreiben die Rolle des Benutzers oder eines anderen Systems, das mit dem Objekt interagiert.
  3. Aktivitäten zur Erfüllung des Arbeitsvertrags, die in Diagrammen dargestellt werden.
  4. Ein Geschäftsprozess, der eine Reihe von Aufgaben enthält, die einen bestimmten Service für Kunden erstellen und durch ein Flussdiagramm aufeinanderfolgender Aktionen visualisiert werden.
  5. Logische und wiederverwendbare Softwarekomponenten.

UML-Diagramme lassen sich in zwei Kategorien einteilen. Der erste Typ enthält sieben Arten von Diagrammen, die Strukturinformationen darstellen, der zweite enthält die anderen sieben, die allgemeine Verhaltenstypen darstellen. Diese Diagramme dienen zur Dokumentation der Systemarchitektur und sind direkt an der UML-Systemmodellierung beteiligt.

UML-Diagramme werden als statische und dynamische Ansichten des Systemmodells dargestellt. Die statische Ansicht enthält Klassen- und Verbundstrukturdiagramme, die die statische Struktur hervorheben. Eine dynamische Ansicht repräsentiert die Interaktion zwischen Objekten und Änderungen der internen Zustände von Objekten mithilfe von Sequenz-, Aktivitäts- und Zustandsdiagrammen.

Zur Vereinfachung der Modellierung stehen eine Vielzahl von UML-Modellierungswerkzeugen zur Verfügung, darunter IBM Rose, Rhapsody, MagicDraw, StarUML, ArgoUML, Umbrello, BOUML, PowerDesigner und Dia.

UML wird auf unterschiedliche Weise verwendet, sowohl in der Sals auch in Geschäftsprozessen:

  1. Skizzieren. In diesem Fall werden UML-Diagramme verwendet, um verschiedene Aspekte und Eigenschaften des Systems zu vermitteln. Dies ist jedoch nur eine Ansicht des Systems auf oberster Ebene und enthält wahrscheinlich nicht alle erforderlichen Details, um das Projekt bis zum Ende durchzuführen.
  2. Vorwärtsentwurf - Der Entwurf der Skizze erfolgt vor dem Codieren der Anwendung. Dies soll einen besseren Überblick über das System oder den Workflow geben, den der Benutzer erstellen möchte. Es können viele Designprobleme oder -fehler festgestellt werden, die die allgemeine Gesundheit und das Wohlbefinden des Projekts verbessern.
  3. Reverse Design. Sobald der Code geschrieben ist, werden UML-Diagramme als Dokumentationsform für verschiedene Aktivitäten, Rollen, Teilnehmer und Workflows angezeigt.
  4. Entwurf. In diesem Fall dient das Diagramm als vollständige Konstruktion, die nur die tatsächliche Implementierung des Systems oder der Software erfordert. Dies erfolgt häufig mit CASE-Tools (Computer Aided Software Engineering Tools). Der Hauptnachteil der Verwendung von CASE-Tools besteht darin, dass sie ein bestimmtes Maß an Wissen, Benutzerschulung sowie Management und Personal erfordern.

UML ist keine eigenständige Programmiersprache wie Java, C ++ oder Python, kann jedoch mit den richtigen Tools zu einer Pseudo-UML werden. Um dieses Ziel zu erreichen, muss das gesamte System in verschiedenen Diagrammen dokumentiert werden. Mit der richtigen Software können Diagramme direkt in Code übersetzt werden. Diese Technik kann nur nützlich sein, wenn der Zeitaufwand für das Zeichnen der Diagramme weniger zeitaufwändig ist als das Schreiben des eigentlichen Codes. Obwohl UML für die Systemmodellierung erstellt wurde, hat es in Geschäftsbereichen mehrere Anwendungen gefunden.

Es folgt ein Beispiel für ein UML-Diagramm für die Geschäftsmodellierung.

Eine praktische Lösung wäre die Visualisierung des Prozessablaufs für den Telesales anhand eines Aktivitätsdiagramms. Von dem Moment an, in dem die Bestellung als Eingabe genommen wird, bis zu dem Moment, in dem die Bestellung abgeschlossen ist und eine bestimmte Ausgabe gegeben wird.

Es gibt verschiedene Arten von UML-Diagrammen, von denen jedes eine andere Aufgabe ausführt, unabhängig davon, ob es vor oder nach der Implementierung als Teil der Dokumentation entwickelt wurde. Die zwei breitesten Kategorien, die alle anderen Typen umfassen, sind Verhaltensdiagramme und Strukturdiagramme. Wie der Name schon sagt, versuchen einige UML-Diagramme, die Struktur eines Systems oder Prozesses zu analysieren und darzustellen, während andere das Verhalten eines Systems, seiner Teilnehmer und Komponenten beschreiben.

Die verschiedenen Typen sind wie folgt unterteilt:

  1. Nicht alle der 14 verschiedenen Arten von UML-Diagrammen werden regelmäßig zur Dokumentation von Systemen und Architekturen verwendet.
  2. Das Pareto-Prinzip gilt auch für die Verwendung von UML-Diagrammen.
  3. 20% der Diagramme werden in 80% der Fälle von Entwicklern verwendet.

Die am häufigsten verwendeten Elemente in der Softwareentwicklung:

  • nutzungsdiagramme;
  • klassendiagramme;
  • reihenfolge.

Aktionsdiagramme sind die wichtigsten UML-Diagramme zum Erstellen von Geschäftsprozessmodellen. In der Softwareentwicklung werden sie verwendet, um den Ablauf verschiedener Aktionen zu beschreiben. Sie können entweder sequentiell oder parallel sein. Sie beschreiben die von Aktivitäten verwendeten, konsumierten oder produzierten Objekte und die Beziehung zwischen verschiedenen Aktivitäten.

All dies ist wichtig für die Modellierung von Geschäftsprozessen, die von einem zum anderen führen, da sie mit einem klaren Anfang und Ende verbunden sind. In einer Geschäftsumgebung wird dies auch als Geschäftsprozesszuordnung bezeichnet. Die Hauptakteure sind der Autor, Herausgeber und Verleger. Beispiele für UML sind die folgenden. Wenn ein Prüfer den Entwurf überprüft und entscheidet, dass einige Änderungen vorgenommen werden müssen. Der Autor überarbeitet dann das Projekt und gibt es erneut zurück, um die Übersicht zu analysieren.

Nutzungsdiagramm

Eckpfeiler des Systems - zur Analyse der Anforderungen auf Systemebene. Diese Anforderungen werden in verschiedenen Anwendungsfällen ausgedrückt. Die drei Hauptkomponenten eines UML-Diagramms sind:

  1. Funktional - als Anwendungsfälle dargestellt.
  2. Ein Verb, das eine Aktion beschreibt.
  3. Schauspieler - um mit dem System zu interagieren. Der Akteur kann Benutzer, Organisationen oder eine externe Anwendung sein. Die Beziehung zwischen den Teilnehmern wird durch gerade Pfeile dargestellt.

Zum Beispiel für ein Bestandskontrolldiagramm. In diesem Fall gibt es einen Eigentümer, Lieferanten, Manager, Bestandsfachmann und Bestandsinspektor. Die runden Container repräsentieren die Aktionen, die die Akteure ausführen. Mögliche Maßnahmen sind der Kauf und die Bezahlung von Aktien, die Überprüfung der Qualität von Aktien, die Rückgabe von Aktien oder deren Verteilung.

Diese Art von Diagramm eignet sich gut zur Anzeige des dynamischen Verhaltens zwischen Teilnehmern an einem System, wodurch die Darstellung vereinfacht wird, ohne dass Implementierungsdetails berücksichtigt werden.

Temporär

UML-Zeitdiagramme werden verwendet, um Objektbeziehungen darzustellen, wenn der Fokus zeitabhängig ist. Es ist nicht daran interessiert, wie Objekte interagieren oder sich gegenseitig verändern, aber der Benutzer möchte sich vorstellen, wie Objekte und Subjekte entlang einer linearen Zeitachse wirken.

Jeder einzelne Teilnehmer wird durch eine Lebenslinie dargestellt, die im Wesentlichen eine Linie darstellt, die die Stufen bildet, wenn sich der einzelne Teilnehmer von einer Stufe zur nächsten bewegt. Der Fokus liegt auf der Dauer der Ereignisse und den Änderungen, die abhängig davon auftreten.

Die Hauptkomponenten eines Zeitdiagramms sind:

  1. Lifeline ist ein einzelnes Mitglied.
  2. Zustandszeitleiste - Ein einzelner Lebenspfad kann innerhalb eines Prozesses verschiedene Zustände durchlaufen.
  3. Dauereinschränkung - Eine Zeitintervallbeschränkung, die die zur Ausführung der Einschränkung erforderliche Dauer darstellt.
  4. Zeitlimit - Begrenzen Sie das Zeitintervall, in dem der Teilnehmer etwas tun muss.
  5. Erscheinungsbild der Zerstörung - Das Erscheinungsbild einer Nachricht, die einen einzelnen Teilnehmer zerstört und das Ende des Lebenszyklus dieses Teilnehmers darstellt.

Horizontale Diagramme, auch Zustandsdiagramme genannt, werden verwendet, um die verschiedenen Zustände einer Komponente innerhalb eines Systems zu beschreiben. Es wird ein endgültiges Namensformat verwendet, da ein Diagramm im Wesentlichen eine Maschine ist, die mehrere Zustände eines Objekts beschreibt und wie es sich basierend auf internen und externen Ereignissen ändert.

Ein sehr einfaches Maschinenzustandsdiagramm wäre in einem Schachspiel. Ein typisches Schachspiel besteht aus Zügen von Weiß und Zügen von Schwarz. Weiß hat den ersten Zug, der das Spiel einleitet. Das Ende des Spiels kann passieren, unabhängig davon, ob Weiß oder Schwarz gewinnt. Das Spiel kann in einem Match, einem Rücktritt oder einem Unentschieden enden (verschiedene Zustände der Maschine). Zustandsdiagramme werden hauptsächlich beim Vorwärts- und Rückwärts-UML-Design verschiedener Systeme verwendet.

Aufeinanderfolgenden

Diese Art von Diagramm ist das wichtigste UML-Diagramm nicht nur in der Informatik, sondern auch als Entwurfsschichtmodell für die Entwicklung von Geschäftsanwendungen. Sie sind wegen ihrer visuell selbsterklärenden Natur für die Beschreibung von Geschäftsprozessen beliebt. Wie der Name schon sagt, beschreiben Diagramme die Abfolge von Nachrichten und Interaktionen, die zwischen Subjekten und Objekten auftreten. Akteure oder Objekte können nur dann aktiv sein, wenn sie benötigt werden oder wenn ein anderes Objekt mit ihnen kommunizieren möchte. Alle Mitteilungen werden in chronologischer Reihenfolge dargestellt.

Weitere Informationen finden Sie im folgenden Beispiel für ein UML-Sequenzdiagramm.

Wie das Beispiel zeigt, werden Strukturdiagramme verwendet, um die Struktur eines Systems zu zeigen. Insbesondere wird in der Softwareentwicklung eine Sprache verwendet, um die Architektur eines Systems darzustellen und wie verschiedene Komponenten miteinander verbunden sind.

Das UML-Klassendiagramm ist der häufigste Diagrammtyp für die Softwaredokumentation. Da die meisten derzeit geschriebenen Programme immer noch auf dem objektorientierten Programmierparadigma basieren, ist es sinnvoll, Klassendiagramme zur Dokumentation von Software zu verwenden. Dies liegt daran, dass OOP auf UML-Klassen und den Beziehungen zwischen ihnen basiert. Kurz gesagt, Diagramme enthalten Klassen zusammen mit ihren Attributen, die auch als Datenfelder bezeichnet werden, und ihrem Verhalten, die als Elementfunktionen bezeichnet werden.

Insbesondere hat jede Klasse 3 Felder: Name oben, Attribute direkt unter dem Namen, Operationen / Verhalten unten. Die Beziehung zwischen den verschiedenen Klassen (dargestellt durch die Verbindungslinie) bildet ein Klassendiagramm. Das obige Beispiel zeigt ein grundlegendes Klassendiagramm.

Objekte

Bei der Erörterung von UML-Strukturdiagrammen muss man sich eingehender mit Informatikkonzepten befassen. In der Softwareentwicklung werden Klassen als abstrakte Datentypen betrachtet, während Objekte Instanzen sind. Wenn beispielsweise ein "Auto" vorhanden ist, bei dem es sich um einen generischen abstrakten Typ handelt, ist eine Instanz der Klasse "Auto" "Audi".

Mithilfe von UML-Objektdiagrammen können Softwareentwickler überprüfen, ob die generierte abstrakte Struktur in der Praxis realisierbar ist, dh wenn Objekte erstellt werden. Einige Entwickler betrachten dies als sekundäre Ebene der Genauigkeitsüberprüfung. Es werden Instanzen von Klassen angezeigt. Genauer gesagt hat die allgemeine Klasse "Kunde" jetzt einen tatsächlichen Kunden, beispielsweise "James". James ist eine Instanz einer allgemeineren Klasse und hat jedoch die gleichen Attribute mit den angegebenen Werten. Das gleiche wurde mit dem Konto und dem Sparkonto gemacht. Sie sind beide Objekte ihrer jeweiligen Klasse.

Einsatz

Bereitstellungsdiagramme werden verwendet, um die Beziehung zwischen Software und Hardware zu visualisieren. Genauer gesagt können Sie mit Bereitstellungsdiagrammen ein physisches Modell erstellen, wie Softwarekomponenten (Artefakte) auf Hardwarekomponenten bereitgestellt werden, die als Knoten bezeichnet werden.

Ein typisches vereinfachtes Bereitstellungsschema für eine Webanwendung umfasst:

  1. Knoten (Anwendungsserver und Datenbankserver).
  2. Artefakt-Client-Anwendungsschema und -Datenbank.

Das Paketdiagramm ähnelt den Makros für die oben erläuterten UML-Bereitstellungsdiagramme. Verschiedene Pakete enthalten Knoten und Artefakte. Sie gruppieren Diagramme und Modellkomponenten in Gruppen, ähnlich wie ein Namespace verschiedene Namen kapselt, die etwas miteinander verwandt sind. Letztendlich kann ein Paket auch von mehreren anderen Paketen erstellt werden, um komplexere Systeme und Verhaltensweisen darzustellen.

Der Hauptzweck eines Paketdiagramms besteht darin, die Beziehungen zwischen den verschiedenen Hauptkomponenten darzustellen, aus denen ein komplexes System besteht. Programmierer finden diese Abstraktionsfunktion ein guter Vorteil für die Verwendung von Paketdiagrammen, insbesondere wenn Details aus dem Bild herausgelassen werden können.

Wie alles andere im Leben braucht es die richtigen Werkzeuge, um etwas richtig zu machen. Verwenden Sie zum Dokumentieren von Software, Prozessen oder Systemen Tools, die UML-Anmerkungen und Diagrammvorlagen bieten. Es gibt verschiedene Softwaredokumentationswerkzeuge, mit denen Sie ein Diagramm zeichnen können.

Sie fallen normalerweise in die folgenden Hauptkategorien:

  1. Papier und Stift sind einfach. Sie nehmen Papier und einen Stift, öffnen den UML-Syntaxcode aus dem Internet und zeichnen eine beliebige Art von Diagramm.
  2. Online-Tools - Es gibt verschiedene Online-Anwendungen, mit denen Sie Ihr Diagramm erstellen können. Die meisten von ihnen bieten ein kostenpflichtiges Abonnement oder eine begrenzte Anzahl von kostenlosen Tier-Charts an.
  3. Kostenlose Online-Tools sind fast die gleichen wie kostenpflichtige. Der Hauptunterschied besteht darin, dass die bezahlten auch Tutorials und vorgefertigte Vorlagen für bestimmte Diagramme anbieten.
  4. Eine Desktop-Anwendung ist eine typische Desktop-Anwendung für Diagramme, und fast jedes andere Diagramm ist Microsoft Visio. Es bietet erweiterte Features und Funktionen. Der einzige Nachteil ist, dass Sie dafür bezahlen müssen.

Somit ist es ziemlich klar, dass UML ein wichtiger Aspekt bei der Entwicklung objektorientierter Software ist. Es verwendet die grafische Notation, um visuelle Modelle von Systemprogrammen zu erstellen.

Fortsetzung des Themas:
Programme

Abstract: In der Vorlesung werden die Aufgaben und Methoden der wirtschaftlichen Analyse der Durchführbarkeit von Maßnahmen zur Gewährleistung der Informationssicherheit in bestimmten ...