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.)

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:\java\argouml\argouml.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.

Melhorando a aparência do ArgoUML
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.

ArgoUML como um plug-in Eclipse
Figura 2. ArgoUML como um plug-in Eclipse

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 org.argouml. argoeclipse.core_0.1.1.jar) presentes na área de arquivos do projeto e copiá-los para a pasta plugins do Eclipse.

Para usar o plug-in ArgoEclipse, é necessário criar um Projeto ArgoUML (arquivo ...

Quer ler esse conteúdo completo? Tenha acesso completo