SlideShare ist ein Scribd-Unternehmen logo
1 von 9
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Como construir aplicações gráficas e applets
Como construir aplicações gráficas e appletsComo construir aplicações gráficas e applets
Como construir aplicações gráficas e appletsDenis L Presciliano
 
Graphics Capabilities of Java Platform
Graphics Capabilities of Java PlatformGraphics Capabilities of Java Platform
Graphics Capabilities of Java PlatformMichel Alves
 
Oficina de publicação nos blogs aft 2011
Oficina de publicação nos blogs aft 2011Oficina de publicação nos blogs aft 2011
Oficina de publicação nos blogs aft 2011blogbrasil
 
Tutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDKTutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDKRonildo Oliveira
 
Hyper-V e Intel HAXM
Hyper-V e Intel HAXMHyper-V e Intel HAXM
Hyper-V e Intel HAXMalcidestbj
 
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...Ronildo Oliveira
 
Baixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdkBaixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdkReuel Lopes
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidJosé Alexandre Macedo
 
Padroes de Projetos e aplicações- parte 01
Padroes de Projetos e aplicações- parte 01Padroes de Projetos e aplicações- parte 01
Padroes de Projetos e aplicações- parte 01Walney Negreiros
 
Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Horacio Diamante Mondlane
 
Estudando Android - Lista de Conteúdos do Blog
Estudando Android - Lista de Conteúdos do BlogEstudando Android - Lista de Conteúdos do Blog
Estudando Android - Lista de Conteúdos do BlogVinícius Thiengo
 
Power point criar_biblioteca_vf_xira
Power point criar_biblioteca_vf_xiraPower point criar_biblioteca_vf_xira
Power point criar_biblioteca_vf_xiraMaria Laura Cavaleiro
 
SelectionTracker Para Seleção de Itens no RecyclerView Android
SelectionTracker Para Seleção de Itens no RecyclerView AndroidSelectionTracker Para Seleção de Itens no RecyclerView Android
SelectionTracker Para Seleção de Itens no RecyclerView AndroidVinícius Thiengo
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidRodolfo Faquin Della Justina
 
Java introdução ao eclipse
Java   introdução ao eclipseJava   introdução ao eclipse
Java introdução ao eclipseArmando Daniel
 
Data Binding Para Vinculo de Dados na UI Android
Data Binding Para Vinculo de Dados na UI AndroidData Binding Para Vinculo de Dados na UI Android
Data Binding Para Vinculo de Dados na UI AndroidVinícius Thiengo
 

Was ist angesagt? (20)

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

Andere mochten auch

Andere mochten auch (20)

Aula03 criacaoemoda
Aula03 criacaoemodaAula03 criacaoemoda
Aula03 criacaoemoda
 
!!Hotel lifestyle tropical beach!!
!!Hotel lifestyle tropical beach!!!!Hotel lifestyle tropical beach!!
!!Hotel lifestyle tropical beach!!
 
Empresa
EmpresaEmpresa
Empresa
 
Spa Albacete
Spa AlbaceteSpa Albacete
Spa Albacete
 
Aula01 designgrafico
Aula01 designgraficoAula01 designgrafico
Aula01 designgrafico
 
Graciliano Ramos
Graciliano RamosGraciliano Ramos
Graciliano Ramos
 
População brasileira
População brasileiraPopulação brasileira
População brasileira
 
Inter conv rs04
Inter conv rs04Inter conv rs04
Inter conv rs04
 
Trabajo tecnologia
Trabajo tecnologiaTrabajo tecnologia
Trabajo tecnologia
 
Energia nuclear
Energia nuclearEnergia nuclear
Energia nuclear
 
Pic
PicPic
Pic
 
Sessão 6
Sessão 6Sessão 6
Sessão 6
 
Unidad 2 Act. 1
Unidad 2 Act. 1Unidad 2 Act. 1
Unidad 2 Act. 1
 
Catálogo eje 3 - ok
Catálogo   eje 3 - okCatálogo   eje 3 - ok
Catálogo eje 3 - ok
 
Hazelton
HazeltonHazelton
Hazelton
 
El buho que no podía ulular
El buho que no podía ulularEl buho que no podía ulular
El buho que no podía ulular
 
Test slideshare
Test slideshareTest slideshare
Test slideshare
 
desginsociedadeculturaAula05
desginsociedadeculturaAula05desginsociedadeculturaAula05
desginsociedadeculturaAula05
 
Royal challengersbangalore vs-kochituskerskerala-ipl4-2011-t20-match-3-09-apr...
Royal challengersbangalore vs-kochituskerskerala-ipl4-2011-t20-match-3-09-apr...Royal challengersbangalore vs-kochituskerskerala-ipl4-2011-t20-match-3-09-apr...
Royal challengersbangalore vs-kochituskerskerala-ipl4-2011-t20-match-3-09-apr...
 
Menu ejecutivo flyer
 Menu ejecutivo flyer Menu ejecutivo flyer
Menu ejecutivo flyer
 

Ähnlich wie Eclipse uml

Java Web 2 - Ferramentas e configuração
Java Web 2 - Ferramentas e configuraçãoJava Web 2 - Ferramentas e configuração
Java Web 2 - Ferramentas e configuraçãoEduardo Mendes
 
Introdução a programação para plataforma iOS
Introdução a programação para plataforma iOSIntrodução a programação para plataforma iOS
Introdução a programação para plataforma iOSDevmedia
 
Aula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixAula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixCris Fidelix
 
Aula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixAula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixCris Fidelix
 
Aula02 android hands_on
Aula02 android hands_onAula02 android hands_on
Aula02 android hands_onRoberson Alves
 
Como criar interfaces gráficas com android
Como criar interfaces gráficas com androidComo criar interfaces gráficas com android
Como criar interfaces gráficas com androidRicardo Ogliari
 
Curso de J2ME - Parte 02 - Ambiente de desenvolvimento
Curso de J2ME - Parte 02 - Ambiente de desenvolvimentoCurso de J2ME - Parte 02 - Ambiente de desenvolvimento
Curso de J2ME - Parte 02 - Ambiente de desenvolvimentoLeonardo Melo Santos
 
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.Ricardo Ogliari
 

Ähnlich wie Eclipse uml (20)

Visualg2_manual.pdf
Visualg2_manual.pdfVisualg2_manual.pdf
Visualg2_manual.pdf
 
Java Web 2 - Ferramentas e configuração
Java Web 2 - Ferramentas e configuraçãoJava Web 2 - Ferramentas e configuração
Java Web 2 - Ferramentas e configuração
 
Apostila android
Apostila androidApostila android
Apostila android
 
Apostila android
Apostila androidApostila android
Apostila android
 
Apostila android
Apostila androidApostila android
Apostila android
 
Java apostilha
Java apostilhaJava apostilha
Java apostilha
 
Apostila android
Apostila androidApostila android
Apostila android
 
Introdução a programação para plataforma iOS
Introdução a programação para plataforma iOSIntrodução a programação para plataforma iOS
Introdução a programação para plataforma iOS
 
Apostila java
Apostila javaApostila java
Apostila java
 
Aula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixAula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane Fidelix
 
Aula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixAula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane Fidelix
 
Apostila Visualg
Apostila VisualgApostila Visualg
Apostila Visualg
 
Aula02 android hands_on
Aula02 android hands_onAula02 android hands_on
Aula02 android hands_on
 
Gsp313 desafio selo_01
Gsp313 desafio selo_01Gsp313 desafio selo_01
Gsp313 desafio selo_01
 
Nao sensivel
Nao sensivelNao sensivel
Nao sensivel
 
Como criar interfaces gráficas com android
Como criar interfaces gráficas com androidComo criar interfaces gráficas com android
Como criar interfaces gráficas com android
 
Curso de J2ME - Parte 02 - Ambiente de desenvolvimento
Curso de J2ME - Parte 02 - Ambiente de desenvolvimentoCurso de J2ME - Parte 02 - Ambiente de desenvolvimento
Curso de J2ME - Parte 02 - Ambiente de desenvolvimento
 
JavaFx - Introdução
JavaFx - IntroduçãoJavaFx - Introdução
JavaFx - Introdução
 
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.
 
Gwt
GwtGwt
Gwt
 

Kürzlich hochgeladen

Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 

Kürzlich hochgeladen (8)

Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

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