ARGOUML
ARGOUML 
 O ArgoUMLé uma ferramenta CASE1 livre escrita 
inteiramente em Java, com suporte à maioria dos 
diagramas do padrão UML 1.4 e capaz de gerar código 
para várias linguagens como Java, PHP, Ruby e C++. O 
projeto é hospedado pelo Tigris (tigris.org), conhecido 
pelos desenvolvedores Java como o “lar” do sistema de 
controle de versões Subversion (além do Scarab e 
outros projetos). 
 O poder e a qualidade do ArgoUML é atestado por dois 
produtos comerciais que incorporam o seu código: o 
Poseidon UML (gentleware.com) e o popular MyEclipse 
(genuitec.com). (Mas infelizmente nenhuma das duas 
empresas retorna suas modificações e patches de volta 
ao projeto ArgoUML – ao contrário, por exemplo, de 
produtos comerciais baseados no Tomcat.)
 1 Ferramentas CASE (Computer 
Aided Software Engineering, ou 
Engenharia de Software Assistida 
por Computador) são softwares que 
permitem o desenho de diagramas 
representando projetos de software, 
de modo similar a plantas que 
representam projetos de casas.
 O grande diferencial do ArgoUML em relação a 
outras ferramentas CASE são os recursos 
cognitivos embutidos no produto. Em vez de ser 
apenas um diagramador, documentador e gerador 
de código, o ArgoUML procura orientar e auxiliar 
o desenvolvedor na construção dos modelos. 
Esta ajuda provém de várias regras (“críticas”) 
que são aplicadas continuamente, verificando 
inconsistências, erros comuns e sugerindo 
próximos passos. 
 Este artigo apresenta uma introdução ao 
ArgoUML, focando nos diagramas de casos de 
uso e diagramas de classes. Ao longo do artigo, 
quadros explicarão os conceitos básicos sobre 
estes diagramas, paraauxiliar o leitor com pouco 
conhecimento prévio de UML. Já 
desenvolvedores com conhecimentos sólidos de 
UML podem ignorar os quadros, e se concentrar 
apenas no texto principal, que descreve o uso da 
ferramenta.
 Será utilizado como exemplo uma hipotética aplicação 
de comércio eletrônico. Não tentaremos implementar 
esta aplicação, pois nosso enfoque não é realizar sua 
modelagem completa, mas sim demonstrar o uso do 
próprio ArgoUML. Também fornecemos dicas para o 
desenvolvedor Java, sobre como aplicar princípios de 
modelagem em aplicações reais. 
 No final do artigo são apresentadas algumas 
referências para quem desejar se aprofundar mais em 
UML e em áreas relacionadas. Mas, ao pesquisar sobre 
o assunto, tome cuidado. Há uma variação grande no 
“padrão” UML suportado por cada ferramenta do 
mercado e livros de Análise e Projeto Orientado a 
Objetos. As diferenças vão desde a notação gráfica e a 
terminologia adotadas, até a interpretação de alguns 
elementos visuais nos modelos UML. Os próprios 
criadores da UML, Booch, Rumbaugh e Jacobson, em 
seu livro “UML – Guia do Usuário” freqüentemente 
optam por usar nomes diferentes para elementos e 
diagramas em relação aos utilizados nos padrões da 
UML. Então você pode pensar que determinado recurso 
não é suportado pelo ArgoUML quando na verdade ele 
está lá, apenas com nome ou símbolo diferente.
Instalando e Configurando o ArgoUML 
 Para instalar o ArgoUML, basta acessar o site 
oficial do projeto, argouml.tigris.org e clicar no 
link junto à frase “Download latest stable 
release”. O resultado será o download de um 
arquivo chamado ArgoUML-0.22.zip (ou versão 
mais recente) que pode ser descompactado em 
qualquer diretório. 
 Ao contrário da maioria das aplicações Java 
fornecidas para download em formatos ZIP ou 
tar. gz, o ArgoUML não cria um subdiretório “raiz” 
na sua descompactação. Portanto é 
recomendável criar um diretório vazio e realizar a 
descompactação dentro deste diretório, para não 
ficar com arquivos do ArgoUML misturados com 
os de outras aplicações. 
 Para iniciar o ArgoUML, basta executar o seu 
pacote principal (argouml.jar), que já está 
configurado como um JAR executável: 
 java -jar c:javaargoumlargouml.jar
 Note que não é necessário configurar o classpath, 
