UML-Klassendiagramme: Richtlinien

 

Veröffentlicht: Juli 2016

Die neueste Dokumentation zu Visual Studio 2017 RC finden Sie unter Visual Studio 2017 RC Documentation (Dokumentation zu Visual Studio 2017 RC).

In Visual Studio können Sie eine UML-Klassendiagramm Datentypen und ihre Beziehungen getrennt von ihrer Implementierung zu beschreiben. Das Diagramm wird verwendet, um die Konzentration auf die logischen Aspekte der Klassen zu leiten, anstatt auf ihre Implementierung.

Erstellen Sie ein UML-Klassendiagramm auf die Architektur Menü wählen neues UML-Diagramm oder Ebenendiagramm.

Welche Versionen von Visual Studio dieses Feature unterstützen, erfahren Sie unter Version support for architecture and modeling tools.

System_CAPS_ICON_note.jpg Hinweis

In diesem Thema geht es um UML-Klassendiagramme. Es gibt noch eine andere Art von Klassendiagramm, das erstellt und verwendet wird, um Programmcode visuell darzustellen. Finden Sie unter Entwerfen und Anzeigen von Klassen und Typen.

Sie können ein UML-Klassendiagramm für viele verschiedene Zwecke verwenden:

  • Zum Bereitstellen einer von der Implementierung unabhängigen Beschreibung der Typen, die in einem System verwendet und zwischen Komponenten übergeben werden.

    Der Typ "Meal Order" kann z. B. in .NET-Code auf Geschäftsebene, in XML auf den Schnittstellen zwischen Komponenten, in SQL in der Datenbank und in HTML auf der Benutzeroberfläche implementiert werden. Obwohl diese Implementierungen sich in ihren Details unterscheiden, ist die Beziehung zwischen "Meal Order" und anderen Typen wie "Menu" und "Payment" immer gleich. Das UML-Klassendiagramm macht es möglich, diese Beziehungen getrennt von den Implementierungen darzustellen.

  • Zum Verdeutlichen des Glossars mit den Begriffen, die für die Kommunikation zwischen der Anwendung und ihren Benutzern und in Beschreibungen der Benutzeranforderungen verwendet werden. Finden Sie unter Modellieren von benutzeranforderungen.

    Nehmen wir z. B. die Benutzertextabschnitte, Anwendungsfälle oder anderen Anforderungsbeschreibungen einer Restaurantanwendung. Diese Beschreibungen enthalten zum Beispiel Begriffe wie Menu (Speisekarte), Order (Bestellung), Meal (Gericht), Price (Preis), Payment (Bezahlung) usw. Sie können ein UML-Klassendiagramm zeichnen, das die Beziehungen zwischen diesen Begriffen definiert. Auf diese Weise wird das Risiko von Inkonsistenzen in den Anforderungsbeschreibungen, in der Benutzeroberfläche und in den Hilfedokumenten reduziert.

Beziehung zu anderen Diagrammen

Ein UML-Klassendiagramm wird normalerweise zusammen mit anderen Modellierungsdiagrammen gezeichnet, um Beschreibungen der verwendeten Typen bereitzustellen. Die physische Darstellung der Typen wird in keinem der Diagramme wiedergegeben.

Aktivitätsdiagramm

Typ der Daten, der über einen Objektknoten übergeben wird.

Typen von Eingabe- und Ausgabepins und Aktivitätsparameterknoten.

Finden Sie unter UML-Aktivitätsdiagramme: Richtlinien.

Sequenzdiagramm

Typen von Parametern und Rückgabewerte von Meldungen.

Typen der Lebenslinien. Die Klasse einer Lebenslinie sollte Vorgänge für alle Meldungen enthalten, die empfangen werden können.

Finden Sie unter UML-Sequenzdiagramme: Richtlinien.

Komponentendiagramm

Komponentenschnittstellen, unter denen die Vorgänge aufgeführt sind.

Finden Sie unter UML-Komponentendiagramme: Richtlinien.

Anwendungsfalldiagramm

Typen, die in Beschreibungen der Ziele und Schritte eines Anwendungsfalls erwähnt werden.

Finden Sie unter UML-Anwendungsfalldiagramme: Richtlinien.

Referenzinformationen zu den Elementen in UML-Klassendiagrammen finden Sie unter UML-Klassendiagramme: Referenz.

