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:

"Diagramas da UML 2.2"

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

Umbrello UML Modeller

Violet UML Editor

DIA

yED

  • multiplataforma (java)
  • aplicativo comercial, permitido utilização apenas para fins pessoais
  • outros tipos de diagramas
  • apelo visual razoável

BOUML

UMLet

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:

  1. UML Forum: What is the UML
  2. Unified Modeling Language – Wikipedia
  3. List of UML Tools – Wikipedia
  4. UML Case Tools
  5. UML.org
  6. UML Tools
  7. OMG.org
  8. Cacoo Plans