pois o próprio JAR contém em seu Manifesto as 
referências aos demais JARs fornecidos com o 
ArgoUML. Noteainda que geralmente será possível 
executar o ArgoUML com um clique duplo no 
arquivo argouml.jar. Entretanto muitos utilitários de 
compactação de arquivos “roubam” a associação da 
extensão .jar com o JRE. Por isso, pode ser 
necessário criar manualmente um atalho em sua 
área de trabalho do Windows (ou lançador no Linux) 
que execute a linha de comando correta, indicada 
anteriormente.
 O ArgoUML então inicia com uma tela de “splash” que 
indica o progresso na carga dos vários módulos do 
programa, e em poucos segundos a janela principal 
estará disponível, com uma agradável surpresa: a 
maioria dos menus estará em português (mas 
português de Portugal; não existe ainda uma tradução 
para o português brasileiro). O ArgoUML irá detectar 
automaticamente as configurações regionais do 
usuário e usar o idioma local, empregando termos 
estranhos para nós no Brasil como “ficheiro” e 
“projecto”. Mas, para muitos usuários, será melhor do 
que usar a ferramenta inteiramente em inglês. 
 Vamos alterar algumas configurações padrões do 
ArgoUML para deixá-lo com aparência mais elegante. 
Selecione o menu Editar|Definições e, dentro do 
diálogo Definições, selecione a aba Aparência. Marque 
a caixa Smooth edges of diagram lines and text e 
escolha o seu look-and-feel preferido (Figura 1). Então 
reinicie o programa paraque as modificações tenham 
efeito.
Figura 1. Melhorando a aparência 
do ArgoUML
ArgoUML com Eclipse 
 Um alternativa é instalar o ArgoUML como 
um plug-in para o Eclipse. O site desse 
projeto é argoeclipse.tigris.org. Ele consiste 
de uma simples adaptação dos 
componentes de interface do ArgoUML em 
componentes de visualização e edição do 
Eclipse, além de uma integração com a 
estrutura de menus e barras de ferramentas 
do IDE. O resultado é bastante interessante 
e relativamente estável, considerando que o 
projeto é bem novo (foi iniciado no meio de 
2006 como parte do “Summer of Code”2 do 
Google). Veja o plug-in em ação na Figura 2.
Figura 2. ArgoUML como um plug-in Eclipse.
 2 O “Summer of Code” é um projeto do 
Google que fornece centenas de bolsas 
para estudantes interessados em atuar 
em projetos de software livre. Mais 
informações em code.google.com/soc/ 
 Embora as instruções no site do 
