Diagrama de Classes (UML)
São Paulo, 2011
Diagramas UML
Universidade Paulista (UNIP)
Introdução e Conceitos sobre Diagrama de
Seqüência
Prof. MSc. Vladimir Camelo
[email protected]
19/03/10
[email protected]
1
Diagrama de Classes (UML)
Diagramas UML
Introdução
 O 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.
 Este diagrama determina 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.
19/03/10
[email protected]
2
Diagrama de Classes (UML)
Introdução
Diagramas UML
 O diagrama de sequência baseia-se:
 No diagrama de casos de uso, havendo normalmente um
diagrama de sequência para cada caso de uso declarado.
 No diagrama de classes, já que as classes dos objetos utilizados
no diagrama de sequência estão descritas nele.
 O diagrama de sequência possibilita:
 Validar e complementar um diagrama de classes (identificação de
métodos, que serão utilizados como mensagens).
19/03/10
[email protected]
3
Diagrama de Classes (UML)
Diagramas UML
Exemplo de criação de um diagrama de seqüência
19/03/10
[email protected]
4
Diagrama de Classes (UML)
Diagramas UML
Exemplo de criação de um diagrama de seqüência
19/03/10
[email protected]
5
Diagrama de Classes (UML)
Diagramas UML
Atores
 Os atores declarados 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ço,
gerando eventos que iniciam processos.
 Suas representações são idênticas as dos atores criados nos
diagramas de casos de uso, porém, contendo uma linha de vida.
 Os atores não são realmente obrigatórios em um diagrama de
sequência, mas são utilizados com frequência.
19/03/10
[email protected]
6
Diagrama de Classes (UML)
Atores
Diagramas UML
 Representação:
Ator
Usuário
Linha de vida
19/03/10
[email protected]
7
Diagrama de Classes (UML)
lifelines
Diagramas UML
 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 (objeto).
 Lifelines em um diagrama de sequência tem a mesma notação
utilizada no diagrama de objetos, diferenciando-se por uma linha de
vida.
 O lifeline pode existir desde o início do processo ou ser criado durante
o decorrer da execução do mesmo. Isto pode ser observado no
exemplo apresentado a seguir. Escaneado de Guedes (2009 ).
19/03/10
[email protected]
8
Diagramas UML
Diagrama de Classes (UML)
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 203
19/03/10
[email protected]
9
Diagrama de Classes (UML)
Linha de vida
Diagramas UML
 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.
 A linha de vida é interrompida com um “X” quando o objeto é
destruído.
 Um objeto não precisa necessariamente existir quando o processo é
iniciado, podendo ser criado ao longo do mesmo.
19/03/10
[email protected]
10
Diagrama de Classes (UML)
Diagramas UML
Foco de controle e ativação
 Indica os períodos em que um determindao 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 um linha mais
grossa.
19/03/10
[email protected]
11
Diagramas UML
Diagrama de Classes (UML)
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 204
19/03/10
[email protected]
12
Diagrama de Classes (UML)
Diagramas UML
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 a comunicação entre dois atores, neste caso não
disparando métodos.
 Um diagrama de seuência em geral é iniciado por um evento externo,
causando por algum ator, o que acarreta o disparo de um método em
um dos objetos.
19/03/10
[email protected]
13
Diagrama de Classes (UML)
Mensagens ou estímulos
 As mensagens podem ser disparadas:
Diagramas UML
 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, 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 mesmmo,
disparando um método em si próprio, o que é conhecido como
auto-chamada.
19/03/10
[email protected]
14
Diagrama de Classes (UML)
Mensagens ou estímulos
Diagramas UML
 As mensagens podem ser disparadas:
 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.
 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 sequêncial é
demonstrada de cima para baixo.
19/03/10
[email protected]
15
Diagrama de Classes (UML)
Diagramas UML
Mensagens ou estímulos
 Os textos contidos nas mensagens primeiramente identificam qual
evento ocorreu e forçou o envio de uma mensagem e qual método foi
chamado.
 As duas informações são separadas por um símbolo de dois PONTOS
( : ).
 Podem ocorrer eventos que não disparam métodos. Neste caso, a
mensagem descreve apenas o eventou que ocorreu, sem símbolo de
dois pontos e nenhum texto após os mesmos.
19/03/10
[email protected]
16
Diagrama de Classes (UML)
Mensagens ou estímulos
Diagramas UML
 A UML considera dois tipos de mensagens trocadas entre objetos:
 Mensagens síncronas: o objeto que enviou a mensagem
