Fluxo de trabalho para usar transformações para mesclar mudanças ao desenvolver em ambos, Java e UML

Este conteúdo aplica-se à versão 7.5.4 ou posterior. Iniciando na versão 7.5.4, é possível instruir a transformação de UML em Java para vincular automaticamente todos os elementos Java™ de destino gerados a elementos UML correspondentes e ativar a transformação de UML em Java para sincronizar o modelo com a origem.

Se você usar ambos os modelos UML e Java para planejar e desenvolver um sistema, é possível usar transformações e suas transformações reversas para mesclar e sincronizar seu trabalho.

Em Produtos de Modelagem do Rational, a funcionalidade para mesclar mudanças entre Java e UML mudado na versão 7.5.4.

Por exemplo, o seguinte caso de uso mostra um fluxo de trabalho típico e os resultados da mesclagem de mudanças de desenvolvimento entre Java e UML em versões de produto que anteriores à 7.5.4.

Fluxo de Trabalho Antes da Versão 7.5.4

Se você desenvolveu seu sistema em ambos os modelos, código Java e modelos UML, normalmente você esperaria que esse fluxo de trabalho mantivesse as mudanças entre os dois sincronizadas:

  1. Inclua novos elementos do código Java em um projeto Java. Por exemplo, você pode incluir novas classes, atributos e métodos no código Java.
  2. Inclua esses novos elementos no modelo UML executando a transformação de Java em UML.
  3. Modifique os elementos UML que a transformação de Java em UML gerou a partir dos elementos Java que você incluiu.
  4. Tente mesclar as mudanças que você fez nos elementos UML no modelo com o código Java executando a transformação UML em Java reversa.

Se você seguiu esse fluxo de trabalho, sua tentativa de mesclar as mudanças feitas nos elementos do modelo UML que a transformação de Java em UML gerou a partir de elementos Java que você incluiu falhará. A transformação de UML em Java não pode propagar as mudanças UML para o código Java porque os elementos Java que você incluiu manualmente não possuem as tags @generated que são necessárias para a transformação de UML em Java mesclar mudanças UML em Java. A transformação de UML em Java não substituiria o código sem as tags @generated, assim, as mudanças que você fez na UML não se mesclariam no código Java. Para contornar esse problema e sincronizar o modelo com o código, é necessário incluir manualmente tags @generated em cada novo elemento de código, e depois executar a transformação de UML em Java.

Para sincronizar suas mudanças entre Java e UML, você precisaria seguir esse fluxo de trabalho, que envolve uma etapa adicional:

  1. Incluir novos elementos do código Java em um projeto Java.
  2. Incluir os novos elementos ao modelo executando a transformação de Java em UML.
  3. Incluir manualmente tags @generated em cada novo elemento de código.
  4. Modificar os elementos UML que a transformação de Java em UML gerou a partir dos elementos Java.
  5. Mesclar as mudanças que você fez nos elementos UML no modelo com o código Java executando a transformação UML em Java reversa.

O fluxo de trabalho de sincronização é diferente na versão 7.5.4 e posterior

Exemplo após a versão 7.5.4

Na versão 7.5.4 e posterior doProdutos de Modelagem do Rational, é possível instruir a transformação de UML em Java para substituir elementos (atributos) em código Java. Esse recurso, que você invoca clicando em Vincular Java à UML, automaticamente inclui tags @generated aos elementos Java que você criou manualmente, para que a transformação de UML em Java possa propagar as mudanças de UML para Java. Essa opção também inclui outros comentários javadoc da transformaçãoJava e preserva corpos de método existentes incluindo comentários //begin-user-code e //end-user-code. Ao clicar em Vincular Java à UML, os elementos Java são vinculados aos seus elementos do modelo UML correspondente e a transformação de UML em Java pode substituir os elementos do código de origem correspondentes. Após clicar nesse botão, transformações subsequentes se mesclam conforme o esperado porque os elementos Java são vinculados aos elementos do modelo correspondente.

Na versão 7.5.4 e posterior, esse é o fluxo de trabalho que você segue para sincronizar mudanças entre Java e UML:

  1. Inclua novos elementos de código Java em um projeto Java.
  2. Inclua esses novos elementos no modelo UML executando a transformação de Java em UML.
  3. Vincule todos os elementos de código ao modelo clicando em Vincular Java à UML.
  4. Modifique os elementos do modelo UML.
  5. Mesque as mudanças que você fez no modelo com o código Java executando a transformação UML em Java.
Nota: Você deve clicar em Vincular Java à UML antes de modificar os elementos de modelo recentemente incluídos e executar a transformação de UML em Java (reversa).

Feedback