System_CAPS_ICON_note.jpg Hinweis

Ausführliche Schritte zum Erstellen der Modellierungsdiagramme in beschriebenen Bearbeiten von UML-Modellen und Diagrammen.

So erstellen Sie ein UML-Klassendiagramm

  1. Auf der Architektur Menü wählen neues UML- oder Ebenendiagramm.

  2. Unter Vorlagen, wählen Sie UML-Klassendiagramm.

  3. Benennen Sie das Diagramm.

  4. In zu Modellierungsprojekt hinzufügen, wählen Sie ein vorhandenes Modellierungsprojekt aus, in der Projektmappe oder Neues Modellierungsprojekt erstellen, und wählen Sie dann OK.

    Ein neues Klassendiagramm wird mit der UMLClass Diagramm Toolbox. Die Toolbox enthält die erforderlichen Elemente und Beziehungen.

So zeichnen Sie ein UML-Klassendiagramm

  1. Um einen Typ zu erstellen, wählen Sie die Klasse, Schnittstelle oder Enumeration tool in der Toolbox, und klicken Sie dann auf einen leeren Bereich des Diagramms. (Wenn die Toolbox nicht angezeigt wird, drücken Sie STRG+ALT+X.)

  2. Um Attribute oder Vorgänge für die Typen oder einer Enumeration Literale hinzuzufügen, wählen Sie die Attribute, Vorgänge oder Literale im Typ die Überschrift, und drücken Sie die EINGABETASTE.

    Sie können eine Signatur schreiben, z. B. f(x:Boolean):Integer. Finden Sie unter Attribute und Vorgänge.

    Um schnell mehrere Elemente hinzuzufügen, drücken Sie am Ende jedes Elements zweimal die EINGABETASTE. Sie können in der Liste mit den PFEILTASTEN nach oben und unten navigieren.

  3. Um einen Typ zu erweitern oder zu reduzieren, wählen Sie oben links das Chevronsymbol aus. Sie können auch erweitern und reduzieren die Attribute und Vorgänge Teil einer Klasse oder Schnittstelle.

  4. Um zwischen den Typen Zuordnungs-, Vererbungs- oder Abhängigkeitslinks zu zeichnen, klicken Sie auf das entsprechende Tool, auf den Quelltyp und dann auf den Zieltyp.

  5. Um Typen in einem Paket zu erstellen, erstellen Sie ein Paket mit den Paket -tool, und erstellen Sie neue Typen und Pakete innerhalb des Pakets. Sie können auch den Kopierbefehl verwenden, um Typen zu kopieren und in ein Paket einzufügen.

  6. Jedes Diagramm ist eine Ansicht eines Modells, das im gleichen Projekt auch von anderen Diagrammen genutzt wird. Um eine Strukturansicht des vollständigen Modells anzuzeigen, wählen Sie anzeigen, Weitere Fenster, UML-Modell-Explorer.

In der Toolbox sind drei Standardarten von Klassifizierern verfügbar. Diese werden als bezeichnet Typen im gesamten Dokument.

Eine Klasse, eine Enumeration und eine Schnittstelle

  • Verwendung Klassen (1), um für die meisten Zwecke Daten oder Objekttypen darzustellen.

  • Verwendung Schnittstellen (2) in einem Kontext, in dem Sie zwischen reinen Schnittstellen und konkreten Klassen, die über interne Implementierungen unterscheiden müssen. Dieser Unterschied ist nützlich, wenn der Zweck des Diagramms darin besteht, eine Softwareimplementierung zu beschreiben. Er ist weniger nützlich, wenn Sie passive Daten modellieren oder wenn Sie Konzepte definieren, die zum Beschreiben der Benutzeranforderungen verwendet werden.

  • Verwenden einer Enumeration (3), um einen Typ darzustellen, die eine begrenzte Anzahl von Literalwerten, z. B. Stop und Go.

    • Fügen Sie die Literalwerte der Enumeration hinzu. Geben Sie jedem Wert einen anderen Namen.

    • Sie können bei Bedarf auch einen numerischen Wert für jeden Literalwert angeben. Öffnen Sie das Kontextmenü für das Literal in der Enumeration, wählen Eigenschaften, und geben Sie eine Zahl in die Wert Feld der Eigenschaften Fenster.

