Baixe o app para aproveitar ainda mais
Prévia do material em texto
MODELAGEM DE SISTEMAS – AULA07 DIAGRAMAS DE INTERAÇÃO SUMÁRIO 1. Conceitos 2. Diagrama de Sequência 3. Diagrama de Sequência de Sistema 4. Diagrama de Comunicação (Colaboração) INTRODUÇÃO � Como as operações do sistema são executadas internamente? � A que classes estas operações internas pertencem? � Quais objetos participam da realização de um caso de uso ou de uma operação do software? Os modelos de análise não respondem a algumas perguntas: O modelo de classes (modelo conceitual) não mostra: � De que forma os objetos colaboram para que um determinado caso de uso seja realizado? � Em que ordem as mensagens são enviadas durante esta realização? � Que informações precisam ser enviadas em uma mensagem de um objeto a outro? � Será que há responsabilidades ou mesmo classes que ainda não foram identificadas? Pedido - dataPagamento : Date[0..1] # éPréPago : boolean[1] = true + itensDeLinha : itenDeLinha [*] {ordenada} - numeroPedidos : int + pagar (valor : double) - calcularTotal() : double Diagramas de interação representam como o sistema age internamente para que um ator atinja seu objetivo na realização de um caso de uso. A modelagem de um SOO normalmente contém diversos diagramas de interação. O conjunto de todos os diagramas de interação de um sistema constitui o seu modelo de interações . (Bezerra, E. seg.edição) INTRODUÇÃO � Para responder às questões anteriores, o modelo de interações deve ser criado. � Esse modelo representa como os objetos interagem via mensagens para a execução de cenários dos casos de uso do sistema. INTRODUÇÃO Objetivos do modelo de interação 1 - Obter informações adicionais para completar e aprimorar outros modelos (principalmente o modelo de classes) � Quais as operações de uma classe? � Quais os objetos participantes da realização de um caso de uso (ou cenário deste)? � Para cada operação, qual a sua assinatura? � Uma classe precisa de mais atributos? 2 - Fornecer aos programadores uma visão detalhada dos objetos e mensagens envolvidos na realização dos casos de uso. DIAGRAMAS DE INTERA ÇÃO Conceitos � O Diagrama de Interação apresenta a relação entre os objetos e a troca de mensagens que são necessárias para efetivar a realização do comportamento. � O Diagrama de Interação representa um único caso de uso e deve ser usado quando se deseja visualizar os comportamentos utilizados pelos vários objetos dentro do caso de uso. � Diagramas de interação são apresentados sob duas formas na UML através do Diagrama de Sequência e Diagrama de Comunicação (Colaboração). Mensagem � O conceito básico da interação entre objetos é a mensagem. � Um sistema OO é uma rede de objetos que trocam mensagens. – Funcionalidades são realizadas pelos objetos, que só podem interagir através de mensagens. – Um objeto envia uma mensagem para outro objeto quando o primeiro deseja que o segundo realize alguma tarefa. � Na construção de diagramas de interação, mensagens de um objeto a outro implicam em operações que classes devem ter. Uma mensagem representa a requisição de um objeto remetente a um objeto receptor para que este último execute alguma operação definida para sua classe. Essa mensagem deve conter informação suficiente para que a operação do objeto receptor possa ser executada. Mensagens x responsabilidades (métodos e atributos Uma mensagem implica na existência de uma operação no objeto receptor. A resposta do objeto receptor ao recebimento de uma mensagem é a execução da operação correspondente. Tipos de d iagramas de Interação 1 - Diagrama de Sequência � Foco nas mensagens enviadas no decorrer do tempo. � Se a ênfase do que se quer modelar é o decorrer do tempo � A visualização fica dificultada conforme o número de objetos cresce (disposição em uma dimensão). Tipos de d iagramas de Interação 1 - Diagrama de Comunicação � Foco nas mensagens enviadas entre objetos que estão relacionados � Se a ênfase é o contexto do sistema � Exibe mensagens enfatizando relacionamentos. � Melhor utilização do espaço (disposição em duas dimensões) Diagramas de Interação Diagramas de Interação DIAGRAMA DE SEQUÊNCIA � Representa a sequência de processos (mais especificamente, de mensagens passadas entre objetos) num software. � Como um projeto pode ter uma grande quantidade de métodos em classes diferentes, pode ser difícil determinar a sequência global do comportamento. O diagrama de sequência representa essa informação de uma forma simples e lógica. DIAGRAMAS DE INTERA ÇÃO DIAGRAMA DE SEQUÊNCIA � Um diagrama de sequência descreve a maneira como os grupos de objetos colaboram em algum comportamento ao longo do tempo. � Ele registra o comportamento de um único caso de uso e exibe os objetos e as mensagens passadas entre esses objetos. DIAGRAMAS DE INTERA ÇÃO DIAGRAMA DE SEQUÊNCIA � Em síntese: o Diagrama de Sequência é uma das ferramentas UML usadas para representar interações entre objetos de um cenário, realizadas através de operações ou métodos (procedimentos ou funções). Este diagrama é construído a partir do Diagrama de Casos de Usos. Primeiro, define-se qual o papel do sistema (Use Cases), depois, é definido como o software realizará seu papel (Sequência de operações). � O diagrama de sequência dá ênfase a ordenação temporal em que as mensagens são trocadas entre os objetos de um sistema. Entende-se por mensagens os serviços solicitados de um objeto a outro e as respostas desenvolvidas para as solicitações. DIAGRAMAS DE INTERA ÇÃO DIAGRAMA DE SEQUÊNCIA Representa a sequência lógica dos comportamentos dentro do caso de uso. Portanto a leitura é realizada de cima para baixo e, da esquerda para direita. Os elementos utilizados para compor o diagrama são os seguintes: DIAGRAMAS DE INTERA ÇÃO DIAGRAMA DE SEQUÊNCIA - SIMBOLOGIA GERENTE :nome objeto :nome objeto Ator Objeto Linha da vida DIAGRAMAS DE INTERA ÇÃO :nome objeto :nome objeto Lista de objetos DIAGRAMA DE SEQUÊNCIA - SIMBOLOGIA :item de pedido :item de estoque Retorno Mensagem DIAGRAMAS DE INTERA ÇÃO � A notação para uma mensagem em um diagrama de sequência é uma flecha ligando uma linha de vida a outra. � O objeto do qual parte a seta é aquele que está enviando a mensagem (objeto remetente). � O objeto para o qual a seta aponta é aquele que está recebendo a mensagem (objeto receptor). � O formato da ponta da seta indica o tipo de mensagem sendo enviada ( síncrona ou assíncrona). � O rótulo da mensagem é posicionado acima dessa seta. � O formato do retorno (síncrono) é: DIAGRAMA DE SEQUÊNCIA Diagrama de Sequência - Mensagens DIAGRAMA DE SEQUÊNCIA - SIMBOLOGIA * Verificar ( ) :item de pedido :item de estoque Retorno Iteração DIAGRAMAS DE INTERA ÇÃO DIAGRAMA DE SEQUÊNCIA - SIMBOLOGIA Mensagens condicionais [Tpaluno=”M”] :objeto 1 [Tpaluno=”G”] :objeto 2 :objeto 3 DIAGRAMAS DE INTERA ÇÃO DIAGRAMA DE SEQUÊNCIA - SIMBOLOGIA [ Pedido Válido] Verificar ( ) :item de pedido :item de estoque Retorno Condição de guarda DIAGRAMAS DE INTERA ÇÃO A condição de guarda é uma expressão Booleana que permite que a transição ocorra somente se a condição assumida pela expressão for verdadeira. DIAGRAMA DE SEQUÊNCIA - SIMBOLOGIA DIAGRAMA DE SEQUÊNCIA – EXERCÍCIO DIAGRAMAS DE INTERA ÇÃO FLUXO NORMAL 1. Sistema Apresenta Tela de Locação. 2. Vendedor Informa Placa de VEÍCULO. 3. Sistema obtém dados de VEÍCULO. 4. Sistema obtém dados de CLIENTE. 5. Sistema apresenta dados de CLIENTE. 6. Sistema obtém dados de VAGA. 7. Sistema apresenta lista de VAGA. 8. Vendedor escolhe VAGA. 9. Vendedor clica CONFIRMA. 10. Sistema altera VAGA. 11. Sistema Inclui “Emitir Comprovante de Locação” 12. Sistema Encerra Caso De Uso. PLACA: CLIENTE: VAGAS: Confirmar Cancelar � Estacionamento Estácio DIAGRAMA DE SEQUÊNCIA DE SISTEMAS (DSS) Mostra tudoo que vai do ator para o sistema e do sistema para o ator. :Ator :Sistema DIAGRAMAS DE INTERA ÇÃO Estacionamento Estácio - DSS Representa a ligação entre o mundo externo e o sistema DIAGRAMA DE COMUNICAÇÃO (COLABORAÇÃO) Exibe uma interação, consistindo de um conjunto de objetos e seus relacionamentos, incluindo as mensagens que podem ser trocadas entre eles. Mostra, de maneira semelhante ao diagrama de sequência, a colaboração dinâmica entre os objetos. Se a ênfase do diagrama for o decorrer do tempo, é melhor escolher o diagrama de sequência, mas se a ênfase for o contexto do sistema, é melhor dar prioridade ao diagrama de comunicação. DIAGRAMAS DE INTERA ÇÃO DIAGRAMA DE COMUNICAÇÃO É desenhado como um diagrama de objeto, onde os diversos objetos são mostrados juntamente com seus relacionamentos. Dá ênfase à ordenação estrutural em que as mensagens são trocadas entre os objetos de um sistema. DIAGRAMAS DE INTERA ÇÃO DIAGRAMA DE COMUNICAÇÃO Conceitos Objeto: Instância da classe. Vínculo: Ligações entre os objetos. Mensagem: Mensagem a um método DIAGRAMAS DE INTERA ÇÃO DIAGRAMA DE COMUNICAÇÃO (COLABORAÇÃO) Apresenta objetos e classes envolvidas no cenário e a ligação entre eles apresentando a forma de navegação e visibilidade. Os elementos utilizados para compor o diagrama são os seguintes: objeto DIAGRAMAS DE INTERA ÇÃO :objeto1 :objeto2 :objeto1 :objeto2 mensagem() retorno() mensagem() Ligação Mensagem DIAGRAMA DE COMUNICAÇÃO – SIMBOLOGIA DIAGRAMAS DE INTERA ÇÃO Representa a ligação entre os objetos :objeto1 :objeto2 1:mensagem() 2:retorno() mensagem() 1. A primeira mensagem não é numerada; 2. A ordem e o alinhamento são mostrados com um esquema de numeração cardinal. Sequência DIAGRAMA DE COMUNICAÇÃO – SIMBOLOGIA DIAGRAMAS DE INTERA ÇÃO :OBJETO 2:mensagem() 1:mensagem() Auto Delegação :OBJETO :OBJETO(new) <<create>> 1:mensagem () Criação de instância DIAGRAMA DE COMUNICAÇÃO – SIMBOLOGIA DIAGRAMAS DE INTERA ÇÃO :OBJETO :OBJETO(new) Mensagens condicionais - Guarda 1[condição]:mensagem () :OBJETO :OBJETO(new) Iteração 1:*mensagem () DIAGRAMA DE COMUNICAÇÃO – SIMBOLOGIA DIAGRAMAS DE INTERA ÇÃO DIAGRAMA DE COMUNICAÇÃO – EXEMPLO DIAGRAMAS DE INTERA ÇÃO Diagrama de Comunica ção Representa troca de mensagens sem sequência. :formulário escolherHospede() escolherProcedencia() InformarDiasPermanencia() clicaCONFIRMA() :Hóspedes 4: *ler() listaHospedes 1: apresentaInformações() 2: apresentaDataChegada() 3: calculaDataSaída () 5: *ler() listaProcedência :Procedência 6: [disponíveis]*ler() listaQuartos :Quartos 7: Incluir() :Hospedagem 8: <include> alocarQuarto 9: <include> abrirCCorrente A diferença básica é que no Diagrama de Sequência conseguimos visualizar claramente a sequência da troca de mensagens entre os objetos, sendo válido para avaliação da consistência das operações e, no Diagrama de Colaboração esta sequência não fica totalmente clara, mas é possível interpretar todas as mensagens recebidas pelos objetos, sendo muito válido para definição de parâmetros, planejamento de desenvolvimento e outros aspectos para o projeto em si. DIAGRAMAS DE INTERA ÇÃO Próxima aula Aula prática: Descrição de caso de uso e diagrama de interação. DIAGRAMAS DE INTERA ÇÃO Referências • Boock, G. and Rumbaugh, J. The Unified Modeling Language User Guide . Addison-Wesley, 1999 • Arlow, J. and Neustadt, I. UML 2 and the Unified Process: Practical Object- Oriented Analysis and Design, 2nd Edition, The Addison-Wesley Object Technology Series, 2005. • Rumbaugh, J.; Jacobson, I. and Booch , G. The Unified Modeling Language Reference Manual, 2nd Edition, The Addison-Wesley Object Technology Series, 2004. • Boock, G.; Rumbaugh, J. and Jacobson, I; Unified Modeling Language User Guide, 2nd Edition, The Addison-Wesley Object Technology Series, 2005. • Jacobson, I; Boock, G. and Rumbaugh, J., Unified Software Development Process, Addison-Wesley, Janeiro 1999. • Larman, C. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design Prentice-Hall, New Jersey - USA, 1997 • Bezerra, E. Princípios de Análise e Projeto com a UML, ed. Campus-Elsevier. 2003.
Compartilhar