Baixe o app para aproveitar ainda mais
Prévia do material em texto
Diagrama de Interação APRESENTAÇÃO Os diagramas de interação são utilizados para visualizar, especificar, construir e documentar obj etos ou, ainda, para fazer a modelagem de fluxos de controle de caso de uso. Para a modelagem de fluxos, são realizadas modelagens de instâncias ou protótipos de classes, i nterfaces e componentes, apresentando, inclusive, as mensagens que são trocadas entre esses obj etos, elucidando um comportamento. Nesta Unidade de Aprendizagem, você estudará conceitos sobre diagrama de interação, saberá i dentificar e descrever os componentes que formam um diagrama de interação e aprenderá aplica ções práticas de um diagrama de interação. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Definir conceitos sobre o diagrama de interação.• Descrever os componentes que formam um diagrama de interação.• Enumerar as aplicações práticas de um diagrama de interação.• DESAFIO Os analistas de projetos de sistemas, por atuarem em uma área tão ampla, necessitam, cada vez mais, mostrar suas habilidades profissionais no momento em que os desafios são apresentados e m um ambiente profissional. Imagine que você é o profissional responsável por executar tal função na loja Calçados LTDA, q ue precisa realizar uma implementação no sistema para o departamento de vendas. Diante desse cenário, desenhe o diagrama de sequência que apresentará como será registrada um a venda por meiode um sistema para a loja. INFOGRÁFICO Os diagramas de interação podem ser: diagrama de sequência ou diagrama de colaboração. As diferenças entre eles estão no fato de que o tempo não é representado por linhas verticais e, si m, por meio de numeração, e existe um caminho que indica como o objeto está vinculado a outr o. Diante desse conceito, você verá, no infográfico, as diferenças e semelhanças entre eles. CONTEÚDO DO LIVRO Diagramas de interação são modelos que têm por objetivo descrever como grupos de objetos col aboram com comportamentos, capturando o estes entre objetos dentro de um caso de uso. Os dia gramas de interação podem ser: diagrama de sequência ou diagrama de colaboração. As diferenças entre eles estão no fato de que o tempo não é representado por linhas verticais e, si m, por meio de numeração, e existe um caminho que indica como o objeto está vinculado a outr o. No capítulo Diagrama de interação, da obra Análise e projeto de sistemas, você verá conceitos d e diagramas de interação, sequência e comunicação, saberá desenhá-los e aprenderá sobre suas a plicações. ANÁLISE E PROJETO DE SISTEMAS Priscila Gonçalves Diagramas de interação Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: � Definir conceitos sobre o diagrama de interação. � Descrever os componentes que formam um diagrama de interação. � Elencar as aplicações práticas de um diagrama de interação. Introdução Os diagramas de interação são utilizados para visualizar, especificar, cons- truir e documentar objetos ou, ainda, para fazer a modelagem de fluxos de controle de caso de uso. Para a modelagem de fluxos, são realizadas modelagens de instâncias ou protótipos de classes, interfaces e compo- nentes, apresentando, inclusive, as mensagens que são trocadas entre esses objetos, elucidando um comportamento. Neste capítulo, você vai estudar conceitos sobre diagrama de inte- ração, saberá identificar e descrever os componentes que formam um diagrama de interação e aprenderá aplicações práticas de um diagrama de interação. Diagrama de interação — conceitos Os diagramas de interação são utilizados para visualizar, especificar, construir e documentar objetos ou ainda para fazer a modelagem de fluxos de controle de caso de uso. Para a modelagem de fluxos, são realizadas modelagem de instâncias ou protótipos de classes, interfaces e componentes, apresentando inclusive as mensagens que são trocadas entre esses objetos, elucidando um comportamento. Diagramas de interação são modelos cujo objetivo é descrever como grupos de objetos colaboram com comportamentos, capturando o comportamento entre objetos dentro de um caso de uso. Os diagramas de interação podem ser: diagrama de sequência ou diagrama de colaboração. As diferenças entre eles estão no fato de que o tempo não é representado por linhas verticais, e, sim, por meio de numeração, e de que existe um caminho que indica como o objeto está vinculado a outro. Diagramas de sequência Diagrama de sequência objetiva apresentar como as mensagens entre objetos são trocadas no decorrer do tempo para realizar uma operação. É formado dispondo primeiro objetos que participam da interação no nível superior do diagrama. O objeto que inicia a interação é colocado à esquerda, e os objetos subordinados vão para baixo, mais à direita. Outro recurso importante apre- sentado em um diagrama de sequência é a visualização da troca de mensagens entre os objetos. São aplicações de diagramas de sequência: � representar detalhes de caso de uso UML; � modelar lógica de processos, funções ou operações; � visualizar de que forma as tarefas são movidas entre objetos ou com- ponentes de processos; � planejar e compreender a funcionalidade detalhada de cenários exis- tentes ou futuros. Diagramas de colaboração Diagrama de colaboração não apresenta a linha de vida do projeto, mesmo exibindo as mensagens de criação e destruição de objetos. O foco do controle não é exibido, apesar de o número de sequência de cada mensagem indicar o que está aninhado. Os objetos que participam da interação devem estar estrutu- rados de forma organizada no diagrama de colaboração, sendo colocados como vértices de um gráfico. É importante que também sejam incluídas mensagens que os objetos enviam e recebem associadas aos vínculos. Componentes de um diagrama de interação Para entender melhor o diagrama de interação, confira a descrição de seus componentes. Diagramas de interação2 � Símbolos de objetos — A forma da caixa representa uma classe ou objeto; demonstra de que forma um objeto vai se comportar no contexto do sistema. Atributos não devem ser representados dessa forma. � Caixa de ativação — Este retângulo representa o tempo necessário para que um objeto conclua uma tarefa, ou seja, quanto mais tempo a tarefa demandar, mais alongada se tornará a caixa. � Símbolo de ator — Sempre representado por um boneco de palito, atores são entidades interativas e externas ao sistema. � Símbolo de pacote — Conhecido como quadro, é uma forma retangular utilizada em notação UML para conter elementos interativos. 3Diagramas de interação � Símbolo de linha da vida — Linha vertical tracejada que representa a passagem do tempo, seguindo para baixo. Representa eventos sequen- ciais que ocorrem a um objeto durante o processo gráfico e podem iniciar tanto com uma forma de retângulo rotulado quanto um símbolo de ator. � Símbolo de opção de loop — Em formato retangular, possuindo um rótulo menor no seu interior, é utilizado para modelar cenários “se então”, algo que ocorrerá sob condições. � Símbolo alternativo — Utilizado para simbolizar escolha entre duas ou mais sequências de mensagens. Se você quiser representar alternativas, utilize a forma de retângulo rotulada com uma linha tracejada em seu interior. Diagramas de interação4 � Símbolo de mensagens síncronas — Uma linha sólida com uma ponta de seta sólida é utilizada quando um remetente deve esperar por uma resposta a uma mensagem antes de dar continuidade. O diagrama deverá mostrar a chamada e a resposta. � Símbolo de mensagens assíncronas — Linha sólida com uma ponta de seta em linha. Não necessitam de uma resposta para que o remetente continue. Apenas a chamada deverá estar presente no diagrama. � Símbolo de mensagens de retorno assíncronas — Representado por uma linha com uma ponta em linha. Mensagem � Símbolo assíncrono de criar mensagem — Linha tracejada com ponta em setaem linha. São enviadas a linhas da vida para que sejam criadas. ou � Símbolo de responder mensagem — Linha tracejada com uma ponta em linha, essas mensagens são respostas às chamadas. � Símbolo de excluir mensagem — Esta mensagem significa destruição de um objeto e, geralmente, é colocada na linha da vida. 5Diagramas de interação A seguir, no Quadro 1, é possível visualizar as diferenças entre diagramas de sequência e comunicação. Fonte: Adaptado de Monitoria de Engenharia de Software (2016). Diagrama de sequência Diagrama de comunicação Exibe os papéis efetivamente Diagrama exibe os papéis envolvidos efetivamente Diagrama exibe os papéis envolvidos efetivamente Links entre os objetos Implícito Explícito Troca de mensagens Exibe troca de mensagens efetivamente Exibe troca de mensagens efetivamente Mensagens paralelas Suporta mensagens paralelas efetivamente Suporta mensagens paralelas efetivamente Mensagens assíncronas Suporta a exibição de mensagens assíncronas Não suporta Facilidade de leitura das mensagens ordenadas Mais fácil Mais difícil Facilidade de criar e manter o diagrama Mais difícil Mais fácil Quadro 1. Diferenças entre diagramas de sequência e comunicação Conforme apresentado no quadro, se a necessidade do diagrama for o contar do tempo, o melhor modelo é o diagrama de sequência, o qual pode ser visto na Figura 1, a seguir. Logo, se for o contexto do software, o melhor é o diagrama de colaboração, pois dá ênfase à organização estrutural em que as mensagens são trocadas entre os objetos do sistema. Diagramas de interação6 Em mensagens reflexivas, o remetente é também o receptor, que corresponde a uma mensagem para this (self). Figura 1. Diagrama de sequência. Fonte: Adaptada de Vogel (2018). sd TConexao Usuário <USUARIOS> Acessar a Tela retorno (verdadeiro, falso) Tela do Sistema Solicitar Objeto (codigo do Banco de Dados) Solicitar Persistência (codigo do Banco de Dados) Banco de Dados retorno(verdadeiro, falso) Objeto TConexao retorno(verdadeiro, falso) Acesse o link ou código a seguir para ler mais a respeito de diagramas de comunicação. https://goo.gl/hwbKLn 7Diagramas de interação O exemplo a seguir pertence ao diagrama de sequência referente a um caso de uso sobre emitir pedido. Vendedor 1: Emitir pedido 5: Selecionar cliente 8: Digitar dados 2: newPedido() 3: newVendedor() 4: setVendedor(vend) 6: newCliente() 7: setCliente(cliente) 9: Atualizar atributos pedido : Pedido vend : Vendedor cliente: Cliente Tela Cadastro de Pedido Fonte: Adaptado de Grossl (2016). A Figura 2 apresenta um diagrama de comunicação. Figura 2. Diagrama de comunicação. Fonte: Adaptada de Diagrama de comunicação (c2016). Cliente Impressora de Recibos Dispositivo de Alarme Depositar Item Tipo 2: novo item ( ) 6: imprimir recibo ( ) 1: inserir item ( ) 5: concluir ( ) 3: novo item ( ) 7: obter itens ( ) 9: iniciar tudo ( ) Painel do Cliente 11: obter Quantidade de Papel ( ) 8: imprimir ( ) 4: incr ( ) 10: inic ( ) Depositar Item Receptor Depositar Item Lista 12: alarme ( ) Diagramas de interação8 Aplicações práticas de um diagrama de interação Entre as aplicações práticas de um diagrama de interação, está o fato de ele poder ser utilizado como um projeto ou esboço. Enquanto projeto, os diagramas de análise geralmente deverão ser construídos na interação anterior à criação da funcionalidade, pois, dessa forma, pode-se modificar, se necessário, textos de documentos existentes, destacando alterações na interação. O diagrama de interação implica fazer alterações em modelos já existentes em vez de criar novos modelos a cada vez. Segundo Fowler (2005), os esboços das classes principais de um pacote e suas interações podem ajudar a esclarecer o que está acontecendo. Por meio de ferramentas modernas, pode-se gerar informações detalhadas para as partes fundamentais de um sistema. O diagrama de sequência facilita saber como vários objetos colaboram no tratamento de um método complexo. Pode-se dizer que é uma técnica para que você exponha precocemente os riscos e obtenha um controle melhor sobre o desenvolvimento. Ainda segundo Fowler (2005), um diagrama de sequência captura o compor- tamento de um único cenário e mostra vários exemplos de objetos e mensagens que são passadas entre esses objetos dentro de um caso de uso. Diagramas de sequência mostram interação, com cada participante pos- suindo uma linha de vida que corre de maneira vertical na página, na qual a ordem obedecida para a leitura das mensagens é de cima para baixo. Veja na Figura 3 um exemplo de diagrama de sequência. O diagrama de sequência indica diferenças na interação dos participantes, sendo essa uma de suas grandes vantagens. Outra vantagem em utilizar diagra- mas de interações é a possibilidade de colocar dados e comportamento que faz uso desses dados em um único local, pois dessa forma serão mais aplicáveis as regras de projetos orientados a objetos. Esses diagramas ajudam a transfor- mar o modelo de domínio em diagrama de classes, no qual serão levados em consideração padrões de atribuição de responsabilidades e padrões de projeto. Pode-se citar como pontos fortes na utilização de diagramas de interações a economia de espaço, a flexibilidade em adicionar novos objetos, o fato de ilustrar de melhor maneira interações complexas de controle concorrente, mostrar de maneira clara a ordem espiral de mensagens e possuir uma notação simples. 9Diagramas de interação Há um controle distribuído que dará mais oportunidades para utilizar polimorfismo e permite utilizar subclasses do produto para tratar as varia- ções. Já os diagramas de comunicação mostram as conexões, dão ênfase aos vínculos de dados entre os vários participantes na interação. Além disso, o diagrama de comunicação permite desenhar vínculos para apresentar como eles se conectam e usa numeração para mostrar a sequência de mensagens. Figura 3. Diagrama de sequência para controle centralizado. Fonte: Adaptada de Fowler (2005, p. 67). um Pedido umProduto umProduto obterProduto obterDetalhesdoPreço calcularPreçoBase calcularDescontos autochamada retorno obterInformação- deDesconto mensagem obterQuantidade umCliente linha de vida ativação participante calcularPreço mensagem recebida uma Linha de Pedido A Figura 4 contém o exemplo para controle centralizado, porém de acordo com um diagrama de comunicação. Diagramas de interação10 Figura 4. Diagrama de comunicação para controle centralizado. Fonte: Adaptada de Fowler (2005, p. 130). autovínculo 1: calcularPreço 7: obterInformação- deDesconto 4: obterDetalhesdoPreço tipo de vínculo transitório 5: calcularPreçoBase() 6: calcularDescontos() 2: obterQuantidade() 3: obterProduto() um Cliente um Produtouma Linha doPedido um Pedido <<local>> não normativo DIAGRAMA de comunicação. c2006. Disponível em: <http://mds.cultura.gov.br/ core.base_rup/guidances/guidelines/communication_diagram_FFFEA1B5.html#>. Acesso em: 01 jul. 2018. FOWLER, M. UML essencial: um breve guia para a linguagem padrão de modelagem de objetos. 3. ed. Porto Alegre: Bookman, 2005. GROSSL, L. H. Modelo de interação. 2016. Disponível em: <https://dtic.tjpr.jus.br/ wiki?p_p_id=36&p_p_lifecycle=0&p_p_state=pop_up&p_p_mode=view&_36_ struts_action=%2Fwiki%2Fview&p_r_p_185834411_nodeName=Governan%C3%A7a- TIC&p_r_p_185834411_title=Modelo+de+Intera%C3%A7%C3%A3o&p_ r_p_185834411_nodeId=6228681>. Acesso em: 01 jul. 2018. MONITORIA DE ENGENHARIA DE SOFTWARE. Diagrama de comunicação. 2016. Dis- ponível em: <https://monitoriadeengenhariadesoftware.wordpress.com/2016/03/20/ diagrama-de-comunicacao/>. Acesso em: 01 jul. 2018. VOGEL, H. TConexão: gerenciando seu projeto em ambientes multi=-plataforma – parte 1. Disponível em: <http://www.theclub.com.br/restrito/revistas/201307/tcon1307. aspx>. Acesso em: 01 jul. 2018. 11Diagramas de interação Leituras recomendadas DIAGRAMAS de interação. Disponível em:<https://docs.google.com/presentation/ d/1Taj_yvkvZ7v2us20oJ11htUtKnTg18YxjBpBchIrI7U/edit#slide=id.i0>. Acesso em: 01 jul. 2018.56. OBJECT MANAGEMENT GROUP (OMG). OMG Unified Modeling Language (OMG UML), version 2.5. March, 2015. Disponível em: <www.omg.org/spec/UML/2.5/PDF>. Acesso em: 01 jul. 2018. Diagramas de interação12 Encerra aqui o trecho do livro disponibilizado para esta Unidade de Aprendizagem. Na Biblioteca Virtual da Instituição, você encontra a obra na íntegra. DICA DO PROFESSOR Dentre as aplicações práticas de um diagrama de interação está o fato de ele poder ser utilizado c omo um projeto ou esboço. Os diagramas de análise geralmente deverão ser construídos na inter ação anterior à criação da funcionalidade. No dica do professor, você verá algumas aplicações práticas e vantagens na utilização de diagra ma de interação. Aponte a câmera para o código e acesse o link do vídeo ou clique no código para acessar. EXERCÍCIOS 1) O que são e para que servem os diagramas de interação? A) São modelos que têm por objetivo ordenar mensagens trocadas entre objetos e são inúteis para sistemas orientados a objetos. B) São modelos que têm por objetivo construir e documentar objetos e não enfatizam ordenaç ão de mensagens trocadas entre objetos. C) São modelos que têm por objetivo descrever como grupos de objetos colaboram com comp ortamentos e são utilizados para visualizar, especificar, construir e documentar objetos ou, ainda, para fazer a modelagem de fluxos de controle de caso de uso. D) São modelos que desorganizam estruturalmente as mensagens trocadas. E) São modelos que deixam de ilustrar interações complexas de controle e comportamento co ncorrente. https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/5b63037df764c012a4ad2d55c136ab6a 2) Qual a diferença entre diagrama de sequência e diagrama de comunicação? A) Diagrama de sequência enfatiza a organização estrutural em que as mensagens são trocada s. Diagrama de comunicação verifica se as mensagens trocadas estão na ordem correta. B) Diagrama de sequência enfatiza ordenação de mensagens trocadas entre objetos enquanto diagrama de comunicação enfatiza organização dos objetos em uma interação. C) Diagrama de sequência dificulta saber como vários objetos colaboram no tratamento de u m método complexo, enquanto o diagrama de comunicação facilita essa ação. D) Diagrama de comunicação enfatiza ordenação de mensagens trocadas entre objetos, assim como o diagrama de sequência. E) Diagrama de comunicação enfatiza ordenação de mensagens trocadas entre objetos, enqua nto diagrama de sequência enfatiza organização dos objetos em uma interação. 3) O que são e para que servem os diagramas de comunicação? A) São modelos que têm por objetivo desconstruir objetos e não enfatizam ordenação de mens agens trocadas entre objetos. B) São grafos sem objetos e ligações e não ilustram interações complexas de controle e comp ortamento concorrente. C) São modelos com ligações que ilustram interações simples de controle e não apresentam o comportamento concorrente. D) São grafos com objetos e ligações por meio das quais fluem mensagens numeradas e ilustr am interações complexas de controle e comportamento concorrente. E) São grafos com objetos e ligações através das quais fluem mensagens numeradas e ilustra m interações simples de controle e comportamento concorrente. 4) Assinale a alternativa correta no que se refere a diagramas de interação e sua utiliza ção. Diagramas de interação são especialmente úteis para sistemas orientados a objetos porque A) a funcionalidade nesses sistemas geralmente é distribuída em muitas classes diferentes. B) Diagramas de interação são especialmente inúteis para sistemas orientados a objetos porqu e a funcionalidade nesses sistemas geralmente é distribuída em muitas classes diferentes. C) Diagramas de interação são especialmente úteis para sistemas orientados a objetos porque dificultam a funcionalidade nesses sistemas que geralmente é distribuída em muitas classes diferentes. D) Diagramas de colaboração são especialmente úteis para sistemas orientados a objetos porq ue não há funcionalidade nesses sistemas que são distribuídas em muitas classes diferente s. E) Diagramas de sequência são úteis para sistemas orientados a objetos, porém a funcionalida de nesses sistemas geralmente não é distribuída em classes diferentes. 5) No que diz respeito aos diagramas estudados nesta Unidade de Aprendizagem, é corr eto afirmar que: A) o diagrama de sequência mostra os objetos das classes que participam da interação, aprese ntando os vínculos entre eles, descrevendo mensagens que os objetos recebem e enviam. B) o diagrama de comunicação mostra os objetos das classes que não participam da interação, apresentando os vínculos entre eles, descrevendo mensagens que os objetos recebem e env iam. C) O diagrama de comunicação mostra os objetos das classes que participam da interação, apr esentando os vínculos entre eles, descrevendo mensagens que os objetos recebem e envia m. D) O diagrama de sequência mostra os objetos das classes que não participam da interação, ap resentando os vínculos entre eles, descrevendo mensagens que os objetos recebem e envia m. E) O diagrama de sequência não mostra os objetos das classes que não participam da interaçã o, apresentando os vínculos entre eles, e não descreve mensagens que os objetos recebem e enviam. NA PRÁTICA Com a modernização e a busca de comodidade, as compras por meio de lojas virtuais têm cresci do no mercado mundial. Há até quem diga que, no futuro, lojas físicas que não possuam lojas vir tuais não sobreviverão ao mercado. Diante disso, veja, a seguir, um modelo de diagrama de comunicação para um caso de uso (Faze r Pedido da Loja Virtual SA), onde você acompanhará o caminho de interação e as mensagens q ue serão trocadas. SAIBA + Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professo r: O que é um diagrama de sequência UML? Clique no link a seguir e assista ao tutorial para a criação de um diagrama de sequência. Aponte a câmera para o código e acesse o link do vídeo ou clique no código para acessar. Exemplo de modelagem do diagrama de Sequência Neste vídeo, você aprenderá sobre diagramas de sequência e comunicação. Aponte a câmera para o código e acesse o link do vídeo ou clique no código para acessar. Diagrama de Interação Confira, no link a seguir, materiais sobre diagramas de interação. Aponte a câmera para o código e acesse o link do vídeo ou clique no código para acessar. https://www.lucidchart.com/pages/pt/o-que-e-diagrama-de-sequencia-uml https://www.youtube.com/embed/SsAzPzgrmsw http://help.market.com.br/csharp/diagrama_de_interacao.htm
Compartilhar