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

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

Diagramas de Interacção

Apresentações semelhantes


Apresentação em tema: "Diagramas de Interacção"— Transcrição da apresentação:

1 Diagramas de Interacção
Os Diagramas de Interacção são utilizados para modelar os aspectos dinâmicos de um sistema. Através deles é possível modelar as interacções entre diferentes objectos, nomeadamente as mensagens trocadas entre objectos. São frequentemente utilizados para especificar Use Cases. Diagrama de Sequência: ênfase na ordenação temporal de mensagens Diagrama de Colaboração: ênfase nas relações estruturais entre objectos equivalentes

2 Diagramas de Sequência
UML – Diagramas de Interacção Diagramas de Sequência Nos Diagramas de Sequência são representados, de uma forma sequencial: Objectos (instâncias das classes do Diagrama de Classes); Troca de mensagens (essencialmente chamadas a métodos dos objectos); Estruturas simples de controlo (if e repeat). Pressupõe-se a prévia definição do Diagrama de Classes, com a indicação dos métodos associados. É usual associar um diagrama de sequência a um Use Case (a um cenário, i.e., uma instância de um Use Case).

3 UML – Diagramas de Interacção
Objecto Um Objecto representa uma instância de uma Classe, logo na sua representação deverá constar a indicação da classe respectiva. O objecto p é uma instância da classe Publicação p: Publicação O mesmo objecto Se em um diagrama pretendemos referir duas vezes o mesmo objecto, terá que ser utilizado o mesmo identificador. p: Publicação q: Publicação Objectos distintos da mesma classe : Publicação Um qualquer objecto da classe Publicação (apenas se utiliza o identificador nas situações em que pretendemos referir duas ou mais vezes o mesmo objecto).

4 UML – Diagramas de Interacção
Mensagens Uma Mensagem representa um acto de comunicação entre dois objectos (enviar sinais ou invocar uma operação). Quando uma mensagem é activada uma acção ocorre. Existem tipos de acções pré-definidas associadas às mensagens: Call - invoca sincronamente (fica bloqueado) um método de um objecto (mensagem síncrona); Return – retorna o controlo a quem invocou um Call (mensagem de retorno); Send – envia um sinal a um objecto (mensagem assíncrona); Create – cria um objecto (estereótipo); Destroy – destrói um objecto (um objecto pode-se destruir a ele próprio) (estereótipo).

5 Mensagens, Representação Gráfica
UML – Diagramas de Interacção Mensagens, Representação Gráfica Call Calculo Sanção() t: Tabela Sanções Passagem de parâmetros: Calculo Sanção (num dias atraso, tipo cliente) Return Calculo Sanção() t: Tabela Sanções Representa o retorno de um call Sanção Create / Destroy << create>> << destroy>> r: Requisição Send Um ecrã pode ser considerado uma instância da classe Forms. On error fr: frmRequisição

6 Diagrama, Representação Gráfica (I)
UML – Diagramas de Interacção Diagrama, Representação Gráfica (I) Objectos (que existem antes do início do diagrama) Lifeline, i.e., o objecto existe r: Requisição t: Tabela Sanções Condição (Guarda) Tempo [Dt Devolução > Prazo Entrega] Calculo Sanção() Activation (área de controlo), i.e., representa a execução de um procedimento, com a indicação do tempo em que fica a aguardar. Sanção << destroy>>

7 Diagrama, Representação Gráfica (II)
UML – Diagramas de Interacção Diagrama, Representação Gráfica (II) r: RClasse Iteração (executar enquanto condição lógica for verdadeira) : TClass Objectos criados no diagrama [condição lógica *] Método m1() Objectos que são criados e extintos no diagrama {transient} [x = 0 ] << create >> : NClass [x <> 0 ] O return de mensagens síncronas é facultativo porque no final da área de controlo, no caso de uma mensagem Call, o controlo volta para quem invocou o método. Três áreas de controlo no mesmo objecto

8 UML – Diagramas de Interacção
Exemplo de um Diagrama : Requisição : Cliente :Publicação : Tabela Sanções Bibliotecário Recolhe Requisição Valida Cliente() Prazo Entrega [Dt Devolução > Prazo Entrega] Calculo Sanção() Sanção Actualiza Stock() << destroy>> Use Cases: Devolver Publicação, Actualizar Stock, Aplicar Sanção

9 Diagrama com trajectos alternativos
UML – Diagramas de Interacção Diagrama com trajectos alternativos : Requisição : Cliente : Tabela Sanções :Publicação Valida Cliente() Recolhe Requisição Considera-se que os objectos são persistentes. Um certo paralelismo entre os objectos e as tabelas do relacional. É uma solução incompleta que é analisada em outra secção. Bibliotecário Prazo Entrega Schmuller, 99 Permite trajectos alternativos das áreas de controlo. Realça o facto de a sanção nem sempre ser enviada ao objecto Requisição. Existem situações (de que esta não é um exemplo) em que a sua utilização facilita a leitura (Schmuller, 99). [Dt Devolução > Prazo Entrega] Calculo Sanção() Sanção Actualiza Stock() << destroy>>

10 Exemplo de um Diagrama com ecrã
UML – Diagramas de Interacção Exemplo de um Diagrama com ecrã {transient} : Requisição : Cliente : Tabela Sanções :Publicação fr: frmRequisição << create>> Recolhe Dados Confirma Dados Valida Cliente() Recolhe Requisição() Prazo Entrega Bibliotecário [Dt Devolução > Prazo Entrega] Calculo Sanção() Sanção Actualiza Stock() Sanção << destroy>>

11 Exemplo (parcial) de um Diagrama com Acesso a BD (I)
UML – Diagramas de Interacção Exemplo (parcial) de um Diagrama com Acesso a BD (I) {transient} {transient} {transient} {transient} db:Biblioteca fr: frmRequisição : Requisição : Publicação :DbConnection << create>> << create>> connect Recolhe Dados Confirma Dados << create>> Trocam informação enquanto conectados Recolhe Requisição() Bibliotecário Actualiza Stock() Db_act_stock() << destroy>> Extingue-se a ligação << destroy>> << destroy>> << destroy>> << destroy>>

12 Exemplo (parcial) de um Diagrama com Acesso a BD (II)
UML – Diagramas de Interacção Exemplo (parcial) de um Diagrama com Acesso a BD (II) {transient} {transient} {transient} db:Biblioteca fr: frmRequisição : Requisição : Publicação :DbConnection << create>> connect Recolhe Dados Confirma Dados << create>> A ligação é permanente Recolhe Requisição() Bibliotecário Actualiza Stock() Db_act_stock() << destroy>> A ligação das classes ao modelo relacional é analisada com maior detalhe no caso de estudo “PhonePizza” . << destroy>> << destroy>> << destroy>>

13 Troca de Mensagens na mesma Classe
UML – Diagramas de Interacção Troca de Mensagens na mesma Classe : RClasse : TClass O método m1 tem o controlo e passa-o ao método m2, recuperando-o após o término do método m2. Ambos os métodos actuam sobre a mesmo objecto. Método m1() Método m2() : RClasse : TClass Método m1() Método m2() : RClasse :t1 TClass t2: TClass O método m1 tem o controlo e passa-o ao método m2, recuperando-o após o término do método m2. Os métodos actuam sobre dois objectos distintos da mesma classe. Método m1() <<create>> Método m2() << destroy>>

14 Diagramas de Colaboração
UML – Diagramas de Interacção Diagramas de Colaboração Equivalentes aos Diagramas Sequenciais, i.e., um é obtido automaticamente com base no outro. É dado maior enfoque às relações estruturais entre objectos. 1: Valida Cliente() 2: Prazo Entrega r: Requisição c: Cliente 5: Actualiza Stock 3: [Dt Devolução > Prazo Entrega] Calculo Sanção() p:Publicação 4: Sanção t: Tabela Sanções 6: << destroy>>


Carregar ppt "Diagramas de Interacção"

Apresentações semelhantes


Anúncios Google