Você está na página 1de 30

UML - Unified Modeling Language

Haroldo Mximo haroldo@engenhariadigital.com.br http://www.haroldo.com.br

Unified Modeling Language

Diagrama de Seqncia

Unified Modeling Language

Diagrama de Seqncia

Diagrama de seqncia representa como o sistema age internamente para que um ator atinja seu objetivo na realizao de um caso de uso. Documenta os aspectos dinmicos do sistema; Representam mensagens trocadas entre objetos para a execuo de cenrios dos casos de uso do sistema. Mostra a interao entre os objetos tendo em vista a seqncia das mensagens no tempo;
3

Unified Modeling Language

Diagrama de Seqncia

A modelagem de um sistema OO normalmente contm diversos diagramas de seqncia. Ressalta a ordem cronolgica das mensagens.

Diagrama de seqncia: mensagens enviadas no decorrer do tempo.

4 Unified Modeling Language

Mensagens

O princpio bsico da interao entre objetos o conceito de Mensagem. Um sistema OO pode ser visto como uma rede de objetos. Funcionalidades so realizadas pelos objetos, que s podem interagir atravs do envio de mensagens.

5 Unified Modeling Language

Mensagens

Uma mensagem representa a requisio de um objeto remetente a um objeto receptor para que este ltimo execute alguma operao definida para sua classe. Essa mensagem deve conter informao suficiente para que a operao do objeto receptor possa ser executada.
6

Unified Modeling Language

Mensagens versus Responsabilidades

O fato de um objeto precisar de ajuda indica a necessidade de este enviar mensagens. Na construo de diagramas de interao, mensagens de um objeto a outro implicam em operaes que classes devem ter.

Uma mensagem implica na existncia de uma operao no objeto receptor. A resposta do objeto receptor ao recebimento de uma mensagem a execuo da operao correspondente.
Unified Modeling Language

Mensagens versus Responsabilidades

8 Unified Modeling Language

Tipos de Mensagens

