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

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

Pedro Ramos, DCTI/ISCTE Diagramas de Interacção Os Diagramas de Interacção são utilizados para modelar os aspectos dinâmicos de um sistema. Através deles.

Apresentações semelhantes


Apresentação em tema: "Pedro Ramos, DCTI/ISCTE Diagramas de Interacção Os Diagramas de Interacção são utilizados para modelar os aspectos dinâmicos de um sistema. Através deles."— Transcrição da apresentação:

1 Pedro Ramos, DCTI/ISCTE 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 Pedro Ramos, DCTI/ISCTE Diagramas de Sequência Nos Diagramas de Sequência são representados, de uma forma sequencial: UML – Diagramas de Interacção 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). 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).

3 Pedro Ramos, DCTI/ISCTE Objecto Um Objecto representa uma instância de uma Classe, logo na sua representação deverá constar a indicação da classe respectiva. UML – Diagramas de Interacção p: Publicação O objecto p é uma instância da classe Publicação p: Publicação Se em um diagrama pretendemos referir duas vezes o mesmo objecto, terá que ser utilizado o mesmo identificador. q: Publicação O mesmo objecto 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 Pedro Ramos, DCTI/ISCTE 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: UML – Diagramas de Interacção 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 Pedro Ramos, DCTI/ISCTE Mensagens, Representação Gráfica UML – Diagramas de Interacção Calculo Sanção() Call Passagem de parâmetros: Calculo Sanção (num dias atraso, tipo cliente) t: Tabela Sanções Calculo Sanção() Return t: Tabela Sanções Sanção > Create / Destroy r: Requisição On error Send fr: frmRequisição > Um ecrã pode ser considerado uma instância da classe Forms. Representa o retorno de um call

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

7 Pedro Ramos, DCTI/ISCTE Diagrama, Representação Gráfica (II) UML – Diagramas de Interacção r: RClasse: TClass [condição lógica *] Método m1() Objectos criados no diagrama Iteração (executar enquanto condição lógica for verdadeira) : NClass [x = 0 ] > [x <> 0 ] {transient} Objectos que são criados e extintos no diagrama Três áreas de controlo no mesmo objecto 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.

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

9 Pedro Ramos, DCTI/ISCTE Diagrama com trajectos alternativos UML – Diagramas de Interacção : Requisição: Cliente:Publicação: Tabela Sanções Bibliote cário Recolhe Requisição > Valida Cliente() Prazo Entrega [Dt Devolução > Prazo Entrega] Calculo Sanção() Sanção Actualiza Stock() 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). 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.

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

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

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

13 Pedro Ramos, DCTI/ISCTE Troca de Mensagens na mesma Classe UML – Diagramas de Interacção : RClasse: TClass Método m1() 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 m2() : RClasse: TClass Método m1() Método m2() : RClasse:t1 TClass Método m1() t2: TClass > Método m2() > 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.

14 Pedro Ramos, DCTI/ISCTE 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. UML – Diagramas de Interacção r: Requisiçãoc: Cliente p:Publicaçãot: Tabela Sanções 1: Valida Cliente() 3: [Dt Devolução > Prazo Entrega] 2: Prazo Entrega Calculo Sanção() 4: Sanção 5: Actualiza Stock 6: >


Carregar ppt "Pedro Ramos, DCTI/ISCTE Diagramas de Interacção Os Diagramas de Interacção são utilizados para modelar os aspectos dinâmicos de um sistema. Através deles."

Apresentações semelhantes


Anúncios Google