PlantUML como ferramenta CASE para UML

Autor
Damian
Terlecki
5 minutos de leitura
Misc

Ao longo da minha carreira como desenvolvedor de software, incluindo o tempo na universidade, tive a oportunidade de usar várias ferramentas que auxiliavam a engenharia de software. Acho que todos podem concordar que as mais proeminentes no domínio da modelagem estão conectadas com ferramentas de UML (Unified Modeling Language) e BPMN (Business Process Model and Notation). Como desenvolvedores, na maioria das vezes usamos as primeiras, enquanto o BPMN é mais usado por pessoal de negócios.

A lista das ferramentas UML profissionais mais populares certamente incluirá aplicações como Visual Paradigm, Enterprise Architect, Lucidchart ou algo da casa IBM — Rational Software Architect. As mencionadas fornecem suporte para a maioria dos casos de uso, incluindo projetos muito complexos e integrações com produtos externos. Mas você já considerou se realmente precisa de soluções tão complexas e, às vezes, desajeitadas para o seu projeto?

Às vezes, você só precisa criar um diagrama ou alguns pequenos e independentes. Talvez você esteja com pouco tempo e ainda não tenha nada configurado? Nos tempos de faculdade, o Draw.io era muito popular entre meus colegas. Você sabe — aquele site — você o abre no navegador, arrasta e solta e voilà! Modelagem sem dor para o seu pequeno projeto. Mas será mesmo? Eu nunca gostei muito de editores do tipo arrastar e soltar ou WYSIWYG — pelo menos não até ter a chance de usar LaTeX ou Markdown. Nesse ponto, percebi que posso fazer o trabalho muito mais rápido usando ferramentas que utilizam alguma linguagem declarativa mais próxima da codificação.

Felizmente, no momento em que escrevia minha primeira tese, descobri o PlantUML. Uma ferramenta que permite criar rapidamente diagramas UML consistentes com apenas algumas linhas escritas em uma linguagem simples e intuitiva.

Bob->Alice : olá

Imagem PlantUML alice->bob

Fácil, não foi? Não para por aí. Você pode simplesmente copiar esta linha e colá-la em uma aplicação online para obter o gráfico nos formatos mais comuns. Os elementos são posicionados e ajustados automagicamente. Finalmente, uma ferramenta que permite que você se divirta tanto durante a modelagem UML, a ponto de querer mais. Ah, mas não vamos andar com a cabeça nas nuvens. Já criei centenas de gráficos usando o PlantUML, então posso falar mais sobre os pontos fortes e fracos desta ferramenta.

Prós:

  • código aberto;
  • diagramação UML rápida e fácil após um aprendizado inicial;
  • sem perda de tempo com posicionamento e ajustes de tamanho dos elementos;
  • o formato de texto facilita a importação e o compartilhamento de diagramas (olá VCS);
  • editores online não requerem nenhuma instalação ou configuração;
  • os formatos mais comuns são suportados, incluindo os sem perdas;
  • pode ser usado como uma biblioteca em código Java;
  • múltiplas integrações e plugins.

Contras:

  • casos complexos requerem leitura adicional da documentação (por exemplo, linhas de vida de sequência);
  • nem todo diagrama pode parecer como você precisa (tive alguns problemas com o diagrama de atividades para a faculdade);
  • o posicionamento é possível, mas limitado para diagramas que consistem em mais elementos;
  • é mais uma ferramenta do que uma aplicação (isso é um contra, no entanto?).
Pedômetro
Diagrama de atividade de pedômetro

A propósito, leva um momento para traduzir o diagrama graças aos aliases e ao formato de texto. Então, essa é basicamente a minha escolha para projetos de pequeno a médio porte e diagramas isolados. E você? Tem uma ferramenta UML favorita?