Resumo sobre UML
Tags: uml, braziliandevs, draft
Published: 2022-05-20 01:18:06


**UML - Unified Modeling Language**

   UML é em sua essência uma linguagem de propósito geral, usada majoritariamente com o intuito de prover à modelagem de software um modelo visual semanticamente e sintaticamente rico para a arquitetura, design e implementação de sistemas complexos tanto em estrutura como em comportamento.
Seu pontapé foi em 1994 num esforço para unificar métodos de duas empresas. Em 2000 a organização OMG (Object Management Group) junto com outras empresas internacionais aprovou a UML como um padrão para o desenvolvimento em paradigmas de Orientação a Objetos.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xhsrv2mqfggyewrwfn4o.png)

**Tipos de Diagramas de UML**

   Para desenvolver a representação gráfica de softwares, precisamos representar tanto as estruturas quanto o comportamento dos objetos pertencentes.
Os diagramas de estrutura irão representar a visão estática do sistema, sendo sua estrutura "main". Essa estrutura principal é composta por classes, objetos, interfaces, componentes e nós. Dentre a lista dos diagramas de estrutura, existem algumas que são mais comuns, são elas:

1. Diagramas de classe - Representam a visão orientada a objeto do sistema, estática por natureza. Composta por classes, interfaces, associações e colaboração.

2. Diagramas de componente - Representam como cada componente age durante a execução do sistema, mostram também os módulos de código presentes, geralmente usados na modelagem de "sub sistemas" em sistemas mais complexos.

3. Diagrama de objeto - Mostra uma visão completa ou parcial de uma estrutura do sistema em um momento específico. Similar ao diagrama de classe exceto que demonstra a instância das classes no sistema, retratando o comportamento do objeto.

4. Diagrama de implementação - Retratam os aspectos físicos do sistema, nos mostram quais os componentes de hardware existem e qual software está executando nele. Muito usados em sistemas embarcados.

   Já os diagramas de comportamento são usados para visualizar, especificar ou capturar os aspectos dinâmicos do sistema, retratando o mesmo enquanto está sendo executado ou operado. Os mais comuns de uso são:

1. Diagrama de casos de uso - Descreve a sequência de ações para que o sistema traga resultados visíveis. Mostra a interação com o usuário per si. Em suma é constituído de atores e casos de uso.

2. Diagrama de sequência - Representa a interação entre objetos em uma determinada ordem, ou seja, na ordem que acontecem no sistema. Também chamados de diagramas de evento ou cenários.

3. Diagrama de estado de transição - Modela o comportamento dinâmico de uma classe visto uma mudança externa, representando a condição do sistema ou de parte dele em um momento finito do tempo.

4. Diagrama de atividade - Demonstram as interconexões entre as atividades e as ações do sistema, como uma versão mais complexa de um fluxograma.

   Ainda sobre UML, Grady Booch recentemente comentou que usa a linguagem e que é possível demonstrar 80% do design de um projeto usando apenas 20% de UML, sendo ainda uma forma consistente de comunicação visual, essa é a mesma opinião de Ivar Jacobson, ambos criadores declaram que UML não é a bala de prata como foi anunciada 20 anos atrás, mas obviamente não é ruim como alguns acadêmicos e agilistas comentam.