Sie sind auf Seite 1von 9

Grupo de Usurios Java

http://www.guj.com.br


Grupo de Usurios Java http://www.guj.com.br Pgina 1
Omondo EclipseUML
Ricardo Rodrigues Lecheta
Aprenda como instalar o plugin EclipseUML no Eclipse e como utiliz-lo para fazer engenharia
reversa de seu cdigo-fonte.
Introduo

Neste tutorial ser apresentado o Omondo EclipseUML, um plugin para o Eclipse que auxilia a
construo de diagramas UML. Com este plugin possvel criar diagramas de classe,
seqncia, estados, use cases, atividades, etc. Alteraes no diagrama automaticamente se
refletem no cdigo-fonte e vice-versa. Outro recurso interessante a capacidade de fazer
Engenharia Reversa.
Dependncias

Antes de instalar o EclipseUML, necessrio instalar os seguintes plugins:
Draw2D: utilizado para a construo de componentes grficos com SWT;
GEF (Graphical Editing Framework): permite criar um rico editor grfico a partir de seu modelo. O
GEF utiliza o Draw2D para renderizar os componentes grficos;
EMF (Eclipse Modeling Framework): Framework de modelagem e gerao de cdigo a partir de
um modelo.
Fazendo o Download

Para instalar o plugin EclipseUML faa os seguintes downloads:

Eclipse 2.1.3:
o http://download.eclipse.org/downloads/drops/R-2.1.3-200403101828/index.php
o http://download.eclipse.org/downloads/drops/R-2.1.3-200403101828/eclipse-SDK-
2.1.3-win32.zip

EMF 1.1.1.1 :
o http://dev.eclipse.org/viewcvs/indextools.cgi/~checkout~/emf-
home/downloads/dl.html
o http://download.eclipse.org/tools/downloads/emf/emf_1.1.1_20031120_1149WL.zi
p

EclipseUML:
o http://www.omondo.com/download/free/index.jsp
o http://www.omondo.com/servlet/download?download=eclipseuml_1.2.1/eclipseuml
_1.2.1.20030806.zip

O Draw2D e GEF esto includos na distribuio do EclipseUML
Note que no necessrio fazer o download do Draw2D e do GEF porque uma verso
compatvel j est includa na instalao do plugin EclipseUML.


Compatibilidade entre as verses do Eclipse e EMF
Ao instalar o EclipseUML e o EMF, certifique-se que estes sejam verses compatveis
com o Eclipse instalado. http://dev.eclipse.org/viewcvs/indextools.cgi/~checkout~/emf-
home/downloads/dl.html

Grupo de Usurios Java
http://www.guj.com.br


Grupo de Usurios Java http://www.guj.com.br Pgina 2
Instalao

Para instalar o EMF e o EclipseUML descompacte os arquivos de instalao no diretrio onde o Eclipse
est instalado.

Aps isto, abra o Eclipse, uma janela ir aparecer pedindo para concluir a instalao, clique em finish
para reiniciar. Caso esta janela no aparea, entre em Help -> Software Updates -> Pending Changes.


1. Pending Changes


Para testar se a instalao foi realizada com sucesso, entre em Help-> About Eclipse Platform-> Plug-
in Details e verifique as seguintes entradas:

Provider Plugin name
Eclipse.org Draw2d
Eclipse.org Graphical Editing Framework (GEF)
Eclipse.org Eclipse Modeling Framework (EMF)
Omondo Eclipse UML Plugin


Para concluir, abra o menu File -> New -> Other -> UML Diagrams. Se estes wizards aparecerem
indica que o Omondo EclipseUML foi instalado corretamente. Caso isto no acontea, verifique se as
verses do EMF e do Omondo EclipseUML so compatveis com a verso do Eclipse.



2. Wizards do EclipseUML










Grupo de Usurios Java
http://www.guj.com.br


Grupo de Usurios Java http://www.guj.com.br Pgina 3
Criando um Diagrama de Classes

Neste tutorial vamos criar um diagrama de classes bem simples para demonstrar o plugin.
Crie um Java Project, um source folder e um pacote br.com.guj.automovel.

Crie um diagrama de classes utilizando o wizard da figura 2 e selecione o pacote
br.com.guj.automovel criado no passo anterior. Para concluir clique em Finish. Aps alguns instantes,
um editor aparecer para que se possa construir o diagrama de classes.

Na barra de ferramentas do editor, clique no cone Create an interface e logo em seguida clique
no editor. Um wizard ir perguntar o nome da Interface, coloque Automovel. O resultado mostrado na
figura abaixo.

3. Criao da interface Automovel


Note que o plugin criou automaticamente o cdigo da interface Automovel no pacote
br.com.guj.automovel do seu Projeto.


Alteraes no Diagrama refletem no cdigo-fonte
As alteraes realizadas nos diagramas iro se refletir no cdigo-fonte e vice-versa.
Cuidado ao apagar uma classe do diagrama, pois a classe tambm ser excluda do
projeto no Eclipse. Caso queira esconder uma classe no diagrama, clique com o boto
direito e selecione Hide.


Agora vamos adicionar dois mtodos nesta interface, os mtodos acelerar e freiar. Para isso clique
com o boto direito em cima da interface Automovel, New -> Method. No campo name coloque o
nome do seu mtodo, neste caso acelerar. Clique em OK. Veja que a alterao foi refletida no cdigo
fonte (Automovel.java).
Repita o processo anterior e adicione o mtodo freiar na interface Automovel. Aps isso sua
interface vai ser semelhante ao mostrado na figura abaixo:




4. Adicionando mtodos na interface Automovel




Grupo de Usurios Java
http://www.guj.com.br


Grupo de Usurios Java http://www.guj.com.br Pgina 4
Agora vamos criar uma classe que implementa esta interface. Para isso, clique no cone Create a class
. Coloque o nome como Chevrolet e clique em Finish. Feito isso, selecione o cone Generalization
, clique em Chevrolet e logo depois em Automovel. O resultado ser a imagem abaixo:


5. Classe Chevrolet

Observe que o cdigo-fonte da classe Chevrolet foi automaticamente modificado para implementar a
interface Automovel.

package br.com.guj.automovel;

public class Chevrolet implements Automovel {
}

Agora vamos criar outra classe que implementa a interface Automovel. Para isso, repita o processo
anterior e crie uma classe Fiat. Porm ao invs de utilizar o diagrama para informar que Fiat implementa
Automovel, edite o cdigo-fonte conforme mostrado abaixo.

package br.com.guj.automovel;

public class Fiat implements Automovel {
}

Note que no diagrama ainda no foi representado que Fiat implementa Automovel (figura 6). Para
isso, clique com o boto direito em Fiat -> Inheritance -> I nsert supertype -> Automovel. Feito isso,
o Eclipse ir desenhar a hierarquia de seu diagrama conforme a figura 7.


6. Classe Fiat


7. Inheritance

Grupo de Usurios Java
http://www.guj.com.br


Grupo de Usurios Java http://www.guj.com.br Pgina 5
Continuando o exemplo, vamos adicionar mais duas classes na hierarquia conforme a figura abaixo.


8. Diagrama de Classes

Para este diagrama o Eclipse ter gerado automaticamente o cdigo-fonte abaixo:


package br.com.guj.automovel;

public interface Automovel {
}

package br.com.guj.automovel;

public class Chevrolet implements Automovel {
}

package br.com.guj.automovel;

public class Fiat implements Automovel {
}

package br.com.guj.automovel;

public class Uno extends Fiat {
}


package br.com.guj.automovel;

public class Ipanema extends Chevrolet {
}




Configurar o layout do diagrama de classes automaticamente
Um recurso interessante que o plugin pode configurar o layout do diagrama
automaticamente. Para isso entre no menu Inheritance -> Layout Inheritance.

Grupo de Usurios Java
http://www.guj.com.br