aguarda a conclusão do processamento da mensagem feito pelo
objeto de destino, para então prosseguir seu fluxo de execução,
ou seja, existe um sincronismo rígido entre os dois objetos. A
notação UML para uma mensagem síncrona é a de um segmento
de reta com uma seta cheia;
19/03/10
[email protected]
17
Diagrama de Classes (UML)
Mensagens ou estímulos
Diagramas UML
 A UML considera dois tipos de mensagens trocadas entre objetos:
 Mensagens assíncronas: o objeto de origem envia a mensagem
e prossegue seu processamento independente do tratamento da
mensagem feito no destino. De forma geral, todas as
comunicações entre atores e objetos são feitas por meio de
mensagens assíncronas. A notação UML para uma mensagem
assíncrona é a de um segmento de reta com uma meia seta.
19/03/10
[email protected]
18
Diagramas UML
Diagrama de Classes (UML)
 Nesta figura pode-se observar que a mensagem da figura descreve
simplesmente o evento.
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 205
19/03/10
[email protected]
19
Diagramas UML
Diagrama de Classes (UML)
 Nesta figura pode-se observar que a mensagem da figura descreve o
evento e, após os dois pontos, o método que foi disparado por ele.
 Estes métodos podem ou não conter parâmetros.
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 206
19/03/10
[email protected]
20
Diagrama de Classes (UML)
Diagramas UML
Mensagens ou estímulos
 Quando a mensagem é dirigida a um objeto já existente, 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.
 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.
19/03/10
[email protected]
21
Diagramas UML
Diagrama de Classes (UML)
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 206
19/03/10
[email protected]
22
Diagrama de Classes (UML)
Mensagens ou estímulos
Diagramas UML
 Uma mensagem podem representar um método destrutor, ou seja, um
método que elimina um objeto não mais necessário.
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 207
19/03/10
[email protected]
23
Diagrama de Classes (UML)
Mensagens de retorno
Diagramas UML
 Esse tipo de mensagem identifica a resposta a uma mensagem para o
objeto ou ator que a chamou.
 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.
 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.
19/03/10
[email protected]
24
Diagramas UML
Diagrama de Classes (UML)
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 207
19/03/10
[email protected]
25
Diagrama de Classes (UML)
Autochamadas ou autodelegações
Diagramas UML
 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.
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 208
19/03/10
[email protected]
26
Diagrama de Classes (UML)
Diagramas UML
Detalhes de tempo
 Às vezes pode ser necessário definir detalhes do tempo de uma
mensagem, como por exemplo, o tempo máximo de espera até que
uma mensagem seja disparada.
 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, e a mensagem, em vez de ser representada na horizontal,
como é o padrão, é a apresentada na diagonal.
19/03/10
[email protected]
27
Diagramas UML
Diagrama de Classes (UML)
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 209
19/03/10
[email protected]
28
Diagrama de Classes (UML)
Diagramas UML
Mensagens perdidas e mensagens encontradas
 Uma mensagem perdida representa uma mensagem que foi enviada e
sua confirmação de recebimento não foi recebida, podendo significar
que a mensagem não chegou a seu destino, ou pode ainda
representar uma mensagem enviada a um destino não representada
no diagrama.
19/03/10
[email protected]
29
Diagrama de Classes (UML)
Diagramas UML
Mensagens perdidas e mensagens encontradas
 Uma mensagem encontrada representa o recebimento de uma
mensagem enviada por um elemento desconhecido ou um elemento
não reprsentado no diagrama, ou o recebimento de uma mensagem
que fora dada como perdida, pois seu tempo de espera por resposta
poderia ter sido encerrado.
19/03/10
[email protected]
30
Diagrama de Classes (UML)
Mensagens perdidas e mensagens encontradas
Diagramas UML
 Tanto as mensagens perdidas quanto as mensagens encontradas são
representadas por um círculo preenchido.
 Quando se trata de uma mensagem perdida, o círculo é atingido pela
mensagem; já quando se trata de uma mensagem encontrada, esta
parte do círculo.
 Uma aplicação para uso de mensagens perdidas e mensagens
encontradas pode ser a representação de troca de mensagens entre
objetos localizados em máquinas (hosts) diferentes, possivelmente
distantes entre si, onde a comunicação é realizada por meio de algum
tipo de protocolo de rede.
19/03/10
[email protected]
31
Diagramas UML
Diagrama de Classes (UML)
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 210
19/03/10
[email protected]
32
Diagrama de Classes (UML)
Portas
Diagramas UML
 É possível representar umobjeto do diagrama de sequência contendo
instâncias das portas declaradas na classe a que ele pertence.
 Dessa forma o objeto poderá ter mais de uma linha de vida, o que
possibilita a representação de mensagens externas e internas no
objeto.
19/03/10
[email protected]
33
Diagramas UML
Diagrama de Classes (UML)
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 210
19/03/10
[email protected]
34
Diagrama de Classes (UML)
Fragmentos de interação
Diagramas UML
 Os fragmentos de interação são noções abstratas de unidades de
interação geral.
 Um fragmento de interação é uma parte de uma interação.
 Cada fragmento da interação é considerado como uma interação
independente.
 Um fragmento de interação é representado como um retângulo que
envolve toda a inetração, além de conter uma aba no canto superior
esquerdo, contando um operador que determina qual tipo de diagrama
de interação ele se refere.
 O operador sd apresentado na figura a seguir (Guedes, 2009), indica
que é um diagrama de seuência.
19/03/10
[email protected]
35
Diagramas UML
Diagrama de Classes (UML)
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 211
19/03/10
[email protected]
36
Diagramas UML
Diagrama de Classes (UML)
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 212
19/03/10
[email protected]
37
Diagrama de Classes (UML)
Diagramas UML
Fragmentos combinados e operadores de interação
 Nas versões anteriores à versão 2.0 da UML, os diagrams de
sequência tinham dificuldade em trabalhar questões como testes sesenão, laços ou processamentos paralelos.
 Essas questões foram abordadas a partir da versão 2.0 por meio do
uso de fragmentos combinados, que possibilitam uma modelagem
semi-independente da parte do diagrama onde deve-se enfocar
problemas como os enunciados.
19/03/10
[email protected]
38
Diagrama de Classes (UML)
Diagramas UML
Fragmentos combinados e operadores 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.
19/03/10
[email protected]
39
Diagrama de Classes (UML)
Fragmentos combinados e operadores de interação
Diagramas UML
 Operadores de interação mais comuns são:
 Alt – Abreviatura de Alternatives (Alternativas): Esse operador de
interação define que fragmento combinado representa uma
escolha entre dois ou mais comportamentos.
19/03/10
[email protected]
40
Diagramas UML
Diagrama de Classes (UML)
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 216
19/03/10
[email protected]
41
Diagrama de Classes (UML)
Fragmentos combinados e operadores de interação
Diagramas UML
 Operadores de interação mais comuns são:
 Opt – Abreviatura de Option (Opção): Esse operador de interação
determina que o fragmento combindao 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.
19/03/10
[email protected]
42
Diagramas UML
Diagrama de Classes (UML)
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 217
19/03/10
[email protected]
43
Diagrama de Classes (UML)
Fragmentos combinados e operadores de interação
Diagramas UML
 Operadores de interação mais comuns são:
 Par – Abreviatura de Parallel (Paralelo): Esse operador de
interação determina que o fragmento combindao representa uma
execução paralela de dois ou mais comportamentos.
19/03/10
[email protected]
44
Diagramas UML
Diagrama de Classes (UML)
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 218
19/03/10
[email protected]
45
Diagrama de Classes (UML)
Fragmentos combinados e operadores de interação
Diagramas UML
 Operadores de interação mais comuns são:
 Loop – Abreviatura de Looping (Laço): Esse operador de
interação determina que o fragmento combindao representa um
laço que poderá ser repetido diversas vezes.
19/03/10
[email protected]
46
Diagramas UML
Diagrama de Classes (UML)
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 219
19/03/10
[email protected]
47
Diagrama de Classes (UML)
Fragmentos combinados e operadores de interação
Diagramas UML
 Operadores de interação mais comuns são:
 Break – Abreviatura de Break (Quebra): Esse operador de
interação indica uma quebra na execução normal do processo. É
utilizado principalmente para modelar o tratamento de exceções.
19/03/10
[email protected]
48
Diagramas UML
Diagrama de Classes (UML)
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 221
19/03/10
[email protected]
49
Diagrama de Classes (UML)
Fragmentos combinados e operadores de interação
Diagramas UML
 Operadores de interação mais comuns são:
 Critical Region (Região crítica): Esse operador de interação
indentifica uma operação atômica que não pode ser interrompida
por outro processo até ser totalmente concluída.
19/03/10
[email protected]
50
Diagramas UML
Diagrama de Classes (UML)
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, 2009. pág 221
19/03/10
[email protected]
51
Diagrama de Classes (UML)
Fragmentos combinados e operadores de interação
Diagramas UML
 Existem outros operadores de interação menos utilizadoque são:
 Neg – Negative (Negativo): Esse operador de interação
representa eventos considerados como inválidos, que não devem
ocorrer. Todos os eventos não contidos em um fragmento
combinado do tipo Neg (quando existir um) são considerados
positivos.
19/03/10
[email protected]
52
Diagrama de Classes (UML)
Fragmentos combinados e operadores de interação
Diagramas UML
 Existem outros operadores de interação menos utilizadoque são:
 Assertion (Afirmação): Esse operador de interação é o oposto do
anterior, representando eventos considerados como válidos.
Todos os eventos não contidos em um fragmento combinado do
tipo assertion são automaticamente considerados negativos.
19/03/10
[email protected]
53
Diagrama de Classes (UML)
Fragmentos combinados e operadores de interação
Diagramas UML
 Existem outros operadores de interação menos utilizadoque são:
 Ignore (Ignorar): Esse operador de interação Ignore determina que
as mensagens contidas no fragmento devem ser ignoradas.
Essas mensagens podem ser consideradas insignificantes e são
intuitivamente ignoradas se apareceram em uma execução
correspondente. Alternativamente pode-se entender Ignore como
significando que as mensagens que são ignoradas podem
aparecer em qualquer lugar nos eventos.
19/03/10
[email protected]
54
Diagrama de Classes (UML)
Fragmentos combinados e operadores de interação
Diagramas UML
 Existem outros operadores de interação menos utilizadoque são:
 Consider (Considerar): Esse operador de interação é o oposto do
anteriro e determina que as mensagens devem obrigatoriamente
ser consideradas e que todas as outras mensagens não contidas
no fragmento devem ser automaticamente desconsideradas.
Tanto o operador de interação Ignore como Consider são
frequentemente utilizados juntos com os operadores Neg e
Assertion, de maneira que um fragmento pode conter o outro.
19/03/10
[email protected]
55
Diagrama de Classes (UML)
Fragmentos combinados e operadores de interação
Diagramas UML
 Existem outros operadores de interação menos utilizadoque são:
 Seq – Abreviatura de Weak Sequencing (Sequência Fraca): Esse
operador de interação identifica uma situação na qual as
ocorrências de evento devem atender essas propriedades:
 As ordens das ocorrências de evento dentro de cada um dos
operandos são mantidas no resultado;
 Ocorrências de evento em linhas de vida diferentes de
operandos podem vir em qualquer ordem;
19/03/10
[email protected]
56
Diagrama de Classes (UML)
Fragmentos combinados e operadores de interação
Diagramas UML
 Existem outros operadores de interação menos utilizadoque são:
 Seq – Abreviatura de Weak Sequencing (Sequência Fraca): Esse
operador de interação identifica uma situação na qual as
ocorrências de evento devem atender essas propriedades:
 Ocorrências de evento na mesma linha de vida de operandos
diferentes são ordenadas de tal forma que uma ocorrência de
evento do primeiro operando venha antes do segundo
operando.
19/03/10
[email protected]
57
Diagrama de Classes (UML)
Fragmentos combinados e operadores de interação
Diagramas UML
 Existem outros operadores de interação menos utilizadoque são:
 Strict – Abreviatura de Strict Sequencing (Sequência Estrita): Esse
operador de interação Strict apresenta um refinamento do perador
weak sequencing e garante que todas as mensagens no
fragmento combinado sejam ordenadas do início ao fim.
19/03/10
[email protected]
58
Diagrama de Classes (UML)
São Paulo, 2011
Diagramas UML
Universidade Paulista (UNIP)
Introdução e Conceitos sobre Diagrama de
Seqüência
Prof. MSc. Vladimir Camelo
[email protected]
19/03/10
[email protected]
59
Download

Prof MSc Vladimir Camelo