Diagramas de Interacção

Slides:



Advertisements
Apresentações semelhantes
Modelo de Casos de Uso Diagrama de Casos de Uso
Advertisements

Projeto – Parte II - Exemplos de Diagrama de Colaboração
DIAGRAMA DE COLABORAÇÃO
Análise e Desenvolvimento de Sistemas
UML Diagramas de Seqüência
UML no CICLO de DESENVOLVIMENTO
Desenvolvimento de Sistemas Baseado na Transformação de Modelos
> Processos de SW OO: quando concluir uma iteração de AOO, DOO e Testes OO? > Testes OO Aula 25.
Unified Modeling Language (UML) - Modelação da Dinâmica -
LEIC/FEUP Tecnologia de Sistemas de Gestão de Bases de Dados
Diagramas de Seqüência
Linguagens de Modelagem
Linguagens de Modelagem (cont.) (IV)
Orientação a Objetos: Encapsulamento e Classificação
Linguagens de Modelagem para SMA
Diagrama de Sequência.
Diagramas de Seqüência
Professora: Aline Vasconcelos IF Fluminense
Projeto de Software Orientado a Objetos
Modelagem de Sistemas de Informação
Diagrama de Seqüência.
Aula 10 UML (cont.).
2002/2003 Programação Orientada para Objectos 1 Aula 10 UML (continuação da aula 9) Diagramas de sequência Diagramas de actividade Desenvolvimento de um.
Projeto da Camada de Domínio
Modelagem de Interações
Diagramas de Componentes
Diagramas de Sequência e Comunicação
Diagramas de Seqüência
UML – Diagrama de Classes
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
Engenharia de Software e Sistemas de Informação e Gestão
Diagramas de Estados(*)
Introdução UML, Diagrama de Classes e Comunicação/Colabaração
UML – Diagrama de Classes
Tópicos em redes e sistemas distribuídos B Carlos Oberdan Rolim Ciência da Computação.
Modelação Conceptual de Sistemas
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
UML – Diagrama de Classes
Engenharia de Software e Sistemas Danilo Veras e Rebeka Gomes.
UNIDADE 2 UML MODELAGEM TEMPORAL
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Interpretação de Projetos de Software Professor: Cheli dos S. Mendes.
Marcio de Carvalho Victorino
Simone Sawasaki Tanaka
UML - Unified Modeling Language
Diagramas de Comunicação
Diagramas de Seqüência
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Unified Modeling Language Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Nov/2010.
Comunicação.
Profª Lucélia Oliveira
Diagrama de Sequência I
Diagrama de Colaboração. Diagramas de Interação Expressam informações bastante similares porém de maneira diferente Diagrama de seqüência: – Interação.
Linguagem de Modelagem Unificada
Modelo de Análise e Projeto
Analise de Algoritmos e Notação Assintótica
Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.
Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)
UML Statechart CIn-UFPE.
Linguagens de Programação
Palavras-Chaves Linguagem gráficas e utilizações de símbolos.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Modelagem de Sistemas Orientada a Objeto Com UML
UCSal – Bacharelado em Informática
Metodologia de modelagem etapa 7
Diagrama de Colaboração
Interações entre objetos
Fundamentos de Engenharia de SW Diagramas da UML Usados no Projeto de Software.
1 Objectivos da Apresentação Agenda SisConsult Método LEARN Controlo de Gestão Recursos Humanos Definição do Sistema de Informação Ciclo de Melhoria Contínua.
Análise e Conceção de Sistemas
Especificação de processos Ademar Aguiar & Gabriel David 1 Desenho de Workflow Gabriel David, Ademar Aguiar
Transcrição da apresentação:

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

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

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

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

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

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

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

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

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

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

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

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

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

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