Geben Sie jedem Typ einen eindeutigen Namen.

Abrufen von Typen aus anderen Diagrammen

Sie können festlegen, dass Typen aus einem anderen Diagramm in Ihrem UML-Klassendiagramm angezeigt werden.

UML-Klassendiagramm

Sie können festlegen, dass eine Klasse in mehr als einem UML-Klassendiagramm angezeigt wird. Wenn Sie eine Klasse in einem Diagramm erstellt haben, ziehen Sie die Klasse aus UML-Modell-Explorer auf das andere Diagramm.

Dies ist nützlich, wenn Sie erreichen möchten, dass der Schwerpunkt in jedem Diagramm auf einer bestimmten Gruppe von Beziehungen liegt.

Beispielsweise können Sie die Zuordnungen zwischen einer Essensbestellung (Meal Order) und der Speisekarte (Menu) des Restaurants in einem Diagramm und die Zuordnungen zwischen Essensbestellung und Bezahlung (Payment) in einem anderen Diagramm anzeigen.

Komponentendiagramm

Wenn Sie Schnittstellen für die Komponenten in einem Komponentendiagramm definiert haben, können Sie eine Schnittstelle aus ziehen UML-Modell-Explorer auf das Klassendiagramm. Im Klassendiagramm können Sie die Methoden definieren, die in der Schnittstelle enthalten sind.

Finden Sie unter UML-Komponentendiagramme: Richtlinien.

UML-Sequenzdiagramm

Sie können Klassen und Schnittstellen von Lebenslinien aus in einem Sequenzdiagramm erstellen und dann ziehen Sie die Klasse aus UML-Modell-Explorer in ein UML-Klassendiagramm. Jede Lebenslinie in einem Sequenzdiagramm stellt eine Instanz eines Objekts, einer Komponente oder eines Akteurs dar.

Um eine Klasse aus einer Lebenslinie zu erstellen, öffnen Sie das Kontextmenü für die Lebenslinie, und wählen Sie dann Klasse erstellen oder Schnittstelle erstellen. Finden Sie unter UML-Sequenzdiagramme: Richtlinien.

Ein Attribut (4) ist ein benannter Wert, über den jede Instanz eines Typs verfügen kann. Das Zugreifen auf ein Attribut führt nicht dazu, dass der Zustand der Instanz geändert wird.

Ein Vorgang (5) ist eine Methode oder Funktion, die Instanzen des Typs ausführen kann. Dabei kann ein Wert zurückgegeben werden. Wenn die IsQuery -Eigenschaft true ist, kann er den Zustand der Instanz nicht ändern.

Um einen Typ ein Attribut oder einen Vorgang hinzuzufügen, öffnen Sie das Kontextmenü für den Typ, wählen Sie Hinzufügen, und wählen Sie dann Attribut oder Vorgang.

Um die Eigenschaften anzuzeigen, öffnen Sie das Kontextmenü für das Attribut oder den Vorgang, und wählen Sie dann Eigenschaften. Die Eigenschaften werden in der Eigenschaften Fenster.

Wählen Sie zum Anzeigen der Eigenschaften der Parameter einer Operation [...]in der Parameter Eigenschaft. Ein neues Eigenschaftendialogfeld wird angezeigt.

Ausführliche Informationen zu allen Eigenschaften, die Sie festlegen können, finden Sie unter den folgenden Themen:

Typen von Attributen und Vorgängen

Jede Typ eines Attributs oder eines Vorgangs und jeder Parametertyp, kann eine der folgenden sein:

  • (keine) -Sie können einen Typ in der Signatur angegeben werden, indem Sie den vorangestellten Doppelpunkt auslassen lassen (:).

  • Einer der standardmäßigen primitiven Typen: booleschen, ganzzahligen, Zeichenfolge.

  • Einen Typ, der im Modell definiert ist.

  • Ein parametrisierter Wert eines Vorlagentyps der Form Vorlage < Parameter>. Finden Sie unter Vorlagentypen.

Sie können auch den Namen eines Typs schreiben, den Sie im Modell noch nicht definiert haben. Der Namen finden Sie unter nicht spezifizierte Typen im UML-Modell-Explorer.

System_CAPS_ICON_note.jpg Hinweis

