Diagramas de interação, colaboração e sequência com exemplos

O que é diagrama de interação?

Diagrama de interação são usados ​​​​em UML para estabelecer comunicação entre objetos. Ele não manipula os dados associados ao caminho de comunicação específico. Os diagramas de interação concentram-se principalmente na passagem de mensagens e em como essas mensagens constituem uma funcionalidade de um sistema. Os diagramas de interação são projetados para mostrar como os objetos atenderão aos requisitos específicos de um sistema. O componente crítico em um diagrama de interação é a linha de vida e as mensagens.

Vários elementos UML normalmente possuem diagramas de interação. O details de interação pode ser mostrada usando diversas notações, como diagrama de sequência, diagrama de temporização, diagrama de comunicação/colaboração. Os diagramas de interação capturam o comportamento dinâmico de qualquer sistema.

Diagrama de interação
Notação de um diagrama de interação

Following são os diferentes tipos de diagramas de interação definidos em UML:

  • Diagrama de sequência
  • Diagrama de colaboração
  • Diagrama de tempo

O propósito de um diagrama de sequência em Diagrama UML é visualizar a sequência de um fluxo de mensagens no sistema. O Diagrama de Sequência em Engenharia de Software mostra a interação entre duas linhas de vida como uma sequência de eventos ordenada no tempo.

O Diagrama de Colaboração em UML também é chamado de diagrama de comunicação. O propósito de um diagrama de colaboração é enfatizar os aspectos estruturais de um sistema, ou seja, como as diversas linhas de vida do sistema se conectam.

Os diagramas de tempo concentram-se na instância em que uma mensagem é enviada de um objeto para outro.

Objetivo de um diagrama de interação

Os diagramas de interação ajudam você a visualizar o comportamento interativo de um sistema. Diagramas de interação são usados ​​para representar como um ou mais objetos no sistema se conectam e se comunicam entre si.

Os diagramas de interação concentram-se no comportamento dinâmico de um sistema. Um diagrama de interação nos fornece o contexto de uma interação entre uma ou mais linhas de vida no sistema.

In UML, os diagramas de interação são usados ​​para o seguintewing fins:

  • Diagramas de interação são usados ​​para observar o comportamento dinâmico de um sistema.
  • O diagrama de interação visualiza a comunicação e a sequência de passagem de mensagens no sistema.
  • O diagrama de modelagem de interação representa os aspectos estruturais de vários objetos no sistema.
  • O diagrama de interação representa a sequência ordenada de interações dentro de um sistema.
  • O diagrama de interação fornece o meio de visualizar os dados em tempo real via UML.
  • Diagramas de interação UML podem ser usados ​​para explicar o archiarquitetura de um sistema orientado a objetos ou distribuído.

Terminologia importante

Um diagrama de interação contém linhas de vida, mensagens, operadores, invariantes de estado e restrições.

Lifeline

Uma linha de vida representa um único participante em uma interação. Descreve como uma instância de um classificador específico participa da interação.

Uma linha de vida representa um papel que uma instância do classificador pode desempenhar na interação. Sigawing são vários atributos de uma tábua de salvação,

  1. Nome
    1. É usado para referir a linha de vida dentro de uma interação específica.
    2. O nome de uma tábua de salvação é opcional.
  2. Formato
    1. É o nome de um classificador do qual a linha de vida representa uma instância.
  3. Seletor
    1. É uma condição booleana usada para selecionar uma instância específica que satisfaça o requisito.
    2. O atributo seletor também é opcional.

A notação da linha de vida é explicada na seção de notação.

Mensagens

Uma mensagem é um tipo específico de comunicação entre duas linhas vitais em uma interação. Uma mensagem envolve seguirwing actividades,

  1. Uma mensagem de chamada usada para chamar uma operação.
  2. Uma mensagem para criar uma instância.
  3. Uma mensagem para destruir uma instância.
  4. Para enviar um sinal.

Quando uma linha de vida recebe uma mensagem de chamada, ela atua como uma solicitação para invocar uma operação que tenha uma assinatura semelhante à especificada na mensagem. Quando uma linha de vida está executando uma mensagem, ela tem um foco de controle. À medida que a interação progride ao longo do tempo, o foco do controle se move entre várias linhas de vida. Esse movimento é chamado de fluxo de controle.

Following são as mensagens usadas em um diagrama de interação do sistema:

Nome da mensagem Significado
Syncmensagem cronosa O remetente de uma mensagem fica esperando que o destinatário retorne o controle da execução da mensagem.
Asyncmensagem cronosa O remetente não espera o retorno do destinatário; em vez disso, continua a execução de uma próxima mensagem.
Mensagem de retorno O receptor de uma mensagem anterior retorna o foco de controle ao remetente.
Criação de objetos O remetente cria uma instância de um classificador.
destruição de objetos O remetente destrói a instância criada.
Mensagem encontrada O remetente da mensagem está fora do escopo da interação.
Mensagem perdida A mensagem nunca chega ao destino e se perde na interação.

Invariantes e restrições de estado

Quando uma instância ou linha de vida recebe uma mensagem, isso pode fazer com que seu estado seja alterado. Um estado é uma condição ou situação durante a vida de um objeto na qual ele satisfaz alguma restrição, executa algumas operações e espera por algum evento.

No diagrama de interação, nem todas as mensagens alteram o estado de uma instância. Algumas mensagens não possuem os valores de alguns atributos. Não tem efeitos colaterais no estado de um objeto.

operador

Um operador especifica uma operação sobre como os operandos serão executados. Os operadores em UML suportam operações em dados na forma de ramificação e também de iteração. Vários operadores podem ser usados ​​para garantir o uso de iteração e ramificação no modelo UML. Os operadores opt e alt são usados ​​para operações de ramificação. O operador loop é usado para garantir as operações de iteração nas quais uma condição é executada repetidamente até que o resultado satisfatório seja produzido. O operador Break é usado dentro das operações de loop ou iteração. Ele garante que o loop seja encerrado sempre que um operador break for encontrado. Se uma condição de interrupção não for especificada, o loop será executado um número infinito de vezes, o que resultará na falha do programa.

Following são os operadores usados ​​em um diagrama de interação:

operador Nome Significado
Opte Opção Um operando é executado se a condição for verdadeira.
por exemplo, se mais
outro Alternative O operando cuja condição é verdadeira é executado.
por exemplo, mudar
laço laço É usado para repetir uma instrução por um período especificado.
Break Break Ele interrompe o loop se uma condição for verdadeira ou falsa e a próxima instrução é executada.
Ref Referência É usado para se referir a outra interação.
por Paralelo Todos os operandos são executados em paralelo.

Iteração

Em um diagrama de interação, também podemos mostrar a iteração usando uma expressão de iteração. Uma expressão de iteração consiste em um especificador de iteração e uma cláusula de iteração opcional. Não há sintaxe pré-especificada para iteração UML.

Na iteração para mostrar que as mensagens estão sendo enviadas em paralelo, é usado o especificador de iteração paralela. Um especificador de iteração paralela é denotado por *//. A iteração em UML é obtida usando o operador loop.

Ramificação

Em um diagrama de interação, podemos representar ramificações adicionando condições de guarda às mensagens. As condições de guarda são usadas para verificar se uma mensagem pode ser enviada ou não. Uma mensagem é enviada somente quando sua condição de guarda é verdadeira. Uma mensagem pode ter diversas condições de proteção ou diversas mensagens podem ter a mesma condição de proteção. A ramificação em UML é obtida com a ajuda dos operadores alt e opt.

Estas são algumas das mais importante terminologias usadas no diagrama de interação UML.

Tipos de diagrama de interação e notações

Following são os diferentes tipos de diagramas de interação definidos em UML:

  • Diagrama de sequência
  • Diagrama de colaboração
  • Diagrama de tempo

A notação básica de interação é um retângulo com um pentágono no canto superior esquerdo de um retângulo box.

O que é um diagrama de sequência?

A Diagrama de sequência simplesmente descreve a interação entre objetos em uma ordem sequencial. O propósito de um diagrama de sequência em UML é visualizar a sequência de um fluxo de mensagens no sistema. O diagrama de sequência mostra a interação entre duas linhas de vida como uma sequência de eventos ordenada no tempo.

  • Um diagrama de sequência mostra a implementação de um cenário no sistema. As linhas de vida no sistema participam durante a execução de um sistema.
  • Num diagrama de sequência, uma linha de vida é representada por uma barra vertical.
  • Um fluxo de mensagens entre dois ou mais objetos é representado por uma linha pontilhada vertical que se estende pela parte inferior da página.
  • Em um diagrama de seqüência, são usados ​​diferentes tipos de mensagens e operadores descritos acima.
  • Em um diagrama de sequência, iteração e ramificação também são usadas.
Diagrama de sequência
Notações no Diagrama de Sequência

O diagrama de sequência acima contém notações de linha de vida e notações de várias mensagens usadas em um diagrama de sequência, como criar, responder,syncmensagem cronosa, etc.

Exemplo de diagrama de sequência

O seguintewing exemplo de diagrama de sequência representa o sistema de pedidos do McDonald's:

Diagrama de sequência
Diagrama de sequência do sistema de pedidos do Mcdonald's

A sequência ordenada de eventos em um determinado diagrama de sequência é a seguinte:

  1. Fazer um pedido.
  2. Pague dinheiro no caixa.
  3. Confirmação do pedido.
  4. Preparação de pedidos.
  5. Serviço de pedido.

Se alguém alterar a ordem das operações, isso poderá resultar no travamento do programa. Também pode levar à geração de resultados incorretos ou com erros. Cada sequência no diagrama de sequência fornecido acima é denotada por um tipo diferente de mensagem. Não se pode usar o mesmo tipo de mensagem para denotar todas as interações no diagrama porque isso cria complicações no sistema.

Você deve ter cuidado ao selecionar a notação de uma mensagem para qualquer interação específica. A notação deve corresponder à sequência específica dentro do diagrama.

Benefícios de um diagrama de sequência

  • Os diagramas de sequência são usados ​​para explorar qualquer aplicação ou sistema real.
  • Diagramas de sequência são usados ​​para representar o fluxo de mensagens de um objeto para outro.
  • Os diagramas de sequência são mais fáceis de manter.
  • Os diagramas de sequência são mais fáceis de gerar.
  • Os diagramas de sequência podem ser facilmente atualizados de acordo com as alterações dentro de um sistema.
  • O diagrama de sequência permite engenharia reversa e direta.

Desvantagens de um diagrama de sequência

  • Os diagramas de sequência podem se tornar comunsplex quando muitas linhas de vida estão envolvidas no sistema.
  • Se a ordem da sequência de mensagens for alterada, serão produzidos resultados incorretos.
  • Cada sequência precisa ser representada usando uma notação de mensagem diferente, o que pode ser um pouco complicado.plex.
  • O tipo de mensagem decide o tipo de sequência dentro do diagrama.

O que é o Diagrama de Colaboração?

Diagrama de Colaboração descreve os relacionamentos e interações entre objetos de software. Eles são usados ​​​​para entender o objeto archiestrutura dentro de um sistema, em vez do fluxo de uma mensagem, como em um diagrama de sequência. Eles também são conhecidos como “Diagramas de Comunicação”.

De acordo com a Programação Orientada a Objetos (OOPs), uma entidade de objeto possui vários atributos associados a ela. Normalmente, existem vários objetos presentes dentro de um sistema orientado a objetos, onde cada objeto pode ser associado a qualquer outro objeto dentro do sistema. Diagramas de Colaboração são usados ​​para explorar o archiarquitetura de objetos dentro do sistema. O fluxo de mensagens entre os objetos pode ser representado por meio de um diagrama de colaboração.

Benefícios do Diagrama de Colaboração

  • Também é chamado de diagrama de comunicação.
  • Ele enfatiza os aspectos estruturais de um diagrama de interação – como a linha de vida se conecta.
  • Sua sintaxe é semelhante à do diagrama de sequência, exceto que a linha de vida não possui tails.
  • As mensagens passadas pelo sequenciamento são indicadas pela numeração de cada hierarquia de mensagensarchinormalmente.
  • Comparado ao diagrama de sequência, o diagrama de comunicação é semanticamente fraco.
  • Os diagramas de objetos são um caso especial de diagrama de comunicação.
  • Ele permite que você se concentre nos elementos em vez de focar no fluxo de mensagens conforme descrito no diagrama de sequência.
  • Os diagramas de sequência podem ser facilmente convertidos em diagramas de colaboração, pois os diagramas de colaboração não são muito expressivos.
  • Ao modelar diagramas de colaboração em diagramas de sequência, algumas informações podem ser perdidas.

Notações do Diagrama de Colaboração
Notações do Diagrama de Colaboração

A notação do diagrama de colaboração acima contém linhas de vida junto com conectores, auto-loops, mensagens diretas e reversas usadas em um diagrama de colaboração.

Desvantagens de um diagrama de colaboração

  • Diagramas de colaboração podem se tornar comunsplex quando muitos objetos estão presentes no sistema.
  • É difícil explorar cada objeto dentro do sistema.
  • Os diagramas de colaboração são demorados.
  • O objeto é destruído após o encerramento de um programa.
  • O estado de um objeto muda momentaneamente, o que torna difícil acompanhar cada mudança que ocorre dentro de um objeto de um sistema.

Exemplo de diagrama de colaboração

Following O diagrama representa o sequenciamento do sistema de gerenciamento de alunos:

Diagrama de Colaboração

Diagrama de colaboração para sistema de gerenciamento de alunos

O diagrama de colaboração acima representa um sistema de gerenciamento de informações dos alunos. O fluxo de comunicação no diagrama acima é dado por,

  1. Um aluno solicita um login através do sistema de login.
  2. Um mecanismo de autenticação de software verifica a solicitação.
  3. Se existir uma entrada de aluno no banco de dados, o acesso é permitido; outrowise, um erro é retornado.

O que é diagrama de tempo?

Diagrama de temporização é uma forma de onda ou gráfico usado para descrever o estado de uma linha de vida em qualquer momento. É usado para denotar a transformação de um objeto de uma forma para outra. O diagrama de tempo não contém as notações exigidas no diagrama de sequência e colaboração. O fluxo entre o programa de software em vários momentos é representado por meio de uma forma de onda.

  • É uma representação adequada de interações que se concentra nos tempos específicos das mensagens enviadas entre vários objetos.
  • Os diagramas de tempo são usados ​​para explicar o processamento detalhado do tempo de um objeto específico.
  • Diagramas de tempo são usados ​​para explicar como um objeto muda durante sua vida útil.
  • Os diagramas de temporização são usados ​​principalmente com sistemas distribuídos e embarcados.
  • Na UML, os diagramas de tempo são lidos da esquerda para a direita de acordo com o nome de uma linha de vida especificada na borda esquerda.
  • Os diagramas de tempo são usados ​​para representar várias mudanças que ocorrem em uma linha de vida de tempos em tempos.
  • Os diagramas de tempo são usados ​​para exibir uma representação gráfica de vários estados de uma linha de vida por unidade de tempo.
  • A UML fornece várias notações para simplificar o estado de transição entre duas linhas de vida por unidade de tempo.

Exemplo de diagrama de tempo

O diagrama de tempo fornecido abaixo representa algumas fases de um ciclo de vida de desenvolvimento de software.

