SlideShare uma empresa Scribd logo
Grupo de Usuários Java
 http://www.guj.com.br



Omondo EclipseUML
Ricardo Rodrigues Lecheta
Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia
reversa de seu código-fonte.

Introdução

Neste tutorial será apresentado o Omondo EclipseUML, um plugin para o Eclipse que auxilia a
construção de diagramas UML. Com este plugin é possível criar diagramas de classe,
seqüência, estados, use cases, atividades, etc. Alterações no diagrama automaticamente se
refletem no código-fonte e vice-versa. Outro recurso interessante é a capacidade de fazer
Engenharia Reversa.

Dependências

    Antes de instalar o EclipseUML, é necessário instalar os seguintes plugins:

    •       Draw2D: utilizado para a construção de componentes gráficos com SWT;

    •       GEF (Graphical Editing Framework): permite criar um rico editor gráfico a partir de seu modelo. O
            GEF utiliza o Draw2D para renderizar os componentes gráficos;

    •       EMF (Eclipse Modeling Framework): Framework de modelagem e geração de código a partir de
            um modelo.

Fazendo o Download

  Para instalar o plugin EclipseUML faça 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 estão incluídos na distribuição do EclipseUML
Note que não é necessário fazer o download do Draw2D e do GEF porque uma versão
compatível já está incluída na instalação do plugin EclipseUML.


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



                             Grupo de Usuários Java – http://www.guj.com.br – Página 1
Grupo de Usuários Java
 http://www.guj.com.br


Instalação
   Para instalar o EMF e o EclipseUML descompacte os arquivos de instalação no diretório onde o Eclipse
está instalado.

  Após isto, abra o Eclipse, uma janela irá aparecer pedindo para concluir a instalação, clique em finish
para reiniciar. Caso esta janela não apareça, entre em ‘Help -> Software Updates -> Pending Changes”.




                                               1.   Pending Changes



   Para testar se a instalação 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 não aconteça, verifique se as
versões do EMF e do Omondo EclipseUML são compatíveis com a versão do Eclipse.




                                          2.    Wizards do EclipseUML




                         Grupo de Usuários Java – http://www.guj.com.br – Página 2
Grupo de Usuários Java
 http://www.guj.com.br


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. Após 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.   Criação da interface Automovel



    Note que o plugin criou automaticamente o código da interface “Automovel” no pacote
“br.com.guj.automovel” do seu Projeto.



Alterações no Diagrama refletem no código-fonte
As alterações realizadas nos diagramas irão se refletir no código -fonte e vice-versa.
Cuidado ao apagar uma classe do diagrama, pois a classe também será excluída do
projeto no Eclipse. Caso queira esconder uma classe no diagrama, clique com o botão
direito e selecione “Hide”.


   Agora vamos adicionar dois métodos nesta interface, os métodos “acelerar” e “freiar”. Para isso clique
com o botão direito em cima da interface Automovel, New -> Method. No campo “name” coloque o
nome do seu método, neste caso “acelerar”. Clique em OK. Veja que a alteração foi refletida no código
fonte (Automovel.java).
   Repita o processo anterior e adicione o método “    freiar” na interface Automovel. Após isso sua
interface vai ser semelhante ao mostrado na figura abaixo:




                                 4.   Adicionando métodos na interface Automovel




                          Grupo de Usuários Java – http://www.guj.com.br – Página 3
Grupo de Usuários Java
 http://www.guj.com.br


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 código-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. Porém ao invés de utilizar o diagrama para informar que Fiat implementa
Automovel, edite o código-fonte conforme mostrado abaixo.

package br.com.guj.automovel;

public class Fiat implements Automovel {
}

   Note que no diagrama ainda não foi representado que “Fiat” implementa “Automovel” (figura 6). Para
isso, clique com o botão direito em “Fiat” -> Inheritance -> Insert supertype -> Automovel. Feito isso,
o Eclipse irá desenhar a hierarquia de seu diagrama conforme a figura 7.




                     6.   Classe Fiat                                        7.   Inheritance




                          Grupo de Usuários Java – http://www.guj.com.br – Página 4
