Você está na página 1de 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;

Unified Modeling Language


Diagrama de Seqüência

 A modelagem de um sistema OO normalmente


contém diversos diagramas de seqüência.
 Ressalta a ordem cronológica das mensagens.

Diagrama de seqüência:
mensagens enviadas no decorrer
do tempo.

Unified Modeling Language


Mensagens

 O princípio básico da interação entre objetos


é o conceito de Mensagem.

 Um sistema OO pode ser visto como uma


rede de objetos. Funcionalidades são
realizadas pelos objetos, que só podem
interagir através do envio de mensagens.

Unified Modeling Language


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.

 Essa mensagem deve conter informação


suficiente para que a operação do objeto
receptor possa ser executada.

Unified Modeling Language


Mensagens versus
Responsabilidades
 O fato de um objeto “precisar de ajuda” indica a
necessidade de este enviar mensagens.
 Na construção de diagramas de interação,
mensagens de um objeto a outro implicam em
operações que classes devem ter.

Uma mensagem implica na existência de


uma operação no objeto receptor.
A resposta do objeto receptor ao
recebimento de uma mensagem é a
execução da operação correspondente. 7

Unified Modeling Language


Mensagens versus
Responsabilidades

Unified Modeling Language


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, ou seja, o
remetente fica bloqueado até que o receptor
termine de atender a requisição.
 Mensagem assíncrona ( )
 É aquela na qual o objeto remetente não 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 execução de uma operação
definida em sua própria classe.
 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

11

Unified Modeling Language


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.
 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.
 O único termo obrigatório corresponde à operação. 12

Unified Modeling Language


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, b)
 2 *: desenhar()
 2 *[i := 1..10]: desenhar(i)
 1.2.1: x := selecionar(e)

13

Unified Modeling Language


Sintaxe das Mensagens

Seq Condição de Guarda Iteração Retorno:=operação(param)


(cláusula-condição) (cláusula-iteração)
*[para cada f em F] desenhar()

*[enquanto x>0] transformar(x)

[senha é válida] abrirJanelaPrincipal()

1 adicionarItem(item)

3 [a > b] trocar(a, b)

2 * desenhar()

2 * [i := 1..10] desenhar(i)

1.2.1 x := selecionar(e)

14

Unified Modeling Language


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, 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.

15

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.
 Elementos básicos:
 Atores
 Objetos
 Classes
 Mensagens
 Criação de objetos
 Destruição de objetos
16

Unified Modeling Language


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.
 Pode-se representar objetos anônimos ou
objetos nomeados, dependendo da situação.
 Classes também podem ser representadas.
 Para o caso de mensagens enviadas para a
classe em vez de ser enviada para um objeto.

17

Unified Modeling Language


Representação dos Elementos

 Representação de Objetos e Classes

vendas Nome de um dado Objeto

Nome de Objeto e Classe


vendas : Departamento Objeto nomeado

Objeto Anônimo da
: Departamento Classe Departamento

Departamento Classe Departamento


18

Unified Modeling Language


Representação dos Elementos

 Representação de Objetos e Classes


Nomeado: recebe um nome e
necessita ser referenciado maria : Cliente
posteriormente.

Anônimo: não recebe um nome


: Cliente
específico

Às vezes, uma mensagem é enviada para uma


classe. Nesse caso, a operação a ser executada é
uma operação de classe (estática). 19

Unified Modeling Language


Diagrama de Seqüência

 Mostra, baseado em um cenário:


 Objetos e classes envolvidos;
 A seqüência de mensagens (simbolizadas por
setas) trocadas pelos objetos, necessárias para
desenvolver a funcionalidade do cenário.

20

Unified Modeling Language


Diagrama de Seqüência

 Mostra alguma coisa que acontecerá em um


ponto específico da execução do sistema;
 Consiste em um número 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 Seqüência

 Os objetos participantes da interação são


organizados na horizontal.
 Abaixo de cada objeto existe uma linha,
chamada de linha de vida.
 Um retângulo na linha da vida representa o
seu foco de controle que indica a duração
da ação realizada pelo objeto.

22

Unified Modeling Language


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.
 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.
23

Unified Modeling Language


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.
 Criação e destruição de objetos podem ser
representadas.

O diagrama de seqüência exibe


uma visão dinâmica do sistema.
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


Especificação do Caso de Uso
Criar Cliente
Fluxo Principal
1. O usuário solicita o cadastro de cliente.
2. O sistema apresenta o formulário para preenchimento.
3. O usuário entra com as informações necessárias 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 usuário sobre o cadastro e o caso de uso termina.

Fluxos de Exceção
FE01 - Usuário 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
usuário forneça as informações completas e o caso de uso retorna ao passo 3
do fluxo principal. 28

Unified Modeling Language


Diagrama de Seqüência –
Criar Cliente

29

Unified Modeling Language


Diagrama de Seqüência –
Realizar Submissão

30

Unified Modeling Language

Você também pode gostar