Como: Definir um perfil de estender o UML

Em Visual Studio Ultimate, você pode definir um o perfil UML para personalizar os elementos de modelo padrão para fins específicos. Um perfil define vários Estereótipos UML. Um estereótipo pode ser usado para estender a lista de um elemento de propriedades.

Vários perfis são instalados com o Visual Studio Ultimate. Para obter mais informações sobre esses perfis e sobre como aplicar os estereótipos, consulte Personalizando seu modelo com perfis e estereótipos.

Você pode definir seus próprios perfis para adaptar e ampliar o UML para sua própria área de negócios ou de arquitetura. Por exemplo:

  • Se você definir, com freqüência, sites da Web, você poderia definir seu próprio perfil que fornece um estereótipo «Página da Web» que pode ser aplicado às classes em diagramas de classe. Você poderia então utilizar os diagramas de classe para planejar um site da Web. Cada classe de «Página da Web» teria propriedades extras para o conteúdo da página, estilo e assim por diante.

  • Se você desenvolver um software de serviços bancários, você poderia definir um perfil que fornece um estereótipo «Conta». Você poderia então utilizar os diagramas de classe para definir os diferentes tipos de conta e mostrar as relações entre eles.

Você pode distribuir seus próprios perfis para sua equipe. Cada membro da equipe pode instalar seu perfil. Isso permite editar e criar modelos que usam seus estereótipos.

ObservaçãoObservação

Se você aplicar os estereótipos de um perfil de um modelo que está editando e, em seguida, compartilhar o modelo com outras pessoas, eles devem instalar o mesmo perfil em seus próprios computadores. Caso contrário, eles não poderão ver os estereótipos que foram usadas.

Um perfil costuma ser parte de uma maior Visual Studio extensão. Por exemplo, você poderia definir um comando que converte algumas partes de um modelo de código. Você poderia definir um perfil de usuários devem aplicar aos pacotes que deseja traduzir. Seria distribuir o novo comando e o perfil de um único Visual Studio extensão.

Você também pode definir localizadas variantes de um perfil. Carregando sua extensão de usuários vêem a variante que seja apropriada para sua própria cultura.

Como definir um perfil

Para definir um perfil de UML

  1. Criar um novo arquivo XML com a extensão de nome de arquivo .profile.

  2. Adicionar definições de estereótipo de acordo com as diretrizes descritas em A estrutura de um perfil de.

  3. Adicionar o perfil para uma extensão de Visual Studio (.vsix arquivo). Você pode criar uma nova extensão para o seu perfil ou adicionar o perfil para uma extensão.

    Consulte a próxima seção, como adicionar um perfil de uma extensão de Visual Studio.

  4. Instale a extensão em seu computador.

    1. Duas vezes no arquivo de extensão, que tem uma extensão de nome de arquivo .vsix.

    2. Reinicie o Visual Studio.

  5. Verifique se o perfil foi instalado.

    1. Selecione o modelo no Explorer do UML.

    2. Na janela Propriedades, clique na perfis propriedade. Seu perfil aparecerá no menu. Defina a marca de seleção próximo ao perfil.

    3. Selecione um elemento para o qual o seu perfil define estereótipos. Na janela Propriedades, clique na Estereótipos propriedade. Os estereótipos aparecerá na lista. Defina a marca de seleção contra dentre os estereótipos.

    4. Se o seu perfil define as propriedades adicionais para esse estereótipo, expanda a propriedade do estereótipo para vê-los.

  6. Envie o arquivo de extensão para outros usuários do Visual Studio para instalar em seus computadores.

Como adicionar um perfil para uma extensão de Visual Studio

Para instalar um perfil e para permitir que você enviá-lo para outros usuários, você deve adicionar o perfil para uma extensão de Visual Studio. Para obter mais informações, consulte Implantação de extensões de Visual Studio.

