UML: Tudo que você precisa saber sobre

UML é uma linguagem de modelagem que nos permite representar um sistema de forma padronizada utilizando diagramas. Seus objetivos são especificação, documentação, estruturação para sub-visualização e maior visão lógica do desenvolvimento total de um sistema.

Introdução

Desde os primeiros sistemas desenvolvidos, nas décadas de 40 e 50, até aproximadamente os meados de 1970 as aplicações não atingiam grandes dimensões, pois as máquinas existentes possuíam várias limitações. A modelagem do software era realizada com textos escritos em linguagem natural e sem nenhum critério formal. Nessa época, a única ferramenta utilizada era o fluxograma.

Segundo Ana Cristina Melo (2010, p. 6), o ano de 1968 foi especial, pois importantes marcos foram fixados na história da informática. O conceito de Engenharia de Software surgiu como uma forma de combater à crise de software e, com o seu nascimento, surgiu a Análise Estruturada (baseada no paradigma de Programação Estruturada).

Muito se conseguiu melhorar no processo de desenvolvimento de sistemas com essa metodologia e isso tornou possível a criação de produtos de melhor qualidade. Entretanto, existem problemas na metodologia de análise estruturada. É extremamente difícil garantir a compatibilidade entre as fases principais do desenvolvimento (análise, projeto, implementação), além da comunicação e documentação serem difíceis de se realizar, pois os diagramas são quase impossível de se compreender por gente que não trabalha com a implementação em si. Além disso, na análise estruturada temos um problema bastante delicado: processos e dados são vistos de forma independente.

O fato é que a tecnologia teve um avanço absurdamente rápido nos últimos tempos e, por isso, os sistemas ficaram mais complexos. Devido a esse fato, a metodologia de análise estruturada ficou inviável. Precisamos desenvolver novos softwares gastando menos tempo, economizando recursos e oferecendo resiliência as necessidades dos inúmeros tipos de usuários.  

Com o surgimento da Programação Orientada a Objetos, surgiu também a Análise Orientada a Objetos que possibilitou a resolução desses problemas. Diversos métodos de análise OO foram apresentados (chegaram a mais de 50, ver “A guerra dos métodos”), porém não havia uma padronização e isso gerava confusão quanto a escolha dos métodos por parte dos desenvolvedores.  Por volta de 1993, os métodos que mais cresciam no mercado eram o Booch (de Grady Booch), o OMT (Object Modeling Technique, de James Rumbaugh) e o OOSE (Object-Oriented Software Engineering, de Ivar Jacobson). Nesse contexto, Booch, Rumbaugh e Jacobson decidiram unir forças e criar um método único em que as melhores características dos três métodos anteriores se combinavam. Em 1996, os três amigos (como eram conhecidos) lançaram uma nova versão do “método unificado”, surgiu então a UML (Unified Modeling Language). Em 1997, a UML foi adotada como padrão pela OMG (Object Management Group).

 

logo-uml UML: Tudo que você precisa saber sobre

 

Entenda que da mesma forma que é impossível construir uma ótima casa sem primeiramente definir sua planta, também é impossível construir um ótimo software sem inicialmente projetar sua arquitetura. Desta forma, é extremamente importante ter uma representação visual do fluxo de funcionamento do seu sistema antes que ele entre na etapa de implementação/programação.

Visão Geral

A UML não é um método de desenvolvimento, o que significa que não lhe diz o que fazer primeiro ou o que fazer depois ou como desenhar o seu sistema, mas ajuda-o a visualizar o seu desenho e a comunicar com os outros.

Conforme a OMG, a UML possui 14 tipos de diagramas, divididos em duas grandes categorias: Estruturais e Comportamentais. Sete tipos de diagramas representam informações estruturais, e os outros sete representam tipos gerais de comportamento, incluindo quatro em uma sub-categoria que representam diferentes aspectos de interação. Estes diagramas estão divididos hierarquicamente. Os diagramas estruturais modelam o “esqueleto” do seu sistema e com eles é possível representar, por exemplo, todas as classes do seu software, bem como os seus relacionamentos. Os diagramas comportamentais modelam o fluxo real de funcionamento do seu sistema.

 