Wenn Sie anschließend im Modell eine Klasse oder Schnittstelle mit diesem Namen definieren, verweisen ältere Attribute und Operationen weiterhin auf das Element in "Nicht spezifizierte Typen". Wenn Sie diese älteren Komponenten ändern möchten, damit sie auf die neue Klasse verweisen, müssen Sie für jedes Attribut bzw. jede Operation den Typ zurücksetzen und die neue Klasse im Dropdownmenü auswählen.

Mehrere Typen

Sie können eine Multiplizität für beliebige Attribute, Vorgänge oder Parametertypen festlegen.

Die zulässigen Werte lauten wie folgt:

[1]

Ein Wert des angegebenen Typs. Dies ist die Standardeinstellung.

[0..1]

NULL oder ein Wert des angegebenen Typs.

[*]

Eine Auflistung einer beliebigen Anzahl von Instanzen des angegebenen Typs.

[1..*]

Eine Auflistung von mindestens einer Instanz des angegebenen Typs.

[n..m]

Eine Auflistung von zwischen n und m Instanzen des angegebenen Typs.

Wenn die Multiplizität mehr als 1 beträgt, können Sie auch diese Eigenschaften festlegen:

  • IsOrdered – bei "true" hat die Auflistung eine definierte Reihenfolge.

  • IsUnique – bei "true" hat keine doppelten Werte in der Auflistung.

Sichtbarkeit

Sichtbarkeit Gibt an, ob das Attribut oder den Vorgang von außerhalb der Klassendefinition aus zugegriffen werden kann. Die zulässigen Werte lauten wie folgt:

Öffentliche

+

Zugriff ist von allen anderen Typen möglich.

Private

-

Zugriff ist nur auf die interne Definition dieses Typs möglich.

Paket

~

Der Zugriff ist nur innerhalb des Pakets, das diesen Typ enthält, und in allen Paketen möglich, die diesen explizit importieren. Finden Sie unter Definieren von Namespaces und Paketen.

Geschützte

#

Der Zugriff ist nur auf diesen Typ und die Typen möglich, die davon erben. Finden Sie unter Vererbung.

Festlegen der Signatur eines Attributs oder eines Vorgangs

Die Signatur eines Attributs oder eines Vorgangs ist eine Auflistung von Eigenschaften, die die Sichtbarkeit, den Namen, die Parameter (für Vorgänge) und den Typ enthält.

Sie können eine Signatur direkt in das Diagramm schreiben. Klicken Sie zum Auswählen auf das Attribut oder den Vorgang, und klicken Sie dann noch einmal darauf.

Schreiben Sie die Signatur wie folgt:

visibility attribute-name : Type  

- oder –

visibility operation-name (parameter1 : Type1, ...) : Type  

Zum Beispiel:

+ AddItem (item : MenuItem, quantity : Integer) : Boolean  

Verwenden Sie die Kurzform der Sichtbarkeit. Der Standardwert ist + (öffentlich).

Bei jedem Typ kann es sich um im Modell definierte Typen, Standardtypen wie "Ganze Zahl" oder "Zeichenfolge" oder den Namen eines neuen Typs handeln, den Sie noch nicht definiert haben.

System_CAPS_ICON_note.jpg Hinweis

Wenn Sie einen Namen ohne einen Typ in eine Parameterliste schreiben, wird anstelle seines Typs der Name des Parameters angegeben. In diesem Beispiel werden "MenuItem" und "Integer" zu den Namen von zwei Parametern mit nicht angegebenen Typen:

AddItem(MenuItem, Integer) /* parameter names, not types! */

Um die Multiplizität eines Typs in einer Signatur festzulegen, schreiben Sie die Multiplizität in eckigen Klammern nach dem Typnamen, z. B.:

+ AddItems (items : MenuItem [1..*])  
+ MenuContent : MenuItem [*]  

Falls das Attribut oder der Vorgang statisch ist, wird sein Name in der Signatur unterstrichen angezeigt. Wenn dieser abstrakt ist, wird der Name kursiv angezeigt.

Allerdings können Sie nur Festlegen der Is Static und Is Abstract Eigenschaften in der Eigenschaften Fenster.

Vollständige Signatur