Mensagem sncrona (

aquela em que o objeto remetente espera que o objeto receptor processe a mensagem antes de recomear o seu processamento, ou seja, o remetente fica bloqueado at que o receptor termine de atender a requisio.

Mensagem assncrona (

aquela na qual o objeto remetente no espera a resposta para prosseguir com o seu processamento.
9

Unified Modeling Language

Tipos de Mensagens

Mensagem reflexiva (self)

aquela enviada de um objeto para ele mesmo solicitando a execuo de uma operao definida em sua prpria classe.

Mensagem de retorno (

Indica o final da execuo de uma operao (retorno do fluxo de controle)

10 Unified Modeling Language

Tipos de Mensagens

11 Unified Modeling Language

Sintaxe das Mensagens

A especificao para o rtulo de uma mensagem deve seguir a seguinte sintaxe:


expresso-seqncia recorrncia: v := operao(parmetros)

Onde expresso-seqncia serve para eliminar ambigidades acerca de quando a mensagem foi enviada em relao s demais. Onde o termo recorrncia pode ser uma condio ou um repetio (iterao):
[ clusula-condio ] e * [ clusula-iterao ]

Onde v uma varivel que armazena o valor de retorno da operao. O nico termo obrigatrio corresponde operao. 12

Unified Modeling Language

Sintaxe das Mensagens


*[para cada f em F] desenhar() *[enquanto x>0] transformar(x) [senha vlida] abrirJanelaPrincipal() 1: adicionarItem(item) 3 [a > b]: trocar(a, b) 2 *: desenhar() 2 *[i := 1..10]: desenhar(i) 1.2.1: x := selecionar(e)

13 Unified Modeling Language

Sintaxe das Mensagens


Seq Condio de Guarda (clusula-condio) Iterao (clusula-iterao) Retorno:=operao(param)

*[para cada f em F]
*[enquanto x>0] [senha vlida] 1 3 2 2 1.2.1 [a > b] * * [i := 1..10]

desenhar()
transformar(x) abrirJanelaPrincipal() adicionarItem(item) trocar(a, b) desenhar() desenhar(i) x := selecionar(e)

14 Unified Modeling Language

Objetivos do Diagrama de Seqncia


Obter

informaes adicionais para completar e aprimorar outros modelos (principalmente o modelo de classes)
Quais as operaes de uma classe? Quais os objetos participantes da realizao de um caso de uso (ou cenrio deste)? Para cada operao, qual a sua assinatura? Uma classe precisa de mais atributos? Fornecer aos programadores uma viso detalhada dos objetos e mensagens envolvidos na realizao dos casos de uso.

15

Unified Modeling Language

Elementos Bsicos

Assim como os outros diagramas da UML, o diagrama de seqncia possui um conjunto de elementos grficos.

Elementos bsicos:

Atores Objetos Classes Mensagens Criao de objetos Destruio de objetos


16

Unified Modeling Language

Elementos Bsicos

Objetos so representados em um diagrama de seqncia utilizando-se a mesma notao grfica do diagrama de objetos. Pode-se representar objetos annimos ou objetos nomeados, dependendo da situao. Classes tambm podem ser representadas.

Para o caso de mensagens enviadas para a classe em vez de ser enviada para um objeto.
17

Unified Modeling Language

Representao dos Elementos


Representao

de Objetos e Classes
Nome de um dado Objeto

vendas

vendas : Departamento

Nome de Objeto e Classe Objeto nomeado Objeto Annimo da Classe Departamento

: Departamento

Departamento
Unified Modeling Language

Classe Departamento
18

Representao dos Elementos

Representao de Objetos e Classes


maria : Cliente

Nomeado: recebe um nome e necessita ser referenciado posteriormente. Annimo: no recebe um nome especfico

: Cliente

s vezes, uma mensagem enviada para uma classe. Nesse caso, a operao a ser executada uma operao de classe (esttica).
Unified Modeling Language

19

Diagrama de Seqncia

Mostra, baseado em um cenrio:


Objetos e classes envolvidos; A seqncia de mensagens (simbolizadas por setas) trocadas pelos objetos, necessrias para desenvolver a funcionalidade do cenrio.

20 Unified Modeling Language

Diagrama de Seqncia

Mostra alguma coisa que acontecer em um ponto especfico da execuo do sistema; Consiste em um nmero de objetos mostrado em linhas verticais;

O decorrer do tempo visualizado observando-se o diagrama no sentido vertical de cima para baixo.
21

Unified Modeling Language

Diagrama de Seqncia

Os objetos participantes da interao so organizados na horizontal. Abaixo de cada objeto existe uma linha, chamada de linha de vida.

Um retngulo na linha da vida representa o seu foco de controle que indica a durao da ao realizada pelo objeto.
22

Unified Modeling Language

Diagrama de Seqncia

O topo do retngulo indica o incio da execuo da operao solicitada pela mensagem recebida e a base inferior do retngulo marca o fim da execuo da operao. As mensagens entre objetos so representadas com linhas horizontais rotuladas partindo da linha de vida do objeto remetente e chegando a linha de vida do objeto receptor.

23

Unified Modeling Language

Diagrama de Seqncia

A posio vertical das mensagens permite deduzir a ordem na qual elas so enviadas. Ordem de envio de mensagens em um diagrama de seqncia pode ser deduzida a partir das expresses de seqncia. Criao e destruio de objetos podem ser representadas.
O diagrama de seqncia exibe uma viso dinmica do sistema.
24

Unified Modeling Language

Forma Geral do Diagrama de Seqncia

25 Unified Modeling Language

Forma Geral do Diagrama de Seqncia

26 Unified Modeling Language

Diagrama de Casos de Uso Sistema Bancrio

Caso de Uso Criar Cliente

27 Unified Modeling Language

Especificao do Caso de Uso Criar Cliente


Fluxo Principal 1. O usurio solicita o cadastro de cliente. 2. O sistema apresenta o formulrio para preenchimento. 3. O usurio entra com as informaes necessrias do cliente no sistema e submete. 4. O sistema valida o cadastro do cliente. (FE01) (FE02) 5. O sistema armazena os dados do cliente. 6. O sistema cria uma conta em nome do cliente 7. O sistema notifica o usurio sobre o cadastro e o caso de uso termina. Fluxos de Exceo FE01 - Usurio cadastrado 1. Se o cliente j estiver cadastrado, uma mensagem ser exibida e o caso de uso termina.

FE02 - Dados incompletos 1. Se os dados estiverem incompletos, o sistema exibe uma mensagem para que o usurio fornea as informaes completas e o caso de uso retorna ao passo 3 do fluxo principal. 28
Unified Modeling Language

Diagrama de Seqncia Criar Cliente

29 Unified Modeling Language

Diagrama de Seqncia Realizar Submisso

30 Unified Modeling Language