Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas
UML - Diagrama de Sequência
Professor: Jezer Machado de Oliveira
UML
UML
● Diagramas estruturais
➔
Considera os aspectos estáticos do sistema e
suas relações
➔
Modela a estrutura do sistema
● Diagrama Comportamental
➔
Considera os aspectos dinâmicos do sistema,
a representação de suas partes que sofrem
alteração
➔
Modela o comportamento do sistema
UML
UML
Diagrama de Sequência
Determina a sequência de
eventos, identifcando quais
mensagens devem ser
disparadas entre os elementos
envolvidos e em que ordem
Diagrama de Sequência
● Usado para representar interações entre objetos
realizadas através de operações ou métodos
● É construído a partir do Diagrama de Casos de
Usos. Primeiro, define-se qual o papel do sistema
(Use Cases), depois, é definido como o software
realizará seu papel (Sequência de operações)
● O diagrama de sequência dá ênfase a ordenação
temporal em que as mensagens são trocadas
entre os objetos de um sistema
Diagrama de Sequência
● Atores
➔
São responsáveis pelo início do processo (caso
de uso) que é tratado pelo diagrama de
sequência
➔
Entidade externa que interage com o sistema e
solicita serviços
Diagrama de Sequência
● Objetos
➔
Representam as instâncias das classes envolvidas no
processo ilustrado pelo diagrama de sequência.
➔
Um objeto pode existir desde o início do processo ou
ser criado durante sua execução.
➔
Tem por padrão a nomenclatura ‘nome:Classe’
● Nome do objeto (em minúsculo)
● Nome da classe (inicial maiúscula)
● Separação por dois pontos ( : )
Diagrama de Sequência
● Objetos
Diagrama de Sequência
● Linha de Vida
➔
Representa o tempo em que um objeto existe
durante um processo
➔
Quando o objeto é destruído, a linha de vida é
interrompida com um “X”
➔
Um objeto não precisa, necessariamente, existir
quando um processo é iniciado
Diagrama de Sequência
● Linha de Vida
Diagrama de Sequência
● Mensagens
➔
Demonstram a ocorrência de eventos que,
comumente, fazem chamadas a um método de
algum objeto envolvido no processo
➔
São representadas por uma seta que indica qual
componente enviou a mensagem e qual a
recebeu
➔
Podem receber parâmetros e retornar valores
Diagrama de Sequência
● Mensagens
Diagrama de Sequência
● Foco de Controle
➔
Indica o período que o objeto está participando
ativamente do processo
➔
Os focos de controle são representados dentro
da linha de vida, porém por uma linha mais
grossa
Diagrama de Sequência
● Foco de Controle
Diagrama de Sequência
● Mensagens de Retorno
➔
Identifica a resposta a uma mensagem para o
objeto ou ator que a chamou
➔
Pode retornar informações específicas do
método chamado ou apenas um valor indicando
que o método foi executado com sucesso ou não
Diagrama de Sequência
● Retorno
Diagrama de Sequência
● Autochamada
➔
São mensagens que um objeto envia para si
mesmo
Diagrama de Sequência
● Mensagem de criação
➔
Cria a instância de um objeto
➔
Representada pelo estereótipo <<create>>
● Mensagem de destruição
➔
Destrói a instância de um objeto
➔
Representada pelo estereótipo <<destroy>>
Diagrama de Sequência
● Mensagem de criação e destruição
Diagrama de Sequência
● Mensagem assíncrona
➔
São mensagens enviadas de um objeto a outro
sem que haja uma dependência de estado entre
os dois objetos
➔
Objeto de origem envia a mensagem e
prossegue seu processamento
independentemente do tratamento da mensagem
feita no objeto destino
Diagrama de Sequência
● Mensagem assíncrona
Diagrama de Sequência
● Fragmentos Combinados
➔
São agrupamentos lógicos representados por um
retângulo que contém as estruturas condicionais
que afetam o fluxo de mensagens
Diagrama de Sequência
● Tipos Fragmentos Combinados
➔
Alt (Alternativas): Uma escolha entre dois ou
mais comportamentos.
➔
Opt (Opção): Representa uma escolha de
comportamento onde esse comportamento será
ou não executado, não havendo escolha entre
mais de um comportamento possível.
➔
Loop (Laço): Representa um laço que poderá ser
repetido diversas vezes.
Diagrama de Sequência
● Tipos Fragmentos Combinados
➔
Break (Quebra): Representa uma quebra na execução
normal do processo. Pode ser usado para exceções
que interrompem o processo de um loop, por exemplo.
➔
Par (Paralelo): Representa uma execução paralela de
dois ou mais comportamentos.
➔
Critical Region (Região Crítica): Identifica uma
operação atômica que não pode ser interrompida por
outro processo até ser totalmente concluída (por
exemplo, uma transação).
➔
Diagrama de Sequência
● Tipos Fragmentos Combinados
➔
Neg (Negativa): Representam eventos considerados
inválidos, que não podem ocorrer.
➔
Assertion (Afirmativa): Representam eventos positivos.
É o oposto de Neg.
➔
Ignore (Ignore): Mostra que as mensagens contidas nos
fragmentos deverão ser ignoradas.
➔
Consider (Considere): Oposto de Ignore. As mensagens
têm que ser, obrigatoriamente, consideradas.
➔
Seq (Sequência): Ações feitas em sequência.
Diagrama de Sequência
● Fragmentos Combinados
Diagrama de Sequência
● Estereótipos
➔
Adicionar semântica as classes, uma classe pode
ter um ou mais tipos de estereótipos
➔
Boundary (Fronteira): São classes de interface
de usuário
➔
Control (Controle): São classes que controlam o
comportamento de um caso de uso
➔
Entity (Entidade): São classes que armazenam
informações que serão manipuladas pelo sistema
Diagrama de Sequência
● Estereótipos
Diagrama de Sequência