Erweitern von UML-Modellen und Diagrammen

In diesem Thema werden die verschiedenen Methoden zusammengefasst, mit denen Sie die UML-Modellierungstools von Visual Studio Ultimate erweitern können.

Im folgenden Beispielszenario entwirft und installiert das Unternehmen Fabrikam Gepäckbeförderungssysteme für Flughäfen. Flughafenprojekte weisen viele Ähnlichkeiten auf, was die Grundausrüstung und die Steuersoftware angeht. Allerdings gibt es mehrere Faktoren, die stark variieren können, z. B. die Konfiguration von Fließbändern, Eincheckstationen, Aufbewahrungsbehälter und andere Ausrüstung für die Gepäckbeförderung.

Zu Beginn eines neuen Projekts erstellt das Fabrikam-Team ein UML-Modell, das beim Diskutieren dieser Anforderungen im Unternehmen und mit dem Kunden als Unterstützung dient. Aktivitätsdiagramme werden verwendet, um den Gepäckfluss darzustellen, wobei Objektknoten jeweils für Ausrüstungsteile stehen. Das UML-Modell stellt den Code des Systems nicht direkt dar.

Das Toolteam von Fabrikam erstellt eine Reihe von Erweiterungen, um die Entwicklungsteams zu unterstützen. In den folgenden Abschnitten werden die verschiedenen Arten von Erweiterungen beschrieben, die Sie definieren können. Sie können mehrere dieser Techniken in einer Visual Studio-Erweiterung kombinieren.

Weitere Informationen finden Sie in diesem Video: Link zu VideoMSDN, wie i-Reihe: UML-Tools und Erweiterbarkeit.

Anforderungen

Profile

Mithilfe von Profilen können Sie Stereotype und zusätzliche Eigenschaften für UML-Elemente definieren.

Die Toolentwickler von Fabrikam definieren Stereotype in den Objektknoten von Aktivitätsdiagrammen, z. B. "Fließband" und "Eincheckstation". Wenn Teammitglieder mithilfe eines Aktivitätsdiagramms ein Gepäckbeförderungsschema erstellen, können sie jetzt Stereotype festlegen, um anzugeben, welchen Typ der Ausrüstung jeder Knoten darstellt. Die Toolentwickler definieren für einige Stereotype zusätzliche Eigenschaften, sodass Benutzer Werte wie die Kapazität des Fließbands und die Eignung einer Eincheckstation aufzeichnen können.

Weitere Informationen finden Sie unter Gewusst wie: Definieren eines Profils zum Erweitern von UML.

Benutzerdefinierte Toolboxelemente

Ein benutzerdefiniertes Toolboxelement erstellt ein Element oder eine Gruppe von Elementen aus einem Prototyp, den Sie in einem Diagramm definieren. Sie können z. B. ein Tool erstellen, das Anwendungsfälle in einer bestimmten Farbe oder mit einem bestimmten Stereotyp erstellt, oder eine Gruppe von Klassen und Zuordnungen, die ein Entwurfsmuster darstellt. Sie können diese Toolboxelemente Visual Studio-Erweiterungen hinzufügen und an andere Benutzer verteilen.

Weitere Informationen finden Sie unter Gewusst wie: Definieren eines benutzerdefinierten Elements für die Modellerstellungstoolbox.

Validierung

Sie können Regeln definieren, um sicherzustellen, dass ein UML-Modell angegebene Einschränkungen erfüllt.

Die Toolentwickler von Fabrikam definieren Regeln, um Teammitglieder dabei zu unterstützen, in Bezug auf die Modelle zur Gepäckbeförderung einfache Fehler zu vermeiden. Eine Eincheckstation kann zum Beispiel nicht direkt mit einem Aufbewahrungsbehälter verbunden sein. Es muss mindestens ein Fließband zwischengeschaltet sein.

Weitere Informationen finden Sie unter Gewusst wie: Definieren von Validierungseinschränkungen für UML-Modelle.

Menübefehle

Sie können Befehle definieren, die Benutzer aufrufen können, indem sie mit der rechten Maustaste auf Elemente in einem UML-Diagramm klicken. Die Befehle können das Modell und die Diagramme aktualisieren oder andere Vorgänge in Visual Studio ausführen.

Fabrikam definiert Menübefehle, um häufig ausgeführte Vorgänge zu automatisieren, z. B. das Erstellen einer Eincheckstation und das Verbinden mit einem bestimmten Fließband oder das Anpassen eines Diagramms an die Layoutregeln des Unternehmens.

Siehe Gewusst wie: Definieren eines Menübefehls in einem Modellierungsdiagramm.

Gesten

