Transformações UML-para-C#

A transformação UML-para-C# transforma elementos de modelo UML em código C#.

Origens de Transformação Válidas

Os seguintes elementos UML são origens válidas para uma transformação UML-para-C#:
  • Modelos
  • Pacotes
  • Classes
  • Enumerações
  • Interfaces

Você pode especificar os elementos de modelo que a transformação deve converter em código C# ao criar ou editar uma configuração de transformação. Uma mensagem de erro será gerada pela transformação se você selecionar um contêiner e seus elementos de modelo ou o mesmo elemento de modelo duas vezes.

Nota: Se você ativar a transformação reversa, deverá especificar um modelo ou pacote raiz como a origem da transformação. A transformação C#-para-UML, ou reversa, transforma objetos de origem C# em objetos UML e armazena esses objetos no modelo UML especificado.

Nomes Válidos para Origens de Transformação

Os nomes dos elementos de origem UML podem começar com uma letra minúscula, letra maiúscula ou um sublinhado (_). Os caracteres subseqüentes podem ser letras minúsculas, letras maiúsculas ou números. A transformação prefixa um nome que começa com um número ou um caractere inválido com um sublinhado (_).

Para melhorar a capacidade de leitura do código gerado e minimizar as diferenças entre o modelo UML e o código gerado, você deve corrigir nomes inválidos no modelo UML de origem antes de aplicar a transformação.

Destinos de Transformação Válidos

Um destino de transformação válido é um projeto C# importado do Visual Studio. Se você criar um novo contêiner de destino, iniciará uma importação de solução do .NET. A solução do .NET deve ser aberta no Visual Studio para ser importada.

Transformação de Elementos de Modelo UML

A tabela a seguir lista como a transformação UML-para-C# transforma elementos de modelo UML em código C#. Alguns elementos UML podem ser transformados em vários elementos de código com o estereótipo correto aplicado.

Elemento de Modelo UML Elemento de Código C#
Relacionamento de associação Atributo de classe
Classe Classe, estrutura ou delegação
Enumeração Enum
Relacionamento de generalização Herança de classe
Operação Método ou indexador
Pacote Espaço de Nomes
Parâmetro Argumento de método
Propriedade Atributo de classe, propriedade C# ou evento
Nota:

Os pacotes UML em um modelo UML com nomes contendo pontos ou espaços são transformados em espaços de nomes C# com nomes contendo sublinhados. Esse comportamento de transformação preserva um espaço de nomes único para os elementos contidos. Por exemplo, suponha que um pacote UML, com.ibm.samples, contenha uma classe nomeada C1. Após a aplicação da transformação UML-para-C#, um artefato C# representando a classe UML C1 é declarado no seguinte espaço de nomes:

namespace com_ibm_samples

Em instâncias nas quais você deseja criar três espaços de nomes, é necessário criar três pacotes separados no modelo UML, por exemplo: com, ibm e samples. Neste caso, com é a pasta pai contendo a pasta ibm, e ibm contém a pasta samples. O resultado após a transformação é uma série de espaços de nomes aninhados no código.

O modelo de mapeamento pode ser utilizado para gerar pastas de pacotes UML e para controlar a saída de classes e outros artefatos. Por exemplo, você pode utilizar o modelo de mapeamento para gerar várias classes C# em um único arquivo.

Local da Saída da Transformação

A transformação gera arquivos de código C# nos projetos e pastas de projetos C# que são especificados como o destino da transformação.

Integração com a Equipe de Suporte

A transformação fornece funcionalidade de integração com os sistemas de controle de versão IBM® Rational Team Concert, CVS, Rational ClearCase, e Rational ClearCase LT, que possibilita efetuar o registro de saída dos arquivos automaticamente ou incluir novos arquivos. É necessário ativar os recursos de equipe para trabalhar com os sistemas de gerenciamento de configuração.


Feedback