A Unified Modeling Language é uma linguagem de modelagem de uso geral padronizada e hoje em dia é gerenciada como um padrão industrial de fato pelo Object Management Group (OMG) . A UML inclui um conjunto de técnicas de notação gráfica para criar modelos visuais para sistemas com uso intensivo de software.
Na UML 2.2 existem 14 tipos de diagramas UML, que são divididos em duas categorias:
- 7 tipos de diagramas representam informações estruturais
- Outros 7 representam tipos gerais de diagramas UML para modelagem comportamental, incluindo quatro que representam diferentes aspectos das interações.
Esses diagramas podem ser categorizados hierarquicamente, conforme mostrado no seguinte mapa de diagrama UML:
Pergunta: UML é enorme e complexo?
UML é realmente um grande tópico. A UML fornece um grande volume de notações de diagramação agrupadas em 14 tipos diferentes de diagramas UML, cada um com diferentes modelos UML, atendendo a diferentes propósitos e abordando diferentes aspectos das necessidades de desenvolvimento.
- Cada diagrama UML dos 14 tipos de diagrama UML fornece um grande conjunto de construções e notações que cobrem diferentes necessidades para a maioria dos projetos de desenvolvimento de software.
- A especificação UML tem mais de 700 páginas e é claramente considerada muito complexa e tem um impacto negativo na percepção e adoção da UML.
- Normalmente, os usuários tendem a considerar e usar apenas uma parte de seus diagramas/construções de UML.
Resposta: Aprenda os diagramas e notações UML mais essenciais
Grady Booch, um dos mais importantes desenvolvedores de Unified Modeling Language, afirmou que “para 80% de todos os softwares, apenas 20% de UML são necessários”.
O que são os Estados da Pesquisa UML*?
Poderíamos interpretar os resultados da pesquisa UML assumindo que, se um diagrama for
- amplamente utilizado, se ≥ 60% das fontes
- pouco usado se for ≤ 40% das fontes
Neste artigo, apresento todos os 14 tipos de diagramas UML de acordo com a ordem de frequência de uso mencionada acima:
Por exemplo, o diagrama de classes é o mais usado, então será discutido primeiro nesta seção e assim por diante…
Diagrama de Classe
Na engenharia de software, um diagrama de classes na Unified Modeling Language (UML) é um tipo de diagrama de estrutura estática que descreve a estrutura de um sistema mostrando as classes do sistema, seus atributos, operações (ou métodos) e os relacionamentos entre objetos.
Objetivo dos Diagramas de Classes
- Mostra a estrutura estática dos classificadores em um sistema
- Diagrama fornece uma notação básica para outros diagramas de estrutura prescritos pela UML
- Útil para desenvolvedores e outros membros da equipe também
- Os analistas de negócios podem usar diagramas de classes para modelar sistemas de uma perspectiva de negócios
Um diagrama de classes UML é composto de:
- Um conjunto de classes e
- Um conjunto de relacionamentos entre classes
Diagrama de Classes — Exemplo de Ferramenta de Diagrama
Um diagrama de classes também pode ter notas anexadas a classes ou relacionamentos. As notas são mostradas em cinza.
No exemplo acima:
Podemos interpretar o significado do diagrama de classes acima lendo os pontos a seguir.
- Shape é uma classe abstrata. É mostrado em itálico.
- Forma é uma superclasse. Círculo, Retângulo e Polígono são derivados de Forma. Em outras palavras, um Círculo é uma Forma. Esta é uma relação de generalização/herança.
- Existe uma associação entre DialogBox e DataController.
- A forma faz parte da janela. Esta é uma relação de agregação. Shape pode existir sem Window.
- Ponto é parte do Círculo. Esta é uma relação de composição. Ponto não pode existir sem um Círculo.
- A janela depende do evento. No entanto, Event não depende de Window.
- Os atributos de Círculo são raio e centro. Esta é uma classe de entidade.
- Os nomes dos métodos de Circle são area(), circum(), setCenter() e setRadius().
- O parâmetro radius em Circle é um parâmetro in do tipo float.
- O método area() da classe Circle retorna um valor do tipo double.
- Os atributos e nomes de métodos de Rectangle estão ocultos. Algumas outras classes no diagrama também têm seus atributos e nomes de métodos ocultos.
O segundo tipo de diagrama mais popular em UML é o diagrama de atividades:
Diagrama de atividades
O diagrama de atividades é outro diagrama comportamental importante no diagrama UML para descrever aspectos dinâmicos do sistema. O diagrama de atividades é essencialmente uma versão avançada do fluxograma que modela o fluxo de uma atividade para outra.
Quando usar o diagrama de atividades
Os diagramas de atividades descrevem como as atividades são coordenadas para fornecer um serviço que pode estar em diferentes níveis de abstração. Normalmente, um evento precisa ser alcançado por algumas operações, particularmente quando a operação se destina a realizar várias coisas diferentes que exigem coordenação, ou como os eventos em um único caso de uso se relacionam entre si, em particular, casos de uso em que as atividades podem se sobrepor e exigir coordenação. Também é adequado para modelar como uma coleção de casos de uso se coordena para representar fluxos de trabalho de negócios
- Identifique casos de uso candidatos, por meio do exame de fluxos de trabalho de negócios
- Identificar pré e pós-condições (o contexto) para casos de uso
- Fluxos de trabalho de modelo entre/dentro de casos de uso
- Modele fluxos de trabalho complexos em operações em objetos
- Modele detalhadamente atividades complexas em um diagrama de atividades de alto nível
Diagrama de atividades – Aprenda por exemplos
Um diagrama de atividades básico – fluxograma como
Exemplo de Diagrama de Atividades – Ordem de Processo
Dada a descrição do problema relacionado ao fluxo de trabalho para o processamento de um pedido, vamos modelar a descrição em representação visual usando um diagrama de atividades:
Ordem de Processo – Descrição do Problema
Uma vez que o pedido é recebido, as atividades são divididas em dois conjuntos paralelos de atividades. Um lado preenche e envia o pedido enquanto o outro lida com o faturamento.
No lado do preenchimento do pedido, o método de entrega é decidido condicionalmente. Dependendo da condição, a atividade de Entrega noturna ou a atividade de Entrega regular é executada.
Finalmente, as atividades paralelas se combinam para fechar o pedido.
O exemplo de diagrama de atividades abaixo visualiza o fluxo em forma gráfica.
O terceiro tipo de diagrama UML mais utilizado é o Diagrama de Sequência:
Diagrama de sequência
Diagramas de Sequência UML são diagramas de interação que detalham como as operações são realizadas. Eles capturam a interação entre objetos no contexto de uma colaboração. Os Diagramas de Sequência são focados no tempo e mostram a ordem da interação visualmente usando o eixo vertical do diagrama para representar o tempo em que mensagens são enviadas e quando.
Exemplo de diagrama de sequência: sistema hoteleiro
O Diagrama de Sequência é um diagrama de interação que detalha como as operações são realizadas — quais mensagens são enviadas e quando. Os diagramas de sequência são organizados de acordo com o tempo. O tempo avança à medida que você desce a página. Os objetos envolvidos na operação são listados da esquerda para a direita de acordo com o momento em que participam da sequência de mensagens.
Abaixo está um diagrama de seqüência para fazer uma reserva de hotel. O objeto que inicia a sequência de mensagens é uma janela Reserva.
Observe que: Diagramas de classe e objeto são visualizações de modelo estático. Os diagramas de interação são dinâmicos. Eles descrevem como os objetos colaboram.
Os quatro tipos mais usados de diagrama UML (96%) são:
- Diagrama de casos de uso
- diagrama de máquina de estado
Diagrama de casos de uso
Um diagrama de caso de uso UML é a principal forma de requisitos de sistema/software para um novo programa de software subdesenvolvido. Os casos de uso especificam o comportamento esperado (o quê), e não o método exato de fazer isso acontecer (como).
Casos de uso, uma vez especificados, podem ser denotados por representação textual e visual (ou seja, diagrama de caso de uso). Um conceito chave da modelagem de casos de uso é que ela nos ajuda a projetar um sistema da perspectiva do usuário final. É uma técnica eficaz para comunicar o comportamento do sistema nos termos do usuário, especificando todo o comportamento do sistema visível externamente.
Resumo do Diagrama de Caso de Uso
Uma forma padrão de diagrama de caso de uso é definida na Unified Modeling Language, conforme mostrado no exemplo de diagrama de caso de uso abaixo:
Diagrama de Caso de Uso – Sistemas de Vendas de Veículos
A figura abaixo mostra um exemplo de diagrama de caso de uso para um sistema de veículo. Como você pode ver, mesmo um sistema tão grande quanto um sistema de vendas de veículos não contém mais de 10 casos de uso! Essa é a beleza da modelagem de casos de uso.
O modelo de caso de uso também mostra o uso de estender e incluir. Além disso, existem associações que conectam atores e casos de uso.
Diagrama de estado
O comportamento de uma entidade não é apenas uma consequência direta de suas entradas, mas também depende de seu estado anterior. A história passada de uma entidade pode ser melhor modelada por um diagrama de máquina de estado finito ou tradicionalmente chamado de autômato.
Os diagramas de máquina de estado UML (ou às vezes chamados de diagrama de estado, máquina de estado ou gráfico de estado) mostram os diferentes estados de uma entidade. Diagramas de máquina de estado também podem mostrar como uma entidade responde a vários eventos mudando de um estado para outro. O diagrama de máquina de estado é um diagrama UML usado para modelar a natureza dinâmica de um sistema.
Notação de diagrama de máquina de estado simples
Um estado simples é aquele que não tem subestrutura. Um estado que possui subestados (estados aninhados) é chamado de estado composto. Os subestados podem ser aninhados em qualquer nível. Uma máquina de estado aninhada pode ter no máximo um estado inicial e um estado final. Os subestados são usados para simplificar máquinas de estado plano complexas, mostrando que alguns estados só são possíveis dentro de um contexto específico (o estado envolvente).
Exemplo de Subestado – Aquecedor
Estados da história
A menos que especificado de outra forma, quando uma transição entra em um estado composto, a ação da máquina de estado aninhada recomeça no estado inicial (a menos que a transição tenha como alvo um subestado diretamente). Os estados do histórico permitem que a máquina de estado entre novamente no último subestado que estava ativo antes de sair do estado composto. Um exemplo de uso do estado do histórico é apresentado na figura abaixo.
O uso do Diagrama de Comunicação é de 82% de acordo com a pesquisa:
Diagrama de Comunicação
Os diagramas de comunicação UML , como os diagramas de sequência — uma espécie de diagrama de interação, mostram como os objetos interagem. Um diagrama de comunicação é uma extensão do diagrama de objetos que mostra os objetos junto com as mensagens que viajam de um para outro. Além das associações entre os objetos, o diagrama de comunicação mostra as mensagens que os objetos enviam uns aos outros.
Diagrama de comunicação em resumo
No exemplo da notação para um diagrama de comunicação, os objetos (atores em casos de uso) são representados por retângulos. No exemplo (diagrama de comunicação genérico):
- Os objetos são Objeto1, Objeto2, Objeto…, ObjetoN-1… e ObjetoN.
- As mensagens passadas entre objetos são representadas por setas rotuladas que começam com o objeto emissor (ator) e terminam com o objeto receptor.
- As mensagens de amostra passadas entre objetos são rotuladas 1: message1, 2: message2, 3: message3, etc., onde o prefixo numérico do nome da mensagem indica sua ordem na sequência.
- O Objeto1 primeiro envia ao Objeto2 a mensagem message1, o Objeto2, por sua vez, envia ao ObjetoN-1 a mensagem message2 e assim por diante.
- As mensagens que os objetos enviam para si mesmos são indicadas como loops (por exemplo, mensagem message5).
Diagrama de Comunicação vs Diagrama de Sequência
O diagrama de comunicação e o diagrama de seqüência são semelhantes. Eles são semanticamente equivalentes, ou seja, apresentam a mesma informação, e você pode transformar uma comunicação em um diagrama de sequência e vice-versa. A principal distinção entre eles é que o diagrama de comunicação organizou os elementos de acordo com o espaço, o diagrama de sequência está de acordo com o tempo.
Dos dois tipos de diagramas de interação, os diagramas de sequência parecem ser muito mais usados do que os diagramas de comunicação. Então, por que você usaria diagramas de comunicação? Em primeiro lugar, eles são muito úteis para visualizar a relação entre objetos que colaboram para realizar uma determinada tarefa. Isso é difícil de determinar a partir de um diagrama de seqüência. Além disso, os diagramas de comunicação também podem ajudá-lo a determinar a precisão do seu modelo estático (ou seja, diagramas de classes).
Os usos do diagrama de componentes e do diagrama de implantação são de 80%:
Diagrama de componentes
Os diagramas de componentes UML são usados na modelagem dos aspectos físicos de sistemas orientados a objetos que são usados para visualizar, especificar e documentar sistemas baseados em componentes e também para construir sistemas executáveis por meio de engenharia direta e reversa.
Os diagramas de componentes são essencialmente diagramas de classes que se concentram nos componentes de um sistema que geralmente são usados para modelar a visão de implementação estática de um sistema.
Diagrama de componentes em resumo
Um diagrama de componentes divide o sistema real em desenvolvimento em vários altos níveis de funcionalidade. Cada componente é responsável por um objetivo claro em todo o sistema e só interage com outros elementos essenciais quando necessário.
Diagrama de implantação
Um diagrama de implantação UML é um diagrama que mostra a configuração de nós de processamento de tempo de execução e os componentes que residem neles. Diagramas de implantação é um tipo de diagrama de estrutura usado na modelagem dos aspectos físicos de um sistema orientado a objetos. Eles geralmente são usados para modelar a visão de implantação estática de um sistema (topologia do hardware).
Diagrama de implantação em resumo
Os diagramas de implantação são importantes para visualizar, especificar e documentar sistemas integrados, cliente/servidor e distribuídos e também para gerenciar sistemas executáveis por meio de engenharia direta e reversa.
Um diagrama de implantação é apenas um tipo especial de diagrama de classes, que se concentra nos nós de um sistema. Graficamente, um diagrama de implantação é uma coleção de vértices e arcos. Os diagramas de implantação geralmente contêm:
Nós
- A caixa 3D representa um nó, seja software ou hardware
- O nó HW pode ser representado com <<estereótipo>>
- As conexões entre os nós são representadas com uma linha, com o opcional <<stereotype>>
- Os nós podem residir dentro de um nó
Outras notações
- Dependência
- Relações de associação.
- Também pode conter notas e restrições.
O uso do diagrama de objetos UML é de 71% de acordo com a pesquisa:
Diagrama de objeto
Object é uma instância de um determinado momento em tempo de execução, incluindo objetos e valores de dados. Um diagrama de objetos UML estático é uma instância de um diagrama de classes ; ele mostra um instantâneo do estado detalhado de um sistema em um ponto no tempo, portanto, um diagrama de objetos engloba objetos e seus relacionamentos em um ponto no tempo.
Visão geral do diagrama de objetos
Um diagrama de objetos mostra essa relação entre as classes instanciadas e a classe definida, e a relação entre esses objetos no sistema. Eles são úteis para explicar partes menores do seu sistema, quando o diagrama de classes do sistema é muito complexo, e também, algumas vezes, para modelar relacionamentos recursivos no diagrama.
A melhor maneira de ilustrar a aparência de um diagrama de objetos é mostrar o diagrama de objetos derivado do diagrama de classes correspondente.
O seguinte Sistema de Gerenciamento de Pedidos mostra seus relacionamentos. Este pequeno diagrama de classes mostra que um departamento universitário pode conter muitos outros departamentos e o diagrama de objetos abaixo instancia o diagrama de classes, substituindo-o por um exemplo concreto.
Exemplo de diagrama de classe para objeto — Sistema de pedidos
O uso do diagrama de pacotes é de 70%:
Diagrama de pacote
Diagrama de pacote, uma espécie de diagrama estrutural, mostra a disposição e organização dos elementos do modelo em projetos de médio a grande porte. O diagrama de pacote pode mostrar tanto a estrutura quanto as dependências entre subsistemas ou módulos, mostrando diferentes visões de um sistema, por exemplo, como aplicativo multicamada (também conhecido como multicamada) — modelo de aplicativo multicamada.
Resumo do Diagrama de Pacotes
Diagrama de pacote é usado para simplificar diagramas de classe complexos, você pode agrupar classes em pacotes. Um pacote é uma coleção de elementos UML logicamente relacionados.
O diagrama abaixo é um modelo de negócio no qual as classes são agrupadas em pacotes:
- Os pacotes aparecem como retângulos com pequenas abas na parte superior.
- O nome do pacote está na guia ou dentro do retângulo.
- As setas pontilhadas são dependências.
- Um pacote depende de outro se as alterações no outro podem forçar alterações no primeiro.
O uso do diagrama de estrutura composta é de 52%:
Diagrama de estrutura composta
O diagrama de estrutura composta é um dos novos artefatos adicionados à UML 2.0. Um diagrama de estrutura composta é um diagrama estrutural UML que contém classes, interfaces, pacotes e seus relacionamentos e que fornece uma visão lógica de todo ou parte de um sistema de software. Ele mostra a estrutura interna (incluindo partes e conectores) de um classificador estruturado ou colaboração.
Um diagrama de estrutura composta desempenha uma função semelhante a um diagrama de classes, mas permite que você entre em mais detalhes na descrição da estrutura interna de várias classes e na exibição das interações entre elas. Você pode representar graficamente classes e partes internas e mostrar associações entre e dentro de classes.
Visão geral do diagrama de estrutura composta
- Os diagramas de estrutura composta mostram as partes internas de uma classe.
- As partes são nomeadas: partName:partType[multiplicidade]
- Classes agregadas são partes de uma classe, mas partes não são necessariamente classes, uma parte é qualquer elemento que é usado para compor a classe que as contém.
O diagrama de tempo tem apenas 40% de uso e raramente é usado por usuários comuns
Diagrama de temporização
Diagramas de tempo são diagramas de interação UML usados para mostrar interações quando um objetivo principal do diagrama é raciocinar sobre o tempo. Eles se concentram em condições que mudam dentro e entre linhas de vida ao longo de um eixo de tempo linear. Os diagramas de tempo descrevem o comportamento dos classificadores individuais e as interações dos classificadores, focando a atenção no tempo de ocorrência dos eventos que causam mudanças nas condições modeladas das Linhas de Vida.
Diagrama de tempo em resumo
Representação da linha do tempo do estado
As mudanças de um estado para outro são representadas por uma mudança no nível da linha de vida . Para o período de tempo em que o objeto está em um determinado estado, a linha do tempo é paralela a esse estado. Uma mudança de estado aparece como uma mudança vertical de um nível para outro. A causa da mudança, como é o caso de um diagrama de estado ou de seqüência, é o recebimento de uma mensagem, um evento que causa uma mudança, uma condição dentro do sistema, ou mesmo apenas a passagem do tempo.
Representação da linha de vida do valor
A figura abaixo mostra uma notação alternativa do diagrama de tempo UML. Mostra o estado do objeto entre duas linhas horizontais que se cruzam cada vez que o estado muda.
O diagrama de visão geral interativo é um novo diagrama adicionado na UML 2.0:
Diagrama de visão geral interativo
Os diagramas de visão geral da interação UML fornecem um alto nível de abstração de um modelo de interação. É uma variante do Diagrama de Atividades onde os nós são as interações ou ocorrências de interação.
O Diagrama de Visão Geral de Interação concentra-se na visão geral do fluxo de controle das interações que também pode mostrar o fluxo de atividade entre os diagramas. Em outras palavras, você pode vincular os diagramas “reais” e obter navegabilidade de alto grau entre diagramas dentro de um Diagrama de Visão Geral de Interação.
Resumo do diagrama de visão geral da interação
O diagrama de visão geral da interação é um dos quatorze tipos de diagramas da Unified Modeling Language (UML), que pode representar um fluxo de controle com nós que podem conter diagramas de interação que mostram como um conjunto de fragmentos pode ser iniciado em vários cenários. Diagramas de visão geral de interação focam na visão geral do fluxo de controle onde os nós são interações (sd) ou uso de interação (ref).
Os outros elementos de notação para diagramas de visão geral de interação são os mesmos para diagramas de atividade e sequência. Estes incluem nós inicial, final, decisão, mesclagem, bifurcação e junção.
O diagrama UML de menor uso é o Diagrama de Perfil, obteve apenas 11%:
Diagrama de perfil
Como uma linguagem de modelagem de propósito geral, a UML fornece uma base estável para uma ampla variedade de requisitos. Não é definido para domínios de aplicação específicos ou para qualquer tecnologia específica. No entanto, em algumas circunstâncias, a UML é muito geral e seu uso envolve um esforço considerável. Nesses casos, é vantajoso o uso de uma linguagem otimizada para determinado domínio e, portanto, oferecendo conceitos especiais.
O diagrama de perfil, um tipo de diagrama estrutural na Unified Modeling Language (UML), fornece um mecanismo de extensão genérico para personalizar modelos UML para domínios e plataformas específicos. Mecanismos de extensão permitem refinar a semântica padrão de maneira estritamente aditiva, evitando que eles contradigam a semântica padrão. Os perfis são definidos usando estereótipos , definições de valor marcado e restrições que são aplicadas a elementos de modelo específicos, como Classes, Atributos, Operações e Atividades. Um perfil é uma coleção dessas extensões que personalizam coletivamente a UML para um domínio específico (por exemplo, aeroespacial, saúde, financeiro) ou plataforma (J2EE, .NET).
Exemplo de diagrama de perfil – Gerenciamento de TI
Um perfil é aplicado a outro pacote para tornar os estereótipos no perfil disponíveis para esse pacote. A ilustração abaixo mostra os perfis de Rede, Telecomunicações e Software sendo aplicados ao pacote ITManagement.
Procurando por Ferramenta de Design de Software Online Grátis?
Aqui está o repositório Visual Paradigm Online para exemplos de design de software, é:
- Gratuito (finalidade pessoal e não comercial)
- Online (zero instalação e configuração)
- Suporte ao Google Drive e armazenamento em nuvem gratuito
- Muitos exemplos
- Use-o a qualquer hora e em qualquer lugar! só precisa de um navegador da web