Os pacotes versionados de um projeto do Enterprise Architect possuem uma maneira diferenciada de visualização, representada pela figura abaixo:

 

Para que um determinado indivíduo de um grupo de trabalho possa alterar informações (dos modelos) de um pacote versionando ele deve fazer um check out do pacote e isto fará com que o pacote fique bloqueado para alteração por outro indivíduo.

Para uma melhor integração de trabalho e otimização de execução de atividades, nem todos os pacotes no Projeto Padrão foram versionados. A disposição dos pacotes versionados foi definida de tal maneira que enquanto um indivíduo esteja trabalhando com um determinado pacote (portanto, o pacote estará bloqueado para outros indivíduos do grupo de trabalho) um outro integrante do grupo de trabalho poderá trabalhar com um outro pacote do Projeto Padrão. Deve-se evitar manter pacotes com recursos compartilhados por outros pacotes bloqueados por muito tempo, pois, isto pode prejudicar a produtividade de desenvolvimento das atividades de modelagem, considerando a quantidade de indivíduos trabalhando no mesmo projeto.
Uma melhor visualização dos pacotes versionados e não versionados do Projeto Padrão pode ser verificada na figura abaixo:

 

O Check Out (equivalente a Get Lock) do pacote pode ser feito pelo Enterprise Architect, bastando selecionar o pacote com o botão direito do mouse e selecionar a opção Check Out, conforme demonstrado na figura apresentada na seqüência.

 

A liberação de um pacote (bloqueado) com Check Out somente ocorrerá com execução de um Check In (procedimento similar ao descrito para o Check Out). É importante executar o check in para liberar o pacote para utilização por outro usuário, pois, mesmo que a execução do Enterprise Architect seja encerrada o pacote permanecerá bloqueado.
Portanto, o usuário deverá condicionar-se a liberar (check in) um pacote sempre que ele estiver bloqueado (quando um check out foi efetuado) e não seja mais necessário o bloqueio do mesmo.
Quando um check out ou um check in for executado os pacotes versionados serão atualizados via Subversion, conforme versionamento estabelecido. Manter um pacote bloqueado por pouco tempo é procedimento que deve ser considerando, quando existe um grupo de pessoas trabalhando no mesmo projeto.

Utilizando o Projeto Padrão

Quando um novo projeto de desenvolvimento de sistemas for criado a pasta Artefatos será disponibilizada e um dos artefatos pré-definidos será o Projeto Padrão do Enterprise Architect, portanto, quando for feito o download do diretório Artefatos para uma pasta de trabalho local, automaticamente o Projeto Padrão (com os pacotes versionados) estará disponível para utilização, bastando, portanto, abrir o arquivo de projeto (Projeto<NomeDoProjeto>.eap ) a partir do Enterprise Architect.
 

Entretanto, após o download do diretório Artefatos para um diretório de trabalho local, caso o diretório de trabalho local também seja versionado, será necessário copiar o aquivo de projeto (Projeto<NomeDoProjeto>.eap) para um diretório não versionado e trabalhar com o Projeto Padrão sem que seja feita a atualização de versão do arquivo de projeto.

Utilizar o arquivo de projeto não versionado é necessário, pois, o Enterprise Architect não é capaz de controlar as alterações do arquivo de projeto, somente dos pacotes versionados do projeto (a partir dos arquivos *.XML gerados), sendo assim, pode haver conflitos de versão quando várias pessoas estão utilizando o mesmo arquivo de projeto do Enterprise Architect.
Em momentos específicos, alguém da equipe de trabalho poderá atualizar o arquivo compartilhado do Projeto Padrão do Enterprise Architect para uma versão mais recente.

Ajustando o Controle de Versão

O Projeto Padrão já possui as configurações necessárias para controlar o versionamento do projeto, entretanto, no momento da execução do projeto pelo Enterprise Architect ocorrerá um erro, pois, o caminho do controle de versão do diretório de trabalho local não será o mesmo definido no Projeto Padrão. Para eliminar este erro será necessário efetuar alguns ajustes em Version Control Setting conforme caminho especificado na figura abaixo:
 

É necessário também que o Subversion esteja instalado no computador de trabalho (disponível para instalação em:
Tjpr19\Instaladores\Ferramentas & Aplicativos\Controle de Versão\Subversion\svn-1.3.2-setup.exe), o Enterprise Architect não possui opção para controle de versão a partir do aplicativo TortoiseSVN, portanto, não basta que o TortoiseSVN esteja instalado.
Na tela do Version Control Setting deve-se alterar as configurações do caminho da cópia de trabalho (Working Copy path) e do caminho do arquivo executável do Subversion (Subversion Exe Path) se necessário. Caso tenha sido feita a alteração, clicar no botão save.

 