Para definir um perfil em uma nova extensão de Visual Studio

  1. Crie um projeto de extensão de Visual Studio.

    ObservaçãoObservação

    Você deve ter instalado SDK do Visual Studio para usar este procedimento.

    1. No menu File, aponte para New, e em seguida, clique em Project.

    2. No Novo projeto caixa de diálogo, em Installed Templates, expanda Visual C#, clique em extensibilidadee, em seguida, clique em o projeto VSIX. Defina o nome do projeto e clique em OK.

  2. Adicione o seu perfil para o projeto.

    • No Solution Explorer, clique com o botão direito no projeto, aponte para Adde em seguida, clique em Item existente. Na caixa de diálogo, localize o arquivo de perfil.
  3. Definir o arquivo de perfil Copy saída propriedade.

    1. No Solution Explorer, clique com o botão direito no arquivo do perfil e clique em Propriedades.

    2. Na janela Properties, defina a Copy to Output Directory propriedade para Copy Always.

  4. No Solution Explorer, abra source.extension.vsixmanifest.

    O arquivo é aberto no editor de manifesto de extensão.

  5. Definir o ID e Nome do produto campos. A identificação deve ser exclusiva.

  6. Em conteúdo, defina uma linha que descreve o perfil:

    • Clique em Adicionar conteúdo. Definir os campos Adicionar conteúdo caixa de diálogo da seguinte maneira.

    • Definir Selecione um tipo de conteúdo para tipo de extensão personalizada

    • Definir tipo de para Microsoft.VisualStudio.UmlProfile

    • Clique em arquivo no projeto e selecione o nome do seu arquivo de perfil, por exemplo MyProfile.profile

  7. Crie o projeto.

  8. No Windows Explorer, abra a pasta .\bin\Debug ou .\bin\Release para encontrar o .vsix arquivo. Este é um Visual Studio arquivo de extensão. Pode ser instalado em seu computador e enviado para outros usuários do Visual Studio.

  9. Para instalar a extensão:

    1. Clique duas vezes o .vsix arquivo. O instalador de extensão de Visual Studio será iniciado.

    2. Reinicie quaisquer instâncias de Visual Studio que estão executando.

O seguinte procedimento alternativo pode ser usado para as extensões de pequenas, se você não instalou SDK do Visual Studio.

Para definir uma extensão de perfil sem usar o SDK do Visual Studio

  1. Crie um diretório do Windows que contém três arquivos a seguir:

    • YourProfile.profile

    • extension.vsixmanifest

    • [Content_Types].xml-Digite esse nome, conforme mostrado aqui, com colchetes

  2. Editar [Content_Types].xml para conter o texto a seguir. Observe que ele contém uma entrada para cada extensão de nome de arquivo.

    <?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>
    
  3. Copie uma existente extension.vsixmanifest e editá-lo com um editor de XML. Altere a identificação, nome e nós de conteúdo.

    • Você pode encontrar um exemplo de extension.vsixmanifest neste diretório:

      unidade**:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Architecture Tools\UmlProfiles**

    • O nó conteúdo deve ser assim:

      <Content>
        <CustomExtension Type="Microsoft.VisualStudio.UmlProfile"
        >YourProfile.Profile</CustomExtension>
      </Content>
      
  4. Compacte os três arquivos em um arquivo compactado.

    No Windows Explorer, selecione os três arquivos, com o botão direito, aponte para Enviar parae em seguida, clique em pasta de compactada (zipada).

  5. Renomeie o arquivo zipado e alterar sua extensão de nome de arquivo de .zip para .vsix.

  6. Para instalar o perfil em qualquer computador com as edições apropriadas de Visual Studio, clique duas vezes o .vsix arquivo.

Para instalar um perfil de UML a partir de uma extensão de Visual Studio

  1. Clique duas vezes o .vsix no Windows Explorer, o arquivo ou abri-lo dentro de Visual Studio.

  2. Clique em instalar na caixa de diálogo que aparece.

  3. Para desinstalar ou desativar temporariamente a extensão, abra Extension Manager partir do Ferramentas menu.

Como definir perfis localizados

Você pode definir perfis diferentes para diferentes culturas ou idiomas e empacotar todos a mesma extensão. Quando um usuário carrega sua extensão, ele verá o perfil que você definiu para sua cultura.

Você sempre deve fornecer um perfil padrão. Se você não tiver definido um perfil para a cultura do usuário, ele verá o perfil padrão.

Para definir um perfil localizado

  1. Criar um perfil, conforme descrito nas seções anteriores como definir um perfil de e como adicionar um perfil de uma extensão de Visual Studio. Isso é o perfil padrão e será usado em qualquer instalação para o qual você não fornecer um perfil localizado.

  2. Adicione uma nova pasta no mesmo diretório do seu arquivo de perfil padrão.

    ObservaçãoObservação

    Se você estiver criando a extensão por meio de um projeto de extensão de Visual Studio, use o Solution Explorer para adicionar uma nova pasta para o projeto.

  3. Alterar o nome do diretório de novas ao código ISO curto para a cultura localizada, como bg para búlgaro, ou fr para francês. Você deve usar um código de cultura neutra, normalmente duas letras, não uma cultura específica, como fr-CA. Para obter mais informações sobre códigos de cultura, consulte o método de CultureInfo. GetCultures, que fornece uma lista completa dos códigos de cultura.

  4. Adicione uma cópia do seu perfil padrão para o novo diretório. Não altere o nome do arquivo.

    Uma amostra Visual Studio pasta de extensão, antes que ele seja construído ou compactado em um .vsix de arquivos, deverá conter as seguintes pastas e arquivos:

    extension.vsixmanifest

    MyProfile.profile

    fr\MyProfile.profile

    de\MyProfile.profile

    ObservaçãoObservação

    Você não deve inserir em extension.vsixmanifest uma referência para as versões localizadas de perfis. Os arquivos de perfil copiado devem ter o mesmo nome que o perfil na pasta pai.

  5. Editar a nova cópia do perfil, a tradução para o idioma de destino todas as partes que serão visíveis ao usuário, como o displayName atributos.

  6. Você pode criar pastas de cultura adicionais e perfis localizados para culturas quantos desejar.

  7. Construa a extensão de Visual Studio, compilar o projeto de extensão ou compactar os arquivos, conforme descrito nas seções anteriores.

A estrutura de um perfil

Esta seção usa o perfil do C# como exemplo. A definição de perfil completo pode ser vista na

unidade**:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Architecture Tools\UmlProfiles\CSharp.profile**

As partes primeira deste caminho podem diferir em sua instalação.

Para obter mais informações sobre o.NET de perfil, consulte Estereótipos padrão para modelos UML.

Seções principais da definição do perfil de UML

Cada perfil contém o seguinte conteúdo:

<?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>
ObservaçãoObservação

O atributo chamado name não deve conter espaços ou pontuação. O atributo displayName, que aparece na interface do usuário, deve ser uma seqüência de caracteres XML válido.

Cada perfil contém três seções principais. Na ordem inversa, eles são:

  • <propertyTypes>-uma lista de tipos que são usados para propriedades definidas na seção de estereótipos.

  • <metaclasses>-uma lista dos tipos de elemento de modelo ao qual os estereótipos neste perfil aplicam, como, por exemplo, IClass, IInterface, IOperation, IDependency.

  • <stereotypes>-as definições do estereótipo. Cada definição inclui os nomes e tipos de propriedades que são adicionados ao elemento de modelo de destino.

Tipos de propriedade

O <propertyTypes> seção declara uma lista de tipos que são usados para propriedades de <stereotypes> seção. Há dois tipos de tipos de propriedade: enumeração e externas.

Um tipo externo declara o nome totalmente qualificado de um padrão.Tipo de rede:

<externalType name="System.String" />

Um tipo de enumeração define um conjunto de valores literais:

    <enumerationType name="PackageVisibility">
      <enumerationLiterals>
        <enumerationLiteral name="internal" displayName="internal"  />
        <enumerationLiteral name="protectedinternal" displayName="protected internal" />
      </enumerationLiterals>
    </enumerationType>

Metaclasses

O <metaclasses> seção é uma lista dos tipos de elemento de modelo ao qual os estereótipos neste perfil podem ser definidos:

<metaclass 
      name="Microsoft.VisualStudio.Uml.Classes.IClass" />
<metaclass
      name="Microsoft.VisualStudio.Uml.Classes.IInterface" />
<metaclass
      name="Microsoft.VisualStudio.Uml.Components.IComponent" />

Para obter a lista completa de tipos de relacionamento e o elemento de modelo que você pode usar como metaclasses, consulte Tipos de elemento de modelo.

Definição de estereótipo

O <stereotypes> seção contém uma ou mais definições de estereótipo:

    <stereotype name="CSharpClass" displayName="C# Class"> ...

Cada estereótipo lista um ou mais elemento ou relacionamento tipos de modelo ao qual ele pode ser aplicado. Você pode dar o nome de um tipo de base, para incluir todos os seus tipos derivados. Por exemplo, se você especificar Microsoft.VisualStudio.Uml.Classes.IType, o estereótipo pode ser aplicado a IClass, IInterface, IEnumeratione vários outros tipos de elemento.

      <metaclasses>
        <metaclassMoniker name=
         "/CSharpProfile/Microsoft.VisualStudio.Uml.Classes.IClass" />
      </metaclasses>

O name atributo do metaclassMoniker é um link para um elemento de <metaClasses> seção.

ObservaçãoObservação

O nome do identificador de origem deve começar com /yourProfileName/, onde yourProfileName é definido na name atributo do perfil ("csharpprofile" Neste exemplo). O moniker termina com o nome de uma das entradas na seção metaclasses.

Cada estereótipo pode listar zero ou mais propriedades que ela adiciona a qualquer elemento de modelo ao qual ela é aplicada. O <propertyType> contém um link para um dos tipos que são definidos na <propertyTypes> seção. O link deve ser um <externalTypeMoniker> para se referir a um <externalType>, ou um <enumerationTypeMoniker> para se referir a um <enumerationType>. Novamente, o link começa com o nome do seu perfil.

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

Tipos de elemento de modelo

O conjunto de tipos para o qual você pode definir os estereótipos está listado na Tipos de elemento de modelo.

Solução de problemas

  • Meus estereótipos não aparecem Meus modelos UML.
    Você precisa selecionar seu perfil em um pacote ou um modelo. Os estereótipos aparecerão em elementos dentro do pacote ou modelo. Para obter mais informações, consulte Como: Adicionar estereótipos elementos de modelo.

  • Aparece o seguinte erro ao abrir um modelo UML: VS1707: The following profiles cannot be loaded because a serialization error occurred: MyProfile.profile

    1. Verifique se a sintaxe básica de XML do que o perfil está correta.

    2. Verifique se cada nome de identificador de origem está em /profileName/nodeName o formulário. O profileName é o valor do atributo name no nó do perfil de raiz. O nodeName é o valor do atributo de nome de metaclasse, externalType ou enumerationType.

    3. Verifique a sintaxe é conforme descrito aqui e, conforme demonstrado no unidade**:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Architecture Tools\UmlProfiles\**.

    4. Desinstale a extensão com defeito. No menu Ferramentas, clique em Gerenciador de extensões.

      • Se a extensão não for exibido, consulte o próximo item.
    5. Recriar o arquivo VSIX e abri-lo no Windows Explorer para reinstalá-lo. Reinicie Visual Studio.

  • A extensão não aparece no Gerenciador de extensão, mas quando você tentar reinstalá-lo, aparece a seguinte mensagem: The extension is already installed to all applicable products.

    1. Remova o arquivo de extensão de uma subpasta de LocalAppData\Microsoft\VisualStudio\10.0\Extensions\

      • Para ver LocalAppData, você deve definir as pastas e Mostrar arquivos ocultos na guia Exibir as opções de pasta do Windows Explorer.

      • LocalAppData normalmente está em C:\Users\nome de usuário\AppData\Local\

    2. Reinicie Visual Studio.

Consulte também

Tarefas

Como: Adicionar estereótipos elementos de modelo

Conceitos

Estereótipos padrão para modelos UML

Outros recursos

Personalizando seu modelo com perfis e estereótipos