UML-Hierarquia-de-Diagramas UML: Tudo que você precisa saber sobre

 

Nota: A UML está na versão 2.5 (lançada em 2015).

É necessário esclarecer que o objetivo dessa postagem não é ensinar a utilizar todos os diagramas da UML, pois já existem excelentes livros que cuidam desse papel e, além disso, existe uma grande quantidade de materiais disponíveis na internet. É necessário, entretanto, expor alguns dos principais diagramas que são utilizados pelas empresas de TI.

Diagrama de Casos de Uso

Representa o conjunto de comportamentos de alto nível que o sistema deve executar para um determinado ator. É o diagrama mais simples, e não há necessidade de grandes detalhamentos.

A figura abaixo ilustra um caso de uso geral, mas é recomendado que eles sejam desenvolvidos para cada cenário. As setas de includes extends, indicam, respectivamente, obrigatoriedade e opção de se realizar determinada ação.

 

casos-de-uso UML: Tudo que você precisa saber sobre

 

Diagrama de Classes:

Representa uma coleção de classes e seus inter-relacionamentos.

 

classes UML: Tudo que você precisa saber sobre

 

Diagrama de Objetos

Representa um retrato, em tempo de execução, dos objetos do software e seus inter-relacionamentos.

 

objetos UML: Tudo que você precisa saber sobre

 

Diagrama de Comunicação

Representa uma coleção de objetos que trabalham em conjunto (trocando dados) para atender algum comportamento do sistema.

 

comunicação UML: Tudo que você precisa saber sobre

 

Diagrama de Sequência

Representa uma perspectiva, orientada por tempo, da colaboração entre os objetos.

 

sequência UML: Tudo que você precisa saber sobre sequência-1 UML: Tudo que você precisa saber sobre

 

Diagrama de Atividades

Representa o fluxo de tarefas que podem ser executadas pelo sistema ou por um ator (usuário).

 

atividades-2 UML: Tudo que você precisa saber sobre

 

Diagrama de Máquina de Estados

Representa um conjunto de estados que um objeto pode estar e os “gatilhos” que estimulam a transição do objeto de um estado para outro.

 

estados UML: Tudo que você precisa saber sobre

 

Diagrama de Componentes

Representa uma coleção de componentes de software e seus inter-relacionamentos.

 

componentes UML: Tudo que você precisa saber sobre

 

Diagrama de Pacotes

Representa uma coleção pacotes (normalmente de classes), bem como os seus relacionamentos entre si.

 

pacotes UML: Tudo que você precisa saber sobre

 

Atualmente existem várias ferramentas que podem ser usadas para modelar com a UML, uma das melhores que utilizei foi o Gliffy. O melhor dessa ferramenta é que ela é gratuita e fácil de aprender. Link: https://www.gliffy.com/

Referências

Livro “Desenvolvendo aplicações com UML 2.2: do conceito à implementação”, de Ana Cristina Melo.

http://www.omg.org/spec/UML/

https://www.profissionaisti.com.br/2011/07/os-principais-diagramas-da-uml-resumo-rapido/

 

UML: Tudo que você precisa saber sobre
5 (100%) 2 votes
The following two tabs change content below.
3c5068f12311ee0b6e33b29714ee0c6c?s=80&d=mm&r=g UML: Tudo que você precisa saber sobre

Douglas Cândido

Se formou como Técnico em Informática no Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte (IFRN). Estuda Sistemas de Informação na Universidade Federal da Paraíba (UFPB). A tecnologia foi desenvolvida com o objetivo de melhorar a vida da humanidade, portanto gostaria de ajudar a construir esse futuro.
3c5068f12311ee0b6e33b29714ee0c6c?s=80&d=mm&r=g UML: Tudo que você precisa saber sobre

Latest posts by Douglas Cândido (see all)