Buscar

Análise e Projeto de Sistemas II - Diagrama de Sequência

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 99 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 99 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 99 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ANÁLISE E PROJETO DE 
SISTEMAS II
UNIVERSIDADE ESTADUAL DE GOIÁS CÂMPUS CERES
BACHARELADO EM SISTEMAS DE INFORMAÇÃO
CERES - 2019
DIAGRAMA DE SEQUÊNCIA
INTRODUÇÃO
INTRODUÇÃO
Diagrama comportamental.
Procura determinar a sequência de eventos que
ocorrem em um determinado processo.
Identifica quais mensagens devem ser disparadas
entre os elementos envolvidos e em que ordem.
INTRODUÇÃO
Determinar a ordem em que os eventos ocorrem,
as mensagens que são enviadas, os métodos que
são chamados e como os objetos interagem
dentro de um determinado processo é o objetivo
principal desse diagrama.
INTRODUÇÃO
Baseia-se no diagrama de casos de uso, havendo
normalmente um diagrama de sequência para
cada caso de uso declarado, uma vez que um
caso de uso, em geral, refere-se a um processo
disparado por um ator.
INTRODUÇÃO
O diagrama de sequência depende também do
diagrama de classes, já que as classes dos objetos
utilizados no diagrama de sequência estão
descritas nele.
INTRODUÇÃO
O diagrama de sequência também complementa
o diagrama de classes, pois é ao modelar um
diagrama de sequência que se percebe quais
métodos são necessários declarar em que classes.
ATORES
ATORES
Os atores modelados neste diagrama são
instâncias dos atores declarados no diagrama de
casos de uso, representando entidades externas
que interagem com o sistema e que solicitam
serviços, gerando, assim, eventos que iniciam
processos.
ATORES
Esses atores costumam ser apresentados como
bonecos magros idênticos aos usados no
diagrama de casos de uso, porém, contendo uma
linha de vida.
ATORES
LIFELINES
LIFELINES
Um lifeline é um participante individual em uma
interação.
Na maioria das vezes um lifeline irá se referir a
uma instância de uma classe que participa de
uma iteração, ou seja, em geral um lifeline é um
objeto.
LIFELINES
Um lifeline é representado por um retângulo.
A linha tracejada vertical que surge a partir do
objeto representa a linha de vida do mesmo.
LIFELINES
LIFELINES
No exemplo temos um lifeline chamado perfis1 e
esse lifeline é uma instância da classe
Pessoa_Fisica.
LIFELINES
Um lifeline pode existir desde o inicio 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
LIFELINES
Neste exemplo temos dois lifelines, perfis1 e
comum1.
O objeto perfis1 esteve ativo desde o início do
processo. Já o objeto comum1 foi instanciado ao
longo do processo.
LIFELINES
Ainda existe mais duas instâncias de objetos no
diagrama, cujos nomes não foram definidos, que
se referem respectivamente à classe
Interface_Banco, uma classe de fronteira e à
classe Controlador_Banco, uma classe de
controle.
LIFELINES
Além disso, existem dois atores interagindo
nesse processo, os atores Cliente e Funcionário.
LIFELINES
Linha de Vida
A linha de vida representa o tempo em que um
objeto (lifeline) existe durante um processo.
As linhas de vida são representadas por linhas
finas verticais tracejadas, partindo do retângulo
que representa o objeto.
LIFELINES
Linha de Vida
A linha de vida é interrompida com um “X”
quando o objeto é destruído.
LIFELINES
Linha de Vida
Um objeto não precisa necessariamente existir
quando o processo é iniciado, podendo ser criado
ao longo do mesmo e só terão uma linha de vida
a partir desse momento.
LIFELINES
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.
LIFELINES
Foco de Controle ou Ativação
Os focos de controle são representados dentro da
linha de vida de um objeto.
LIFELINES
Foco de Controle ou Ativação
LIFELINES
Foco de Controle ou Ativação
Ao observarmos o exemplo, podemos perceber
que o objeto perfis1 participou ativamente do
processo quando do disparo do método conCpf,
indicando que o foco de controle do processo
estava sobre o objeto perfis1.
LIFELINES
Foco de Controle ou Ativação
Os focos de controle são representados dentro da
linha de vida de um objeto.
MENSAGENS OU 
ESTÍMULOS
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 ser disparadas 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;
MENSAGENS
OU ESTÍMULOS
As mensagens podem ser disparadas entre:
• Um objeto e outro objeto, o que constitui a
ocorrência mais comum de mensagens, onde
um objeto transmite uma mensagem para
outro, em geral solicitando a execução de um
método. Um objeto pode inclusive enviar uma
mensagem para si mesmo, disparando um
método em si próprio (autochamada);
MENSAGENS
OU ESTÍMULOS
As mensagens podem ser disparadas entre:
• Um objeto e um ator, o que normalmente
ocorre quando um objeto envia uma mensagem
de retorno em resposta à chamada de um
método solicitado, contendo seus resultados.
MENSAGENS
OU ESTÍMULOS
As mensagens são representadas por linhas entre
dois componentes, contendo setas indicando qual
componente enviou a mensagem e qual a
recebeu.
As mensagens são apresentadas na posição
horizontal entre as linhas de vida dos
componentes e sua ordem sequencial é
demonstrada de cima para baixo.
MENSAGENS
OU ESTÍMULOS
Os textos contidos nas mensagens primeiramente
identificam qual evento ocorreu e forçou o envio
da mensagem e qual método foi chamado.
As duas informações são separadas por um
símbolo de dois pontos (:).
MENSAGENS
OU ESTÍMULOS
Podem ocorrer eventos que não disparam
métodos.
Nesse caso, a mensagem descreve apenas o
evento que ocorreu, sem o símbolo de dois
pontos e nenhum texto após os mesmos.
MENSAGENS
OU ESTÍMULOS
Também pode acontecer de somente o método
chamado ser descrito, sem detalhar qual evento
ocorreu.
MENSAGENS
OU ESTÍMULOS
Exemplo de mensagem disparada entre atores:
Este exemplo representa uma
conversação entre dois atores
e que, portanto, não gera o
disparo de nenhum método.
MENSAGENS
OU ESTÍMULOS
Exemplo de mensagem enviada por um objeto
que dispara um método em outro.
Deve-se evitar colocar
muitos detalhes nas
chamadas de métodos
para impedir que o
diagrama de sequência
torne-se muito
extenso.
MENSAGENS
OU ESTÍMULOS
Exemplo de mensagem enviada por um objeto
que dispara um método em outro.
Deve-se evitar colocar
muitos detalhes nas
chamadas de métodos
para impedir que o
diagrama de sequência
torne-se muito
extenso.
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 está sobre o objeto em
questão.
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
Nesse exemplo, o objeto da classe
controlador_Banco dispara o método
abrir_Conta no objeto comum1 da classe
Conta_Comum, instanciando esse objeto a partir
desse momento.
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
OU ESTÍMULOSMENSAGENS
OU ESTÍMULOS
Nesse exemplo, existe um objeto car1
pertencente a uma classe Carrinho, que
representa um carrinho de compras que pode ter
muitos itens, representados pelos objetos da
classe Item_Carrinho.
MENSAGENS
OU ESTÍMULOS
Se em algum momento o cliente resolver
cancelar a compra de algum dos itens do
carrinho, o objeto da classe Carrinho deverá
disparar um método destrutor no objeto da classe
Item_Carrinho, representado pelo método
Excluir.
MENSAGENS
OU ESTÍMULOS
Mensagens de retorno
Esse tipo de mensagem identifica a resposta a
uma mensagem para o objeto ou ator que a
chamou.
MENSAGENS
OU ESTÍMULOS
Mensagens de retorno
Uma mensagem de retorno pode retornar
informações específicas do método chamado ou
apenas um valor indicando se o método foi
executado com sucesso ou não.
MENSAGENS
OU ESTÍMULOS
Mensagens de retorno
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.
MENSAGENS
OU ESTÍMULOS
Mensagens de retorno
MENSAGENS
OU ESTÍMULOS
Mensagens de retorno
A mensagem emitida pelo objeto perfis1 para o
objeto da classe Controlador_Banco, após este
ter disparado o método conCpf no primeiro
objeto, retorna os dados do cliente consultado.
MENSAGENS
OU ESTÍMULOS
Mensagens de retorno
Observe que o valor retornado é do tipo String.
Alguns autores só modelam as mensagens de
retorno consideradas realmente importantes para
evitar deixar o diagrama muito poluído.
MENSAGENS
OU ESTÍMULOS
Autochamadas ou Autodelegações
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.
MENSAGENS
OU ESTÍMULOS
Autochamadas ou Autodelegações
MENSAGENS
OU ESTÍMULOS
Autochamadas ou Autodelegações
O objeto perfis1 dispara em si mesmo a chamada
ao método de validação de CPF, valCpf.
MENSAGENS
OU ESTÍMULOS
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.
MENSAGENS
OU ESTÍMULOS
Detalhes de Tempo
Quando se quer demonstrar o tempo que uma
mensagem leva em consideração antes de ser
disparada, deve-se usar restrições de duração.
MENSAGENS
OU ESTÍMULOS
Detalhes de Tempo
MENSAGENS
OU ESTÍMULOS
Detalhes de Tempo
Nesse exemplo, o controlador de vendas espera
30 minutos até o cliente realizar alguma
operação sobre o pedido.
Se esse tempo for ultrapassado sem haver
qualquer movimentação ou confirmação no
pedido, este será cancelado.
MENSAGENS
OU ESTÍMULOS
Detalhes de Tempo
Observe que a mensagem que dispara o método
que cancelará o pedido tem uma restrição de
duração que determina que devem esperar 30
minutos antes de disparar o método
cancelar_Pedido, que é um método destrutor.
FRAGMENTOS
DE INTERAÇÃO
FRAGMENTOS
DE INTERAÇÃO
Um fragmento de interação é uma parte de uma
interação. Cada fragmento de interação é
considerado como uma interação independente.
Um fragmento de interação é representado por
um retângulo que envolve toda a interação, além
de conter uma aba no canto superior esquerdo,
contendo um operador que determina qual tipo
de diagrama de interação ele se refere.
FRAGMENTOS
DE INTERAÇÃO
FRAGMENTOS
DE INTERAÇÃO
O operador sd, indica que o fragmento é um
diagrama de sequência.
O texto seguinte contém a descrição da interação
que está sendo modelada, normalmente contendo
apenas o nome da interação.
FRAGMENTOS
DE INTERAÇÃO
O uso do fragmento de interação possibilita ao
mesmo ser referenciado por meio do operador
“ref” (abreviatura de Referred).
O “ref” significa que se deve procurar por um
diagrama cujo nome é o mesmo do nome
apresentado após o operador “ref”, ou seja, o
fragmento faz referência a outro diagrama.
FRAGMENTOS
DE INTERAÇÃO
Essa aplicação é chamada de interação e
permite que se montem diagramas mais
complexos que fazem referência a outros
diagramas como se fossem sub-rotinas,
detalhadas em separado, diminuindo assim o
tamanho do diagrama e facilitando sua leitura e
compreensão.
FRAGMENTOS
DE INTERAÇÃO
FRAGMENTOS
DE INTERAÇÃO
Nesse exemplo, o cliente solicita ao funcionário
o encerramento da conta, para encerrar é
necessário primeiro verificar o saldo, para
determinar se é preciso sacar ou depositar algum
valor.
FRAGMENTOS
DE INTERAÇÃO
Como o processo já se encontra modelado é
contraproducente ter que modelar esses passos
novamente, além do que, se houver alguma
mudança no processo, ele terá que ser alterado
nos dois diagramas.
FRAGMENTOS
DE INTERAÇÃO
O uso de interação é colocado sobre as linhas de
vida dos objetos envolvidos no processo, e o ator
(pode ser um objeto) solicita sua execução por
meio de uma mensagem.
Essa mensagem pode conter um texto, mas o
próprio uso de interação é autoexplicativo.
FRAGMENTOS
DE INTERAÇÃO
É possível também encontrar usos de interação
simplesmente sobrepostos às linhas de vida dos
objetos que fazem parte do processo, sem nem
ao menos chamá-las por meio de uma
mensagem, como se as instruções contidas nos
usos de interação fossem adicionadas
automaticamente ao diagrama.
FRAGMENTOS
DE INTERAÇÃO
FRAGMENTOS
DE INTERAÇÃO
Nesse exemplo, ao realizar um saque é
necessário registrar esse movimento e, como os
passos do processo de registrar movimento estão
detalhados em outro diagrama de sequência,
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.
FRAGMENTOS
DE INTERAÇÃO
Os usos de interação podem se constituir em uma
simples chamada a outro fragmento de interação
ou podem passar parâmetros para o mesmo,
receber o retorno da chamada e etc.
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 sequência.
FRAGMENTOS
COMBINADOS
FRAGMENTOS
COMBINADOS
Os fragmentos combinados são representados
por um retângulo que determina a área de
abrangência do fragmento no diagrama, além de
conter uma subdivisão em sua extremidade
superior esquerda para identificar a descrição do
fragmento que está sendo modelado.
FRAGMENTOS
COMBINADOS
Alt
Para exemplificar alguns exemplos desses
fragmentos, temos o Alt (Alternatives ou
Alternativas).
Este operador de interação define que o
fragmento combinado representa uma escolha
entre dois ou mais comportamentos.
FRAGMENTOS
COMBINADOS
Alt
Esse tipo de fragmento combinado costuma
utilizar condições de guarda (texto entre
colchetes que estabelece uma regra ou condição),
também conhecida como restrições de interação,
para definir o teste a ser considerado na escolha
de um dos comportamentos.
FRAGMENTOS
COMBINADOS
Alt
FRAGMENTOS
COMBINADOS
Alt
Nesse exemplo deve ser feita uma escolha entre
duas operações, se o saldo da conta for positivo,
ele executará um saque, se estiver negativo, o
cliente deverá depositar o valor necessário para
cobrir o saldo negativo da conta antes de
encerrá-la.
FRAGMENTOS
COMBINADOS
Alt
Em cada alternativa foi feita uma referência a um
uso de interação, na primeira ao processo de
realizar saque e na segunda ao processo de
realizar depósito, mas pode ser modelado uma
sequência.
FRAGMENTOS
COMBINADOS
Alt
As divisões é chamada de separador de
operando de interação e o conteúdo é
conhecido como operando de interação.
FRAGMENTOS
COMBINADOS
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.
FRAGMENTOS
COMBINADOS
Opt
FRAGMENTOS
COMBINADOS
Opt
Nesse exemplo, após ser realizadoo saque ou
depósito, pode ser necessário dar manutenção no
cadastro do cliente, tornando-o inativo, caso a
conta a ser encerrada seja a única por ele
possuída.
FRAGMENTOS
COMBINADOS
Opt
O uso do Opt foi indicado por significar que os
passos nele contido serão ou não executados
dependendo de sua condição, determinada pela
restrição de interação “Se for a única conta”.
FRAGMENTOS
COMBINADOS
Opt
Conclui-se também que o processo Encerrar
Conta tem uma associação de extensão com o
processo Manter Cliente.
Nesse caso, faz-se um teste para saber se o caso
de uso será ou não extendido refletindo na
restrição imposta.
FRAGMENTOS
COMBINADOS
Par
Abreviatura de Parallel (Paralelo). Esse operador
de interação determina que o fragmento
combinado representa uma execução paralela de
dois ou mais comportamentos.
FRAGMENTOS
COMBINADOS
Par
FRAGMENTOS
COMBINADOS
Par
O motorista deve realizar duas operações
simultâneas sobre o objeto car1 da classe Carro
para poder dirigi-lo: soltar a embreagem e
pressionar o acelerador.
FRAGMENTOS
COMBINADOS
Par
Note que uma linha tracejada divide os
operandos de interação representando cada
operação paralela.
FRAGMENTOS
COMBINADOS
Loop
Abreviatura de Looping (Laço). Esse operador
de interação determina que o fragmento
combinado representa um laço que poderá ser
repetido diversas vezes.
FRAGMENTOS
COMBINADOS
Loop
FRAGMENTOS
COMBINADOS
Loop
Nesse exemplo temos um processo que aumenta
o valor de todos os produtos de uma determinada
categoria.
O mesmo método é aplicado a cada produto
pertencente à categoria selecionada.

Continue navegando