Grupo de Usuários Java
 http://www.guj.com.br


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 código-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 Usuários Java – http://www.guj.com.br – Página 5
Grupo de Usuários Java
 http://www.guj.com.br


    Agora vamos fazer uma alteração no código-fonte de uma das classes. Em Ipanema.java adicione um
atributo “placa” do tipo String e salve o código.


package br.com.guj.automovel;

public class Ipanema extends Chevrolet {
    private String placa;
}



    Observe que as alterações não refletiram no diagrama. Agora clique com o botão direito no diagrama
em cima da classe Ipanema e entre em -> View Selector. Neste wizard é possível selecionar quais
atributos e métodos 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 código-fonte e visualizar as modificações no diagrama automaticamente, é possível
configurar nas preferências do Eclipse os atributos e métodos que o EclipseUML mostrará por padrão.




                                             11. Widow Preferences




                          Grupo de Usuários Java – http://www.guj.com.br – Página 6
Grupo de Usuários Java
 http://www.guj.com.br


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 código-fonte. O contrário, gerar o diagrama a partir de código fonte, é chamado de Engenharia
Reversa.

    Para fazer um simples teste, experimente criar uma outra classe através do método 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, faça 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 código-fonte importado, clique com o botão 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, então faça a seleção e clique em OK. O EclipseUML acabou de fazer Engenharia
Reversa do diagrama de classes que acabamos de criar.




                                           13. Wizard Class Diagram

Após clicar em OK, o diagrama de classes irá abrir no editor conforme a figura abaixo:




                         Grupo de Usuários Java – http://www.guj.com.br – Página 7
Grupo de Usuários Java
 http://www.guj.com.br




                                            14. Engenharia Reversa




Outras funcionalidades

   É possível configurar o tipo do diagrama a ser exibido. Entre em Window -> Preferences -> UML.

    Você possui três opções: Eclipse (default), Omondo e UML Standard. Na figura abaixo podemos
ver o diagrama utilizando os padrões Omondo e UML Standard:




                         Grupo de Usuários Java – http://www.guj.com.br – Página 8
Grupo de Usuários Java
 http://www.guj.com.br




                     UML Standard                                            Omondo




                      15. UML Standard                                        16. Omondo




Quando o diagrama estiver concluído, é possível exportá -lo para outros formatos. Faça isso clicando com
o botão direito no editor em Export -> JPEG conforme a figura abaixo.




                                      17. Exportando uma imagem para JPEG




Conclusão

   Este tutorial mostrou como instalar o plugin EclipseUML no Eclipse. Foi abordada a criação de um
diagrama de classes e posteriormente como fazer engenharia reversa a partir do código-fonte. Agora é
questão de explorar as funcionalidades do plugin para começar a trabalhar.


Ricardo Lecheta (ricardolecheta@terra.com.br), formado em Ciência da Computação pela PUCPR, possui certificação
em Java, e atualmente trabalha desenvolvendo soluções sobre com a tecnologia Java/WebSphere.




                           Grupo de Usuários Java – http://www.guj.com.br – Página 9

Mais conteúdo relacionado

PDF
PhotoView Android Para a Completa Implementação de Zoom
ODP
Java Fx Guia De IntroduçãO
PDF
Android About Page API Para Construir a Tela Sobre
PPTX
Plugin Maven no Eclipse
PDF
Tutorial - Como criar sua primeira app para Android
PDF
Lottie API Para Animações no Android
PDF
Eclipse user guide
PhotoView Android Para a Completa Implementação de Zoom
Java Fx Guia De IntroduçãO
Android About Page API Para Construir a Tela Sobre
Plugin Maven no Eclipse
Tutorial - Como criar sua primeira app para Android
Lottie API Para Animações no Android
Eclipse user guide

Mais procurados (20)

