Baixe o app para aproveitar ainda mais
Prévia do material em texto
Diagramas de interação Diagramas de interação 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 Diagramas de interação controle para uma operação, uma classe, um componente, um subsistema, ou para um sistema inteiro • Dois diagramas podem ser usados 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 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 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 Diagramas de interação – Um objeto concreto 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 conexã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 Diagramas de interação darAumento(perc: float) alocar(d: Departamento) Pessoa Empresa empregado empregador 1..* 0..5 p: Pessoa e: Empresa alocar(desenvolvimento) Mensagens • Definição formal: uma mensagem é a especificação de uma comunicação entre objetos, onde são passadas informações, com a intenção de que ocorra alguma atividade • Na maioria das vezes, uma mensagem resulta na Diagramas de interação • 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) Sequenciamento • Quando um objeto envia uma mensagem para outro objeto, o objeto que recebe a mensagem pode enviar outras mensagens e assim por diante, formando uma sequência de mensagens • O sequenciamento pode ser Diagramas de interação • O sequenciamento pode ser – procedural, com aninhamento (mensagens síncronas) – ou plano, sem aninhamento (mensagens assíncronas) Diagramas de sequência • Diagramas de sequência enfatizam a ordenação das mensagens trocadas entre os objetos • Um cenário é uma sequência específica de ações que ilustra um comportamento Diagramas de interação • Diagramas de sequência podem modelar apenas um cenário ou um conjunto de cenários • Diagramas de sequência podem mostrar decisões simples e iterações Exemplo Browser Servidor Web Processador de pedidos Interface com o banco Estudante Submeter formulário de pedido preenchido Codificar dados do formulário Este é um programa CGI Diagramas de interação Enviar dados codificados Processar dados Enviar dados processados Executar Cadastrar pedido Cadastro OK Gerar página de confirmação Enviar página Enviar página Exibir página Diagramas de colaboração • 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 interação mostrado em um diagrama de colaboração • Diagramas de colaboração podem ser transformados em diagramas de sequência e vice-versa Exemplo Browser Servidor Web submeter(dadosForm) 1: codificarDados(dadosForm) 2: enviarDadosCodificados(dados) 3: processarDados() 8: enviarPagina(pag) 9: enviarPagina(pagina) Diagramas de interação Processador de pedidos Interface com o banco Estudante 4: executar() 5: enviarDadosProc(dados) 6: cadastrapedido(consSQL) 8: enviarPagina(pag) 7: gerarPagResposta() Modelando o fluxo de controle através de Diagramas de Sequência • Defina o contexto da interação, se sistema, subsistema, classe, ou um cenário de um Use Case • Identifique quais objetos participam da interação. Coloque-os da esquerda (mais Diagramas de interação interação. Coloque-os da esquerda (mais importante) para direita. • Defina a linha de vida do objeto. – A maioria dos objetos irão persistir durante toda a interação – Indique o nascimento e morte daqueles objetos que são criados e destruídos durante a interação. Modelando o fluxo de controle através de Diagramas de Sequência • Começar com a mensagem inicial. A mensagens subsequentes são colocadas do topo para baixo da linha de vida. • Para explicar a semântica é possível incluir as propriedades da mensagens, por ex. Parâmetros. Diagramas de interação propriedades da mensagens, por ex. Parâmetros. • 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. Modelando o fluxo de controle através de Diagramas de Sequência • Começar com a mensagem inicial. A mensagens subsequentes são colocadas do topo para baixo da linha de vida. • Para explicar a semântica é possível incluir as propriedades da mensagens, por ex. Parâmetros. Diagramas de interação propriedades da mensagens, por ex. Parâmetros. • 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. Adicionar a oferta de um curso : Professor form opções de curso form curso curso oferecimento curso 1: adic um curso 2: apresentar() Diagramas de interação 4: selecionar curso oferecido 5: adic professor (professor id) 6: assoc professor (professor id) 7: adic professor (professor) 3: listar() Modelando o fluxo de controle através de Diagramas de Colaboração • Defina o contexto da interação, se sistema, subsistema, classe, ou um cenário de um Use Case • Identifique quais objetos participam da interação. Coloque os objetos mais importantes Diagramas de interação interação. Coloque os objetos mais importantes no centro do diagrama. Modelando o fluxo de controle através de Diagramas de Colaboração • Especifique os links entre objetos. Eles permitem a passagem das mensagens. • Começando com a mensagem que inicia a interação, coloque uma numeração seqüencial nas mensagens. Se necessário use aninhamento Diagramas de interação 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. Adicionar a oferta de um curso : Professor form opções de curso form curso 1: adic um curso 4: selecionar curso oferecido 2: apresentar() 3: listar() Diagramas de interação oferecimento curso curso 6: assoc professor (professor id) 5: adic professor (professor id) 7: adic professor (professor)
Compartilhar