UML — Unified Modeling Language

Rodrigo Vieira
OperacionalTI
Published in
4 min readDec 6, 2015

--

Diagramas são frequentemente utilizados para auxiliar na comunicação e compreensão de uma ideia, seja um software, um modelo de negócios, ou qualquer outra ideia.

A UML ganhou importância devido a versatilidade em representar diversos tipos de ideias através de diversos tipos de diagramas.

A Linguagem de Modelagem Unificada é composta por uma família de notações gráficas e suas regras de criação que auxiliam na análise e no projeto de sistemas, sejam eles eletrônicos, financeiros ou de software — principalmente sistemas de software orientados a objetos.

Um dos principais motivos para a grande popularização da UML é que ela não está sob o domínio exclusivo de nenhuma empresa, mas de um consórcio aberto de empresas, o OMG — Open Management Group.

"A UML se tornou o padrão para modelagem gráfica de software." — Martin Fowler

Uma visão geral sobre os Diagramas

Quase sempre a modelagem orientada a objetos ocorre por meio de diagramas UML, esses diagramas são divididos em duas grandes categorias:

  1. Diagramas Estruturais: representam aspectos estáticos do sistema, isto é, estruturas que permanecem inalteradas por não levar o tempo em consideração na sua representação.
  2. Diagramas Comportamentais: representam aspectos dinâmicos do sistema e como os processos se relacionam com o passar do tempo. Os diagramas comportamentais possuem uma subcategoria, os Diagramas de Interação, que também levam em conta o relacionamento dinâmico entre os objetos do sistema e as trocas de mensagens entre eles.

A partir da UML 2.4 existem 14 diagramas organizados da seguinte maneira:

Cabe destacar que existem ferramentas CASE que permitem gerar código e até componentes completos a partir de diagramas UML. Além disso a UML é extensível, isto é, há mecanismos para você criar seus próprios elementos de diagrama, com significados derivados dos já existentes, porém mais restritos ou específicos. A UML também define a OCL — Object Constraint Language, uma linguagem imperativa/declarativa usada para implementar diagramas UML.

A arquitetura 4+1

Trata-se de uma abordagem que utiliza múltiplos pontos de vista onde cada um contém um conjunto de diagramas para melhor atender as necessidades dos envolvidos naquela visão. Por exemplo: um Engenheiro de Redes só está interessado nas configurações de hardware e rede de um sistema; um Gerente de Projetos nos componentes chave que serão desenvolvidos e suas timelines; o Desenvolvedor nas classes que integram um componente; o Testador nos casos de uso. Observe que cada um tem sua área de interesse.

Além disso o próprio sistema de software a ser projetado pode ser organizado da seguinte forma:

  • Elementos estruturais e interfaces que compõem o sistema.
  • Comportamento, representado pela colaboração entre os elementos estruturais.
  • Composição de elementos estruturais e comportamentais, dando origem a subsistemas.

Visão Lógica

Também conhecida como Visão de Projeto, se concentra nos aspectos funcionais em termos de elementos estruturais. Os principais diagramas utilizados nesse contexto são: Classes, Objetos, Pacotes, Estrutura Composta e Máquina de Estados.

Visão de Desenvolvimento

Também conhecida como Visão de Implementação, é a visão da arquitetura do sistema sob o ponto de vista do programador, apresentando a organização estática dos módulos que formam o software. Principais diagramas utilizados: Componentes.

Visão de Processo

Apresenta requisitos não-funcionais como desempenho, escalabilidade e rendimento. Principais diagramas: Sequência, Comunicação, Atividades, Tempo e Interação Geral.

Visão Física

Também conhecida como Visão de Implantação, é a visão da arquitetura do sistema sob o ponto de vista do engenheiro de sistemas, apresentando a topologia ou distribuição física dos componentes. Principais diagramas utilizados: Implantação e Componentes.

Visão de Casos de Uso

Ou Visão de Cenários, é a visão da arquitetura do sistema sob o ponto de vista de todos os usuários das outras visões e avaliadores, bem como o usuário final, apresentando a consistência e validade do sistema. Principais diagramas utilizados: Casos de Uso e em certos casos o de Atividade.

Podemos ver que a UML foi pensada para auxiliar diversos tipos de sistemas, em diversas áreas e em diferentes fases. Mas existem aqueles diagramas que são comuns a diferentes sistemas. Nos próximos artigos abordarei cada um dos quatorze tipos de diagrams UML, dando ênfase aqueles mais utilizados em sistemas de software orientado a objetos.

"Gostou? Clique em recomendar. Obrigado."

--

--