Wenn Sie die Signatur eines Attributs oder Vorgangs bearbeiten, werden ggf. einige zusätzliche Eigenschaften am Ende der Zeile und nach jedem Parameter angezeigt. Sie stehen in geschweiften Klammern ({…}). Sie können diese Eigenschaften bearbeiten oder hinzufügen. Beispiel:

+ AddItems (items: MenuItem [1..*] {unique, ordered})  
+ GetItems (filter: String) : MenuItem [*] {ordered, query}  

Dort stehen die folgenden Eigenschaften zur Auswahl:

unique

Ist eindeutig

Die Auflistung enthält keine doppelten Werte. Gilt für Typen mit einer Multiplizität größer als 1.

ordered

Sortiert ist

Die Auflistung ist eine Sequenz. Bei "false" ist kein eindeutiges erstes Element vorhanden. Gilt für Typen mit einer Multiplizität größer als 1.

query

Abfrage

Der Vorgang ändert den Zustand seiner Instanz nicht. Gilt nur für Vorgänge.

/

Wird abgeleitet

Das Attribut wird aus Werten anderer Attribute oder Zuordnungen berechnet.

"/" steht vor dem Namen eines Attributs. Beispiel:

/TotalPrice: Integer  

Normalerweise wird die vollständige Signatur nur im Diagramm angezeigt, während Sie es bearbeiten. Wenn Sie die Bearbeitung beenden, werden die zusätzlichen Eigenschaften ausgeblendet. Wenn die vollständige Signatur immer angezeigt werden soll, öffnen Sie das Kontextmenü für den Typ, und wählen Sie dann vollständige Signatur anzeigen.

Verwenden Sie eine Zuordnung, um eine beliebige Art von Verknüpfung zwischen zwei Elementen darzustellen, und zwar unabhängig davon, wie die Verknüpfung in der Software implementiert ist. Sie können eine Zuordnung z. B. verwenden, um einen Zeiger in C#, eine Beziehung in einer Datenbank oder einen Querverweis von einem Teil einer XML-Datei zu einem anderen darzustellen. Sie kann eine Zuordnung zwischen realen Objekten darstellen, z. B. Erde und Sonne. Die Zuordnung besagt nicht, wie der Link dargestellt wird, sondern nur, dass die Informationen vorhanden sind.

Eigenschaften einer Zuordnung

Nachdem Sie eine Zuordnung erstellt haben, legen Sie die Eigenschaften dafür fest. Öffnen Sie das Kontextmenü für die Zuordnung, und wählen Sie dann Eigenschaften.

Zusätzlich zu den Eigenschaften der Zuordnung als Ganzes jede Rolle, also jedes Ende der Zuordnung hat einige eigene Eigenschaften. Um diese anzuzeigen, erweitern Sie die Erste Rolle und zweite Rolle Eigenschaften.

Einige Eigenschaften jeder Rolle sind direkt im Diagramm sichtbar. Dies sind:

  • Der Rollenname. Er wird am entsprechenden Ende der Zuordnung im Diagramm angezeigt. Festlegen des Diagramms oder in der Eigenschaften Fenster.

  • Multiplizität, die standardmäßig die 1. Diese Eigenschaft wird auch am entsprechenden Ende der Zuordnung im Diagramm angezeigt.

  • Aggregation. Wird an einem Ende des Konnektors in Rautenform angezeigt. Damit können Sie angeben, dass die Aggregierungsrolle Instanzen der anderen besitzt oder enthält.

  • Navigierbar. Wenn nur für eine Rolle "true" gilt, wird ein Pfeil angezeigt, der in die navigierbare Richtung zeigt. Sie können dies nutzen, um die Navigierbarkeit von Links und Datenbankbeziehungen in der Software anzugeben.

Einzelheiten zu diesen und anderen Eigenschaften, finden Sie unter Eigenschaften von Zuordnungen in UML-Klassendiagrammen.

Navigierbarkeit

