Este documento fornece uma introdução concisa aos diagramas de sequência no UML. Explica que estes diagramas modelam a ordem de interações entre partes de um sistema, identificando participantes, mensagens trocadas e barras de ativação. Também descreve elementos como fragmentos de sequência para modelar alternativas e repetições.
Bilingual Terminology Extraction based on Translation Patterns
Aula 04 - Introdução aos Diagramas de Sequência
1. Diagramas de Sequˆncia
e
Ultra-Light version
Alberto Sim˜es
o
alberto.simoes@eu.ipp.pt
Planeamento de Sistemas de Informa¸˜o
ca
Mestrado em Informa¸˜o Empresarial
ca
2012/2013
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 1/18
2. Diagramas de Sequˆncia
e
Os diagramas de sequˆncia s˜o um membro importante do
e a
grupo dos diagramas de intera¸˜o;
ca
Os diagramas de intera¸˜o modelam as intera¸˜es entre as
ca co
partes intervenientes no sistema;
Neste grupo de diagramas, incluem-se tamb´m:
e
diagramas de comunica¸˜o;
ca
diagramas de temporiza¸˜o;
ca
Os diagramas de sequˆncia s˜o os mais populares,
e a
possivelmente porque s˜o os mais f´ceis de entender por
a a
pessoas externas ao UML.
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 2/18
3. Diagramas de Sequˆncia
e
Tˆm como objetivo capturar a ordem de intera¸˜es entre
e co
partes do sistema;
´
E poss´ descrever que itera¸˜es ser˜o despoletadas quando
ıvel co a
determinado case de uso ´ executado, e qual a ordem pela
e
qual essas itera¸˜es ir˜o ocorrer;
co a
Podem incluir muita mais informa¸˜o sobre esta intera¸˜o,
ca ca
mas a sua relevˆncia ´ a simplicidade e efetividade com que
a e
comunicam a ordem de eventos ao longo de uma intera¸˜o. ca
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 3/18
4. Diagramas de Sequˆncia
e
Participantes
Participante 1 Participante 2
participantes
identificação
do participante
linha do tempo
S˜o compostos por uma cole¸˜o de participantes:
a ca
partes do sistema que interagem durante a sequˆncia.
e
A posi¸˜o de um participante numa sequˆncia ´ importante.
ca e e
Ao contr´rio de outros diagramas, os de sequˆncia s˜o sempre
a e a
organizados verticalmente.
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 4/18
5. Diagramas de Sequˆncia
e
Participantes
Participante 1 Participante 2
participantes
identificação
do participante
linha do tempo
A cada participante est´ associada uma linha do tempo;
a
A linha do tempo serve para indicar, a cada momento, se esse
participante existe nesse ponto da sequˆncia;
e
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 5/18
6. Diagramas de Sequˆncia
e
Participantes
Existem dois tipos de diagramas, que podem ser de alto n´
ıvel, ou
baixo n´
ıvel
num diagrama de baixo n´ os participantes s˜o,
ıvel a
habitualmente, classes, objetos, ou m´dulos do sistema, e as
o
mensagens trocadas s˜o invoca¸˜es a m´todos dispon´
a co e ıveis
nesses mesmos objetos;
num diagrama de alto n´ os participantes podem ser
ıvel
simplesmente atores, o sistema, uma base de dados ou em
alguns casos, a interface com o utilizador;
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 6/18
7. Diagramas de Sequˆncia
e
Tempo
O tempo, num diagrama de sequˆncia, come¸a no topo da
e c
p´gina, abaixo do participante mais acima, e progride pela
a
p´gina abaixo;
a
A ordem pela qual as intera¸˜es s˜o colocadas pela p´gina
co a a
abaixo indica a ordem pela qual estas intera¸˜es se realizam
co
ao longo do tempo;
O tempo num diagrama de sequˆncia ´ apenas relevante em
e e
termos de ordem, e n˜o em termos de dura¸˜o;
a ca
Embora a altura em que uma intera¸˜o ocorre seja indicada,
ca
essa posi¸˜o n˜o ´ proporcional ` altura em que outras
ca a e a
intera¸˜es ocorrem;
co
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 7/18
8. Diagramas de Sequˆncia
e
Eventos, Sinais e Mensagens
Participante 1 Participante 2
Mensagem
Evento de Evento de
"envio de "receção de
mensagem" mensagem"
A parte mais pequena de uma intera¸˜o ´ um evento;
ca e
Um evento ´ qualquer ponto onde algo ocorre.
e
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 8/18
9. Diagramas de Sequˆncia
e
Eventos, Sinais e Mensagens
Participante 1 Participante 2
Mensagem
Evento de Evento de
"envio de "receção de
mensagem" mensagem"
Eventos s˜o os blocos construtores para sinais e mensagens;
a
Sinais e mensagens s˜o nomes diferentes para o mesmo
a
conceito:
sinal ´ a terminologia usada por analistas de sistemas;
e
mensagem ´ a terminologia usada por engenheiros de software;
e
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 9/18
10. Diagramas de Sequˆncia
e
Eventos, Sinais e Mensagens
Invocador Recetor
da da
Mensagem Mensagem
Participante 1 Participante 2
Mensagem (argumentos)
Barra de Barra de
ativação do ativação do
Invocador Recetor
Seta de Mensagem
retorno e assinatura
(opcional) (opcional)
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 10/18
11. Diagramas de Sequˆncia
e
Eventos, Sinais e Mensagens
A intera¸˜o num diagrama de sequˆncia ocorre quando um
ca e
participante decide enviar uma mensagem a outro participante;
As mensagens num diagrama de sequˆncia s˜o especificadas
e a
usando usa seta, do participante que deseja enviar a
mensagem (o invocador) para o participante que deve receber
essa mensagem (o recetor);
As mensagens podem fluir em qualquer dire¸˜o que fa¸a
ca c
sentido para a intera¸˜o requerida:
ca
da esquerda para a direita, da direita para a esquerda, ou
mesmo para si pr´prio.
o
Uma mensagem pode ser vista como um evento que ´ passado
e
do invocador para o recetor para que este realize alguma
opera¸˜o.
ca
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 11/18
12. Diagramas de Sequˆncia
e
Barras de Ativa¸˜o
ca
Invocador Recetor
da da
Mensagem Mensagem
Participante 1 Participante 2
Mensagem (argumentos)
Barra de Barra de
ativação do ativação do
Invocador Recetor
Seta de Mensagem
retorno e assinatura
(opcional) (opcional)
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 12/18
13. Diagramas de Sequˆncia
e
Barras de Ativa¸˜o
ca
Quando uma mensagem ´ enviada a um participante, ela
e
despoleta o participante recetor para realizar algo: neste
momento o recetor ´ dito como ativo!
e
Para mostrar que um participante est´ ativo, ou seja, a realizar
a
uma qualquer opera¸˜o, ´ usada uma barra de ativa¸˜o;
ca e ca
Tamb´m ´ habitual desenhar a barra de ativa¸˜o no
e e ca
invocador, demonstrando que est´ ocupado a enviar a
a
mensagem, e que estar´ ocupado depois de receber a resposta;
a
As barras de ativa¸˜o s˜o opcionais, j´ que podem gerar ru´
ca a a ıdo
num diagrama de grandes dimens˜es.
o
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 13/18
14. Diagramas de Sequˆncia
e
Mensagens Aninhadas
Participante 1 Participante 2 Participante 3
Mensagem Inicial
Mensagem aninhada 1
Mensagem aninhada 2
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 14/18
15. Diagramas de Sequˆncia
e
Mensagens de Retorno
A mensagem de retorno ´ opcional, e serve para mostrar, no
e
final de uma barra de ativa¸˜o, retornar ao participante que
ca
enviou a mensagem original.
Por vezes o uso das mensagens de retorno podem tornar os
diagramas confusos.
No entanto, estas mensagens de retorno s˜o impl´
a ıcitas sempre
que uma barra de ativa¸˜o termina1 .
ca
Embora as mensagens sejam habitualmente enviadas entre
dois participantes diferentes, ´ normal que um participante
e
envie uma mensagem a si mesmo.
1
Para mensagens s´
ıncronas. . .
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 15/18
16. Diagramas de Sequˆncia
e
Fragmentos de Sequˆncia
e
Participante 1 Participante 2 Participante 3
Mensagem Inicial
alt Mensagem opcional 1
[condição]
[else] Mensagem opcional 2
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 16/18
17. Diagramas de Sequˆncia
e
Fragmentos de Sequˆncia
e
Um fragmento de sequˆncia ´ uma caixa que engloba uma
e e
por¸˜o de intera¸˜es;
ca co
Uma caixa de fragmento de sequˆncia sobrep˜e-se na posi¸˜o
e o ca
do diagrama onde essa por¸˜o de intera¸˜es se realiza;
ca co
Pode conter qualquer n´mero de intera¸˜es e, em diagramas
u co
complexos, at´ outros fragmentos;
e
No canto superior esquerdo da caixa de fragmento ´ indicado
e
o tipo de fragmento.
No diagrama anterior, o operador ´ o alt, que indica que cada
e
um dos grupos de intera¸˜es s˜o alternativas.
co a
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 17/18
18. Diagramas de Sequˆncia
e
Fragmentos de Sequˆncia
e
Alguns tipos de fragmentos:
alt dado um conjunto de guardas, e dependendo de qual ´ e
verdadeiro, a correspondente sub-cole¸˜o de intera¸˜es ser´
ca co a
executada;
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 18/18
19. Diagramas de Sequˆncia
e
Fragmentos de Sequˆncia
e
Alguns tipos de fragmentos:
alt dado um conjunto de guardas, e dependendo de qual ´ e
verdadeiro, a correspondente sub-cole¸˜o de intera¸˜es ser´
ca co a
executada;
loop dado um n´mero m´
u ınimo ou m´ximo de vezes (ou um guarda),
a
a correspondente sub-cole¸˜o ser´ executada o n´mero de
ca a u
vezes indicado (ou enquanto o guarda for verdadeiro);
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 18/18
20. Diagramas de Sequˆncia
e
Fragmentos de Sequˆncia
e
Alguns tipos de fragmentos:
alt dado um conjunto de guardas, e dependendo de qual ´ e
verdadeiro, a correspondente sub-cole¸˜o de intera¸˜es ser´
ca co a
executada;
loop dado um n´mero m´
u ınimo ou m´ximo de vezes (ou um guarda),
a
a correspondente sub-cole¸˜o ser´ executada o n´mero de
ca a u
vezes indicado (ou enquanto o guarda for verdadeiro);
opt dado um guarda, a correspondente sub-cole¸˜o s´ ser´
ca o a
executada se o guarda for verdadeiro;
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 18/18
21. Diagramas de Sequˆncia
e
Fragmentos de Sequˆncia
e
Alguns tipos de fragmentos:
alt dado um conjunto de guardas, e dependendo de qual ´ e
verdadeiro, a correspondente sub-cole¸˜o de intera¸˜es ser´
ca co a
executada;
loop dado um n´mero m´
u ınimo ou m´ximo de vezes (ou um guarda),
a
a correspondente sub-cole¸˜o ser´ executada o n´mero de
ca a u
vezes indicado (ou enquanto o guarda for verdadeiro);
opt dado um guarda, a correspondente sub-cole¸˜o s´ ser´
ca o a
executada se o guarda for verdadeiro;
par indica que as sub-cole¸˜es indicadas poder˜o ser executadas
co a
em paralelo, e que n˜o dependem entre si.
a
Alberto Sim˜es
o Diagramas de Sequˆncia Ultra-Light version
e 18/18