Modelagem UML para projetos acadêmicos e de pequeno porte
Esta precisando de uma ferramenta para modelar o seu projeto com a ajuda dos diagramas UML? confira essa lista de aplicativos gratuitos.
A UML (Unified Modeling Language) é uma linguagem de modelagem de uso geral para visualizar, especificar, construir e documentar artefatos de software. A UML foi originalmente derivada das linguagens de modelagem de objetos, criadas a partir dos principais métodos de orientação a objetos existentes até então: Booch, Técnica de Modelagem de objetos (OMT) e Object-Oriented Software Engineering (OOSE). Em 1997, a UML, foi adicionada à lista de tecnologias adotadas pela OMG, e desde então se tornou o padrão da indústria para modelagem de softwares.
Na versão 2.2 da UML estão definidos 14 tipos de diagramas, divididos em duas categorias, sendo sete destinados a representar informações estruturais, e os outros sete diagramas representam algum tipo de comportamento, sendo que quatro deles representam diferentes aspectos de interações.
Estes diagramas podem ser categorizados hierarquicamente, de acordo com o seguinte diagrama de classe:
Para implementa-los existem diversas ferramentas CASE que dão suporte aos diagramas definidos pela UML, dentre eles existem alguns de distribuição livre, ideais para projetos acadêmicos ou de pequena complexidade.
ArgoUML
Uma das principais ferramentas CASE de distribuição livre é o ArgoUML, abaixo segue as suas principais características (lista completa):
- Suporte a todos os 9 diagramas da UML 1.4
- Plataforma Independente: Java 5+
- Clique e Go! com Java Web Start
- Standard UML 1.4 Metamodel
- Suporte a profiles da UML com alguns pré-definidos
- Suporte a XMI (para integração com outros aplicativos)
- Exporta os diagramas em vários formatos de imagens: GIF, PNG, PS, EPS, PGML e SVG
- Disponível em 10 línguas: EN, EN-GB, DE, ES, IT, RU, FR, NB, PT, ZH
- Edição avançada de diagramas e zoom
- Suporte a OCL
- Forward Engineering: gera classes em diversas linguagens (C++, Java, PHP…)
- Reverse Engineering: importa classes de arquivos Jar e class
- Open-source distribuído sobre a licença de plugin do Eclipse
- Nível de maturidade equiparado a ferramentas comerciais
StarUML
- plataforma Windows (Delphi)
- suporte a diagramas da UML 2.0
- MDA (Model Driven Architecture)
- suporte a plugins e templates
- lista completa de características
Umbrello UML Modeller
- multiplataforma
- open-source
Violet UML Editor
- multiplataforma (Java)
- open-source
- distribuído como plugin do eclipse ou aplicativo desktop
- forte apelo visual
- forward engineering
- reverse engineering
- lista completa de características
DIA
- multiplataforma (GTK+)
- outros tipos de diagramas
yED
- multiplataforma (java)
- aplicativo comercial, permitido utilização apenas para fins pessoais
- outros tipos de diagramas
- apelo visual razoável
BOUML
- multiplataforma (Java)
- open-source
- diagramas da UML 2.0
UMLet
- multiplataforma (Java)
- distribuído como plugin do eclipse ou aplicativo desktop
NetBeans IDE UML
Eclipse UML2 Tools
Diagramly
- plataforma web
- suporta outros tipos de diagramas
- integração com o Google Drive
- edição dos componentes de uma classe pode ser feita em html
- possui muitos bugs
- exporta em diversos formatos de imagem (PNG, SVG, PDF, GIF, JPEG)
- permite salvar o diagrama em xml para posterior utilização
Cacoo
- plataforma web
- suporte a outros tipos de diagramas
- integração com o Google Drive
- características do plano gratuito:
- Formatos de exportação: somente PNG
- Histórico de Edição: Não disponível
- Folhas permitidas: 25 folhas
- Pastas Compartilhadas: 1 Pastas
- Edição colaborativa: Até 15 usuários por diagrama, Até 3 usuários por pasta compartilhada
- Administrar Usuários: Não disponível
- Admins Múltiplos: Não disponível
LucidChart
- plataforma web
- suporte a outros tipos de diagramas
- um dos melhores aplicativos web para gerar qualquer tipo de diagrama de forma ágil
- integração com o Google Drive
yUML
- plataforma web
- gera apenas diagramas de classe, utilizando uma notação própria similar a linguagem DOT
- ideal para gerar sketches de forma ágil
WebSequenceDiagram
- plataforma web
- gera apenas diagramas de sequencia, utilizando uma notação própria similar a linguagem DOT
- ideal para gerar sketches de forma ágil
Fontes: