O que é o Diagrama de Sequência

Ambos diagramas de sequência e diagramas de colaboração são tipos de diagramas de interação. Os diagramas de interação abordam a visão dinâmica de um sistema. Um diagrama de sequência é um diagrama de interação que enfatiza a ordem temporal das mensagens. Ele representa os objetos e classes envolvidos no cenário e a sequência de mensagens trocadas entre os objetos necessárias para realizar a funcionalidade do cenário. Normalmente, você usará um diagrama de sequência para especificar o fluxo principal de um caso de uso, e variações desse diagrama para especificar os fluxos excepcionais de um caso de uso.
Sequence Diagram, UML Diagrams Example: Break Communication Fragment - Visual Paradigm Community Circle

Os Componentes do Diagrama de Sequência

Objeto

No UML, um objeto em um diagrama de sequência é representado por um retângulo contendo o nome do objeto, sublinhado. Um objeto pode ser nomeado de uma das três maneiras: o nome do objeto, o nome do objeto e sua classe, ou apenas o nome da classe (objeto anônimo). As três formas de nomear um objeto são mostradas na figura abaixo.

Linha de vida

As entidades dos participantes em uma colaboração (cenário) são escritas horizontalmente no topo do diagrama. Uma linha de vida é representada por uma linha vertical tracejada desenhada abaixo de cada objeto. Elas indicam a existência do objeto.

Lifelines

Os nomes dos objetos podem ser específicos (por exemplo, myAccount) ou podem ser gerais (por exemplo, myAccount :Account). Muitas vezes, um objeto anônimo (:Account) pode ser usado para representar qualquer objeto na classe. Cada objeto também tem seu tempo representado por uma linha tracejada abaixo do objeto. As mensagens entre objetos são representadas por setas que apontam do objeto remetente para o objeto receptor.

Tudo em um sistema orientado a objetos é realizado por objetos. Os objetos assumem a responsabilidade por coisas como gerenciar dados, mover dados pelo sistema, responder a consultas e proteger o sistema. Os objetos trabalham juntos por meio da comunicação ou interação uns com os outros.

Mensagem

As mensagens representam a invocação de operações e são mostradas horizontalmente. Elas são desenhadas do remetente para o destinatário. A ordem é indicada pela posição vertical, com a primeira mensagem mostrada no topo do diagrama e a última mensagem mostrada na parte inferior. Como resultado, os números de sequência são opcionais.

O tipo de linha e o tipo de ponta da seta indicam o tipo de mensagem sendo usada:

  1. Um mensagem síncrona (normalmente uma chamada de operação) é mostrado como uma linha sólida com uma ponta de seta preenchida. É uma chamada de mensagem regular usada para comunicação normal entre remetente e destinatário.
    Lifelines with synchronous message
  2. Um mensagem de retornousa uma linha tracejada com uma ponta de seta aberta.
    Lifelines with return message
  3. Uma mensagem assíncronatem uma linha sólida com uma ponta de seta aberta. Um sinal é uma mensagem assíncrona que não tem resposta.
    Lifelines with asynchronous

Mensagens de Criação e Destrução

Os participantes não necessariamente vivem durante toda a duração da interação de um diagrama de sequência. Os participantes podem ser criados e destruídos de acordo com as mensagens que estão sendo trocadas.

Um mensagem de construtorcria seu receptor. O remetente que já existe no início da interação é colocado no topo do diagrama. Os destinos criados durante a interação por uma chamada de construtor são automaticamente colocados mais para baixo no diagrama.

Lifelines with constructorA

mensagem de destruição destrói seu receptor. Existem outras formas de indicar que um destino é destruído durante uma interação. Apenas quando a destruição de um destino for definida como ‘depois do destrutor’ é necessário usar um destrutor.

Lifelines with destructor

Mensagem não instantânea

As mensagens são frequentemente consideradas instantâneas, portanto, o tempo necessário para chegar ao receptor é desprezível. As mensagens são desenhadas como uma seta horizontal. Para indicar que leva um certo tempo antes que o receptor realmente receba uma mensagem, é usada umaseta inclinada é usada.

