Define a profile to extend UML

 

Die neueste Dokumentation zu Visual Studio 2017 finden Sie unter Dokumentation zu Visual Studio 2017.

Sie können ein UML-Profil definieren, um die standardmäßigen Modellelemente für bestimmte Zwecke anzupassen. Ein Profil definiert eine oder mehrere UML-Stereotype. Ein Stereotyp kann verwendet werden, um einen Typ als Darstellung einer bestimmten Art Objekt zu markieren. Ein Stereotyp kann außerdem verwendet werden, um die Liste der Eigenschaften eines Elements zu erweitern.

Mehrere Profile werden mit unterstützten Editionen von Visual Studio installiert. Welche Versionen von Visual Studio dieses Feature unterstützen, finden Sie unter Versionsunterstützung für Architektur- und Modellierungstools. Weitere Informationen zu diesen Profilen und zur Anwendung von Stereotypen finden Sie unter Customize your model with profiles and stereotypes.

Sie können eigene Profile definieren, um UML an Ihren eigenen Geschäftsbereich oder Ihre Architektur anzupassen und bei Bedarf zu erweitern. Zum 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.

System_CAPS_ICON_note.jpg Hinweis

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 gemeinsam mit dem 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.

So definieren Sie ein UML-Profil

  1. Erstellen Sie eine neue XML-Datei mit der Dateinamenerweiterung .profile.

  2. Fügen Sie Stereotypdefinitionen gemäß den Richtlinien unter Struktur eines Profils hinzu.

  3. 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.

  4. Installieren Sie die Erweiterung auf dem Computer.

    1. Doppelklicken Sie auf die Erweiterungsdatei mit der Dateinamenerweiterung .vsix.

    2. Starten Sie Visual Studio neu.

  5. Überprüfen Sie, ob das Profil installiert wurde.

    1. Wählen Sie das Modell in UML-Explorer aus.

    2. Klicken Sie im Eigenschaftenfenster auf die Eigenschaft Profile. Das Profil wird im Menü angezeigt. Setzen Sie das Häkchen neben dem Profil.

    3. 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.

    4. Wenn das Profil zusätzliche Eigenschaften für dieses Stereotyp definiert, erweitern Sie die Stereotypeigenschaft, um sie anzuzeigen.

  6. Senden Sie die Erweiterungsdatei an andere Benutzer von Visual Studio, damit diese sie auf ihren Computern installieren können.

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.

So definieren Sie ein Profil in einer neuen Visual Studio-Erweiterung

  1. Erstellen Sie ein Visual Studio-Erweiterungsprojekt.

    System_CAPS_ICON_note.jpg Hinweis

    Um dieses Verfahren durchführen zu können, muss Visual Studio SDK installiert sein.

    1. Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.

    2. 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.

  2. 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.
  3. Legen Sie die Copy to Output-Eigenschaft der Profildatei fest.

    1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Profildatei, und klicken Sie dann auf Eigenschaften.

    2. Legen Sie im Eigenschaftenfenster die Option In Ausgabeverzeichnis kopieren auf Immer kopieren fest.

  4. Öffnen Sie im Projektmappen-Explorer die Erweiterung source.extension.vsixmanifest.

    Die Datei wird im Erweiterungsmanifest-Editor geöffnet.

  5. Auf der Seite Objekte fügen Sie eine Zeile hinzu, die das Profil beschreibt:

    • Klicken Sie auf Neu. Legen Sie die Felder im Dialogfeld Neues Objekt hinzufügen wie folgt fest.

    • Legen Sie Typ auf Microsoft.VisualStudio.UmlProfile fest.

      Dies ist keine der Dropdown-Auswahlmöglichkeiten. Geben Sie diesen Namen über die Tastatur ein.

    • Klicken Sie auf Datei im Dateisystem, und wählen Sie den Namen der Profildatei aus, z. B. MyProfile.profile

  6. Erstellen Sie das Projekt.

  7. Um das Profil zu debuggen, drücken Sie F5.

    Eine experimentelle Instanz von Visual Studio wird geöffnet. Öffnen Sie in dieser Instanz ein Modellierungsprojekt. Wählen Sie im UML-Explorer das Stammelement des Modells und im Eigenschaftenfenster das Profil aus. Wählen Sie dann Elemente innerhalb der Modell- und Satzstereotypen aus, die Sie dafür definiert haben.

  8. So extrahieren Sie VSIX für die Bereitstellung

    1. Öffnen Sie im Windows-Explorer den Ordner .\bin\Debug oder .\bin\Release, um nach der .vsix-Datei zu suchen. Dies ist eine Visual Studio-Erweiterungsdatei. Sie kann auf dem Computer installiert und an andere Visual Studio-Benutzer gesendet werden.

    2. So installieren Sie die Erweiterung:

      1. Doppelklicken Sie auf die .vsix-Datei. Der Installer für Visual Studio-Erweiterungen wird gestartet.

      2. 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

  1. Erstellen Sie ein Windows-Verzeichnis, das die folgenden drei Dateien enthält:

    • YourProfile .profile

    • extension.vsixmanifest

    • [Content_Types].xml – Geben Sie diesen Namen wie hier gezeigt mit den eckigen Klammern ein.

  2. 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="http://schemas.openxmlformats.org/package/2006/content-types">  
      <Default Extension="profile" ContentType="application/octet-stream" />  
      <Default Extension="vsixmanifest" ContentType="text/xml" />  
    </Types>  
    
    
  3. 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 [version]\Common7\IDE\Extensions\Microsoft\Architecture Tools\UmlProfiles

    • Der Knoten "Inhalt" sollte wie folgt aussehen:

      <Content>  
        <CustomExtension Type="Microsoft.VisualStudio.UmlProfile"  
        >YourProfile.Profile</CustomExtension>  
      </Content>  
      
      
  4. 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.

  5. Benennen Sie die ZIP-Datei um, und ändern Sie die Dateinamenerweiterung von .zip in .vsix.

  6. 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

  1. Doppelklicken Sie im Windows-Explorer auf die .vsix-Datei, oder öffnen Sie diese in Visual Studio.

  2. Klicken Sie im angezeigten Dialogfeld auf Installieren.

  3. Um die Erweiterung zu deinstallieren oder vorübergehend zu deaktivieren, öffnen Sie im Menü Extras die Option Erweiterungen und Updates.

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

  1. 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.

  2. Fügen Sie im Verzeichnis, in dem sich die Datei mit dem Standardprofil befindet, ein neues Verzeichnis hinzu.

    System_CAPS_ICON_note.jpg Hinweis

    Falls Sie die Erweiterung mithilfe eines Visual Studio-Erweiterungsprojekts erstellen, verwenden Sie den Projektmappen-Explorer, um dem Projekt einen neuen Ordner hinzuzufügen.

  3. Ä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. Dort finden Sie eine vollständige Liste der Kulturcodes.

  4. 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

    System_CAPS_ICON_note.jpg Hinweis

    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.

  5. Bearbeiten Sie die neue Kopie des Profils, indem Sie alle für Benutzer sichtbaren Elemente in die Zielsprache übersetzen, z. B. die displayName-Attribute.

  6. Sie können zusätzliche Kulturordner und lokalisierte Profile für beliebig viele Kulturen erstellen.

  7. Erstellen Sie die Visual Studio-Erweiterung, indem Sie entweder das Erweiterungsprojekt erstellen oder alle Dateien komprimieren, wie in den vorherigen Abschnitten beschrieben.

