Você está na página 1de 45

Diagrama de Sequência

Livro: UML 2.0 – Uma abordagem prática


Autor: Gilleanes T. A. Guedes
Capítulo 7
Diagrama de Sequência
 É um diagrama comportamental que procura determinar
a sequência de eventos que ocorrem em um determinado
processo, identificando quais mensagens devem ser
disparadas entre os elementos envolvidos e em que
ordem.

 Baseia-se no diagrama de caso, havendo normalmente


um diagrama de sequência para cada caso de uso.

 Depende também do diagrama de classes, já que as


classes dos objetos utilizados no diagrama de sequência
estão descritos nele.
Atores
 Os atores modelados neste diagrama são instâncias dos
atores declarados no diagrama de casos de uso,
representando entidade externas que interagem com o
sistema.
Lifelines
 Na maioria das vezes um lifeline irá se referir a uma
instância de uma classe.
 Lifelines no diagrama de sequência tem a mesma notação
utilizada no diagrama de objetos, diferenciando-se por
uma linha de vida, representada por uma linha vertical
tracejada abaixo do participante.
Lifelines
 Um lifeline pode existir desde o início do processo ou ser
criado durante o decorrer da execução do mesmo.

 No primeiro caso o retângulo que representa o lifeline


aparecerá na parte superior do diagrama.
 Já no segundo caso, o retângulo surgirá na mesma altura em
que a mensagem que o criar for chamada
Lifelines
Linha de Vida
 A linha de vida representa
o tempo em que um
objeto (lifeline) existe
durante um processo.
Linha de Vida
 A linha de vida é
interrompida com um X
quando o objeto é
destruído.
Foco de Controle ou Ativação
 Indica os períodos em que um determinado objeto está
participando ativamente do processo, ou seja, identifica
os momentos em que um objeto está executando um ou
mais métodos utilizados em um processo específico.

 Os focos de controle são representados dentro da linha


de vida de um objeto, porém, enquanto as linhas de vida
são representadas por tracejados finos, o foco de
controle é representado por uma linha mais grossa.
Foco de Controle ou Ativação
Mensagens ou Estímulos
 As mensagens são utilizadas para demonstrar a
ocorrência de eventos, que normalmente forçam a
chamada de um método em algum dos objetos
envolvidos no processo.

 Pode ocorrer, no entanto, de uma mensagem representar


a comunicação entre dois atores, nesse caso, não
disparando métodos.
Mensagens ou Estímulos
 As mensagens podem ocorrer entre:
 Um ator e outro ator;
 Um ator e um objeto, onde um ator produz um evento que
dispara um método em um objeto;
 Um objeto e outro objeto, em geral solicitando a execução de
algum método;
 Um objeto e um ator, ocorre quando um objeto envia uma
mensagem de retorno em resposta a chamada de um método.
Mensagens ou Estímulos
 Quando a mensagem é dirigida a um objeto já existente,
a seta da mensagem atinge a linha de vida do objeto
engrossando-a, identificando que o foco de controle e
está sobre o objeto em questão.
Mensagens ou Estímulos
Mensagens ou Estímulos
 No entanto quando a mensagem cria um novo objeto, a
seta atinge o retângulo que representa o objeto,
indicando que a mensagem representa um método
construtor e que o objeto passa a existir somente a partir
daquele momento.
Mensagens ou Estímulos
Mensagens ou Estímulos
 Uma mensagem pode também representar um método
destrutor, ou seja, um método que elimina um objeto não
mais necessário. Nesse caso a mensagem atinge a linha
de vida de um objeto e a interrompe com um X.
Mensagens de Retorno
 Identifica a resposta a uma mensagem para o objeto ou
ator que a chamou.
 As mensagens de retorno são representadas por uma
linha tracejada contendo uma seta fina que aponta para o
objeto que recebe o resultado do método chamado.
É hora de praticar!
 Desenvolva um diagrama de sequência que represente a
ação de fazer um depósito em uma conta comum.

 Neste caso o depósito é realizado por um funcionário do


banco.
Autochamadas
 Autochamadas são mensagens que um objeto envia para
si mesmo. No caso de autochamadas, uma mensagem
parte da linha de vida do objeto e atinge a linha de vida
do próprio objeto.
Detalhes de Tempo
 Às vezes pode ser necessário definir detalhes de tempo
de uma mensagem, como por exemplo o tempo máximo
de espera até que uma mensagem seja disparada.
Fragmentos de Interação
 Um fragmento de interação é uma parte de uma
interação, no entanto, cada fragmento de interação é
considerado como uma interação independente.

 Um fragmento de interação é representado como um


retângulo que envolve toda a interação, além de conter
uma aba no canto superior esquerdo que identifica qual
tipo de interação ele se refere.
Fragmentos de Interação
Ocorrência de Interação
 Possibilidade de se poder referenciar fragmentos de
interação por meio do operador Ref que é a abreviatura
de Referred (referido) e significa que se deve procurar por
um diagrama que cujo nome é o mesmo nome
apresentado após o operador Ref.
É hora de praticar!
 Desenvolva um diagrama de sequência que represente a
ação de fazer um saque em uma conta comum.

 Lembre-se que ao final das atividades é necessário registrar o


movimento (represente-o como uma ocorrência de interação)
Diagrama de Classe – Sistema de Controle Bancário
Fragmentos Combinados e Operações de Interação
 Nas versões anteriores à versão 2.0 da UML, os diagramas
de sequência tinham dificuldade em trabalhar questões
como teste se-senão, laços ou processamentos paralelos.

 Essas questões foram abordadas a partir da versão 2.0


por meio de uso de fragmentos combinados.
Fragmentos Combinados e Operações de Interação
 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 em sua extremidade superior esquerda para
identificar a descrição do fragmento combinado e seu
operador de interação, que define o tipo de fragmento
que está sendo modelado.
Fragmentos Combinados e Operações de Interação
Tipos de Operações de Interação
 Alt:
 Abreviatura de Alternatives (Alternativas). Este operador de
interação define que o fragmento combinado representa uma
escolha entre dois ou mais componentes.

 Esse tipo de fragmento combinado costuma utilizar condições


de guarda (texto entre colchetes que estabelece uma regra ou
condição), também conhecidas como restrições de interação,
para definir o teste a ser considerado na escolha de um dos
comportamentos.
Exemplo – Operador Alt
Tipos de Operações de Interação
 Opt:

 Abreviatura de Option (Opção). Esse operador de interação


determina que o fragmento combinado representa uma
escolha de comportamento onde esse comportamento será ou
não executado, não havendo uma escolha entre mais de um
comportamento possível.
Exemplo – Operador Opt
Diagrama de Sequência X Caso de Uso

 No diagrama de caso de
uso encerrar conta possui
uma extensão com
Manter Cliente.
Tipos de Operações de Interação
 Par:

 Abreviatura de Parallel (Parelelo). Esse operador de interação


determina que o fragmento combinado representa uma
execução paralela de dois ou mais comportamentos.
Exemplo – Operador Par
Tipos de Operações de Interação
 Loop:

 Abreviatura de Looping (Laço): esse operador de interação


determina que o fragmento combinado representa um laço
que poderá ser repetido várias vezes.
Exemplo – Operador Loop
Tipos de Operações de Interação
 Break:

 Esse operado de interação indica uma “quebra” na execução


normal do processo. É usado principalmente para modelar o
tratamento de exceções.
Exemplo – Operador Break
Tipos de Operações de Interação
 Critical Region (Região Crítica):

 Esse operador de interação identifica uma operação atômica


que não pode ser interrompida por outro processo até ser
totalmente concluída.
Exemplo – Operador Break
Exercícios
 Estudo de caso: Sistema de Controle de Cinema
 Processo de Venda de Ingressos
Exercícios
 Estudo de caso: Sistema de Controle de Clube Social
 Processo de Pagamento de Mensalidade
Exercícios
 Estudo de caso: Sistema de Locação de Veículos
 Processo de Locação de Veículos

Você também pode gostar