Você está na página 1de 53

Diagrama de

Sequencia
parte 2
UML

PROF. Ms. J FLÁVIO VASCONCELOS ALVES


ASSUNTOS AULA 6

1) Diagrama de Sequencia
2) Mensagens perdidas e
mensagens encontradas
3) Portas
4) Fragmentos de Interações
5) Uso de interações
6) Portões
7) Operadores de Interação 2
Mensagens
Perdidas e
Mensagens
Encontradas
3
MENSAGEM PERDIDA

Uma mensagem perdida representa uma


mensagem que foi enviada e sua
confirmação de recebimento nao foi
recebida, podendo significar que a
mensagem nao chegou ao seu destino, ou
uma mensagem envida a um destino nao
representado no diagrama.

(GUEDES, 2018)
MENSAGEM ENCONTRADA

Ja uma mensagem encontrada representa o


recebimento de uma mensagem enviada por
um elemento desconhecido ou um elemento
nao representado no diagrama, ou o
recebimento de uma mensagem que fora
dada como perdida, pois seu tempo de
espera por resposta poderia ter sido
encerrado.

(GUEDES, 2018)
REPRESENTAÇÃO p1

Tanto as mensagens perdidas como as


mensagens encontradas são representadas por
um círculo preenchido. Quando se trata de
uma mensagem perdida, o círculo e atingido pela
mensagem; já quando se trata de uma mensagem
encontrada, esta parte do círculo. Uma aplicação
para o uso de mensagens perdidas e mensagens
encontradas pode ser a representação de troca
de mensagens entre objetos localizados
em maquinas (hosts) diferentes, possivelmente
distantes entre si, onde a comunicação e realizada
por meio de algum tipo de protocolo de rede.
6

(GUEDES, 2018)
REPRESENTAÇÃO p2

(GUEDES, 2018)
REPRESENTAÇÃO p3

Na figura acima há um exemplo de


mensagem perdida e outro de
mensagem encontrada, em que uma
mensagem foi enviada pelo objeto
transmissor e, aparentemente, não foi
recebida pelo objeto receptor.
Após um tempo maior que o tempo
máximo de espera, a mensagem de
resposta foi recebida, ou seja,
"encontrada“. 8

(GUEDES, 2018)
Portas

9
PORTAS p1

0 conceito de portas foi explicado no


diagrama de classes. E possível representar
um objeto (lifeline) no diagrama de
sequencia contendo instancias das portas
declaradas na classe a que ele pertence.

Dessa forma, o objeto poderá ter mais de


uma linha de vida, o que permite a
representação de mensagens externas e
internas no objeto.
10

(GUEDES, 2018)
PORTAS p2

11

(GUEDES, 2018)
PORTAS p3

A figura apresenta um exemplo de instancias de


portas em objetos e o envio e recebimento de
mensagens por elas.
Nesse exemplo, instanciamos objetos das classes
Teclado, PlacaMae e Monitor. Essas classes se
comunicam por meio de interfaces e portas. Aqui,
representamos o envio de fluxo de informações do
teclado para a placa-mae e, depois de estas terem
sido processadas, a solicitação da placa-mae ao
monitor para que determinadas informacões sejam
apresentadas. Observe que as portas sao
representadas por retângulos abaixo do objeto,
tendo suas próprias linhas de vida. 12

(GUEDES, 2018)
Fragmentos
de
Interações

13
FRAGMENTOS DE INTERAÇÕES p1

Os fragmentos de interação sao noções abstratas


de unidades de interação geral. Um fragmento de
interação è uma parte de uma interação, no
entanto cada fragmento de interação e
considerado uma interação independente. Um
fragmento de interação e representado como um
retângulo que envolve toda a interação, além de
conter uma aba no canto superior esquerdo,
contendo um operador que determina a qual tipo
de diagrama de interação ele se refere. 0
operador sd, por exemplo, indica que o fragmento
e um diagrama de sequencia ou de comunicação
14

(GUEDES, 2018)
FRAGMENTOS DE INTERAÇÕES p2

O texto seguinte ao operador contem a


descrição da interação que esta sendo
modelada, normalmente contendo apenas o
nome da interação.
Na pratica, mesmo um diagrama de
sequencia completo pode ser considerado
um fragmento de interação no momenta em
que possa ser referenciado em outro
diagrama.

15

(GUEDES, 2018)
FRAGMENTOS DE INTERAÇÕES

16

(GUEDES, 2018)
FRAGMENTOS DE INTERAÇÕES p3

A figura apresenta um exemplo de fragmento de


interação. Essa figura representa o processo de
emissao de saldo do sistema de controle bancario.
Esse exemplo contem quatro lifelines: a primeira
representa uma instancia do cliente que inicia o
processo de emissao de saldo (por meio de um
caixa eletronico ou de uma pagina web); a
segunda representa uma instancia da classe
VisaoEmitirSaldo que o eleitor deve lembrar ser
uma classe boundary (ou seja, uma classe
responsável pela interface com o usuário); a
terceira representa uma instancia da classe
ControleEmitirSaldo – classe de controle. 17

(GUEDES, 2018)
FRAGMENTOS DE INTERAÇÕES p5

A ultima, uma instancia da classe ContaComum,


que e uma classe de entidade.
Nesse processo, o cliente deve informar o numero
de sua conta, inserindo o cartão da conta na
interface do caixa eletrônico ou digitando o
numero em uma pagina web. Esse numero e
repassado da interface para a controladora do
sistema, que disparara o método consultarConta
na lifeline da classe ContaComum, e, caso o
numero da conta se refira a uma conta valida, o
controlador solicitara a interface que apresente
uma mensagem pedindo a senha da referida conta
ao cliente. 18

(GUEDES, 2018)
FRAGMENTOS DE INTERAÇÕES p6

O cliente, então, devera digitar sua senha, que


será repassada da interface a controladora, que,
por sua vez, solicitara o disparo do
método validarSenha e, se essa for a senha
correta, o disparo do método emitirSaldo para
retornar o valor do saldo da conta que o cliente
informou.
O controlador pedira, então, que a interface
apresente o saldo ao cliente.

19

(GUEDES, 2018)
FRAGMENTOS DE INTERAÇÕES p7

O diagrama demonstra o retorno "verdadeiro" para


os primeiros dois métodos, destacando que se
trata de um valor inteiro. Obviamente, um valor
inteiro não pode conter o texto "verdadeiro", e sim
somente números, de modo que optamos por
inserir a palavra "verdadeiro" para indicar o
sucesso da operação, mas o retorno correto seria
um numero, sendo 1 para determinar que o
cliente foi encontrado ou a senha informada e
valida e 0 para o contrario, por exemplo. Já o
retorno do ultimo método e um double que conterá
o saldo atual da conta.
20

(GUEDES, 2018)
Uso de
Interações

21
USO DE INTERAÇÕES p1

Uma das principais vantagens do uso de


fragmentos de interação caracteriza-se pela
possibilidade de se poder referencia-los por
meio do operador Ref, que e a abreviatura de
Referred (referido) e significa que se deve
procurar por um diagrama cujo nome e o
mesmo do nome apresentado após o operador
Ref, ou seja, o fragmento faz referencia a outro
diagrama, nao detalhado no diagrama em
questão e que deve ser inserido neste. A isto
chama-se uso de interação.
22

(GUEDES, 2018)
USO DE INTERAÇÕES p2

Permite que se montem diagramas mais


complexos que fazem referencia a outros
diagramas como se fossem sub rotinas,
detalhadas em separado, diminuindo, assim,
o tamanho do diagrama e facilitando sua
leitura e compreensão.

23

(GUEDES, 2018)
USO DE INTERAÇÕES p1

24

(GUEDES, 2018)
USO DE INTERAÇÕES p3

Nesse exemplo, enfoca-se o inicio do processo


de encerramento de conta do sistema de controle
bancário, em que o cliente solicita ao funcionário o
encerramento de uma conta.
Para encerrar uma conta, e necessário primeiro
verificar seu saldo, para determinar se e preciso
sacar ou depositar algum valor.
Como o processo de emissao de saldo ja se
encontra modelado em um diagrama a parte, e
contraproducente ter que modelar esses passos
novamente, e se houver alguma mudança no
processo, este tera que ser alterado nos dois
diagramas. 25

(GUEDES, 2018)
USO DE INTERAÇÕES p4

Para evitar isso, faz-se uma referencia a esse