PDF
Como construir aplicações gráficas e applets
PDF
Graphics Capabilities of Java Platform
PDF
Oficina de publicação nos blogs aft 2011
PDF
Tutorial de Instalação Eclipse + Android SDK
PDF
Hyper-V e Intel HAXM
PDF
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...
PPTX
Baixando, instalando e testando o android sdk
PDF
Oficina de publicao nos blogs aft 2011 novo
PDF
Introdução ao Desenvolvimento Android
PDF
Padroes de Projetos e aplicações- parte 01
PDF
Apostila passo a passo como programar em android edição03
PDF
Estudando Android - Lista de Conteúdos do Blog
PPSX
Power point criar_biblioteca_vf_xira
PDF
Android Aula 3
PDF
Android Aula 2
PDF
SelectionTracker Para Seleção de Itens no RecyclerView Android
PPT
Da introdução à prática no desenvolvimento Android
PDF
Java introdução ao eclipse
PDF
Android Aula 5
PDF
Data Binding Para Vinculo de Dados na UI Android
Como construir aplicações gráficas e applets
Graphics Capabilities of Java Platform
Oficina de publicação nos blogs aft 2011
Tutorial de Instalação Eclipse + Android SDK
Hyper-V e Intel HAXM
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...
Baixando, instalando e testando o android sdk
Oficina de publicao nos blogs aft 2011 novo
Introdução ao Desenvolvimento Android
Padroes de Projetos e aplicações- parte 01
Apostila passo a passo como programar em android edição03
Estudando Android - Lista de Conteúdos do Blog
Power point criar_biblioteca_vf_xira
Android Aula 3
Android Aula 2
SelectionTracker Para Seleção de Itens no RecyclerView Android
Da introdução à prática no desenvolvimento Android
Java introdução ao eclipse
Android Aula 5
Data Binding Para Vinculo de Dados na UI Android
Anúncio

Destaque (20)

PDF
Aula03 criacaoemoda
PPT
!!Hotel lifestyle tropical beach!!
PDF
Empresa
PPSX
PDF
Aula01 designgrafico
PPTX
Graciliano Ramos
PPTX
População brasileira
PDF
Inter conv rs04
PPTX
Trabajo tecnologia
PDF
DOCX
RTF
Sessão 6
PPTX
Unidad 2 Act. 1
PDF
Catálogo eje 3 - ok
PDF
Hazelton
PPT
El buho que no podía ulular
DOCX
Test slideshare
PDF
desginsociedadeculturaAula05
PDF
Royal challengersbangalore vs-kochituskerskerala-ipl4-2011-t20-match-3-09-apr...
PDF
Menu ejecutivo flyer
Aula03 criacaoemoda
!!Hotel lifestyle tropical beach!!
Empresa
Aula01 designgrafico
Graciliano Ramos
População brasileira
Inter conv rs04
Trabajo tecnologia
Sessão 6
Unidad 2 Act. 1
Catálogo eje 3 - ok
Hazelton
El buho que no podía ulular
Test slideshare
desginsociedadeculturaAula05
Royal challengersbangalore vs-kochituskerskerala-ipl4-2011-t20-match-3-09-apr...
Menu ejecutivo flyer
Anúncio

Semelhante a Eclipse uml (20)

PDF
Visualg2_manual.pdf
PDF
Java Web 2 - Ferramentas e configuração
PDF
Apostila android
PDF
Apostila android
PDF
Apostila android
PDF
Java apostilha
PDF
Apostila android
DOCX
Introdução a programação para plataforma iOS
PDF
Apostila java
PDF
Aula1- Java PRof.ª Cristiane Fidelix
PDF
Aula 1 - Java - Prof.ª Cristiane Fidelix
PDF
Apostila Visualg
PPTX
Aula02 android hands_on
DOCX
Nao sensivel
DOCX
Gsp313 desafio selo_01
DOC
Como criar interfaces gráficas com android
PPT
Curso de J2ME - Parte 02 - Ambiente de desenvolvimento
PDF
JavaFx - Introdução
DOCX
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.
Visualg2_manual.pdf
Java Web 2 - Ferramentas e configuração
Apostila android
Apostila android
Apostila android
Java apostilha
Apostila android
Introdução a programação para plataforma iOS
Apostila java
Aula1- Java PRof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane Fidelix
Apostila Visualg
Aula02 android hands_on
Nao sensivel
Gsp313 desafio selo_01
Como criar interfaces gráficas com android
Curso de J2ME - Parte 02 - Ambiente de desenvolvimento
JavaFx - Introdução
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.

