A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução e Conceitos sobre Diagrama de Seqüência

Apresentações semelhantes


Apresentação em tema: "Introdução e Conceitos sobre Diagrama de Seqüência"— Transcrição da apresentação:

1 Introdução e Conceitos sobre Diagrama de Seqüência
São Paulo, 2011 Universidade Paulista (UNIP)‏ Introdução e Conceitos sobre Diagrama de Seqüência Prof. MSc. Vladimir Camelo 1

2 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.

3 Introdução 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).

4 Exemplo de criação de um diagrama de seqüência

5 Exemplo de criação de um diagrama de seqüência

6 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.

7 Atores Representação: Ator Usuário Linha de vida

8 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 (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 ).

9 Gilleanes T. A. Guedes. UML 2 – uma abordagem prática
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, pág 203

10 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. 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.

11 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.

12 Gilleanes T. A. Guedes. UML 2 – uma abordagem prática
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, pág 204

13 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.

14 Mensagens ou estímulos
As mensagens podem ser disparadas: 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.

15 Mensagens ou estímulos
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.

16 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.

17 Mensagens ou estímulos
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;

18 Mensagens ou estímulos
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 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, pág 205

20 Estes métodos podem ou não conter parâmetros.
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, pág 206

21 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.

22 Gilleanes T. A. Guedes. UML 2 – uma abordagem prática
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, pág 206

23 Mensagens ou estímulos
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, pág 207

24 Mensagens de retorno 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.

25 Gilleanes T. A. Guedes. UML 2 – uma abordagem prática
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, pág 207

26 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. Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, pág 208

27 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.

28 Gilleanes T. A. Guedes. UML 2 – uma abordagem prática
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, pág 209

29 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.

30 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.

31 Mensagens perdidas e mensagens encontradas
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.

32 Gilleanes T. A. Guedes. UML 2 – uma abordagem prática
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, pág 210

33 Portas É 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.

34 Gilleanes T. A. Guedes. UML 2 – uma abordagem prática
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, pág 210

35 Fragmentos de interação
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.

36 Gilleanes T. A. Guedes. UML 2 – uma abordagem prática
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, pág 211

37 Gilleanes T. A. Guedes. UML 2 – uma abordagem prática
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, pág 212

38 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 se-senã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.

39 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.

40 Fragmentos combinados e operadores de interação
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.

41 Gilleanes T. A. Guedes. UML 2 – uma abordagem prática
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, pág 216

42 Fragmentos combinados e operadores de interação
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.

43 Gilleanes T. A. Guedes. UML 2 – uma abordagem prática
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, pág 217

44 Fragmentos combinados e operadores de interação
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.

45 Gilleanes T. A. Guedes. UML 2 – uma abordagem prática
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, pág 218

46 Fragmentos combinados e operadores de interação
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.

47 Gilleanes T. A. Guedes. UML 2 – uma abordagem prática
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, pág 219

48 Fragmentos combinados e operadores de interação
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.

49 Gilleanes T. A. Guedes. UML 2 – uma abordagem prática
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, pág 221

50 Fragmentos combinados e operadores de interação
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.

51 Gilleanes T. A. Guedes. UML 2 – uma abordagem prática
Gilleanes T. A. Guedes. UML 2 – uma abordagem prática. São Paulo, Editora Novatec, pág 221

52 Fragmentos combinados e operadores de interação
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.

53 Fragmentos combinados e operadores de interação
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.

54 Fragmentos combinados e operadores de interação
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.

55 Fragmentos combinados e operadores de interação
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.

56 Fragmentos combinados e operadores de interação
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;

57 Fragmentos combinados e operadores de interação
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.

58 Fragmentos combinados e operadores de interação
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.

59 Introdução e Conceitos sobre Diagrama de Seqüência
São Paulo, 2011 Universidade Paulista (UNIP)‏ Introdução e Conceitos sobre Diagrama de Seqüência Prof. MSc. Vladimir Camelo


Carregar ppt "Introdução e Conceitos sobre Diagrama de Seqüência"

Apresentações semelhantes


Anúncios Google