diagrama por meio de um uso de interação. O uso
de interação é colocado sobre as linhas de vida
dos objetos envolvidos no processo, e o ator
(poderia ser também um objeto) simplesmente
solicita sua execução por meio de uma mensagem.
Essa mensagem poderia conter texto, mas o
próprio uso de interação já é autoexplicativo. No
processo de encerramento de conta,
primeiramente o funcionário chamara o processo
de emissão de saldo, que esta detalhado em outro
diagrama, e ap6s a execução deste, o processo
de encerramento de conta continuara normalmente 26

(GUEDES, 2018)
Exemplo 2 sd Realizar Saque p1

27

(GUEDES, 2018)
Exemplo 2 sd realizer saque p2

E possível encontrar usos de interação


simplesmente sobrepostos as linhas de vida dos
objetos que fazem parte do processo, sem nem ao
menos chama-las por meio de uma mensagem,
como se as instruções contidas nos usos de
interação fossem adicionadas automaticamente ao
diagrama, como pode ser visto na figura, que se
refere ao processo de realizar saque.
Da mesma forma que para visualizar o saldo de
uma conta, e necessário primeiro informar o
número da conta e, se esta estiver correta,
informar a senha dela para realizar um saque.
28

(GUEDES, 2018)
Exemplo 2 sd realizer saque p3

Se a senha estiver correta, o sistema solicitara o


valor que o cliente deseja sacar.
O cliente, então, informara o valor desejado na
interface, que o repassara para o controlador e
este, por sua vez, disparara o método sacarValor
em um objeto da classe ContaComum.
Esse método, caso haja saldo suficiente, diminuirá
o valor solicitado do saldo da conta e autorizara o
sistema a liberar o dinheiro pedido.

29

(GUEDES, 2018)
Exemplo 2 sd realizer saque p4

Ao realizar um saque, e necessário registrar esse


movimento e, como os passos do processo de
registrar movimento estão detalhados em outro
diagrama de sequencia, apenas colocamos seu
uso de interação sobre as linhas de vida dos
objetos que participarão do processo, sem ao
menos enviar uma mensagem a esse uso de
interação.
Os usos de interação podem se constituir em uma
simples chamada a outro fragmento de interação
ou passar parâmetros para este receber o retorno
da chamada deste ou ambos.
30

(GUEDES, 2018)
Exemplo 2 sd realizer saque p5

Muitas vezes, as associações de inclusão e


extensão do diagrama de casos de uso
denotam a necessidade da existência de
usos de interação nos diagramas de
sequencia, já que um diagrama de
sequencia e uma forma de documentar um
caso de uso e, se este têm uma associação
de inclusão ou extensão com outro caso de
uso, e muitas vezes preciso referencia-la no
diagrama de sequencia, por meio de usos de
interação.
31

(GUEDES, 2018)
Portões

32
PORTÃO

Um portão e uma interface entre fragmentos, um ponto


de conexão para relacionar uma mensagem fora de
um uso de interação com uma mensagem dentro do
uso de interação. Portões podem ser representados
de duas formas. A mais comum representa o portão
simplesmente pelo encontro da seta da mensagem no
retângulo do uso de interação.
Quando, porem, se deseja explicitamente representar
uma mensagem transmitida por algum elemento
externo ou o envio de uma mensagem para fora de
um fragmento, o portao e representado por um
pequeno quadrado, podendo este ser atingido por uma
mensagem ou uma mensagem ser enviada dele.
33

(GUEDES, 2018)
Fragmento
combinado
com
Operador
34
FRAGMENTO combinado OPERADOR

Aqui se trabalha questões como testes se-


senão, laços ou processamentos paralelos.
Os fragmentos combinados são
representados por um retângulo que
determina a área de abrangência do
fragmento no diagrama, além de conterem
ainda uma subdivisão na extremidade
superior esquerda para identificar a
descrição do fragmento combinado e seu
operador de interação, que define o tipo de
fragmento que esta sendo modelado.
35

(GUEDES, 2018)
OPERADORES DE INTERAÇÃO

 Alt - Abreviatura de
Alternatives (Alternativas)
 Opt - Abreviatura de Option
(Opção)
 Par - Abreviatura de Parallel
(Paralelo)
 Loop - Abreviatura de Looping
(Lac;o) 36

(GUEDES, 2018)
Alt

37
ALT p1

Este operador de interac_;ao define que o