Grupo de Usurios Java http://www.guj.com.br Pgina 6
Agora vamos fazer uma alterao no cdigo-fonte de uma das classes. Em Ipanema.java adicione um
atributo placa do tipo String e salve o cdigo.


package br.com.guj.automovel;

public class Ipanema extends Chevrolet {
private String placa;
}



Observe que as alteraes no refletiram no diagrama. Agora clique com o boto direito no diagrama
em cima da classe Ipanema e entre em -> View Selector . Neste wizard possvel selecionar quais
atributos e mtodos devem ser exibidos no diagrama. Agora clique na guia Attributes, selecione o
atributo placa e clique em OK. Agora o seu diagrama ir se parecer com a figura abaixo:



9. View Selector




10. Diagrama de Classes


Para alterar o seu cdigo-fonte e visualizar as modificaes no diagrama automaticamente, possvel
configurar nas preferncias do Eclipse os atributos e mtodos que o EclipseUML mostrar por padro.



11. Widow Preferences

Grupo de Usurios Java
http://www.guj.com.br


Grupo de Usurios Java http://www.guj.com.br Pgina 7
Engenharia Reversa com o ElipseUML

O que fizemos at agora foi utilizar o EclipseUML para gerar um diagrama de classes e a partir disto
gerar o cdigo-fonte. O contrrio, gerar o diagrama a partir de cdigo fonte, chamado de Engenharia
Reversa.

Para fazer um simples teste, experimente criar uma outra classe atravs do mtodo tradicional. Ao
terminar, clique na classe e arraste com o mouse at o editor e solte. Veja que o EclipseUML adicionou
automaticamente sua classe ao diagrama.

Para testar a engenharia reversa do EclipseUML, faa o download do material que acompanha o
tutorial.

Feito isso importe o arquivo animal.jar no source folder do seu projeto. Ao importar o arquivo, a
seguinte estrutura foi criada em seu projeto:



12. br.com.guj.animal


Agora para fazer engenharia reversa a partir do cdigo-fonte importado, clique com o boto direito
do mouse no pacote br.com.guj .animal -> New -> Other -> UML Diagrams -> UML Class Diagram e
clique em Finish.

Uma tela vai aparecer como mostrado na figura 13, solicitando quais interfaces e classes devem
aparecer no diagrama, ento faa a seleo e clique em OK. O EclipseUML acabou de fazer Engenharia
Reversa do diagrama de classes que acabamos de criar.


13. Wizard Class Diagram

Aps clicar em OK, o diagrama de classes ir abrir no editor conforme a figura abaixo:


Grupo de Usurios Java
http://www.guj.com.br


Grupo de Usurios Java http://www.guj.com.br Pgina 8


14. Engenharia Reversa



Outras funcionalidades

possvel configurar o tipo do diagrama a ser exibido. Entre em Window -> Preferences -> UML.

Voc possui trs opes: Eclipse (default), Omondo e UML Standard. Na figura abaixo podemos
ver o diagrama utilizando os padres Omondo e UML Standard:

Grupo de Usurios Java
http://www.guj.com.br


Grupo de Usurios Java http://www.guj.com.br Pgina 9


UML Standard


Omondo


15. UML Standard


16. Omondo



Quando o diagrama estiver concludo, possvel export-lo para outros formatos. Faa isso clicando com
o boto direito no editor em Export -> JPEG conforme a figura abaixo.


17. Exportando uma imagem para JPEG



Concluso

Este tutorial mostrou como instalar o plugin EclipseUML no Eclipse. Foi abordada a criao de um
diagrama de classes e posteriormente como fazer engenharia reversa a partir do cdigo-fonte. Agora
questo de explorar as funcionalidades do plugin para comear a trabalhar.


Ricardo Lecheta (ricardolecheta@terra.com.br), formado em Cincia da Computao pela PUCPR, possui certificao
em Java, e atualmente trabalha desenvolvendo solues sobre com a tecnologia Java/WebSphere.