Diagrama de temporização

Exemplo de diagrama de tempo

No diagrama acima, primeiro, o software passa pela fase de requisitos, depois pelo design e later a fase de desenvolvimento. A saída da fase anterior naquele determinado momento é dada à segunda fase como entrada. Assim, o diagrama de tempo pode ser usado para descrever SDLC (Ciclo de Vida de Desenvolvimento de Software) em UML.

Benefícios de um diagrama de tempo

  • Os diagramas de tempo são usados ​​para representar o estado de um objeto em uma determinada instância de tempo.
  • O diagrama de temporização permite engenharia reversa e direta.
  • O diagrama de tempo pode ser usado para acompanhar cada mudança dentro do sistema.

Desvantagens de um diagrama de tempo

  • Os diagramas de tempo são difíceis de entender.
  • Os diagramas de tempo são difíceis de manter.

Como desenhar um diagrama de interação?

Diagramas de interação são usados ​​para representar o comportamento interativo de um sistema. Os diagramas de interação concentram-se no comportamento dinâmico de um sistema. Um diagrama de interação nos fornece o contexto de uma interação entre uma ou mais linhas de vida no sistema.

Para desenhar um diagrama de interação, primeiro você precisa determinar o cenário para o qual deseja desenhar um diagrama de interação. Depois de decidir a situação, identifique as várias linhas de vida que estarão envolvidas na interação. Categorize todos os elementos da linha de vida e explore-os para identificar possíveis conexões e como as linhas de vida estão relacionadas entre si. Para desenhar um diagrama de interação, sigawing coisas são necessárias:

  1. O número total de linhas de vida que farão parte de uma interação
  2. é uma sequência de fluxo de mensagens dentro de vários objetos de um sistema.
  3. Vários operadores para facilitar a funcionalidade de um diagrama de interação.
  4. Vários tipos de mensagens para mostrar a interação de forma mais clara e precisa.
  5. A sequência ordenada de mensagens.
  6. Organização e estrutura de um objeto.
  7. Várias construções temporais de um objeto.

Uso de um diagrama de interação

Os diagramas de interação consistem em um diagrama de sequência, diagrama de colaboração e diagramas de tempo. Sigawing é o propósito específico de um diagrama de interação:

  • Os diagramas de sequência são usados ​​para explorar qualquer aplicação ou sistema real.
  • Os diagramas de interação são usados ​​para explorar e comparar o uso de diagramas de sequência, colaborações e tempo.
  • Diagramas de interação são usados ​​para capturar o comportamento de um sistema. Ele exibe a estrutura dinâmica de um sistema.
  • Diagramas de sequência são usados ​​para representar o fluxo de mensagens de um objeto para outro.
  • Diagramas de colaboração são usados ​​para entender o objeto archiestrutura de um sistema em vez do fluxo de mensagens.
  • Diagramas de interação são usados ​​para modelar um sistema como uma sequência de eventos ordenada no tempo.
  • Diagramas de interação são usados ​​tanto na engenharia reversa quanto na engenharia direta.
  • Os diagramas de interação são usados ​​para organizar a estrutura dos elementos interativos.

Resumo

  • As interações são simplesmente unidades do comportamento de um classificador.
  • Os elementos críticos em um diagrama de interação são a linha de vida e as mensagens.
  • Os diagramas de interação concentram-se principalmente na passagem de mensagens.
  • Os diagramas de interação capturam o comportamento dinâmico de qualquer sistema.
  • O diagrama de interação contém diagrama de sequência, diagrama de tempo, diagrama de comunicação/colaboração.
  • O diagrama de sequência UML serve para visualizar a sequência de um fluxo de mensagens no sistema.
  • O objetivo de um diagrama de colaboração é enfatizar aspectos estruturais.
  • Os diagramas de tempo concentram-se na instância em que uma mensagem é enviada de um objeto para outro.