UML Diagramas de Interação

Documentos relacionados
UML - Diagramas de Sequência

UML - Diagramas de Sequência

Diagramas de Seqüência

Modelagem Dinâmica. Toda a ação é designada em termos do fim que procura atingir. Niccolo Maquiavel. O pensamento é o ensaio da ação.

Unified Modeling Language. Diagramas de Colaboração

UML Diagrama de Atividades

Diagramas. Abordaremos agora cada um destes tipos de diagrama: 1. Diagrama Use-Case. 2. Diagrama de Colaboração. 3. Diagrama de Sequência

27/02/2016 UML. Prof. Esp. Fabiano Taguchi DIAGRAMAS DE SEQUÊNCIA

Modelagem Temporal com UML

Realizações de. Diagramas de Interação. Diagrama de Sequência. Análise e Projeto de Sistemas OO. Diagrama de Interação:

UML Relacionamentos. Relacionamento é uma conexão entre itens A maioria dos itens relacionam-se entre si. Quatro tipos de relacionamentos:

Tópicos da Aula. Alguns Diagramas UML. Diagramas Principais. Diagramas de Interação: Sequência e Colaboração. Tipos de Diagramas de Interação

UML Diagrama de Casos de Uso (Use Case)

Diagrama de Sequência Notação Objetos. Diagrama de Sequência Notação Mensagens. Diagrama de Sequência Notação Mensagens. Tipos de Mensagens

4.4. UML Diagramas de interacção

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

PRDS Módulo 3 (parte 3) Dario Ferreira Yoshiro Nagaé

Diagrama de Sequência EDSIII. UML 2015 profa.denise

Diagrama de Comunicação

Diagrama de Sequência. Diagrama de Sequência. Atores. O que representam? Linha de Vida. Objetos

Análise e Projeto Orientados a Objetos

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

PCS3413 Engenharia de Software e Banco de Dados

UML Diagrama de Classes