ArgoEclipse indiquem o uso do Update 
Manager para a instalação do plug-in, será 
suficiente baixar dois arquivos JAR 
(org.argouml_0.22.0.1.jar e "

Argouml

  • 1.
  • 2.
    ARGOUML  OArgoUMLé uma ferramenta CASE1 livre escrita inteiramente em Java, com suporte à maioria dos diagramas do padrão UML 1.4 e capaz de gerar código para várias linguagens como Java, PHP, Ruby e C++. O projeto é hospedado pelo Tigris (tigris.org), conhecido pelos desenvolvedores Java como o “lar” do sistema de controle de versões Subversion (além do Scarab e outros projetos).  O poder e a qualidade do ArgoUML é atestado por dois produtos comerciais que incorporam o seu código: o Poseidon UML (gentleware.com) e o popular MyEclipse (genuitec.com). (Mas infelizmente nenhuma das duas empresas retorna suas modificações e patches de volta ao projeto ArgoUML – ao contrário, por exemplo, de produtos comerciais baseados no Tomcat.)
  • 3.
     1 FerramentasCASE (Computer Aided Software Engineering, ou Engenharia de Software Assistida por Computador) são softwares que permitem o desenho de diagramas representando projetos de software, de modo similar a plantas que representam projetos de casas.
  • 4.
     O grandediferencial do ArgoUML em relação a outras ferramentas CASE são os recursos cognitivos embutidos no produto. Em vez de ser apenas um diagramador, documentador e gerador de código, o ArgoUML procura orientar e auxiliar o desenvolvedor na construção dos modelos. Esta ajuda provém de várias regras (“críticas”) que são aplicadas continuamente, verificando inconsistências, erros comuns e sugerindo próximos passos.  Este artigo apresenta uma introdução ao ArgoUML, focando nos diagramas de casos de uso e diagramas de classes. Ao longo do artigo, quadros explicarão os conceitos básicos sobre estes diagramas, paraauxiliar o leitor com pouco conhecimento prévio de UML. Já desenvolvedores com conhecimentos sólidos de UML podem ignorar os quadros, e se concentrar apenas no texto principal, que descreve o uso da ferramenta.
  • 5.
     Será utilizadocomo exemplo uma hipotética aplicação de comércio eletrônico. Não tentaremos implementar esta aplicação, pois nosso enfoque não é realizar sua modelagem completa, mas sim demonstrar o uso do próprio ArgoUML. Também fornecemos dicas para o desenvolvedor Java, sobre como aplicar princípios de modelagem em aplicações reais.  No final do artigo são apresentadas algumas referências para quem desejar se aprofundar mais em UML e em áreas relacionadas. Mas, ao pesquisar sobre o assunto, tome cuidado. Há uma variação grande no “padrão” UML suportado por cada ferramenta do mercado e livros de Análise e Projeto Orientado a Objetos. As diferenças vão desde a notação gráfica e a terminologia adotadas, até a interpretação de alguns elementos visuais nos modelos UML. Os próprios criadores da UML, Booch, Rumbaugh e Jacobson, em seu livro “UML – Guia do Usuário” freqüentemente optam por usar nomes diferentes para elementos e diagramas em relação aos utilizados nos padrões da UML. Então você pode pensar que determinado recurso não é suportado pelo ArgoUML quando na verdade ele está lá, apenas com nome ou símbolo diferente.
  • 6.
    Instalando e Configurandoo ArgoUML  Para instalar o ArgoUML, basta acessar o site oficial do projeto, argouml.tigris.org e clicar no link junto à frase “Download latest stable release”. O resultado será o download de um arquivo chamado ArgoUML-0.22.zip (ou versão mais recente) que pode ser descompactado em qualquer diretório.  Ao contrário da maioria das aplicações Java fornecidas para download em formatos ZIP ou tar. gz, o ArgoUML não cria um subdiretório “raiz” na sua descompactação. Portanto é recomendável criar um diretório vazio e realizar a descompactação dentro deste diretório, para não ficar com arquivos do ArgoUML misturados com os de outras aplicações.  Para iniciar o ArgoUML, basta executar o seu pacote principal (argouml.jar), que já está configurado como um JAR executável:  java -jar c:javaargoumlargouml.jar
  • 7.
     Note quenão é necessário configurar o classpath, pois o próprio JAR contém em seu Manifesto as referências aos demais JARs fornecidos com o ArgoUML. Noteainda que geralmente será possível executar o ArgoUML com um clique duplo no arquivo argouml.jar. Entretanto muitos utilitários de compactação de arquivos “roubam” a associação da extensão .jar com o JRE. Por isso, pode ser necessário criar manualmente um atalho em sua área de trabalho do Windows (ou lançador no Linux) que execute a linha de comando correta, indicada anteriormente.
  • 8.
     O ArgoUMLentão inicia com uma tela de “splash” que indica o progresso na carga dos vários módulos do programa, e em poucos segundos a janela principal estará disponível, com uma agradável surpresa: a maioria dos menus estará em português (mas português de Portugal; não existe ainda uma tradução para o português brasileiro). O ArgoUML irá detectar automaticamente as configurações regionais do usuário e usar o idioma local, empregando termos estranhos para nós no Brasil como “ficheiro” e “projecto”. Mas, para muitos usuários, será melhor do que usar a ferramenta inteiramente em inglês.  Vamos alterar algumas configurações padrões do ArgoUML para deixá-lo com aparência mais elegante. Selecione o menu Editar|Definições e, dentro do diálogo Definições, selecione a aba Aparência. Marque a caixa Smooth edges of diagram lines and text e escolha o seu look-and-feel preferido (Figura 1). Então reinicie o programa paraque as modificações tenham efeito.
  • 9.
    Figura 1. Melhorandoa aparência do ArgoUML
  • 10.
    ArgoUML com Eclipse  Um alternativa é instalar o ArgoUML como um plug-in para o Eclipse. O site desse projeto é argoeclipse.tigris.org. Ele consiste de uma simples adaptação dos componentes de interface do ArgoUML em componentes de visualização e edição do Eclipse, além de uma integração com a estrutura de menus e barras de ferramentas do IDE. O resultado é bastante interessante e relativamente estável, considerando que o projeto é bem novo (foi iniciado no meio de 2006 como parte do “Summer of Code”2 do Google). Veja o plug-in em ação na Figura 2.
  • 11.
    Figura 2. ArgoUMLcomo um plug-in Eclipse.
  • 12.
     2 O“Summer of Code” é um projeto do Google que fornece centenas de bolsas para estudantes interessados em atuar em projetos de software livre. Mais informações em code.google.com/soc/  Embora as instruções no site do ArgoEclipse indiquem o uso do Update Manager para a instalação do plug-in, será suficiente baixar dois arquivos JAR (org.argouml_0.22.0.1.jar e "