Sie können Befehle definieren, die Benutzer per Doppelklick auf ein Diagrammelement oder durch das Ziehen auf ein Diagramm oder ein Element des Diagramms initiieren können. Sie können Befehle definieren, die die Elemente arbeiten können, die von anderen UML-Diagrammen, anderen Teilen von Visual Studio oder anderen Anwendungen oder Windows-Explorer (oder Datei-Explorer gezogen werden.

Mitglieder des Fabrikam-Teams können eine Datei, z. B. eine Spezifikation, jedem Modellelement zuordnen, indem sie diese vom Windows-Desktop ziehen. Die Toolentwickler haben ein Stereotyp definiert, das jedes Element mit einer Dateipfadeigenschaft ausstattet, und eine Geste, die das Stereotyp und den Dateipfad festlegt, wenn eine Datei auf einem Element abgelegt wird.

Weitere Informationen finden Sie unter Gewusst wie: Definieren eines Gestenhandlers in einem Modellierungsdiagramm.

Reagieren auf Änderungen

Sie können Code schreiben, der auf Änderungen im Modell reagiert, die durch Benutzeraktionen oder anderen Programmcode verursacht wurden.

Fabrikams Entwickler erstellen Code, in dem die Farbe eines Elements automatisch abhängig von seinem Stereotyp festgelegt wird. Dies erleichtert es den Benutzern, die verschiedenen Rollen der in den Modellen enthaltenen Elemente zu unterscheiden.

Weitere Informationen finden Sie unter Gewusst wie: Reagieren auf Änderungen in einem UML-Modell.

Modellbus

Mit einem Modellbus können Sie auf ein Diagramm oder Modell aus einem anderen Diagramm oder einer anderen Visual Studio-Erweiterung zugreifen. Unter anderem können Sie Informationen auf diese Weise über mehr als ein Modell verteilen, damit mehrere Personen gleichzeitig am kombinierten Modell arbeiten können.

Fabrikam verwendet Elemente in Aktivitätsdiagrammen, um Gepäckbeförderungsausrüstung darzustellen. Jedes Element der Ausrüstung kann über eine ausführlichere Spezifikation in einem anderen Diagramm verfügen, das sich in einem anderen Modell befinden kann. Die Validierungseinschränkungen für das Gepäckflussdiagramm können relevante Eigenschaften der Ausrüstung aus den anderen Diagrammen abrufen. Die Verweise auf die anderen Diagramme werden in zusätzlichen Eigenschaften gespeichert, die in Stereotypen definiert sind.

Weitere Informationen finden Sie unter Gewusst wie: Integrieren von UML-Modellen in andere Modelle und Tools.

Generierung

Über ein Modell können Sie Programmcode, Skripts, Konfigurationen, Dokumente, neue Modelle oder andere Artefakte generieren.

In den Gepäcksystemen, die Fabrikam entwirft, weist der Programmcode von Projekt zu Projekt viele Übereinstimmungen auf. Der Hauptaspekt, der jeweils am stärksten variiert, ist der Plan des Gepäckflusses auf dem jeweiligen Flughafen. Nachdem das Entwurfsteam bei den ersten Projekten Erfahrungen sammeln konnte, erstellen die Toolentwickler eine Vorlage, die über das Gepäckflussmodell einen Großteil des variablen Programmcodes und die anderen Dateien erstellt, z. B. Benutzerdokumente. Die Entwicklungszeit und die Fehlerhäufigkeit kann so für jedes neue Projekt erheblich reduziert werden.

Weitere Informationen finden Sie unter Gewusst wie: Generieren von Dateien aus einem UML-Modell.

Team Foundation Server-Integration

Sie können Arbeitsaufgaben mit Modellelementen verknüpfen und programmgesteuert auf die verknüpften Elemente zugreifen.

Die Toolentwickler von Fabrikam schreiben ein Tool, das für jedes Flughafenprojekt einen Arbeitsplan generiert. Die Arbeitsaufgaben im Zeitplan sind mit den Modellelementen verknüpft.

Weitere Informationen finden Sie unter Gewusst wie: Definieren eines Linkhandlers für Arbeitsaufgaben.

Tools zur Aktualisierung von Modellen

Sie können eigenständige Anwendungen und Visual Studio-Erweiterungen erstellen, die UML-Modelle laden können.

Die Entwickler von Fabrikam erstellen ein Tool, das ein Modell liest und für die Arbeit an den einzelnen Elementen des Modells Berichte erstellt.

Weitere Informationen finden Sie unter Gewusst wie: Lesen eines UML-Modells im Programmcode.

Domänenspezifische Sprachen

Wenn Sie einen bestimmten Modelltyp häufig verwenden, kann es sinnvoll sein, eine domänenspezifische Sprache zu erstellen. Dadurch kann ein UML-Modell genauer auf die Geschäftsanforderungen ausgerichtet werden, die Erstellung und Pflege sind jedoch aufwändiger. Weitere Informationen finden Sie unter Modellierungs-SDK für Visual Studio - Domänenspezifische Sprachen.

Externe Ressourcen

Kategorie

Links

Videos

Link zu Video

Link zu Video

Foren

Blogs

Visual Studio ALM + Team Foundation Server-Blog

Technische Artikel und Journale

The Architecture Journal – Ausgabe 23: Architekturmodellierung und -prozesse

Andere Sites

MSDN Architecture Center

Siehe auch

Konzepte

Entwickeln von Modellen für den Softwareentwurf

Weitere Ressourcen

API-Referenz für UML-Modellierungserweiterbarkeit