Ferramentas gratuitas para modelagem de sistemas

Embora muitas vezes relegada a um segundo plano, é inegável a importância da documentação técnica dentro de um projeto de software. A partir de artefatos como diagramas UML e de arquitetura uma equipe de desenvolvimento poderá compreender melhor a forma como uma aplicação foi estruturada. Tal entendimento é vital não apenas para a correta implementação de novas funcionalidades, como também para uma boa condução de atividades de manutenção ao longo do ciclo de vida de um sistema.

Diversos aplicativos vêm sendo utilizados em organizações dos mais variados segmentos para a geração dos diagramas aqui mencionados. A seguir estão listadas algumas ferramentas que gozam de boa popularidade na área de desenvolvimento de software:

  • Visio (http://office.microsoft.com/en-001/visio/): aplicação para a criação dos mais variados tipos de diagramas (incluindo os que integram a UML), sendo parte do pacote Office;
  • Enterprise Architect (http://www.sparxsystems.com/products/ea/): produzido pela Sparx Systems, este software está em conformidade com a especificação UML, além de suportar a elaboração de artefatos que seguem outros padrões como BPMN, BPEL, SoaML, WSDL e XSD.

Todas as opções citadas até aqui constituem exemplos de soluções proprietárias. Por mais completas que estas aplicações possam ser, muitas empresas e profissionais independentes não enxergam com bons olhos a exigência de aquisição de licenças para uso das mesmas (seja por restrições orçamentárias ou, mesmo, por acreditar na necessidade de algo mais simples).

Este artigo tem por meta apresentar exemplos de ferramentas gratuitas que podem, sem maiores impactos, substituir alguns dos recursos presentes no Visio e no Enterprise Architect. A fim de cumprir tal objetivo serão descritos nas próximas seções detalhes das soluções Astah Community Edition e Lucidchart.

Diagramas UML com o Astah Community

A popularização dos princípios de Orientação a Objetos deve muito à UML. Partindo de diagramas que correspondem a diferentes visões dentro de um projeto de software, esta linguagem de representação teve um importante papel na disseminação de ideias como caso de uso, classe, objeto e interface.

Atualmente na versão 2.x, a UML conta com diversos diagramas para a modelagem de estruturas de software. Tais representações não possuem qualquer vínculo com uma tecnologia específica, fato este que contribuiu para transformar a uma UML numa “linguagem universal” na área de software. Dentre as visões mais utilizadas em projetos estão os diagramas de casos de uso, de classes e de sequência.

Inúmeras ferramentas gratuitas e proprietárias suportam a especificação UML. Este artigo tem por objetivo demonstrar, em termos gerais, como a ferramenta gratuita conhecida como Astah Community Edition pode ser útil no dia-a-dia de profissionais da área de software. Estando em conformidade com a UML 2.x, a versão 6.9 Astah Community possibilita a elaboração dos seguintes artefatos:

  • Diagramas de classes;
  • Diagramas de casos de uso;
  • Diagramas de sequência;
  • Diagramas de atividade;
  • Diagramas de estado;
  • Diagramas de implantação;
  • Diagramas de componentes;
  • Diagramas de colaboração;
  • Diagramas de estrutura composta.

Na Figura 1 está um exemplo de modelagem de um diagrama de classes a partir do Astah Community. Já na Figura 2 está o resultado da exportação de tal diagrama para o formato PNG.

Astah01
Figura 1: Utilizando a ferramenta Astah Community


Astah02
Figura 2: Imagem no formato PNG gerada através do Astah Community Edition

Maiores informações: http://astah.net/editions/community

OBSERVAÇÃO: Existem ainda releases comercializáveis da ferramenta Astah, com funcionalidades que vão além daquelas disponibilizadas na versão Community Edition.

Desenhando a arquitetura de uma solução com o Lucidchart

Voltado à construção de diagramas abordando diferentes aspectos da área de desenvolvimento de softwares, o Lucidchart pode ser considerado uma excelente alternativa ao Visio da Microsoft na modelagem de sistemas. Uma das justificativas está no fato da utilização desta ferramenta acontecer a partir de um browser, descartando com isto a necessidade de instalação em uma máquina de desenvolvimento. Outro ponto importante diz respeito à possibilidade de uso gratuito, embora com pequenas limitações (uma área de armazenamento de até 25 MB, além de um limite máximo de 60 objetos). Planos pagos com funcionalidades adicionais também são oferecidos, porém a um custo mensal bem inferior ao de soluções proprietárias.

Por contar com uma ampla gama de templates, característica esta aliada a uma grande facilidade e flexibilidade de uso, o Lucidchart vem sendo empregado com sucesso em projetos de grandes companhias. Constituem bons exemplos empresas como Disney, Ford, Mozilla, Starbucks, Netflix e, até mesmo, a Agência Espacial Norte-Americana (NASA). Como é comum a aplicativos voltados à modelagem de software, o Lucidchart permite também a exportação de diagramas para formatos de imagem como PNG e JPEG (algo muito bem-vindo, sobretudo no que se refere à elaboração de documentos descrevendo a especificação de um sistema).

Na Figura 3 é possível observar a criação de um diagrama com o Lucidchart, a partir do Google Chrome. Já na Figura 4 está um exemplo de imagem gerada no formato .png através desta ferramenta.

Lucidchart01
Figura 3: Acessando a ferramenta Lucidchart no Google Chrome


Lucidchart02
Figura 4: Imagem no formato PNG gerada através da ferramenta Lucidchart

Maiores informações: https://www.lucidchart.com/

Conclusão

A intenção deste post foi apresentar alternativas às principais soluções proprietárias de modelagem existentes no mercado. O Astah Community e o Lucidchart possibilitam que empresas menores, profissionais autônomos e estudantes possam elaborar diagramas de software sofisticados, sem que isto incorra em custos de qualquer gênero.

Espero que o conteúdo aqui apresentado possa ser útil em algum momento.

Até uma próxima oportunidade!

 

Renato Groffe – Consultor em TI, MCTS
http://rgroffe.wordpress.com/

  • Gabriel Moreira

    gosto do GNU Dia
    http://dia-installer.de/
    suporta vários tipos de diagramas

    • Renato Groffe

      Não conhecia essa opção Gabriel.

      Obrigado por compartilhar a informação!

    • Simas

      Uma das minhas ferramentas favoritas, uso ele desde que entrei na faculdade.

  • http://seganfredo.net/ Gustavo Seganfredo

    Gosto do draw.io, especialmente pela integração com o google drive e por poder usar BPMN (entre outras diversas notações). A interface é bem mais “flat” que as outras mas agradável.
    Nesse caminho o lucidchart pareceu bem bacana

    • Renato Groffe

      Gustavo, obrigado pelo comentário.

      Não conhecia também o draw.io. É mais uma opção para utilização futura.

      A única coisa que não encontrei nele foi a opção para a criação de diagramas com elementos de rede, algo que existe no Lucidchart.

      Abs