Configurando o Versionamento de Novos Pacotes

Quando um novo pacote for criado dentro da estrutura pré-definida, para que os demais integrantes do grupo de trabalho possam importar o pacote criado, ele deve ser versionado também.
Para versionar um novo pacote deve-se selecionar o 'pacote que foi criado' com o botão direito do mouse e selecionar o item Configure, conforme especificado na figura baixo e, na tela Package Control Options, deve-se selecionar o check box Control Package e selecionar em Version Control o controle de versão do projeto correspondente e clicar no botão OK.
Importante: Não criar novos pacotes com nomes contendo caracteres especiais (caracteres acentuados, 'Ç', etc.). Quando um pacote for criado utilizando caracteres especiais na composição do nome, haverá conflito quando outro usuário tentar importar o pacote criado. Atentar, também, para a nomenclatura padrão (citada no item 2.2.3) para os pacotes dos projetos.
 
 

Importando Pacotes para o Projeto de Trabalho

Como o arquivo de projeto do Enterprise Architect não será versionado no diretório de trabalho (ou será versionado de maneira controlada), conforme mencionado anteriormente, em muitos momentos pode ser necessário importar pacotes criados por outros indivíduos do grupo de trabalho. Para importar um pacote para o projeto será necessário selecionar a opção Get Package, conforme figura abaixo:
 

Quando a janela Get Shared File aparecer, deve-se selecionar uma Configuração do Controle de Versão (adequada ao projeto de trabalho atual) e uma lista de pacotes para inclusão será mostrada para que um seleção seja efetuada.

 

Como na inclusão de novos pacotes (conforme importação descrita) o Enterprise Architect nem sempre incluirá o novo pacote na estrutura de pacotes adequada (considerando uma hierarquia de pacotes), foi criado uma nomenclatura padrão para os pacotes dos projetos. Os pacotes começam com uma seqüência de caracteres, sendo: dois dígitos intercalados por uma letra maiúscula (quando necessário) e assim sucessivamente, considerando o nível na hierarquia de pacotes onde o novo pacote será inserido, com exceção dos pacotes contidos no pacote: 02B_ModeloClassesImplementacao, considerando estrutura padrão de codificação em uma linguagem de programação, visto que, o código fonte originado a partir da modelagem do diagrama de classes pode ocorrer automaticamente pelo Enterprise Architect.

 

Copiando Diagramas para outros Pacotes

Após conclusão do Modelo Conceitual do Diagrama de Classes (considerando uma versão estável do referido diagrama) inicia-se a modelagem dos Modelos de Classes de Implementação (que definem as classes do domínio do problema (entidades) sob uma perspectiva de solução, ações, serviços e persistência), neste momento, será necessário efetuar uma cópia do Modelo Conceitual do Diagrama de Classes para um pacote onde os procedimentos de modelagem resultarão nos Modelos de Classes de Implementação e a partir do qual o código fonte será gerado.
O Modelo Conceitual do Diagrama de Classes permanecerá inalterado e independente das modificações no Modelo de Classes de Implementação, considerando a solução adotada para a implementação do sistema.

Para efetuar a cópia de um diagrama de um pacote para outro, alguns passos deverão ser executados:

  • Selecionar Copy Diagram to Clipboard a partir do botão direito do mouse (atentar para a figura).
 
  • Selecionar Paste Diagram (com o botão direito do mouse) no pacote de destino (atentar para a estrutura de pacotes padrão definida para a implementação do código fonte).
 
  • Selecionar o tipo de copia na janela Copy Diagram e proceder a cópia do diagrama.
 

Conclusão

A presente orientação de trabalho visou transmitir uma política de utilização do aplicativo Enterprise Architect a partir de um projeto padrão pré-estabelecido, algumas configurações básicas foram definidas no Projeto Padrão e não serão objeto de orientação deste documento. Entretanto, as rotinas descritas devem ser utilizadas para uma melhor integração de atividades entre os diversos membros de um grupo de trabalho ou, ainda, entre os diversos grupos de trabalho.
Esta orientação de trabalho teve como objetivo principal normatizar a utilização do Projeto Padrão, descrito anteriormente, e outras orientações sobre o aplicativo Enterprise Architect poderão ser geradas, entretanto, com um objetivo pré-determinado.