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