Diagramas de Interação da UML (Diagrama de Sequência e Diagrama de

Diagramas de Sequência

Introdução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas:

Modelagem de Casos de Uso (Parte 1)

MODELAGEM DE SISTEMAS Unidade 4 Modelo de Classes de Projeto. Luiz Leão

Diagrama de Casos de Uso

Modelagem ou Diagrama de Caso de Uso

ENGENHARIA DE SOFTWARE I AULA 3. Análise e diagramação. professor Luciano Roberto Rocha.

Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML.

Panorama da notação UML

UML Itens Estruturais - Interface UML UML UML

Diagramas de Use Case Resumo

Diagrama de Atividades

Análise de Sistemas 4º Bimestre (material 3)

Diagrama de Atividades

UML. Modelando um sistema

Capítulo 5 Modelação do Sistema 1

Análise de Sistemas. Aula 5

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

UML (Unified Modelling Language)

UML e seus diagramas

Diagrama de Seqüência

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

Introdução a UML (Unified Modeling Language)

Análise e projeto de sistemas

Trata-se de uma variação do diagrama de estado com um propósito um pouco diferente do diagrama de estado:

Introdução a UML e seus diagramas

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

Análise e projeto de sistemas

Diagramas de. Atividades. PDF created with pdffactory trial version

UALG/FCT/DEEI Análise e Modelação de Sistemas Informáticos. 8. Diagramas de Classes, Diagramas de objetos, Interfaces

Análise de Sistemas de Informação e Use Cases

UML. Trabalho Análise e Projeto de Sistemas. Aluna: Luana Alves Businaro

Diagramas de Classes. Diagramas de Classes. Diagramas de Classes. Análise e Projeto de Sistemas OO

EA975 - Laboratório de Engenharia de Software

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Transcrição:

CBSI Curso de Bacharelado em Sistemas de Informação UML Diagramas de Interação Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br www.ufpa.br/srbo Análise e Projeto de Sistemas Faculdade de Computação Instituto de Ciências e Exatas e Naturais Universidade Federal de Pará Objetivos Definição Notação Diagrama de Sequência Diagrama de Colaboração 1

Interações Interações mostram os aspectos dinâmicos de um sistema, enfatizando a troca de mensagens entre objetos. Interações são usadas para modelar o fluxo de controle para uma operação, uma classe, um componente, um subsistema, ou para um sistema inteiro. Dois digramas podem ser usada\os para modelar as interações: diagramas de sequência e diagramas de colaboração. Utilidades Modelar as interações em um sistema é uma das técnicas mais poderosas para a descoberta das classes e das operações do sistema. Diagramas de interação facilitam o entendimento de sistemas com comportamento complexo. Diagramas de interação são especialmente úteis para sistemas orientados a objetos porque a funcionalidade nesses sistemas geralmente é distribuída em muitas classes diferentes. 2

Objetos e papéis As interações acontecem entre objetos (ou outras instâncias) e não classes. Os objetos em uma interação podem ser concretos ou prototípicos um objeto concerto p da classe Pessoa pode representar uma pessoa real. um objeto prototípico p da classe Pessoa pode representar qualquer instância da classe Pessoa. Nos diagramas de interação, objetos que desempenham papéis diferentes podem ser modelados como objetos diferentes. Links Um link é uma coleção entre dois objetos, pela qual mensagens podem ser trocadas. Sempre que uma classe tiver uma associação com outra classe, pode haver um link entre os objetos dessas classes. Pessoa daraument o() alocar() + em pregado 1..* p: Pessoa alocar 0..* +empregador Empresa e: Empresa 3

Mensagens Definição formal: uma mensagem é a especificação de uma comunicação entre objetos, onde são passadas informações, com a esperança de que ocorra alguma atividade Na maioria das vezes, uma mensagem resulta na execução de uma operação Tipos principais de mensagens Chamada (Call) Retorno (Return) Envio (Send) Criação (Create) Destruição (Destroy) Tipos de Digramas de Interação Diagramas de Sequência Diagramas de Colaboração 4

Diagramas de Sequência Objetivo Um diagrama de sequência mostra uma interação, isto é, uma sequência de mensagens trocadas entre vários objetos num determinado contexto Enfatiza a comunicação e passagem de controle entre objetos ao longo do tempo. Útil para descrever uma sequência particular de funcionamento, mas não muitas sequências alternativas e ciclos nem ações realizadas por um objeto que não envolvem comunicação com outros objetos 5

Objetos e Linhas de Vida Cada objeto participante é representado por uma caixa em cima duma linha vertical a traço interrompido (linha de vida) Podem aparecer atores (objectos externos ao sistema), normalmente ao iniciar as interações O tempo cresce de cima para baixo objecto1:classe1 objecto2: :Classe3 mensagem Mensagens Uma mensagem é uma comunicação entre objetos (emissor e receptor) que veicula informação na expectativa de provocar uma resposta (ação ou atividade) Uma ação de um objeto capaz de provocar uma resposta em outro objeto pode ser modelada como uma mensagem do primeiro para o segundo objeto Uma mensagem é representada por uma seta horizontal, do emissor para o receptor, com o nome e possíveis argumentos Tipos de mensagens: síncrona - o emissor fica parado à espera de resposta corresponde tipicamente a chamada de operação/procedimento no receptor retorno de mensagem síncrona desnecessário indicar quando se usam barras de ativação 6

Mensagens assíncrona - o emissor não fica parado à espera de resposta corresponde tipicamente a envio de sinal entre dois objectos concorrentes simples ou indiferenciada - não se decide se é síncrona, de retorno ou assíncrona usadas normalmente na modelação de interacções na fronteira do sistema (entre actores e o sistema representado por um ou mais objectos) Criação e destruição de objetos Criação de objeto é representada por mensagem dirigida à própria caixa que representa o objeto (em vez de ser dirigida à linha de vida) Mensagem de criação pode ter estereótipo «create» ob1:c1 Destruição de objeto é representada por um X no fim da linha de vida do objecto Mensagem de destruição pode ter estereótipo «destroy» Pode ocorrer na recepção de mensagem ob1:c1 ou no retorno de chamada Objeto pode auto destruir-se 7

Mensagens condicionais, iteradas e com retorno O valor de retorno de uma mensagem síncrona pode ser indicado na chamada, com atribuição :=, ou na mensagem de retorno Exemplo: ret := msg(args) Nome ret será usado em mensagens e condições a seguir Também se escrever ret na mensagem de retorno Uma mensagem condicional é indicada por uma condição de guarda entre parênteses retos [ ] Exemplo: [x<0] invert(x,color) A mensagem só é enviada se a condição se verificar Condições permitem mostrar várias sequências alternativas num único diagrama Uma mensagem iterada é indicada com asterisco *, seguido ou não de uma fórmula de iteração Exemplo: *[i:=1..n] update(i) Barra de Ativação Uma barra de ativação mostra o período de tempo durante o qual um objeto está a executar uma ação, quer diretamente quer indiretamente através de um procedimento chamado inclui situação em que está à espera de retorno de uma chamada síncrona não inclui situação em que um processo está adormecido à espera de receber uma mensagem assíncrona que o acorde Em termos de processos, significa que o objeto tem um processo ou thread activo associado A sua indicação é opcional Retorno de chamada é implícito no fim da barra de ativação Chamadas recursivas provocam barras empilhadas 8

Exemplo: Fazer chamada telefônica {b-a < 10 seg.} quem chama: Pessoa a b marca temporal restrição temporal nesta altura decorre a conversaçã o Retira Telefone Gancho dá sinal de marcar marca (1º dígito) termina sinal de marcar marca (2º dígito)... marca (último dígito) dá sinal de chamada pára sinal de chamada :Sistema telefónico dá sinal de conexão terminada Põe telefone gancho toca o telefone Retira Telefone pára Gancho de tocar Põe telefone gancho quem é chamado: Pessoa mensagem simples Exemplo: Tratar pedido em Estoque :Janela de Seleção de Pedidos tratar() :Pedido * tratar() :Item de Pedido e:=existe?(q) :Produto Quantidade pedida Para cada linha do pedido [e= sim"]retirar(q) b:=baixo?() Para repor estoque [b= sim ] criar() [e= nao ] criar() e1:encomenda e2:encomend a Para poder satisfazer pedido criação de objecto 9

Relação com outros diagramas Relação com diagramas de colaboração Diagramas de sequência e de colaboração coletivamente designam-se diagrama de interação Diagrama de colaboração = diagrama de objetos + diagrama de sequência Relação com diagramas de casos de utilização A um caso de utilização podem corresponder vários diagramas de sequência, para descrever sequências normais e sequências excepcionais de funcionamento Inicialmente, o sistema pode ser representado por um único objeto; depois de conhecida a sua estrutura interna, podem-se representar objetos internos ao sistema Relação com diagramas de atividades Adequados para mostrar ações realizadas por um objeto que não envolvem comunicação com outros objetos Diagramas de Colaboração 10

Questões O que são diagramas de colaboração? Em que situações se utilizam diagramas de colaboração? Que relação existe entre os diagramas de sequência e os diagramas de colaboração? Que tipos de fluxo de controlo podem ser representados num diagrama de colaboração? Como é que se representam processos e comunicação entre processos num diagrama de colaboração? Introdução Diagramas de colaboração e diagramas de sequência são coletivamente designados diagramas de interação Um diagrama de interação mostra um padrão de interação entre vários objetos, com objetos e mensagens trocadas entre esses objetos por uma certa ordem num determinado âmbito (caso de uso, operação, etc.) Os diagramas de colaboração dão ênfase à estrutura organizacional dos objetos que enviam e recebem mensagens, enquanto que os diagramas de sequência dão ênfase à ordem temporal das mensagens Diagrama de colaboração = diagrama de objetos + diagrama de sequência Um diagrama de colaboração é um grafo com objetos (instâncias de classes) e ligações (instâncias de associações) através das quais fluem mensagens numeradas 11

Diagramas de Colaboração versus de Sequência Diagramas de Sequência enfatizam a ordenação das mensagens trocadas entre os objetos. Diagramas de colaboração enfatizam a organização dos objetos em uma interação. Praticamente tudo que pode ser mostrado em um diagrama de sequência pode também ser mostrado em um diagrama de colaboração. Diagramas de colaboração podem ser trans formados em diagramas de sequência e viceversa. Exemplo: Comunicação telefônica quem chama: Pessoa 2: dá sinal de marcar 1: levanta 4: termina sinal de marcar auscultador 7: dá sinal de chamada 3: marca(5) 9: pára sinal de chamada 5: marca(1) 11: dá sinal de conexão 6: marca(1) terminada 12: poisa auscultador : Linha telefónica 8: levanta auscultador 10: poisa auscultador quem é chamado:pessoa 7: toca o telefone 9: pára de tocar 12

Exemplo: Tratar Pedido de Produto :Janela de Seleção de Pedidos «local» 1: tratar() : Pedido e2: Encomenda {new} {new} : Item de Pedido 1.1: * tratar() 1.1.3: [e= não ] criar() 1.1.1: e :=existe?(q) 1.1.2: [e= sim ] retirar(q) : Produto {new} «self» e1:encomenda {new} 1.1.2.1: b:=baixo?() 1.1.2.2: [b= sim ] criar() Modelando o fluxo de controle através de Diagramas de Colaboração Defina o contexto da interação, se sistema, subsistema, classe, ou um Use Case. Identifique quais objetos participam da interação. Coloque os objetos mais importantes no centro do diagrama. Defina as propriedades iniciais dos objetos. Especifique os links entre objetos. Eles permitem a passagem das mensagens. 13

Modelando o fluxo de controle através de Diagramas de Colaboração Começando com a mensagem que inicia a interação, coloque a numeração sequencial nas mensagens. Se necessário use aninhamento (1.1, 1.2). Se precisar especificar limitações de tempo e espaço, adorne a mensagem com uma marca apropriada. Se precisar especificar o fluxo de controle mais formalmente, coloque pré e pós condições nas mensagens. 14