You are on page 1of 30

UML - Unified Modeling Language

Haroldo Máximo haroldo@engenhariadigital.com.br http://www.haroldo.com.br

Unified Modeling Language

Diagrama de Seqüência

Unified Modeling Language

Diagrama de Seqüência

 

Diagrama de seqüência representa como o sistema age internamente para que um ator atinja seu objetivo na realização de um caso de uso. Documenta os aspectos dinâmicos do sistema; Representam mensagens trocadas entre objetos para a execução de cenários dos casos de uso do sistema. Mostra a interação entre os objetos tendo em vista a seqüência das mensagens no tempo;
3

Unified Modeling Language

Ressalta a ordem cronológica das mensagens. 4 Unified Modeling Language . Diagrama de seqüência: mensagens enviadas no decorrer do tempo.Diagrama de Seqüência   A modelagem de um sistema OO normalmente contém diversos diagramas de seqüência.

Um sistema OO pode ser visto como uma rede de objetos.  5 Unified Modeling Language . que só podem interagir através do envio de mensagens.Mensagens  O princípio básico da interação entre objetos é o conceito de Mensagem. Funcionalidades são realizadas pelos objetos.

Essa mensagem deve conter informação suficiente para que a operação do objeto receptor possa ser executada.Mensagens  Uma mensagem representa a requisição de um objeto remetente a um objeto receptor para que este último execute alguma operação definida para sua classe. 6  Unified Modeling Language .

A resposta do objeto receptor ao recebimento de uma mensagem é a execução da operação correspondente. mensagens de um objeto a outro implicam em operações que classes devem ter. Na construção de diagramas de interação. Unified Modeling Language 7 . Uma mensagem implica na existência de uma operação no objeto receptor.Mensagens versus Responsabilidades   O fato de um objeto “precisar de ajuda” indica a necessidade de este enviar mensagens.

Mensagens versus Responsabilidades 8 Unified Modeling Language .

o remetente fica bloqueado até que o receptor termine de atender a requisição.Tipos de Mensagens  Mensagem síncrona (  ) É aquela em que o objeto remetente espera que o objeto receptor processe a mensagem antes de recomeçar o seu processamento.  Mensagem assíncrona (  ) É aquela na qual o objeto remetente não espera a resposta para prosseguir com o seu processamento. 9 Unified Modeling Language . ou seja.

 Mensagem de retorno (  ) Indica o final da execução de uma operação (retorno do fluxo de controle) 10 Unified Modeling Language .Tipos de Mensagens  Mensagem reflexiva (self)  É aquela enviada de um objeto para ele mesmo solicitando a execução de uma operação definida em sua própria classe.

Tipos de Mensagens 11 Unified Modeling Language .

Onde o termo recorrência pode ser uma condição ou um repetição (iteração): ‘[’ cláusula-condição ‘]’ e ‘*’ ‘[’ cláusula-iteração ‘]’   Onde v é uma variável que armazena o valor de retorno da operação. 12 Unified Modeling Language . O único termo obrigatório corresponde à operação.Sintaxe das Mensagens  A especificação para o rótulo de uma mensagem deve seguir a seguinte sintaxe: expressão-seqüência recorrência: v := operação(parâmetros)   Onde expressão-seqüência serve para eliminar ambigüidades acerca de quando a mensagem foi enviada em relação às demais.

