A transformação de UML em C++ converte elementos de modelo UML em código C++.
A tabela a seguir lista como a transformação de UML em C++ converte elementos de modelo UML em código C++.
Elemento de modelo UML | Elemento de código C++ |
---|---|
Pacote | Pasta |
Classe | Classe (arquivos .h e .cpp) |
Relação de generalização | Herança de classe |
Relação de associação | Atributo de classe |
Propriedade | Atributo de classe |
Enumeração | Enum (arquivo .h) |
Operação | Operação |
Parâmetro | Argumento de operação |
Relacionamento de uso | Inclusão |
Parâmetro de gabarito | Parâmetro para uma classe parametrizada |
Relacionamento de Ligação de Gabarito | Classe instanciada (arquivo .h) |
As operações padrão são construtores, construtores de cópia, destrutores e operadores de designação. Você pode especificar qual das operações padrão é gerada pela transformação de UML em C++. Também é possível incluir um estereótipo, que representa uma das operações padrão, na operação de uma classe no modelo. A transformação de UML em C++ aplica a visibilidade da operação UML para as operações padrão geradas, mas ignora o nome e os parâmetros da operação UML. A transformação de UML em C++ gera operações padrão para uniões incluídas em um modelo UML.
A transformação de UML em C++ pode gerar apenas arquivos de código C++ para projetos C++ e pastas de projeto C++.
É possível utilizar o recurso de mapeamento para especificar nomes alternativos para os arquivos que a transformação gera sem modificar o modelo de origem. É possível especificar nomes de arquivos absolutos e relativos. Nomes de arquivos absolutos devem especificar um projeto existente. A transformação cria diretórios-pai que ainda não existem. A transformação substitui as extensões de nome de arquivo por extensões de nome de arquivo padrão do C++, como por exemplo .h ou .cpp.
A transformação baseia os nomes de diagramas de visualização UML no nome do pacote que os contém. Os artefatos de mapeamento não afetam diretamente a nomenclatura dos diagramas de visualização da UML.