Último (19)

PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Aula 18 - Manipulacao De Arquivos python
Apple Pippin Uma breve introdução. - David Glotz
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
COBITxITIL-Entenda as diferença em uso governança TI
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Aula04-Academia Heri- Tecnologia Geral 2025
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Processos na gestão de transportes, TM100 Col18
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Custos e liquidação no SAP Transportation Management, TM130 Col18
Gestão de transportes básica no SAP S/4HANA, S4611 Col20

Eclipse uml

  • 1. Grupo de Usuários Java http://www.guj.com.br Omondo EclipseUML Ricardo Rodrigues Lecheta Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte. Introdução Neste tutorial será apresentado o Omondo EclipseUML, um plugin para o Eclipse que auxilia a construção de diagramas UML. Com este plugin é possível criar diagramas de classe, seqüência, estados, use cases, atividades, etc. Alterações no diagrama automaticamente se refletem no código-fonte e vice-versa. Outro recurso interessante é a capacidade de fazer Engenharia Reversa. Dependências Antes de instalar o EclipseUML, é necessário instalar os seguintes plugins: • Draw2D: utilizado para a construção de componentes gráficos com SWT; • GEF (Graphical Editing Framework): permite criar um rico editor gráfico a partir de seu modelo. O GEF utiliza o Draw2D para renderizar os componentes gráficos; • EMF (Eclipse Modeling Framework): Framework de modelagem e geração de código a partir de um modelo. Fazendo o Download Para instalar o plugin EclipseUML faça 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 estão incluídos na distribuição do EclipseUML Note que não é necessário fazer o download do Draw2D e do GEF porque uma versão compatível já está incluída na instalação do plugin EclipseUML. Compatibilidade entre as versões do Eclipse e EMF Ao instalar o EclipseUML e o EMF, certifique-se que estes sejam versões compatíveis com o Eclipse instalado. http://dev.eclipse.org/viewcvs/indextools.cgi/~checkout~/emf- home/downloads/dl.html Grupo de Usuários Java – http://www.guj.com.br – Página 1
  • 2. Grupo de Usuários Java http://www.guj.com.br Instalação Para instalar o EMF e o EclipseUML descompacte os arquivos de instalação no diretório onde o Eclipse está instalado. Após isto, abra o Eclipse, uma janela irá aparecer pedindo para concluir a instalação, clique em finish para reiniciar. Caso esta janela não apareça, entre em ‘Help -> Software Updates -> Pending Changes”. 1. Pending Changes Para testar se a instalação 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 não aconteça, verifique se as versões do EMF e do Omondo EclipseUML são compatíveis com a versão do Eclipse. 2. Wizards do EclipseUML Grupo de Usuários Java – http://www.guj.com.br – Página 2
  • 3. Grupo de Usuários Java http://www.guj.com.br 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. Após 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. Criação da interface Automovel Note que o plugin criou automaticamente o código da interface “Automovel” no pacote “br.com.guj.automovel” do seu Projeto. Alterações no Diagrama refletem no código-fonte As alterações realizadas nos diagramas irão se refletir no código -fonte e vice-versa. Cuidado ao apagar uma classe do diagrama, pois a classe também será excluída do projeto no Eclipse. Caso queira esconder uma classe no diagrama, clique com o botão direito e selecione “Hide”. Agora vamos adicionar dois métodos nesta interface, os métodos “acelerar” e “freiar”. Para isso clique com o botão direito em cima da interface Automovel, New -> Method. No campo “name” coloque o nome do seu método, neste caso “acelerar”. Clique em OK. Veja que a alteração foi refletida no código fonte (Automovel.java). Repita o processo anterior e adicione o método “ freiar” na interface Automovel. Após isso sua interface vai ser semelhante ao mostrado na figura abaixo: 4. Adicionando métodos na interface Automovel Grupo de Usuários Java – http://www.guj.com.br – Página 3
  • 4. Grupo de Usuários Java http://www.guj.com.br 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 código-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. Porém ao invés de utilizar o diagrama para informar que Fiat implementa Automovel, edite o código-fonte conforme mostrado abaixo. package br.com.guj.automovel; public class Fiat implements Automovel { } Note que no diagrama ainda não foi representado que “Fiat” implementa “Automovel” (figura 6). Para isso, clique com o botão direito em “Fiat” -> Inheritance -> Insert supertype -> Automovel. Feito isso, o Eclipse irá desenhar a hierarquia de seu diagrama conforme a figura 7. 6. Classe Fiat 7. Inheritance Grupo de Usuários Java – http://www.guj.com.br – Página 4
  • 5. Grupo de Usuários Java http://www.guj.com.br 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 código-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 Usuários Java – http://www.guj.com.br – Página 5
  • 6. Grupo de Usuários Java http://www.guj.com.br Agora vamos fazer uma alteração no código-fonte de uma das classes. Em Ipanema.java adicione um atributo “placa” do tipo String e salve o código. package br.com.guj.automovel; public class Ipanema extends Chevrolet { private String placa; } Observe que as alterações não refletiram no diagrama. Agora clique com o botão direito no diagrama em cima da classe Ipanema e entre em -> View Selector. Neste wizard é possível selecionar quais atributos e métodos 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 código-fonte e visualizar as modificações no diagrama automaticamente, é possível configurar nas preferências do Eclipse os atributos e métodos que o EclipseUML mostrará por padrão. 11. Widow Preferences Grupo de Usuários Java – http://www.guj.com.br – Página 6
  • 7. Grupo de Usuários Java http://www.guj.com.br 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 código-fonte. O contrário, gerar o diagrama a partir de código fonte, é chamado de Engenharia Reversa. Para fazer um simples teste, experimente criar uma outra classe através do método 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, faça 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 código-fonte importado, clique com o botão 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, então faça a seleção e clique em OK. O EclipseUML acabou de fazer Engenharia Reversa do diagrama de classes que acabamos de criar. 13. Wizard Class Diagram Após clicar em OK, o diagrama de classes irá abrir no editor conforme a figura abaixo: Grupo de Usuários Java – http://www.guj.com.br – Página 7
  • 8. Grupo de Usuários Java http://www.guj.com.br 14. Engenharia Reversa Outras funcionalidades É possível configurar o tipo do diagrama a ser exibido. Entre em Window -> Preferences -> UML. Você possui três opções: Eclipse (default), Omondo e UML Standard. Na figura abaixo podemos ver o diagrama utilizando os padrões Omondo e UML Standard: Grupo de Usuários Java – http://www.guj.com.br – Página 8
  • 9. Grupo de Usuários Java http://www.guj.com.br UML Standard Omondo 15. UML Standard 16. Omondo Quando o diagrama estiver concluído, é possível exportá -lo para outros formatos. Faça isso clicando com o botão direito no editor em Export -> JPEG conforme a figura abaixo. 17. Exportando uma imagem para JPEG Conclusão Este tutorial mostrou como instalar o plugin EclipseUML no Eclipse. Foi abordada a criação de um diagrama de classes e posteriormente como fazer engenharia reversa a partir do código-fonte. Agora é questão de explorar as funcionalidades do plugin para começar a trabalhar. Ricardo Lecheta (ricardolecheta@terra.com.br), formado em Ciência da Computação pela PUCPR, possui certificação em Java, e atualmente trabalha desenvolvendo soluções sobre com a tecnologia Java/WebSphere. Grupo de Usuários Java – http://www.guj.com.br – Página 9