Sintaxe das Mensagens         *[para cada f em F] desenhar() *[enquanto x>0] transformar(x) [senha é válida] abrirJanelaPrincipal() 1: adicionarItem(item) 3 [a > b]: trocar(a.10]: desenhar(i) 1..1: x := selecionar(e) 13 Unified Modeling Language . b) 2 *: desenhar() 2 *[i := 1.2.

10] desenhar() transformar(x) abrirJanelaPrincipal() adicionarItem(item) trocar(a.. b) desenhar() desenhar(i) x := selecionar(e) 14 Unified Modeling Language .Sintaxe das Mensagens Seq Condição de Guarda (cláusula-condição) Iteração (cláusula-iteração) Retorno:=operação(param) *[para cada f em F] *[enquanto x>0] [senha é válida] 1 3 2 2 1.2.1 [a > b] * * [i := 1.

 15 Unified Modeling Language . qual a sua assinatura?  Uma classe precisa de mais atributos?  Fornecer aos programadores uma visão detalhada dos objetos e mensagens envolvidos na realização dos casos de uso.Objetivos do Diagrama de Seqüência  Obter informações adicionais para completar e aprimorar outros modelos (principalmente o modelo de classes) Quais as operações de uma classe?  Quais os objetos participantes da realização de um caso de uso (ou cenário deste)?  Para cada operação.

 Elementos básicos:       Atores Objetos Classes Mensagens Criação de objetos Destruição de objetos 16 Unified Modeling Language .Elementos Básicos  Assim como os outros diagramas da UML. o diagrama de seqüência possui um conjunto de elementos gráficos.

Classes também podem ser representadas.Elementos Básicos    Objetos são representados em um diagrama de seqüência utilizando-se a mesma notação gráfica do diagrama de objetos.  Para o caso de mensagens enviadas para a classe em vez de ser enviada para um objeto. dependendo da situação. 17 Unified Modeling Language . Pode-se representar objetos anônimos ou objetos nomeados.

Representação dos Elementos  Representação de Objetos e Classes Nome de um dado Objeto vendas vendas : Departamento Nome de Objeto e Classe Objeto nomeado Objeto Anônimo da Classe Departamento : Departamento Departamento Unified Modeling Language Classe Departamento 18 .

Unified Modeling Language 19 . uma mensagem é enviada para uma classe. a operação a ser executada é uma operação de classe (estática). Nesse caso. Anônimo: não recebe um nome específico : Cliente Às vezes.Representação dos Elementos  Representação de Objetos e Classes maria : Cliente Nomeado: recebe um nome e necessita ser referenciado posteriormente.

20 Unified Modeling Language .Diagrama de Seqüência  Mostra. necessárias para desenvolver a funcionalidade do cenário. baseado em um cenário:   Objetos e classes envolvidos. A seqüência de mensagens (simbolizadas por setas) trocadas pelos objetos.

21 Unified Modeling Language .Diagrama de Seqüência  Mostra alguma coisa que acontecerá em um ponto específico da execução do sistema.   O decorrer do tempo é visualizado observando-se o diagrama no sentido vertical de cima para baixo. Consiste em um número de objetos mostrado em linhas verticais.

  Um retângulo na linha da vida representa o seu foco de controle que indica a duração da ação realizada pelo objeto. Abaixo de cada objeto existe uma linha.Diagrama de Seqüência  Os objetos participantes da interação são organizados na horizontal. chamada de linha de vida. 22 Unified Modeling Language .

As mensagens entre objetos são representadas com linhas horizontais rotuladas partindo da linha de vida do objeto remetente e chegando a linha de vida do objeto receptor.Diagrama de Seqüência   O topo do retângulo indica o início da execução da operação solicitada pela mensagem recebida e a base inferior do retângulo marca o fim da execução da operação. 23 Unified Modeling Language .

O diagrama de seqüência exibe uma visão dinâmica do sistema. Criação e destruição de objetos podem ser representadas.Diagrama de Seqüência    A posição vertical das mensagens permite deduzir a ordem na qual elas são enviadas. Ordem de envio de mensagens em um diagrama de seqüência pode ser deduzida a partir das expressões de seqüência. 24 Unified Modeling Language .

Forma Geral do Diagrama de Seqüência 25 Unified Modeling Language .

Forma Geral do Diagrama de Seqüência 26 Unified Modeling Language .

Diagrama de Casos de Uso – Sistema Bancário  Caso de Uso – Criar Cliente 27 Unified Modeling Language .

Usuário cadastrado 1. 28 Unified Modeling Language . O sistema notifica o usuário sobre o cadastro e o caso de uso termina. uma mensagem será exibida e o caso de uso termina. 2.Especificação do Caso de Uso Criar Cliente Fluxo Principal 1. 6. 4. 3. O sistema valida o cadastro do cliente. FE02 . O sistema cria uma conta em nome do cliente 7. Se o cliente já estiver cadastrado. O usuário solicita o cadastro de cliente. O sistema armazena os dados do cliente. O sistema apresenta o formulário para preenchimento. Se os dados estiverem incompletos. o sistema exibe uma mensagem para que o usuário forneça as informações completas e o caso de uso retorna ao passo 3 do fluxo principal. Fluxos de Exceção FE01 . O usuário entra com as informações necessárias do cliente no sistema e submete. (FE01) (FE02) 5.Dados incompletos 1.

Diagrama de Seqüência – Criar Cliente 29 Unified Modeling Language .

Diagrama de Seqüência – Realizar Submissão 30 Unified Modeling Language .