Baixe o app para aproveitar ainda mais
Prévia do material em texto
Diagrama de Sequência Livro: UML 2.0 – Uma abordagem prática Autor: Gilleanes T. A. Guedes Capítulo 7 Diagrama de Sequência É um diagrama comportamental que procura determinar a sequência de eventos que ocorrem em um determinado processo, identificando quais mensagens devem ser disparadas entre os elementos envolvidos e em que ordem. Baseia-se no diagrama de caso, havendo normalmente um diagrama de sequência para cada caso de uso. Depende também do diagrama de classes, já que as classes dos objetos utilizados no diagrama de sequência estão descritos nele. Atores Os atores modelados neste diagrama são instâncias dos atores declarados no diagrama de casos de uso, representando entidade externas que interagem com o sistema. Lifelines Na maioria das vezes um lifeline irá se referir a uma instância de uma classe. Lifelines no diagrama de sequência tem a mesma notação utilizada no diagrama de objetos, diferenciando-se por uma linha de vida, representada por uma linha vertical tracejada abaixo do participante. Lifelines Um lifeline pode existir desde o início do processo ou ser criado durante o decorrer da execução do mesmo. No primeiro caso o retângulo que representa o lifeline aparecerá na parte superior do diagrama. Já no segundo caso, o retângulo surgirá na mesma altura em que a mensagem que o criar for chamada Lifelines Linha de Vida A linha de vida representa o tempo em que um objeto (lifeline) existe durante um processo. Linha de Vida A linha de vida é interrompida com um X quando o objeto é destruído. Foco de Controle ou Ativação Indica os períodos em que um determinado objeto está participando ativamente do processo, ou seja, identifica os momentos em que um objeto está executando um ou mais métodos utilizados em um processo específico. Os focos de controle são representados dentro da linha de vida de um objeto, porém, enquanto as linhas de vida são representadas por tracejados finos, o foco de controle é representado por uma linha mais grossa. Foco de Controle ou Ativação Mensagens ou Estímulos As mensagens são utilizadas para demonstrar a ocorrência de eventos, que normalmente forçam a chamada de um método em algum dos objetos envolvidos no processo. Pode ocorrer, no entanto, de uma mensagem representar a comunicação entre dois atores, nesse caso, não disparando métodos. Mensagens ou Estímulos As mensagens podem ocorrer entre: Um ator e outro ator; Um ator e um objeto, onde um ator produz um evento que dispara um método em um objeto; Um objeto e outro objeto, em geral solicitando a execução de algum método; Um objeto e um ator, ocorre quando um objeto envia uma mensagem de retorno em resposta a chamada de um método. Mensagens ou Estímulos Quando a mensagem é dirigida a um objeto já existente, a seta da mensagem atinge a linha de vida do objeto engrossando-a, identificando que o foco de controle e está sobre o objeto em questão. Mensagens ou Estímulos Mensagens ou Estímulos No entanto quando a mensagem cria um novo objeto, a seta atinge o retângulo que representa o objeto, indicando que a mensagem representa um método construtor e que o objeto passa a existir somente a partir daquele momento. Mensagens ou Estímulos Mensagens ou Estímulos Uma mensagem pode também representar um método destrutor, ou seja, um método que elimina um objeto não mais necessário. Nesse caso a mensagem atinge a linha de vida de um objeto e a interrompe com um X. Mensagens de Retorno Identifica a resposta a uma mensagem para o objeto ou ator que a chamou. As mensagens de retorno são representadas por uma linha tracejada contendo uma seta fina que aponta para o objeto que recebe o resultado do método chamado. É hora de praticar! Desenvolva um diagrama de sequência que represente a ação de fazer um depósito em uma conta comum. Neste caso o depósito é realizado por um funcionário do banco. Autochamadas Autochamadas são mensagens que um objeto envia para si mesmo. No caso de autochamadas, uma mensagem parte da linha de vida do objeto e atinge a linha de vida do próprio objeto. Detalhes de Tempo Às vezes pode ser necessário definir detalhes de tempo de uma mensagem, como por exemplo o tempo máximo de espera até que uma mensagem seja disparada. Fragmentos de Interação Um fragmento de interação é uma parte de uma interação, no entanto, cada fragmento de interação é considerado como uma interação independente. Um fragmento de interação é representado como um retângulo que envolve toda a interação, além de conter uma aba no canto superior esquerdo que identifica qual tipo de interação ele se refere. Fragmentos de Interação Ocorrência de Interação Possibilidade de se poder referenciar fragmentos de interação por meio do operador Ref que é a abreviatura de Referred (referido) e significa que se deve procurar por um diagrama que cujo nome é o mesmo nome apresentado após o operador Ref. É hora de praticar! Desenvolva um diagrama de sequência que represente a ação de fazer um saque em uma conta comum. Lembre-se que ao final das atividades é necessário registrar o movimento (represente-o como uma ocorrência de interação) Diagrama de Classe – Sistema de Controle Bancário Fragmentos Combinados e Operações de Interação Nas versões anteriores à versão 2.0 da UML, os diagramas de sequência tinham dificuldade em trabalhar questões como teste se-senão, laços ou processamentos paralelos. Essas questões foram abordadas a partir da versão 2.0 por meio de uso de fragmentos combinados. Fragmentos Combinados e Operações de Interação Os fragmentos combinados são representados por um retângulo que determina a área de abrangência do fragmento no diagrama, além de conterem ainda uma subdivisão em sua extremidade superior esquerda para identificar a descrição do fragmento combinado e seu operador de interação, que define o tipo de fragmento que está sendo modelado. Fragmentos Combinados e Operações de Interação Tipos de Operações de Interação Alt: Abreviatura de Alternatives (Alternativas). Este operador de interação define que o fragmento combinado representa uma escolha entre dois ou mais componentes. Esse tipo de fragmento combinado costuma utilizar condições de guarda (texto entre colchetes que estabelece uma regra ou condição), também conhecidas como restrições de interação, para definir o teste a ser considerado na escolha de um dos comportamentos. Exemplo – Operador Alt Tipos de Operações de Interação Opt: Abreviatura de Option (Opção). Esse operador de interação determina que o fragmento combinado representa uma escolha de comportamento onde esse comportamento será ou não executado, não havendo uma escolha entre mais de um comportamento possível. Exemplo – Operador Opt Diagrama de Sequência X Caso de Uso No diagrama de caso de uso encerrar conta possui uma extensão com Manter Cliente. Tipos de Operações de Interação Par: Abreviatura de Parallel (Parelelo). Esse operador de interação determina que o fragmento combinado representa uma execução paralela de dois ou mais comportamentos. Exemplo – Operador Par Tipos de Operações de Interação Loop: Abreviatura de Looping (Laço): esse operador de interação determina que o fragmento combinado representa um laço que poderá ser repetido várias vezes. Exemplo – Operador Loop Tipos de Operações de Interação Break: Esse operado de interação indica uma “quebra” na execução normal do processo. É usado principalmente para modelar o tratamento de exceções. Exemplo – Operador Break Tipos de Operações de Interação Critical Region (RegiãoCrítica): Esse operador de interação identifica uma operação atômica que não pode ser interrompida por outro processo até ser totalmente concluída. Exemplo – Operador Break Exercícios Estudo de caso: Sistema de Controle de Cinema Processo de Venda de Ingressos Exercícios Estudo de caso: Sistema de Controle de Clube Social Processo de Pagamento de Mensalidade Exercícios Estudo de caso: Sistema de Locação de Veículos Processo de Locação de Veículos
Compartilhar