Lifelines with instantaneous message

Foco de Controle

O Foco de Controle representa o período durante o qual um elemento está realizando uma operação. O topo e a base do retângulo estão alinhados com os tempos de início e conclusão, respectivamente

Notação de iteração

Notação de iteração representa que uma mensagem é enviada várias vezes para múltiplos objetos receptores, como acontece quando você está iterando sobre uma coleção. Você pode mostrar a base da iteração entre colchetes, como por exemplo *[para todas as linhas do pedido].

Exemplo: Fazer Pedido

O exemplo mostra um diagrama de sequência com três objetos participantes: Cliente, Pedido e Estoque. Mesmo sem conhecer formalmente a notação, você provavelmente consegue ter uma ideia bastante clara do que está acontecendo.

  1. Passo 1 e 2: Cliente cria um pedido.
  2. Passo 3: Cliente adiciona itens ao pedido.
  3. Passo 4, 5: Cada item é verificado quanto à disponibilidade no estoque.
  4. Passo 6, 7, 8: Se o produto estiver disponível, ele é adicionado ao pedido.
  5. Passo 9 retornar
  6. Passo 10, 11: salvar e destruir pedido

Sequence Diagram example

Fragmentos de Sequência

Em um diagrama de sequência UML, os fragmentos combinados permitem mostrar laços, ramificações e outras alternativas. Um fragmento combinado consiste em um ou mais operandos de interação, e cada um desses contém uma ou mais mensagens, usos de interação ou fragmentos combinados.

Um fragmento de sequência é representado como uma caixa chamada fragmento combinado, que envolve uma parte das interações dentro de um diagrama de sequência. O operador do fragmento (no canto superior esquerdo) indica o tipo de fragmento. Os tipos de fragmentos incluem ref, assert, loop, break, alt, opt e neg, ref, sd.

Resumo da Notação do Diagrama de Sequência

Operador Significado
alt Fragmentos alternativos múltiplos: apenas aquele cuja condição for verdadeira será executado.
opt Opcional: o fragmento é executado somente se a condição fornecida for verdadeira. Equivalente a um alt apenas com um rastro.
par Paralelo: cada fragmento é executado em paralelo.
loop Laço: o fragmento pode ser executado múltiplas vezes, e a condição indica a base da iteração.
crítico Região crítica: o fragmento pode ter apenas uma thread executando-o por vez.
neg Negativo: o fragmento mostra uma interação inválida.
ref Referência: refere-se a uma interação definida em outro diagrama. O quadro é desenhado para cobrir as linhas de vida envolvidas na interação. Você pode definir parâmetros e um valor de retorno.
sd Diagrama de sequência: usado para cercar todo o diagrama de sequência.

Exemplo – Cenário de Pedido

Um membro de um navio que gostaria de fazer um pedido online. O item pedido será enviado ao membro por correio expresso ou por correio normal, dependendo do status do membro (VIP, membro comum). Opcionalmente, a loja enviará ao membro uma notificação de confirmação se o membro optar pela opção de notificação no pedido.

Sequence Diagram example

Visual Paradigm suporta diagrama de sequência e outros tipos de diagramas UML. Você pode encontrar todas as ferramentas de que precisa para modelar os comportamentos dinâmicos de um sistema usando o diagrama de sequência.

Vídeo Rápido – 5 Passos para Desenhar um Diagrama de Sequência

Resumo

O diagrama de sequência é um modelo baseado em sequência temporal de colaboração entre objetos. Ele mostra como os objetos interagem com outros em um cenário específico de caso de uso. Com capacidades avançadas de modelagem visual, você pode criar diagramas de sequência complexos em poucos cliques. Além disso, o Visual Paradigm pode gerar diagramas de sequência com base no fluxo de eventos que você define na descrição do caso de uso.

 

Referências

Leave a Reply