Gewusst wie: Definieren eines Profils zum Erweitern von UML
In Visual Studio Ultimate können Sie ein UML-Profil definieren, um die standardmäßigen Modellelemente für bestimmte Zwecke anzupassen. Ein Profil definiert mehrere UML-Stereotype. Ein Stereotyp kann verwendet werden, um die Liste der Eigenschaften eines Elements zu erweitern.
Zusammen mit Visual Studio Ultimate werden mehrere Profile installiert. Weitere Informationen zu diesen Profilen und zur Anwendung von Stereotypen finden Sie unter Anpassen des Modells mit Profilen und Stereotypen.
Sie können eigene Profile definieren, um UML an Ihren eigenen Geschäftsbereich oder Ihre Architektur anzupassen und bei Bedarf zu erweitern. Beispiel:
Wenn Sie häufig Websites definieren, können Sie ein eigenes Profil definieren, das ein Stereotyp "Webseite" bereitstellt, das in Klassendiagrammen auf Klassen angewendet werden kann. Sie können mithilfe von Klassendiagrammen dann eine Website planen. Jede "Webseite"-Klasse enthält zusätzliche Eigenschaften für Seiteninhalt, Format usw.
Wenn Sie Banksoftware entwickeln, können Sie ein Profil definieren, das ein "Konto"-Stereotyp bereitstellt. Sie können dann Klassendiagramme verwenden, um andere Kontotypen zu definieren und die Beziehungen zwischen ihnen anzuzeigen.
Sie können eigene Profile an das Team verteilen. Jedes Teammitglied kann das Profil installieren. Auf diese Weise können die Teammitglieder Modelle bearbeiten und erstellen, die die Stereotype verwenden.
Tipp
Wenn Sie die Stereotype eines Profils in einem Modell anwenden, das Sie bearbeiten, und das Modell dann für andere Personen freigeben, sollten diese Personen auf ihren Computern das gleiche Profil installieren. Andernfalls sind sie nicht in der Lage, die Stereotype anzuzeigen, die Sie verwendet haben.
Ein Profil ist häufig Teil einer größeren Visual Studio-Erweiterung. Sie können z. B. einen Befehl definieren, der einige Teile eines Modells in Code übersetzt. Sie können ein Profil definieren, das Benutzer auf Pakete anwenden müssen, die sie übersetzen möchten. In diesem Fall verteilen Sie den neuen Befehl und das Profil in einer einzelnen Visual Studio-Erweiterung.
Sie können auch lokalisierte Varianten eines Profils definieren. Benutzer, die die Erweiterung laden, sehen die Variante, die für ihre eigene Kultur geeignet ist.
Definieren eines Profils
So definieren Sie ein UML-Profil
Erstellen Sie eine neue XML-Datei mit der Dateinamenerweiterung .profile.
Fügen Sie Stereotypdefinitionen gemäß den Richtlinien unter Struktur eines Profils hinzu.
Fügen Sie das Profil einer Visual Studio-Erweiterung hinzu (.vsix-Datei). Sie können entweder eine neue Erweiterung für das Profil erstellen oder dem Profil eine vorhandene Erweiterung hinzufügen.
Weitere Informationen finden Sie im nächsten Abschnitt mit dem Titel Hinzufügen eines Profils zu einer Visual Studio-Erweiterung.
Installieren Sie die Erweiterung auf dem Computer.
Doppelklicken Sie auf die Erweiterungsdatei mit der Dateinamenerweiterung .vsix.
Starten Sie Visual Studio neu.
Überprüfen Sie, ob das Profil installiert wurde.
Wählen Sie das Modell in UML-Explorer aus.
Klicken Sie im Eigenschaftenfenster auf die Eigenschaft Profile. Das Profil wird im Menü angezeigt. Setzen Sie das Häkchen neben dem Profil.
Wählen Sie ein Element aus, für welches das Profil Stereotype definiert. Klicken Sie im Eigenschaftenfenster auf die Eigenschaft Stereotype. Die Stereotype werden in der Liste aufgeführt. Setzen bei einem der Stereotype ein Häkchen.
Wenn das Profil zusätzliche Eigenschaften für dieses Stereotyp definiert, erweitern Sie die Stereotypeigenschaft, um sie anzuzeigen.
Senden Sie die Erweiterungsdatei an andere Benutzer von Visual Studio, damit diese sie auf ihren Computern installieren können.
Hinzufügen eines Profils zu einer Visual Studio-Erweiterung
Um ein Profil zu installieren und das Senden an andere Benutzer zu ermöglichen, müssen Sie das Profil einer Visual Studio-Erweiterung hinzufügen. Weitere Informationen finden Sie unter Bereitstellen von Visual Studio-Erweiterungen (möglicherweise in englischer Sprache).
So definieren Sie ein Profil in einer neuen Visual Studio-Erweiterung
Erstellen Sie ein Visual Studio-Erweiterungsprojekt.
Tipp
Um dieses Verfahren durchführen zu können, muss Visual Studio SDK installiert sein.
Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.
Erweitern Sie im Dialogfeld Neues Projekt unter Installierte Vorlagen den Knoten Visual C#, klicken Sie auf Erweiterungen, und klicken Sie dann auf VSIX Project. Legen Sie den Projektnamen fest, und klicken Sie auf OK.
Fügen Sie das Profil dem Projekt hinzu.
- Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, zeigen Sie auf Hinzufügen, und klicken Sie anschließend auf Vorhandenes Element. Suchen Sie im Dialogfeld nach der Profildatei.
Legen Sie die Copy to Output-Eigenschaft der Profildatei fest.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Profildatei, und klicken Sie dann auf Eigenschaften.
Legen Sie im Eigenschaftenfenster die Option In Ausgabeverzeichnis kopieren auf Immer kopieren fest.
Öffnen Sie im Projektmappen-Explorer die Erweiterung source.extension.vsixmanifest.
Die Datei wird im Erweiterungsmanifest-Editor geöffnet.
Geben Sie Werte in den Feldern ID und Produktname an. Die ID muss eindeutig sein.
Legen Sie unter Inhalt eine Zeile fest, die das Profil beschreibt:
Klicken Sie auf Inhalt hinzufügen. Legen Sie die Felder im Dialogfeld Inhalt hinzufügen wie folgt fest.
Legen Sie Inhaltstyp auswählen auf Benutzerdefinierter Erweiterungstyp fest.
Legen Sie Typ auf Microsoft.VisualStudio.UmlProfile fest.
Klicken Sie auf Datei in Projekt, und wählen Sie den Namen der Profildatei aus, z. B. MyProfile.profile
Erstellen Sie das Projekt.
Öffnen Sie in Windows-Explorer den Ordner .\bin\Debug oder .\bin\Release, um die .vsix-Datei zu suchen. Dies ist eine Visual Studio-Erweiterungsdatei. Sie kann auf dem Computer installiert und an andere Visual Studio-Benutzer gesendet werden.
So installieren Sie die Erweiterung:
Doppelklicken Sie auf die .vsix-Datei. Der Installer für Visual Studio-Erweiterungen wird gestartet.
Starten Sie alle Instanzen von Visual Studio neu, die ausgeführt werden.
Sie können das folgende alternative Verfahren für kleine Erweiterungen verwenden, falls Sie Visual Studio SDK nicht installiert haben.
So definieren Sie eine Profilerweiterung ohne Visual Studio SDK
Erstellen Sie ein Windows-Verzeichnis, das die folgenden drei Dateien enthält:
Ihr Profil (YourProfile).profile
extension.vsixmanifest
[Content_Types].xml – Geben Sie diesen Namen wie hier gezeigt mit den eckigen Klammern ein.
Bearbeiten Sie [Content_Types].xml so, dass darin der folgende Text enthalten ist. Beachten Sie, dass ein Eintrag für jede Dateinamenerweiterung enthalten ist.
<?xml version="1.0" encoding="utf-8"?> <Types xmlns="https://schemas.openxmlformats.org/package/2006/content-types"> <Default Extension="profile" ContentType="application/octet-stream" /> <Default Extension="vsixmanifest" ContentType="text/xml" /> </Types>
Kopieren Sie ein vorhandenes extension.vsixmanifest-Element, und bearbeiten Sie es mit einem XML-Editor. Ändern Sie die Knoten für ID, Name und Inhalt.
Sie finden ein Beispiel für extension.vsixmanifest in diesem Verzeichnis:
Laufwerk**:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Architecture Tools\UmlProfiles**
Der Knoten "Inhalt" sollte wie folgt aussehen:
<Content> <CustomExtension Type="Microsoft.VisualStudio.UmlProfile" >YourProfile.Profile</CustomExtension> </Content>
Komprimieren Sie die drei Dateien in einer ZIP-Datei.
Wählen Sie im Windows-Explorer die drei Dateien aus, klicken Sie mit der rechten Maustaste, zeigen Sie auf Senden an, und klicken Sie dann auf ZIP-komprimierter Ordner.
Benennen Sie die ZIP-Datei um, und ändern Sie die Dateinamenerweiterung von .zip in .vsix.
Um das Profil auf einem Computer mit den geeigneten Editionen von Visual Studio zu installieren, doppelklicken Sie auf die .vsix-Datei.
So installieren Sie ein UML-Profil aus einer Visual Studio-Erweiterung
Doppelklicken Sie im Windows-Explorer auf die .vsix-Datei, oder öffnen Sie diese in Visual Studio.
Klicken Sie im angezeigten Dialogfeld auf Installieren.
Um die Erweiterung zu deinstallieren oder vorübergehend zu deaktivieren, öffnen Sie im Menü Extras den Erweiterungs-Manager.
Definieren lokalisierter Profile
Sie können verschiedene Profile für andere Kulturen oder Sprachen definieren und alle in derselben Erweiterung verpacken. Wenn Benutzer die Erweiterung laden, sehen diese das Profil, das Sie für die jeweilige Kultur definiert haben.
Sie müssen immer ein Standardprofil bereitstellen. Wenn Sie kein Profil für die Kultur eines Benutzers definiert haben, wird das Standardprofil angezeigt.
So definieren Sie ein lokalisiertes Profil
Erstellen Sie wie in den vorherigen Abschnitten Definieren eines Profils und Hinzufügen eines Profils zu einer Visual Studio-Erweiterung beschrieben ein Profil. Dies ist das Standardprofil, das für alle Installationen verwendet wird, für die Sie kein lokalisiertes Profil bereitstellen.
Fügen Sie im Verzeichnis, in dem sich die Datei mit dem Standardprofil befindet, ein neues Verzeichnis hinzu.
Tipp
Falls Sie die Erweiterung mithilfe eines Visual Studio-Erweiterungsprojekts erstellen, verwenden Sie den Projektmappen-Explorer, um dem Projekt einen neuen Ordner hinzuzufügen.
Ändern Sie den Namen des neuen Verzeichnisses in den ISO-Kurzcode für die lokalisierte Kultur, z. B. bg für Bulgarisch oder fr für Französisch. Sie sollten einen neutralen Kulturcode verwenden, also in der Regel zwei Buchstaben. Verwenden Sie keine speziellen Kulturcodes wie fr-CA. Weitere Informationen zu Kulturcodes finden Sie unter CultureInfo.GetCultures-Methode (möglicherweise in englischer Sprache). Dort ist eine vollständige Liste der Kulturcodes angegeben.
Fügen Sie dem neuen Verzeichnis eine Kopie des Standardprofils hinzu. Ändern Sie den Dateinamen nicht.
Ein Beispiel für einen Visual Studio-Erweiterungsordner, bevor für diesen ein Build oder eine Komprimierung in eine .vsix-Datei ausgeführt wird, würde die folgenden Ordner und Dateien enthalten:
extension.vsixmanifest
MyProfile.profile
fr\MyProfile.profile
de\MyProfile.profile
Tipp
Sie sollten in extension.vsixmanifest keinen Verweis auf die lokalisierten Versionen der Profile einfügen. Die kopierten Profildateien müssen den gleichen Namen wie das Profil im übergeordneten Ordner haben.
Bearbeiten Sie die neue Kopie des Profils, indem Sie alle für Benutzer sichtbaren Elemente in die Zielsprache übersetzen, z. B. die displayName-Attribute.
Sie können zusätzliche Kulturordner und lokalisierte Profile für beliebig viele Kulturen erstellen.
Erstellen Sie die Visual Studio-Erweiterung, indem Sie entweder das Erweiterungsprojekt erstellen oder alle Dateien komprimieren, wie in den vorherigen Abschnitten beschrieben.
Struktur eines Profils
Die XSD-Datei für UML-Profile finden Sie im folgenden Beispiel: Festlegen von Stereotypen und der Profil-XSD. Installieren Sie die .xsd-Datei zur Unterstützung der Bearbeitung von Profildateien in:
%ProgramFiles%\Microsoft Visual Studio 10.0\Xml\Schemas
Dieser Abschnitt verwendet als Beispiel das C#-Profil. Sie finden die vollständige Profildefinition unter:
Laufwerk**:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Architecture Tools\UmlProfiles\CSharp.profile**
Die ersten Teile dieses Pfads können in Ihrer Installation ggf. abweichen.
Weitere Informationen zum .NET-Profil finden Sie unter Standardstereotype für UML-Modelle.
Hauptabschnitte der UML-Profildefinition
Jedes Profil enthält den folgenden Inhalt:
<?xml version="1.0" encoding="utf-8"?>
<profile dslVersion="1.0.0.0"
name="CSharpProfile" displayName="C# Profile"
xmlns="https://schemas.microsoft.com/UML2.1.2/ProfileDefinition">
<stereotypes>...</stereotypes>
<metaclasses>...</metaclasses>
<propertyTypes>...</propertyTypes>
</profile>
Tipp
Das Attribut name darf keine Leerzeichen oder Interpunktionszeichen enthalten. Das Attribut displayName wird auf der Benutzeroberfläche angezeigt und sollte eine gültige XML-Zeichenfolge sein.
Jedes Profil enthält drei Hauptabschnitte. Dies sind in umgekehrter Reihenfolge:
<propertyTypes> – Eine Liste von Typen, die für Eigenschaften verwendet werden, die im Abschnitt mit den Stereotypen definiert sind.
<metaclasses> – Eine Liste mit Modellelementtypen, für die die Stereotype in diesem Profil gelten, z. B. IClass, IInterface, IOperation, IDependency.
<stereotypes> – Die Stereotypdefinitionen. Jede Definition enthält die Namen und die Typen von Eigenschaften, die dem Zielmodellelement hinzugefügt werden.
Eigenschaftentypen
Der <propertyTypes> -Abschnitt deklariert eine Liste von Typen, die für Eigenschaften im <stereotypes>-Abschnitt verwendet werden. Es gibt zwei Arten von Eigenschaftentypen: extern und Enumeration.
Ein externer Typ deklariert den vollqualifizierten Namen eines .NET-Standardtyps:
<externalType name="System.String" />
Ein Enumerationstyp definiert einen Satz von Literalwerten:
<enumerationType name="PackageVisibility">
<enumerationLiterals>
<enumerationLiteral name="internal" displayName="internal" />
<enumerationLiteral name="protectedinternal" displayName="protected internal" />
</enumerationLiterals>
</enumerationType>
Metaklassen
Der <metaclasses>-Abschnitt ist eine Liste von Modellelementtypen, für die Stereotype in diesem Profil definiert werden können:
<metaclass
name="Microsoft.VisualStudio.Uml.Classes.IClass" />
<metaclass
name="Microsoft.VisualStudio.Uml.Classes.IInterface" />
<metaclass
name="Microsoft.VisualStudio.Uml.Components.IComponent" />
Die vollständige Liste der Modellelement- und Beziehungstypen, die Sie als Metaklassen verwenden können, finden Sie unter Modellelementtypen.
Stereotypdefinition
Der <stereotypes>-Abschnitt enthält eine oder mehrere Stereotypdefinitionen:
<stereotype name="CSharpClass" displayName="C# Class"> ...
Jedes Stereotyp führt einen oder mehrere Modellelement- oder Beziehungstypen auf, auf die es angewendet werden kann. Sie können den Namen eines Basistyps angeben, um alle abgeleiteten Typen einzubeziehen. Wenn Sie z. B. Microsoft.VisualStudio.Uml.Classes.IType angeben, kann das Stereotyp auf IClass, IInterface, IEnumeration und verschiedene andere Typen von Elementen angewendet werden.
<metaclasses>
<metaclassMoniker name=
"/CSharpProfile/Microsoft.VisualStudio.Uml.Classes.IClass" />
</metaclasses>
Das name-Attribut von metaclassMoniker ist ein Link zu einem Element im <metaClasses>-Abschnitt.
Tipp
Der Monikername muss mit /yourProfileName/ beginnen, wobei yourProfileName im name-Attribut des Profils definiert ist ("CSharpProfile" in diesem Beispiel). Der Moniker endet mit dem Namen von einem der Einträge im metaclasses-Abschnitt.
Jedes Stereotyp kann keine oder mehrere Eigenschaften aufführen, die es jedem Modellelement hinzufügt, auf das es angewendet wird. <propertyType> enthält einen Link zu einem der Typen, die im <propertyTypes> -Abschnitt definiert sind. Der Link muss entweder <externalTypeMoniker> sein, um auf <externalType>, zu verweisen, oder <enumerationTypeMoniker>, um auf <enumerationType> zu verweisen. Der Link beginnt wieder mit dem Namen des Profils.
<properties>
<property name="IsStatic"
displayName="Is Static" defaultValue="false">
<propertyType>
<externalTypeMoniker
name="/CSharpProfile/System.Boolean" />
</propertyType>
</property>
<property name="PackageVisibility"
displayName="Package Visibility"
defaultValue="internal">
<propertyType>
<enumerationTypeMoniker
name="/CSharpProfile/PackageVisibility"/>
</propertyType>
</property>
</properties>
</stereotype>
Modellelementtypen
Die Typen, für die Stereotype definiert werden können, finden Sie unter Modellelementtypen.
Problembehandlung
Meine Stereotype werden nicht in den UML-Modellen angezeigt.
Das Profil muss als Paket oder Modell ausgewählt werden. Anschließend werden die Stereotype auf Elementen in dem Paket oder Modell angezeigt. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen von Stereotypen zu Modellelementen.Beim Öffnen eines UML-Modells wird der folgende Fehler angezeigt: VS1707: The following profiles cannot be loaded because a serialization error occurred: MyProfile.profile
Überprüfen Sie, ob die grundlegende XML-Syntax der PROFILE-Datei korrekt ist.
Stellen Sie sicher, dass jeder Monikername das Format "/Profilname/Knotenname" besitzt. Der "Profilname" ist der Wert des name-Attributs im Stammprofilknoten. Der "Knotenname" ist der Wert des name-Attributs einer Metaklasse (metaclass), eines externen Typs (externalType) oder eines Enumerationstyps (enumerationType).
Stellen Sie sicher, dass die hier beschriebene Syntax verwendet wurde (siehe auch "Laufwerk**:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Architecture Tools\UmlProfiles\**").
Deinstallieren Sie die fehlerhafte Erweiterung. Klicken Sie im Menü Extras auf Erweiterungs-Manager.
- Wenn die Erweiterung nicht angezeigt wird, gehen Sie wie im Folgenden beschrieben vor.
Erstellen Sie die VSIX-Datei neu, und öffnen Sie sie in Windows-Explorer, um sie erneut zu installieren. Starten Sie Visual Studio neu.
Die Erweiterung wird nicht im Erweiterungs-Manager angezeigt, beim Versuch, sie erneut zu installieren, wird jedoch die folgende Meldung angezeigt: The extension is already installed to all applicable products.
Entfernen Sie die Erweiterungsdatei aus einem Unterordner von "LocalAppData\Microsoft\VisualStudio\10.0\Extensions\".
Sie müssen auf der Registerkarte "Ansicht" in den Ordneroptionen von Windows-Explorer die Option "Versteckte Dateien und Ordner anzeigen" aktivieren, damit LocalAppData angezeigt wird.
LocalAppData befindet sich normalerweise unter "C:\Users\Benutzername\AppData\Local\".
Starten Sie Visual Studio neu.
Siehe auch
Aufgaben
Gewusst wie: Hinzufügen von Stereotypen zu Modellelementen
Konzepte
Standardstereotype für UML-Modelle
Weitere Ressourcen
Anpassen des Modells mit Profilen und Stereotypen