Die XSD-Datei für UML-Profile finden Sie im folgenden Beispiel: Festlegen von Stereotypen und XSD-Dateien für Profile. Installieren Sie die .xsd-Datei zur Unterstützung der Bearbeitung von Profildateien in:

%ProgramFiles%\Microsoft Visual Studio [version]\Xml\Schemas

Dieser Abschnitt verwendet als Beispiel das C#-Profil. Sie finden die vollständige Profildefinition unter:

Laufwerk :\Program Files\Microsoft Visual Studio [version]\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 Standard stereotypes for UML models.

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="http://schemas.microsoft.com/UML2.1.2/ProfileDefinition">  
  <stereotypes>...</stereotypes>  
  <metaclasses>...</metaclasses>  
  <propertyTypes>...</propertyTypes>  
</profile>  

System_CAPS_ICON_note.jpg Hinweis

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.

System_CAPS_ICON_note.jpg Hinweis

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>  

Die Typen, für die Stereotype definiert werden können, finden Sie unter UML model element types.

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 Add stereotypes to UML model elements.

Beim Öffnen eines UML-Modells wird der folgende Fehler angezeigt: VS1707: The following profiles cannot be loaded because a serialization error occurred: MyProfile.profile

  1. Überprüfen Sie, ob die grundlegende XML-Syntax der PROFILE-Datei korrekt ist.

  2. 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).

  3. Stellen Sie sicher, dass die Syntax wie hier beschrieben und wie unter Laufwerk:\Program Files\Microsoft Visual Studio [version]\Common7\IDE\Extensions\Microsoft\Architecture Tools\UmlProfiles\ veranschaulicht lautet.

  4. Deinstallieren Sie die fehlerhafte Erweiterung. Klicken Sie im Menü Extras auf Erweiterungen und Updates.

    • Wenn die Erweiterung nicht angezeigt wird, gehen Sie wie im Folgenden beschrieben vor.
  5. 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.

  1. Entfernen Sie die Erweiterungsdatei aus einem Unterordner von LocalAppData\Microsoft\VisualStudio\[Version]\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.  

  1. Starten Sie Visual Studio neu.

Add stereotypes to UML model elements
Customize your model with profiles and stereotypes
Standard stereotypes for UML models
Beispiel: Farbliche Darstellung von UML-Elementen nach Stereotyp
Beispiel: Festlegen von Stereotypen und XSD-Dateien für Profile

Anzeigen: