Análise Projeto e Programação para Web Profª. Maria Alice Jovinski Diagrama de Interação : Sequência e Colaboração
Diagrama de Interação É um termo genérico que se aplica a vários tipos de diagramas que enfatizam interações de objetos; Uma interação é uma especificação comportamental que inclui uma Sequência de trocas de mensagem entre um conjunto de objetos dentro de um contexto para realizar propósito específico, tal como a realização de um caso de uso;
Diagrama de Interação As mensagens podem incluir sinais e chamadas implícitas decorrentes de condições e eventos de tempo; O diagrama de interação tem aplicabilidade para cumprir com exigências de sequência onde cada instância específica de caso de uso constitui um caminho particular de funcionalidade do sistema;
mensagem objeto objeto Caso de Uso Tempo Evento de entrada (estímulos) Evento de saída (resposta) Interação em Caso de Uso ator ator
Diagrama de Interação Para especificar uma interação, é necessário definir um contexto de caso de uso e estabelecer os objetos que interagem e seus relacionamentos; São utilizados para mostrar a realização de casos de uso; Sequências de interação são especificadas em uma descrição única que contém condicionais ou através de descrições múltiplas, cada uma detalhando um caminho particular pelos possíveis caminhos de realização;
Diagrama de Interação Deve ser utilizado quando se deseja visualizar o comportamento de vários objetos dentro de um único caso de uso, a partir das mensagens que são passadas entre eles;
Diagrama de Interação Um dos pontos fortes do diagrama de interação é sua simplicidade; Apresenta pontos fracos ao não definir claramente toda interação e controle necessários a uma descrição processual completa.
Diagrama de Interação São apresentados sob duas formas na UML: Diagrama de Sequência; Diagrama de Colaboração.
Diagrama de Sequência É descendente dos diagramas de interação de objetos de Booch e Jacobson , e mostra os objetos colaborando entre si seguidos de uma narrativa de caso de uso. Mostra interações de objetos organizadas em uma Sequência de tempo e de mensagens trocadas, mas não trata associações entre os objetos como faz os diagramas de colaboração.
Diagrama de Sequência
Diagrama de Sequência A dimensão vertical representa o tempo e a dimensão horizontal representa objetos diferentes; O tempo procede de cima para baixo na página, sendo que não há qualquer significado ao ordenamento horizontal dos objetos; Anotações textuais ao longo da extremidade esquerda do diagrama são opcionais e são chamadas de script ;
Diagrama de Sequência Uma condicional é indicada dividindo uma seta de mensagem em dois objetivos paralelos e, tal como em máquinas de estados finitos, em qualquer ponto de ramificação as expressões condicionais não devem ser ambíguas; Componentes : linha de vida do objeto; mensagem; ativação e autodelegação;
objeto 1 objeto 2 objeto 3 [X>0] [X<=0]
Diagrama de Sequência Linha de Vida do Objeto: Desenhada como uma linha pontilhada vertical; Representa um objeto em sua existência em um momento particular; Se um objeto é criado ou eliminado durante o período de tempo, então sua linha de vida começa ou termina em um ponto designado, caso contrário ocorre de maneira top-down ;
Diagrama de Sequência Linha de Vida do Objeto: Cada linha de vida representa um objeto distinto, podendo haver linhas de vida múltiplas para objetos diferentes de mesmo tipo ou de tipos diferentes; Pode ser dividida em duas ou mais linhas simultâneas para mostrar condicionalidade. Cada trilha separada corresponde a uma ramificação condicional no fluxo de mensagem;
Diagrama de Sequência Mensagem: Comunicação de objetos são feitas através de fluxo de mensagens; A implementação de uma mensagem pode tomar várias formas, como uma chamada de procedimento, o envio de um sinal entre linhas ativas, a elevação explícita de eventos, e assim por diante; Objetos remetentes enviam mensagens para objetos destinatários, pedindo processamento, comunicando um evento ou qualquer outra informação que se tornar necessária no modelo para cumprir determinadas responsabilidades;
Diagrama de Sequência Mensagem: Um fluxo de mensagem pode ser mostrado como uma seta etiquetada colocada próximo a um vínculo; Uma mensagem também pode ser etiquetada com uma condição de guarda, isto é, uma expressão booleana em uma transição de estado;
um item de pedido um item de estoque verificar() Mensagem
Diagrama de Sequência De acordo com a UML, a etiqueta tem a sintaxe seguinte: predecessor condição-de-guarda expressão-de-Sequência valor-de-retorno := nome-da-mensagem lista-de-argumento
Predecessor : é uma lista separada por vírgula de números de sequência seguida por uma barra (“/”): número-de-sequência “,” ... “/”; Expressão de Sequência : é uma lista de termos de sequência separada por ponto seguida por dois-pontos (“:”). Cada termo de Sequência tem a seguinte sintaxe : [inteiro|nome][ repetição ]; Há duas formas: uma interação: “*” “[“cláusula-de-interação ”]”; uma condição: “[“ cláusula-de-condição ”]”; Diagrama de Sequência
Diagrama de Sequência Valor de Retorno : é uma lista de nomes que designam os valores devolvidos pela mensagem dentro da execução subseqüente da interação global; Nome da Mensagem : é o nome do evento elevado no objeto designado que é freqüentemente o evento de solicitar a execução de uma operação; Lista de Argumento : é uma lista separada por vírgula de argumentos (parâmetros reais) incluída em parênteses;
Diagrama de Sequência Ativação: É a execução de uma ação; Determina a janela de tempo na qual um objeto está executando diretamente uma ação ou através de um procedimento subordinado;
objeto 1 objeto 2 objeto 3 Ativação
Diagrama de Sequência AutoDelegação (Reflexiva): Operação chama a si mesma; A mensagem é sempre síncrona; autodelegação