Como: definir um perfil para estender o UML

Em Visual Studio Ultimate, você pode definir um perfil de UML para personalizar os elementos do modelo padrão para finalidades específicas.Um perfil define um ou mais estereótipos de UML.Um estereótipo pode ser usado para marcar um tipo como representação de um tipo específico de objeto.Um estereótipo também pode estender a lista de um elemento de propriedades.

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

Você pode definir seus próprios perfis para adaptar e estender UML a sua própria área comercial ou arquitetura.Por exemplo:

  • Se você geralmente define sites, você pode definir seu próprio perfil que fornece um estereótipo “Web page” que pode ser aplicado a classes em diagramas de classe.Você pode usar diagramas de classe para planejar um site.Cada classe “Web page” teria propriedades adicionais para o conteúdo da página, estilo, e assim por diante.

  • Se você desenvolver o software de operação bancária, você pode definir um perfil que fornecesse um estereótipo de “conta”.Você pode usar diagramas de classe para definir tipos diferentes de conta e para mostrar as relações entre eles.

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

ObservaçãoObservação

Se você aplica os estereótipos de um perfil em um modelo que você está editando, e então compartilhar o modelo com outras pessoas, deve instalar o mesmo perfil em seus próprios computadores.Se não, eles não poderão consultar os estereótipos que você usou.

Um perfil geralmente é parte de uma extensão maior de Visual Studio .Por exemplo, você pode definir um comando que traduzisse algumas partes de um modelo ao código.Você pode definir um perfil que os usuários devessem aplicar a pacotes que deseja converter.Você distribuiria seu novo comando juntamente com o perfil em uma única extensão de Visual Studio .

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

Como definir um perfil

Para definir um perfil de UML

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

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

  3. Adicione o perfil para uma extensão do Visual Studio (arquivo de.vsix ).Você pode criar uma nova extensão para o perfil, ou adicione o perfil para uma extensão existente.

    Consulte a próxima seção, Como adicionar um perfil para uma extensão do Visual Studio.

  4. Instalar a extensão no seu computador.

    1. Clique 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 está instalado.

    1. Selecione o modelo em UML Explorer.

    2. Na janela propriedades, clique na propriedade de Perfis .O perfil aparecerá no menu.Definir a marca de seleção ao lado de perfil.

    3. Selecione um elemento para o perfil define estereótipos.Na janela propriedades, clique na propriedade de Estereótipos .Seus estereótipos aparecerão na lista.Definir a marca de seleção contra um dos estereótipos.

    4. Se o perfil define propriedades adicionais para esse estereótipo, expanda a propriedade estereótipa para consultar-las.

  6. Enviar o arquivo de extensão para outros usuários de Visual Studio para a instalação em seus computadores.

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

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

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

  1. Crie um projeto de extensão do 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. Na caixa de diálogo Novo Projeto , em Modelos Instalados, expanda Visual c#, clique em Extensibilidade, clique em Projeto de VSIX.Defina o nome do projeto e clique OK.

  2. Adicione o perfil ao projeto.

    • No solution Explorer, clique com o botão direito do mouse no projeto, aponte a Adicionar, e clique em Item Existente.Na caixa de diálogo, localize o arquivo de perfil.
  3. Defina a propriedade de Copiar a saída de arquivo do perfil.

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

    2. Na janela propriedades, defina a propriedade de Copiar para Diretório de Saída a Copiar sempre.

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

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

  5. Na página de Ativos , adicione uma linha que descreve o perfil:

    • Clique em Novo.Definir os campos na caixa de diálogo Adicionar o novo recurso como segue.

    • Definir Tipo a Microsoft.VisualStudio.UmlProfile

      Isso é não uma lista de opções.Digite o nome do teclado.

    • Clique em Arquivo no sistema de arquivos e selecione o nome do arquivo de perfil, por exemplo MyProfile.profile

  6. Crie o projeto.

  7. Para depurar o perfil, pressione F5.

    Uma instância de avaliação do Visual Studio abre.Nesse caso, abra um projeto modelando.Em UML Explorer, selecione o elemento raiz do modelo, e na janela propriedades, selecione o perfil.Selecione elementos dentro de estereótipos de modelo e do conjunto que você definiu para eles.

  8. Para extrair o VSIX para implantação

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

    2. Para instalar a extensão:

      1. Clique duas vezes no arquivo de .vsix .O instalador de extensão do Visual Studio iniciará.

      2. Reinicie todas as instâncias do Visual Studio que ele é executado.

O procedimento a seguir alternativo pode ser usado para extensões pequenas se você não instalou SDK do Visual Studio.

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

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

    • YourProfile.profile

    • extension.vsixmanifest

    • [Content_Types].xml - digite esse nome como mostrado aqui, com colchetes

  2. Editar [Content_Types].xml para conter o texto a seguir.Observe que 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. Copiar extension.vsixmanifest existente e edite com um editor XML.Altere a identificação, nomeie, e conteúdo de nós.

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

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

    • O nó de conteúdo deve ser assim:

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

    No Windows Explorer, selecione os três arquivos, clique com o botão direito do mouse, aponte Enviar para, e clicar-los em Pasta compactada (fechada).

  5. Renomeie o arquivo fechado, e altere sua extensão de nome de arquivo .zip a .vsix.

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

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

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

  2. Clique Instalar na caixa de diálogo que aparece.

  3. Para desinstalar ou desativar temporariamente a extensão, abra Gerenciador de Extensões de Ferramentas .

Como definir perfis localizados

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

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

Para definir um perfil encontrado

  1. Crie um perfil como descrito nas seções anteriores Como definir um perfil e Como adicionar um perfil para uma extensão do Visual Studio.Este é o perfil padrão, e será usado de qualquer instalação para que você não fornecer um perfil encontrado.

  2. Adicione um novo diretório no mesmo diretório que o arquivo de perfil padrão.

    ObservaçãoObservação

    Se você estiver criando a extensão usando um projeto de extensão do Visual Studio, use o solution Explorer para adicionar uma nova pasta para o projeto.

  3. Altere o novo nome de diretório para o código curto ISO para a cultura localizada, como bg para o 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 Método de CultureInfo.GetCultures, que fornece uma lista completa de código de cultura.

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

    Uma pasta de extensão de Visual Studio de exemplo, antes que seja compilado ou compactada em .vsix um arquivo, contém 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 às versões localizadas de perfis.Os arquivos de perfil copiados devem ter o mesmo nome que o perfil na pasta pai.

  5. Edite a nova cópia de perfil, convertendo em linguagem de destino todas as partes que serão visíveis para o usuário, como os atributos de displayName .

  6. Você pode criar pastas adicionais de cultura e perfis localizados para tantas culturas como você deseja.

  7. Compile a extensão do Visual Studio, ou outro para criar a extensão Projeto ou a compressão de todos os arquivos, como descrito nas seções anteriores.

A estrutura de um perfil

O arquivo XSD para perfis de UML pode ser encontrado no exemplo a seguir: Definir estereotipa e perfis XSD.Para ajudá-lo a editar arquivos de perfil, instalar o arquivo de .xsd em:

%ProgramFiles%\Microsoft Visual Studio 11.0\Xml\Schemas

Esta seção usa o perfil C# como um exemplo.A definição completa de perfil pode ser considerada em:

:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\Architecture Tools\UmlProfiles\CSharp.profiledeunidade

As primeiras partes desse caminho podem diferir na instalação.

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

Dd465143.collapse_all(pt-br,VS.110).gifAs seções principais de UML analisam a definição

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 cadeia de caracteres XML válido.

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

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

  • <metaclasses> - uma lista de tipos de elemento modelo para que os estereótipos neste perfil aplicam, como IClass, IInterface, IOperation, IDependency.

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

Dd465143.collapse_all(pt-br,VS.110).gifTipos de propriedade

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

Um tipo externo declara o nome totalmente qualificado de um tipo de DADOS padrão:

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

Dd465143.collapse_all(pt-br,VS.110).gifMetaclasses

A seção de <metaclasses> é uma lista de tipos de elemento modelo para que 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 a lista completa de elemento e tipos de relação modelo que você pode usar como metaclasses, consulte Tipos de elemento modelo.

Dd465143.collapse_all(pt-br,VS.110).gifEstereotipe a definição

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

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

Cada estereótipo lista um ou mais o elemento ou tipos de relação a modelo que pode ser aplicado.Você pode fornecer o nome de um tipo 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, a IInterface, a IEnumeration, e a vários outros tipos de elemento.

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

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

ObservaçãoObservação

O nome de apelido deve começar com /yourProfileName/, onde yourProfileName é definido no atributo de name de perfil (“CSharpProfile” neste exemplo).A apelido termina com o nome de uma das entradas na seção de metaclasses.

Cada estereótipo pode listar zero ou mais propriedades que adicionam a qualquer elemento ao qual o modelo é aplicado.<propertyType> contém um link para um dos tipos que são definidos na seção de <propertyTypes>.O link deve ser <externalTypeMoniker> para referir-se a <externalType>, ou <enumerationTypeMoniker> para referir-se a <enumerationType>.Além disso, o link começa com o nome do 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 modelo

O conjunto de tipos para que você pode definir estereótipos está listado em Tipos de elemento de modelo.

Solução de problemas

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

  • O seguinte erro aparece quando eu abro um modelo de UML: VS1707: The following profiles cannot be loaded because a serialization error occurred: MyProfile.profile

    1. Verifique que a sintaxe XML básica de .profile está correta.

    2. Certifique-se de que cada nome de apelido está no formulário /profileName/nodeName.O profileName é o valor do atributo nome no nó de perfil raiz.O nodeName é o valor do atributo nome de metaclass, externalType, ou enumerationType.

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

    4. Desinstalar a extensão defeituosas.No menu Ferramentas, clique em Gerenciador de Extensões.

      • Se a extensão não aparece, consulte o próximo item.
    5. Crie o arquivo de VSIX e abrí-lo no Windows Explorer para reinstalar-lo.Reinicie Visual Studio.

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

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

      • Para ver LocalAppData, você deve definir arquivos e pastas ocultos apresentação na guia de exibição das opções da pasta do Windows Explorer.

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

    2. Reinicie Visual Studio.

Consulte também

Tarefas

Como: Adicionar estereótipos a elementos de modelo

Conceitos

Estereótipos padrão dos modelos UML

Outros recursos

Personalizando o modelo com perfis e estereótipos

Exemplo: Elementos de UML de cor pelo estereótipo

Exemplo: Definindo estereótipos, perfis XSD