Java Magazine edição 55
Esse artigo faz parte da revista Java Magazine edição 55. Clique aqui para ler todos os artigos desta edição

UML no Eclipse com o plug-in Omondo

Saiba como construir diagramas UML diretamente no Eclipse de forma a manter seus modelos atualizados e integrados com o código fonte

Algumas etapas do desenvolvimento de software, como a modelagem, são importantes para garantir a qualidade do produto final bem como facilitar futuras manutenções. Uma das ferramentas de modelagem já consagradas no desenvolvimento de aplicações orientadas a objetos é a linguagem UML (Unified Modeling Language), utilizada para especificar, visualizar, construir e documentar as partes de um sistema OO. Mas para usar UML você não precisa de uma ferramenta CASE especializada, complexa, e possivelmente cara. Neste artigo, vamos conhecer o Omondo, um plug-in para o Eclipse que torna a modelagem UML mais fácil.

Com o Omondo é possível construir vários dos diagramas propostos pela UML, tais como Diagrama de Casos de Uso, Diagrama de Classes, Diagrama de Seqüência, Diagrama de Colaboração, Diagrama de Atividades, Diagrama de Componentes e Diagrama de Distribuição.

Além de permitir a construção dos diagramas citados anteriormente, o Omondo cria automaticamente as classes em Java, com os atributos e os métodos definidos a partir do diagrama de classes. Outra funcionalidade do plug-in é a engenharia reversa, ou seja, a possibilidade de se gerar os diagramas a partir do código fonte Java. E devido à alta integração com o IDE, seu uso é bem mais fácil do que sistemas CASE externos, mesmo os que possuam as mesmas capacidades.

Instalando o Plug-in

A instalação do Omondo é bastante simples. Pode-se fazer o download do arquivo .jar no site oficial e, depois disto, executá-lo com um duplo-clique. Uma janela de instalação se abre como pode ser visto na Figura 1.

 

imagem
Figura 1. Janela de instalação

Nesta janela, deve-se escolher o idioma desejado para o procedimento de instalação e clicar sobre o botão Ok. Para que a instalação ocorra com sucesso deve-se clicar em Próximo até que a opção Selecione o Caminho para a instalação apareça. Neste ponto, deve-se indicar onde o Eclipse está instalado.

Para verificar se o plug-in foi corretamente instalado, pode-se clicar no menu Help>Software Updates>Manage Configuration e verificar a presença do mesmo.

Criando o projeto

Para demonstrar as funcionalidades do plug-in, este artigo apresenta a modelagem de um fragmento de um sistema de livraria, utilizando o Eclipse Europa 3.3, contendo as classes: Pessoa, Cliente, Livro, Pedido e ItemPedido. Este exemplo não tem o intuito de ser uma aplicação completa, e sim demonstrar as funcionalidades do plug-in expondo suas principais características.

Comece criando um novo projeto através do menu File>New>Project. Crie um Java>Java Project, com Project name = “Java_Magazine”. Uma vez criado o projeto Java vazio, vá no folder src e crie um package chamado modelo, que irá conter as classes do domínio da aplicação.

Além dos pacotes criados dentro do diretório src, deve-se criar um novo diretório onde serão armazenados os diagramas gerados pelo Omondo. Clique com o botão direito sobre o projeto e acesse o menu File>New>Folder. Preencha Folder Name = “Diagramas” e clique em Finish. Dentro deste diretório, para uma maior organização, deve-se criar os subdiretórios casoUso, classe, estados e sequencia. O Project Explorer do eclipse deve ficar semelhante à Figura 2.

 

imagem
Figura 2. Estrutura do sistema

Diagrama de Caso de Uso

O primeiro diagrama a ser criado será o diagrama de Caso de Uso. Este diagrama demonstra como o sistema irá interagir com os usuários e outros elementos do ambiente. O diagrama de caso de uso é criado acessando o menu File>New>Other. Uma janela semelhante à Figura 3 é exibida.

 

imagem
Figura 3. Criação do diagrama de Caso de Uso

Deve-se escolher a opção UML Diagrams / UML Use Case Diagram e clicar Next. Uma nova janela como a da Figura 4 é exibida, onde é possível escolher em qual diretório o diagrama será salvo e o nome do diagrama. Escolha o diretório Diagramas / casoUso, preencha File name = “casoUso” e clique em Finish.

Cada tipo de diagrama no Omondo possui uma extensão diferente para o arquivo que irá armazenar o diagrama, definida por default pelo plug-in. O Diagrama de Caso de Uso possui a extensão .uud que é sigla para UML Use Case Diagram.

 

imagem
Figura 4. Criação do diagrama de Caso de Uso

Após estes procedimentos, é exibida uma área onde se podem inserir objetos do diagrama de Caso de Uso, como pode ser visto na Figura 5.

 

imagem
Figura 5. Diagrama de Caso de Uso

Para inserir um ator, clica-se sobre o botão Create an actorimagem e em seguida sobre a área em branco da janela. Com isto, uma janela é exibida onde há um campo que deve ser preenchido com o nome do ator. Deve-se digitar “Funcionario” e confirmar clicando sobre o botão Ok.

Após ter criado o ator executando os passos anteriores, deve-se criar o caso de uso. Para isto, clique no botão Create a Use Case imagem e novamente sobre o diagrama. Digite o nome do caso de uso “cadastrarLivro” e clique Ok.

Neste momento, existe um ator e um caso de uso. Porém, nenhuma ligação entre estes elementos. Deve-se definir uma associação entre o ator e o caso de uso. Essa associação define que quem executa o caso de uso “cadastrarLivro” é o ator “Funcionario”. Clique no botão Add an association imagem, depois sobre o ator que foi criado, e finalmente sobre o caso de uso. Com isto, é criada uma linha que representa a associação entre o ator e o Caso de Uso.

Partindo do principio que um cliente é quem faz o pedido, deve-se repetir esses procedimentos para criar o ator “Cliente” e o caso de uso “fazerPedido” e a associação entre eles. Após executado, deve-se obter um diagrama de caso de uso semelhante à Figura 5.

É importante comentar que o plug-in permite que ligações entre casos de usos sejam feitas utilizando estereótipos. Para fazer as ligações entre os casos de usos podem ser utilizados os estereótipos <<include>> e <<extend>>.

O <<include>> é utilizado quando se deseja que um caso de uso utilize o outro de forma obrigatória. Por exemplo, poderia existir um caso de uso chamado “identificarCliente” ligado ao caso de uso “fazerPedido” no exemplo demonstrado no artigo.

O estereótipo <<extend>> também é utilizado quando se deseja que um caso de uso utilize o outro. Porém, neste caso a utilização não é obrigatória, sendo um caso de uso uma extensão do outro, ou uma possibilidade de uso de forma opcional.

No exemplo demonstrado no artigo poderia existir um caso de uso chamado “solicitarEntrega” que poderia ser chamado através do caso de uso “fazerPedido”. Neste caso, “solicitarEntrega” seria executado apenas se o cliente escolhesse que o produto fosse entregue em domicílio.

...

Quer ler esse conteúdo completo? Tenha acesso completo