fragmento combinado representa uma
escolha entre dois ou mais comportamentos.
Esse tipo de fragmento combinado costuma
utilizar condic_;oes de guarda (texto entre
colchetes que estabelece uma regra ou
condic_;ao), tambem conhecidas como
restric_;oes de interac;ao, para definir o
teste a ser considerado na escolha de um
dos comportamentos.
38

(GUEDES, 2018)
ALT p2

39

(GUEDES, 2018)
ALT p2

Dá-se continuidade ao processo de


encerramento de conta, em que, depois de
verificar o saldo da conta, devera ser feita
uma escolha entre duas operações.
Se o saldo da conta for positivo, o
processo executara um saque e entregara
ao cliente o valor depositado.
Ja se o saldo estiver negativo, o cliente
devera depositar o valor necessario para
cobrir o saldo negativo da conta antes de
encerra-la.
40

(GUEDES, 2018)
ALT p3

Em cada uma das alternativas foi feita uma


referencia a um uso de interação: a primeira
relativa ao processo de realizar saque e a
segunda, ao processo de realizar depósito.
Uma vez que esses processos ja se
encontram modelados em outros diagramas,
e mais pratico somente os referenciar.

41

(GUEDES, 2018)
ALT p4

Fragmentos combinados que utilizam o


operador de interação alt tern ao menos uma
divisão, representada por uma linha
tracejada, separando as ações executadas
nas alternativas. Cada uma dessas divisoes
e chamada separador de operando de
interação e o conteúdo representado em
cada divisão e conhecido como operando de
interação, ou seja, uma area de atuação de
um fragmento combinado.
42

(GUEDES, 2018)
Opt

43
OPT p1

Esse operador de interação determina que o


fragmento combinado representa uma
escolha de comportamento em que esse
comportamento sera ou nao executado,
nao havendo uma escolha entre mais de um
comportamento possivel.

44

(GUEDES, 2018)
OPT p2

45

(GUEDES, 2018)
OPT p2

A figura dá continuidade ao processo de


encerramento de conta, em que, ap6s ser
realizado um saque ou dep6sito, pode ser
necessario dar manutenção no cadastro do
cliente, tornando-o inativo, caso a conta a ser
encerrada seja a unica por ele possuida. Por
esse motivo, utilizamos um fragmento
combinado com operador Opt, significando que
os passos nele contidos serao ou nao
executados dependendo de sua condição,
determinada pela restrição de interação "Se for
a unica conta". 46

(GUEDES, 2018)
OPT extensão

O processo Gerenciar Clientes é um


processo referenciado, ou seja, um uso de
interação, e, se formos examinar o diagrama de
casos de uso do sistema de controle bancário,
perceberemos que o caso de uso Encerrar
Conta têm uma associação de extensão com o
processo Gerenciar Clientes.
No caso de associações de extensão, é preciso
fazer um teste para determinar se o caso de
uso será ou não estendido, aqui refletido na
restrição de interação.
47

(GUEDES, 2018)
OPT inclusão

Quando se tratar de associações de inclusao, nao


e preciso haver um fragmento combinado do tipo
opt, bastando inserir um uso de interação sobre a
linha de vida dos objetos, como acontece com o
uso de interação Emitir Saldo.
Por fim, depois de verificar se e necessário alterar
o cadastro do cliente, o funcionário solicitara o
encerramento da conta em questão. Essa
solicitação será repassada ao controlador, que
disparara o método encerrarConta e, se este for
bem-sucedido, ordenara a interface que
apresente uma mensagem de sucesso.
48

(GUEDES, 2018)
Par

49
PAR p1

Esse operador de interação


determina que o fragmento
combinado representa uma
execução paralela de dois ou mais
comportamentos.

50

(GUEDES, 2018)
PAR p2

51

(GUEDES, 2018)
PAR p2

O ator Motorista deve realizar duas


operações simultâneas sobre a
lifeline car1 da classe Carro para
poder dirigi-lo: soltar a embreagem
e pressionar o acelerador. Note que
uma linha tracejada divide os
operandos de interação,
representando cada operação
paralela. 52

(GUEDES, 2018)
MODIFICANDO DONO ou GRUPO

OBRIGADO !!!
@profjsflavioalves
ZAP 9750-2901

53

Você também pode gostar