Ein umfassender Leitfaden für UML-Klassendiagramme

Table of Contents hide
  • Die Unified Modeling Language ( UML ) ist eine universelle Modellierungssprache für die Entwicklung im Bereich der Softwareentwicklung, die entwickelt wurde, um einen Standardansatz für die Visualisierung des Systemdesigns bereitzustellen. Die ursprüngliche Motivation für die Erstellung von UML war der Wunsch, verschiedene Notationssysteme und Softwaredesignmethoden zu standardisieren. In UML ist ein Klassendiagramm eine von sechs Arten von Strukturdiagrammen . Klassendiagramme sind die Grundlage des Objektmodellierungsprozesses und modellieren die statische Struktur des Systems.

    Struktogramme zeigen die statische Struktur des Systems und seiner Teile auf verschiedenen Abstraktions- und Implementierungsebenen und wie sie zueinander in Beziehung stehen. Die Elemente in einem Strukturdiagramm stellen die bedeutungsvollen Konzepte eines Systems dar und können abstrakte, reale und Implementierungskonzepte umfassen. Es gibt sieben Arten von Strukturdiagrammen:

     

    Überblick über die 14 UML-Diagrammtypen

    Was ist ein Klassendiagramm?

    Ein Klassendiagramm in der Unified Modeling Language (UML) ist ein statisches Strukturdiagramm, das die Struktur eines Systems beschreibt, indem es seine Klassen, ihre Attribute, Operationen (oder Methoden) und die Beziehungen zwischen Objekten zeigt. Ein Klassendiagramm ist eine Blaupause für ein System oder Subsystem. Sie können Klassendiagramme verwenden, um die Objekte zu modellieren, aus denen das System besteht, die Beziehungen zwischen Objekten darzustellen und die Rollen dieser Objekte und die von ihnen bereitgestellten Dienste zu beschreiben.

    Der Ursprung von UML

    Das Ziel von UML ist es, eine Standardnotation bereitzustellen, die von allen objektorientierten Methoden verwendet werden kann, und die besten Elemente von Vorläufernotationen auszuwählen und zu integrieren. UML wurde für ein breites Anwendungsspektrum entwickelt. Daher stellt es Konstrukte für eine breite Palette von Systemen und Aktivitäten (z. B. verteilte Systeme, Analyse, Systemdesign und -einsatz) bereit.

    UML ist eine Notation, die aus der Vereinheitlichung von OMT hervorgegangen ist

    1. Object Modeling Technique OMT  [ James Rumbaugh  1991] – eignete sich am besten für Analysen und datenintensive Informationssysteme.
    2. Booch [ Grady Booch  1994] – war hervorragend für Design und Umsetzung. Grady Booch hatte intensiv mit der  Ada  -Sprache gearbeitet und war maßgeblich an der Entwicklung objektorientierter Techniken für die Sprache beteiligt gewesen. Obwohl die Booch-Methode stark war, wurde die Notation weniger gut angenommen (viele Wolkenformen dominierten seine Modelle – nicht sehr aufgeräumt)
    3. OOSE (Object-Oriented Software Engineering [ Ivar Jacobson  1992]) – enthielt ein Modell, das als Use Cases bekannt ist. Anwendungsfälle sind eine leistungsstarke Technik, um das Verhalten eines gesamten Systems zu verstehen (ein Bereich, in dem OO traditionell schwach war).

    1994 verblüffte Jim Rumbaugh, der Schöpfer von OMT, die Softwarewelt, als er General Electric verließ und zu Grady Booch bei Rational Corp. wechselte Methode war in der Tat die „Einheitliche Methode“).

    UML-Geschichte

    Der Zweck des Klassendiagramms

    Klassendiagramme sind in vielen Phasen des Systemdesigns nützlich. Während der Analysephase können Ihnen Klassendiagramme helfen, die Anforderungen der Problemdomäne zu verstehen und ihre Komponenten zu identifizieren. In objektorientierten Softwareprojekten enthält das in den frühen Phasen des Projekts erstellte Klassendiagramm Klassen, die beim Schreiben von Code häufig in tatsächliche Softwareklassen und -objekte umgewandelt werden.

    Später können Sie die frühen Analyse- und Konzeptmodelle in Klassendiagramme verfeinern, um bestimmte Teile des Systems, Benutzeroberflächen, Logikimplementierungen usw. zu zeigen.

    Klassendiagramme werden häufig bei der Modellierung objektorientierter Systeme verwendet, da sie die einzigen UML-Diagramme sind, die direkt auf objektorientierte Sprachen abgebildet werden können. Während der Implementierungsphase des Softwareentwicklungszyklus können Sie Klassendiagramme verwenden, um Modelle in Code und Code in Modelle umzuwandeln. 

    Klasse Beispiel

    Ein Hund hat Zustände – Farbe, Name, Rasse sowie Verhaltensweisen – Wedeln, Bellen, Fressen. Ein Objekt ist eine Instanz einer Klasse.

     

    UML-Klassennotation

    Eine Klasse stellt ein Konzept dar, das Zustand ( Attribute ) und Verhalten ( Operationen ) kapselt . Jedes Attribut hat einen Typ. Jede  Operation  hat eine  Signatur . Der Klassenname ist die  einzige obligatorische Information .

    Klassenname:

    • Der Name der Klasse erscheint in der ersten Partition.

    Klassenattribute:

    • Attribute werden in der zweiten Partition angezeigt.
    • Der Attributtyp wird nach dem Doppelpunkt angezeigt.
    • Attribute werden im Code Membervariablen (Datenmembern) zugeordnet.

    Klassenoperationen (Methoden):

    • Operationen werden in der dritten Partition gezeigt. Sie sind Dienste, die die Klasse bereitstellt.
    • Der Rückgabetyp einer Methode wird nach dem Doppelpunkt am Ende der Methodensignatur angezeigt.
    • Der Rückgabetyp von Methodenparametern wird nach dem Doppelpunkt nach dem Parameternamen angezeigt. Operationen werden Klassenmethoden im Code zugeordnet

    Klassenbeziehungen

    Eine Klasse kann an einer oder mehreren Beziehungen mit anderen Klassen beteiligt sein. Eine Beziehung kann einer der folgenden Typen sein: (Die grafische Darstellung von Beziehungen finden Sie in der Abbildung rechts).

    Beziehungstyp Grafische Darstellung
    Vererbung  (oder Generalisierung):
    • Repräsentiert eine „Ist-ein“-Beziehung.
    • Ein abstrakter Klassenname wird kursiv dargestellt.
    • SubClass1 und SubClass2 sind Spezialisierungen der Superklasse.
    • Eine durchgehende Linie mit einer hohlen Pfeilspitze, die von der untergeordneten zur übergeordneten Klasse zeigt
    Vererbung (oder Generalisierung)
    Einfache Assoziation :
    • Eine strukturelle Verbindung zwischen zwei Peer-Klassen.
    • Es besteht eine Zuordnung zwischen Class1 und Class2
    • Eine durchgezogene Linie, die zwei Klassen verbindet
    Einfache Assoziation
    Aggregation :Eine besondere Art von Verein. Es stellt eine „Teil von“-Beziehung dar.
    • Klasse2 ist Teil von Klasse1.
    • Viele Instanzen (mit * gekennzeichnet) von Class2 können Class1 zugeordnet werden.
    • Objekte von Klasse1 und Klasse2 haben unterschiedliche Lebensdauern.
    • Eine durchgezogene Linie mit einer ungefüllten Raute am Assoziationsende, verbunden mit der Verbundklasse
    Anhäufung
    Zusammensetzung :Eine besondere Art der Aggregation, bei der Teile zerstört werden, wenn das Ganze zerstört wird.
    • Objekte von Class2 leben und sterben mit Class1.
    • Class2 kann nicht alleine stehen.
    • Eine durchgezogene Linie mit einer gefüllten Raute an der Assoziation, die mit der Klasse der Verbundwerkstoffe verbunden ist
    Abhängigkeit :
    • Existiert zwischen zwei Klassen, wenn die Änderungen an der Definition der einen Änderungen an der anderen bewirken können (aber nicht umgekehrt).
    • Klasse1 hängt von Klasse2 ab
    • Eine gestrichelte Linie mit einem offenen Pfeil
    Abhängigkeit

    Beziehungsnamen

    • Namen von Beziehungen werden in die Mitte der Assoziationslinie geschrieben.
    • Gute Beziehungsnamen machen Sinn, wenn man sie laut vorliest:
      • „Jedes Tabellenblatt  enthält  eine gewisse Anzahl von Zellen“,
      • „ein Ausdruck  ergibt  einen Wert“
    • Sie haben oft eine  kleine Pfeilspitze, um die Richtung anzuzeigen,  in der die Beziehung gelesen werden soll, z. B. werden Ausdrücke zu Werten ausgewertet, aber Werte werden nicht zu Ausdrücken ausgewertet.

     

    Beziehung – Rollen

    • Eine Rolle ist ein Richtungszweck einer Assoziation.
    • Rollen werden an die Enden einer Assoziationslinie geschrieben und beschreiben den Zweck, den diese Klasse in der Beziehung spielt.
      • Eine Zelle ist zB mit einem Ausdruck verbunden. Die Art der Beziehung besteht darin, dass der Ausdruck die  Formel  der Zelle ist.

    Sichtbarkeit von Klassenattributen und Operationen

    Im objektorientierten Design gibt es eine Notation der Sichtbarkeit für Attribute und Operationen. UML unterscheidet vier Arten von Sichtbarkeit:  public ,  protected ,  private und  package .

    Die Symbole +, -, # und ~ vor einem Attribut- und Operationsnamen in einer Klasse geben die Sichtbarkeit des Attributs und der Operation an.

    • + bezeichnet öffentliche Attribute oder Operationen
    • – bezeichnet private Attribute oder Operationen
    • # bezeichnet geschützte Attribute oder Operationen
    • ~ bezeichnet Paketattribute oder Operationen

    Beispiel für Klassensichtbarkeit

    Im obigen Beispiel:

    • attribute1 und op1 von MyClassName sind öffentlich
    • attribute3 und op3 sind geschützt.
    • attribute2 und op2 sind privat.

    Der Zugriff für jeden dieser Sichtbarkeitstypen wird unten für Mitglieder verschiedener Klassen gezeigt.

    Zugriffsrecht öffentlich (+) Privat (-) geschützt (#) Paket (~)
    Mitglieder der gleichen Klasse Jawohl Jawohl Jawohl Jawohl
    Mitglieder abgeleiteter Klassen Jawohl Nein Jawohl Jawohl
    Mitglieder einer anderen Klasse Jawohl Nein Nein im selben Paket

    Vielzahl

    Wie viele Objekte jeder Klasse an den Beziehungen und der Multiplizität teilnehmen, kann ausgedrückt werden als:

    • Genau eine – 1
    • Null oder Eins – 0..1
    • Viele – 0..* oder *
    • Eine oder mehrere – 1..*
    • Genaue Zahl – zB 3..4 oder 6
    • Oder eine komplexe Beziehung – zB 0..1, 3..4, 6.* würde eine beliebige Anzahl von Objekten außer 2 oder 5 bedeuten

    Beispiel für Multiplizität

    • Voraussetzung: Ein Student kann viele Kurse belegen und viele Studenten können in einem Kurs eingeschrieben sein.
    • Im Beispiel unten beschreibt das  Klassendiagramm  (links) die obige Aussage der Anforderung für das statische Modell, während das Objektdiagramm (rechts) die Momentaufnahme (eine Instanz des Klassendiagramms) der Kursanmeldung für zeigt die Studiengänge Software Engineering bzw. Database Management)

    Objektdiagramm

    Aggregationsbeispiel – Computer und Teile

    • Eine Aggregation ist ein Sonderfall der Assoziation, der eine „besteht aus“-Hierarchie bezeichnet
    • Das Aggregat ist die übergeordnete Klasse, die Komponenten sind die untergeordneten Klassen
    Aggregationsbeispiel

    Vererbungsbeispiel – Zelltaxonomie

    • Vererbung ist ein weiterer Sonderfall einer Assoziation, die eine Art von Hierarchie bezeichnet
    • Die Vererbung vereinfacht das Analysemodell durch die Einführung einer Taxonomie
    • Die untergeordneten Klassen erben die Attribute und Operationen der übergeordneten Klasse.
    Beispiel Erbschaft

     

    Klassendiagramm – Beispiel für ein Diagrammtool

    Ein Klassendiagramm kann auch Notizen zu Klassen oder Beziehungen haben. Notizen werden grau dargestellt.

    Beispiel für ein Klassendiagramm

     

    Im obigen Beispiel:

    Wir können die Bedeutung des obigen Klassendiagramms interpretieren, indem wir die Punkte wie folgt durchlesen.

    1. Shape ist eine abstrakte Klasse. Es ist kursiv dargestellt.
    2. Shape ist eine Superklasse. Circle, Rectangle und Polygon werden von Shape abgeleitet. Mit anderen Worten, ein Kreis ist eine Form. Dies ist eine Verallgemeinerungs-/Vererbungsbeziehung.
    3. Es besteht eine Zuordnung zwischen DialogBox und DataController.
    4. Shape ist Teil von Window. Dies ist eine Aggregationsbeziehung. Form kann ohne Fenster existieren.
    5. Point ist Teil von Circle. Dies ist eine Kompositionsbeziehung. Punkt kann ohne Kreis nicht existieren.
    6. Das Fenster ist vom Ereignis abhängig. Event ist jedoch nicht von Window abhängig.
    7. Die Attribute von Circle sind Radius und Zentrum. Dies ist eine Entitätsklasse.
    8. Die Methodennamen von Circle sind area(), circum(), setCenter() und setRadius().
    9. Der Parameter radius in Circle ist ein in-Parameter vom Typ float.
    10. Die Methode area() der Klasse Circle gibt einen Wert vom Typ Double zurück.
    11. Die Attribute und Methodennamen von Rectangle werden ausgeblendet. Bei einigen anderen Klassen im Diagramm sind die Attribute und Methodennamen ebenfalls ausgeblendet.

    Beispiel eines Klassendiagramms: Ordnungssystem

    Beispiel eines Klassendiagramms: Ordnungssystem

    Beispiel für ein Klassendiagramm: GUI

    Ein Klassendiagramm kann auch Notizen zu Klassen oder Beziehungen haben.

    Beispiel für ein Klassendiagramm: GUI

    Umgang mit komplexen Systemen – Mehrfach- oder Einzelklassendiagramm?

    Wenn Sie ein großes System oder einen großen Geschäftsbereich modellieren, müssen Sie zwangsläufig zahlreiche Entitäten berücksichtigen. Sollen wir mehrere oder ein einzelnes Klassendiagramm zur Modellierung des Problems verwenden? Die Antwort ist:

    • Anstatt jede Entität und ihre Beziehungen in einem einzelnen Klassendiagramm zu modellieren, ist es besser, mehrere Klassendiagramme zu verwenden.
    • Das Unterteilen eines Systems in mehrere Klassendiagramme erleichtert das Verständnis des Systems, insbesondere wenn jedes Diagramm eine grafische Darstellung eines bestimmten Teils des Systems ist.

    Perspektiven des Klassendiagramms im Softwareentwicklungslebenszyklus

    Wir können Klassendiagramme in verschiedenen Entwicklungsphasen eines  Softwareentwicklungslebenszyklus verwenden  und in der Regel, indem wir Klassendiagramme schrittweise in drei verschiedenen Perspektiven (Detailebenen) modellieren, während wir voranschreiten:

    Konzeptionelle Perspektive : Die Diagramme werden so interpretiert, dass sie Dinge in der realen Welt beschreiben. Wenn Sie also die konzeptionelle Perspektive einnehmen, zeichnen Sie ein Diagramm, das die Konzepte in dem untersuchten Bereich darstellt. Diese Konzepte beziehen sich natürlich auf die Klassen, die sie implementieren. Die konzeptionelle Perspektive gilt  als sprachunabhängig .

    Spezifikationsperspektive : Die Diagramme werden so interpretiert, dass sie Software-Abstraktionen oder -Komponenten mit Spezifikationen und Schnittstellen beschreiben, jedoch ohne Bindung an eine bestimmte Implementierung. Wenn Sie also die Spezifikationsperspektive einnehmen, betrachten wir  die Schnittstellen der Software , nicht die Implementierung.

    Implementierungsperspektive : Die Diagramme werden so interpretiert, dass sie Softwareimplementierungen in einer bestimmten Technologie und  Sprache beschreiben . Wenn Sie also die Implementierungsperspektive einnehmen, betrachten wir  die Softwareimplementierung .

    Auf der Suche nach einem kostenlosen Tool zum Erstellen von Diagrammen?

    Visual Paradigm Online (VP Online) Free Edition ist eine kostenlose Online-Zeichensoftware, die Klassendiagramme, andere UML-Diagramme, ERD-Tools und Organigramm-Tools unterstützt. Es verfügt über einen einfachen, aber leistungsstarken Editor, mit dem Sie schnell und einfach Klassendiagramme erstellen können. Dieser kostenlose UML-Editor hat keine Werbung, keine Zugriffsfristen und keine Einschränkungen, zum Beispiel in Bezug auf die Anzahl der Diagramme, die Anzahl der Formen usw. Die Diagramme, die Sie erstellen, gehören Ihnen für persönliche und nicht kommerzielle Zwecke.

    Online-Klassendiagramm-Tool

    Suchen Sie nach formellerer UML-Modellierung auf Ihrem Desktop?

    Visual Paradigm Community Edition wurde seit 2004 eingeführt, um eine  kostenlose UML-Software  für ausschließlich nichtkommerzielle Zwecke bereitzustellen, die Benutzer unterstützt, die ihre ersten Schritte in der UML-Modellierung machen und eine kostenlose und plattformübergreifende UML-Modellierungssoftware für den persönlichen Gebrauch benötigen, z B. die Anwendung von UML in Studentenprojekten.

    Bildschirm „Visuelles Paradigma“.

    Kostenloses UML-Modellierungstool für alle Arten von nichtkommerziellen Zwecken. Unterstützung der 13 UML 2.x-Diagramme

    Kostenloses UML-Tool mit 13 unterstützten UML 2.x-Diagrammen

    Wir werden von über 1 Million Installationen auf der ganzen Welt übernommen und wachsen weiter. Viele Menschen verwenden die kostenpflichtigen Editionen von Visual Paradigm, um täglich professionelle UML- und ERD-Diagramme für System- und Datenbankdesign und -analyse zu zeichnen.

    Grund 2

    Vertrauen von IT-Experten und großen Organisationen

    Viele Blue-Chip-Organisationen, IT-Unternehmen, Berater, Universitäten, NGOs und Regierungseinheiten auf der ganzen Welt haben Visual Paradigm (die kostenpflichtigen Editionen) übernommen. Die folgende Abbildung zeigt einige unserer zahlenden Kunden.

    Kunden von Visual Paradigm

    Grund 3

    Hochwertig – Preisgekrönt

    Uns vertrauen nicht nur die bekanntesten Unternehmen weltweit, sondern auch die Industrie. Visual Paradigm ist mehrfacher internationaler Preisträger.

    Visual Paradigm Awards

    Grund 4

    Die am weitesten verbreitete Modellierungsplattform für die Wissenschaft

    Das am weitesten verbreitete UML-Tool für die Wissenschaft, das von Tausenden von Universitäten und Hochschulen übernommen wird.

    Schulen mit visuellem Paradigma

    Grund 5

    Riesige Sammlung KOSTENLOSER Lernressourcen (Unterstützung durch VP Community Circle)

    Hunderte von Beispielen und Vorlagen für UML- und ERD-Diagramme

    Hunderte von UML- und ERD-Beispielen  , die zum sofortigen Experimentieren oder zum Einstieg in Ihr eigenes UML-Modell in Visual Paradigm importiert werden können. Alles KOSTENLOS.

    Grund 6

    Upgrade-Pfad zu den kommerziellen Editionen für ein breites Spektrum an Anwendungen und Möglichkeiten

    Einfaches Upgrade für eine Vielzahl zusätzlicher Funktionen (z. B. BPMN- und Teamzusammenarbeitsunterstützung) und für die kommerzielle Nutzung, beginnend bei  6 $ / Monat .

    Gepackte Funktionen in Visual Paradigm

    Grund 7

    Aktives Benutzerforum, um Hilfe zu erhalten und Ideen und Erfahrungen auszutauschen

    Unterstützen, teilen und tauschen Sie Ihre Ideen mit anderen im  aktiven Benutzerforum von Visual Paradigm aus .

    Visuelles Paradigma-Forum

    Grund 8

    Plattformübergreifende, benutzerfreundliche, schnelle und reaktionsschnelle Anwendung

    Visual Paradigm kann auf verschiedenen Plattformen wie Windows, Linux und Mac ausgeführt werden. Die intuitive Benutzeroberfläche und die leistungsstarken Modellierungsfunktionen machen die Modellierung schnell und einfach!

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht.