Compartilhar via


Como: criar elementos e relações

No código de programa para uma extensão do Visual Studio Ultimate, você pode criar e excluir elementos e relações.

Criar um elemento de modelo

Ee330929.collapse_all(pt-br,VS.110).gifImportações de namespace

Você deve incluir o seguinte using instruções.

Os métodos de criação são definidos como métodos de extensão neste namespace:

using Microsoft.VisualStudio.ArchitectureTools.Extensibility.Uml;

Ee330929.collapse_all(pt-br,VS.110).gifObter o proprietário do elemento que você deseja criar

Um modelo de forma uma única árvore, para que cada item possui um proprietário, exceto para a raiz do modelo.A raiz do modelo é do tipo IModel, que é um tipo de IPackage.

Se você estiver criando um elemento que será exibido em um diagrama específico, por exemplo, diagrama de atual do usuário, você deve geralmente criá-la no pacote que está vinculado a esse diagrama.Por exemplo:

IPackage linkedPackage = Context.CurrentDiagram.Element as IPackage;

Esta tabela resume a posse de elementos de modelo comuns:

Elemento a ser criado.

Owner

IActor, IUseCase, IComponent, IClass, IInterface, IEnumeration

IActivity, IInteraction

IPackage, IModel

IAttribute, IOperation

IClass, IInterface

IPart, IPort

IComponent

IAction, IObjectNode

IActivity

ILifeline, IMessage, ICombinedFragment

IInteraction

Ee330929.collapse_all(pt-br,VS.110).gifChamar o método Create sobre o proprietário

O nome do método é do formulário: CreateOwnedType().Por exemplo:

IUseCase usecase1 = linkedPackage.CreateUseCase();

Alguns tipos têm métodos de criação mais complexos, especialmente em diagramas de seqüência.Consulte Como: Editar diagramas de seqüência usando a API de UML.

Para alguns tipos de elemento, você pode alterar o proprietário de um elemento durante sua existência, usando SetOwner(newOwner). 

Ee330929.collapse_all(pt-br,VS.110).gifDefinir o nome e outras propriedades

usecase1.Name = "user logs in";

 

Ee330929.collapse_all(pt-br,VS.110).gifExemplo

 using Microsoft.VisualStudio.Uml.Classes;
 using Microsoft.VisualStudio.Uml.Extensions;
 ...
  void InstantiateObserverPattern (IPackage package, string namePrefix)
  {    IInterface observer = package.CreateInterface();
       observer.Name = namePrefix + "Observer";
       IOperation operation = observer.CreateOperation();
       operation.Name = "Update";
       IClass subject = package.CreateClass();
       subject.Name = namePrefix + "Subject"; ...

Criar uma associação

Para criar uma associação

  1. Obtenha o proprietário da associação, que geralmente é o pacote ou o modelo que contém o fim de origem do relacionamento.

  2. Invoca o método Create necessário sobre o proprietário.

  3. Defina as propriedades do relacionamento, como seu nome.

    Por exemplo:

    IAssociation association = subject.Package.CreateAssociation(subject, observer);
    association .Name = "Observes";
    
  4. Defina as propriedades de cada extremidade do relacionamento.Sempre há dois MemberEnds.Por exemplo:

    association .MemberEnds[0].Name = "subject";   // role name
    association .MemberEnds[1].Name = "observers"; // role name
    association .MemberEnds[1].SetBounds("0..*");         
                // multiplicity defaults to "1"
    association.MemberEnds[0].Aggregation = AggregationKind.Composite;
    

Criar uma generalização

IGeneralization generalization = 
  subclass.CreateGeneralization(superClass);

Excluir um elemento, relação de generalização do modelo

anElement.Delete();

Quando você exclui um elemento de um modelo:

  • Cada relação que vincula a ele também será excluída.

  • Todas as formas que representado-lo em um diagrama também será excluída.

 

Consulte também

Conceitos

Diagramas e modelos UML estendendo

Como: exibir um modelo em diagramas