Eine gezeichnete Zuordnung weist an einem Ende einen Pfeil auf, der angibt, dass die Zuordnung in dieser Richtung navigierbar ist. Dies ist hilfreich, wenn das Klassendiagramm Softwareklassen darstellt und die Zuordnungen Zeiger oder Verweise darstellen. Wenn Sie jedoch ein Klassendiagramm zum Darstellen von Entitäten und Beziehungen oder Geschäftskonzepten verwenden, ist es weniger wichtig, die Navigierbarkeit darzustellen. In diesem Fall kann es ratsam sein, Zuordnungen ohne Pfeile zu zeichnen. Dazu können Sie setzen die navigierbar ist -Eigenschaft an beiden Enden der Zuordnung auf True. Um dies zu vereinfachen, können Sie das Codebeispiel herunterladen UML-Domänenmodellierung.

Attribute und Zuordnungen

Eine Zuordnung ist eine grafische Darstellung eines Attributs. Anstatt z. B. eine Klasse "Restaurant" mit einem Attribut vom Typ "Menu" zu erstellen, können Sie eine Zuordnung von "Restaurant" zu "Menu" ziehen.

Jeder Attributname wird zu einem Rollennamen. Er wird am entgegengesetzten Ende der Zuordnung des besitzenden Typs angezeigt. Ein Beispiel in der Abbildung ist myMenu.

Normalerweise ist es besser, Attribute nur für Typen zu verwenden, die Sie nicht im Diagramm zeichnen würden, z. B. primitive Typen.

Entsprechende Zuordnung und Attribute

Verwenden der Vererbung Tool, um die folgenden Beziehungen zu erstellen:

  • Ein Generalisierung Beziehung zwischen einem spezialisierten Typ und einen allgemeinen Typ

    - oder –

  • Ein Realisierung Beziehung zwischen einer Klasse und einer Schnittstelle, die ihn implementiert.

Sie können in Vererbungsbeziehungen keine Schleifen erstellen.

Generalisierung

Generalisierung bedeutet, dass der spezialisierende oder abgeleitete Typ Attribute, Vorgänge und Zuordnungen des allgemeinen Typs oder Basistyps erbt.

Der allgemeine Typ wird am Pfeilspitzenende der Beziehung angezeigt.

Die geerbten Vorgänge und Attribute werden in den spezialisierenden Typen normalerweise nicht angezeigt. Sie können der Vorgangsliste des spezialisierenden Typs jedoch geerbte Vorgänge hinzufügen. Dies ist nützlich, wenn Sie im spezialisierenden Typ einige der Eigenschaften eines Vorgangs überschreiben möchten oder wenn Sie angeben möchten, dass der implementierende Code dies durchführen soll.

So überschreiben Sie die Definition eines Vorgangs in einem spezialisierenden Typ
  1. Klicken Sie auf die Generalisierungsbeziehung.

    Sie wird markiert, und daneben wird ein Aktionstag angezeigt.

  2. Klicken Sie auf das Aktionstag und dann auf Vorgänge überschreiben.

    Die Vorgänge überschreiben das Dialogfeld wird angezeigt.

  3. Wählen Sie die Vorgänge, die Sie verwenden möchten, im spezialisierenden Typ angezeigt werden soll, und klicken Sie dann auf OK.

Die ausgewählten Vorgänge werden jetzt im spezialisierenden Typ angezeigt.

Realisierung

Realisierung bedeutet, dass eine Klasse die Attribute und Vorgänge implementiert, die von der Schnittstelle angegeben werden. Die Schnittstelle befindet sich am Pfeilende des Konnektors.

Wenn Sie einen Realisierungskonnektor erstellen, werden die Vorgänge der Schnittstelle automatisch in der realisierenden Klasse repliziert. Wenn Sie einer Schnittstelle neue Vorgänge hinzufügen, werden diese in den realisierenden Klassen repliziert.

Nachdem Sie eine Realisierungsbeziehung erstellt haben, können Sie diese in eine Lollipopnotation konvertieren. Mit der rechten Maustaste in der Beziehungs, und wählen Sie als Lollipop anzeigen.

Auf diese Weise können Sie die von einer Klasse implementierten Schnittstellen anzeigen, ohne dass die Klassendiagramme zu viele Realisierungslinks enthalten. Außerdem können Sie die Schnittstelle und die Klassen, die diese realisieren, in separaten Diagrammen anzeigen.

Realisierung mit Connector und Lollipop

Sie können einen generischen Typ oder Vorlagentyp definieren, der von anderen Typen oder Werten parametrisiert werden kann.

Sie können z. B. ein generisches Wörterbuch erstellen, das mithilfe von Schlüssel- und Werttypen parametrisiert wird:

Vorlagenklasse mit zwei Parametern

So erstellen Sie einen Vorlagentyp

  1. Erstellen Sie eine Klasse oder eine Schnittstelle. Dies wird zu Ihrem Vorlagentyp. Benennen Sie diesen entsprechend, z. B. Dictionary.

  2. Öffnen Sie das Kontextmenü für den neuen Typ, und wählen Sie dann Eigenschaften.

  3. In der Eigenschaften Fenster, klicken Sie auf [...] in der Vorlagenparameter Feld.

    Die Vorlage Parameterauflistungs-Editor das Dialogfeld wird angezeigt.

  4. Wählen Sie Hinzufügen.

  5. Legen Sie die Namenseigenschaft auf einen Parameternamen für den Vorlagentyp fest, z. B. Key.

  6. Legen Sie Parameterart. Der Standardwert ist Klasse.

  7. Wenn der Parameter nur abgeleitete Klassen einer bestimmten Basisklasse akzeptieren soll, legen Sie eingeschränkter Wert auf die Basisklasse, die Sie möchten.

  8. Fügen Sie so viele Parameter wie Sie benötigen, und wählen Sie dann OK.

  9. Fügen Sie dem Vorlagentyp Attribute und Vorgänge hinzu, wie Sie dies auch bei anderen Klassen tun.

    Sie können Parameter vom Typ Klasse, Schnittstelle oder Enumeration in der Definition von Attributen und Vorgängen. Indem Sie beispielsweise die Parameterklassen Key und Value verwenden, können Sie den Vorgang in Dictionary definieren:

    Get(k : Key) : Value

    Sie können einen Parameter vom Typ Ganzzahl als Grenze einer Multiplizität. Beispielsweise kann ein Parameter mit einer ganzen Zahl und einem Maximalwert verwendet werden, um die Multiplizität eines Attributs als [0..max] zu definieren.

Wenn Sie Vorlagentypen erstellt haben, können Sie diese zum Definieren von Vorlagenbindungen verwenden:

Aus Wörterbuchvorlage gebundene Klasse

So verwenden Sie einen Vorlagentyp

  1. Erstellen Sie einen neuen Typ, z. B. AddressTable.

  2. Öffnen Sie das Kontextmenü für den neuen Typ, und wählen Sie dann Eigenschaften.

  3. In der Vorlagenbindung -Eigenschaft die Option geben Sie die Vorlage, z. B. Dictionary, aus der Dropdown-Liste.

  4. Erweitern Sie die Template Binding Eigenschaft.

    Für jeden Parameter des Vorlagentyps wird eine Zeile angezeigt.

  5. Legen Sie jeden Parameter auf einen geeigneten Wert fest. Legen Sie den Key-Parameter z. B. auf eine Klasse mit dem Namen Name fest.

Sie können Pakete in einem UML-Klassendiagramm anzeigen. Ein Paket ist ein Container für andere Modellelemente. Sie können in einem Paket beliebige Elemente erstellen. Im Diagramm werden die im Paket enthaltenen Elemente neu angeordnet, wenn Sie das Paket verschieben.

Sie können das Steuerelement zum Reduzieren/Erweitern verwenden, um den Inhalt des Pakets aus- oder einzublenden.

Finden Sie unter Definieren von Paketen und Namespaces.

Generieren Sie C#-Code oder passen Sie die Vorlagen für Codegenerierung an, um die Implementierung der Klassen in einem UML-Klassendiagramm zu starten. So starten Sie das Generieren von Code mithilfe der bereitgestellten C#-Vorlagen:

  • Öffnen Sie das Kontextmenü für das Diagramm oder ein Element, wählen Code generieren, und legen Sie dann die erforderlichen Eigenschaften.

    Weitere Informationen zum Festlegen dieser Eigenschaften und die bereitgestellten Vorlagen anpassen, finden Sie unter Generieren von Code aus UML-Klassendiagrammen.

Bearbeiten von UML-Modellen und-Diagrammen
UML-Klassendiagramme: Referenz
Modellanforderungen
UML-Komponentendiagramme: Referenz
UML-Sequenzdiagramme: Referenz
UML-Anwendungsfalldiagramme: Referenz
UML-Komponentendiagramme: Referenz

Anzeigen: