Baixe o app para aproveitar ainda mais
Prévia do material em texto
Análise e Projeto de Sistemas OO Diagrama de Interação (Sequência) Realizações de Casos de Uso O Diagrama Use Case apresenta uma visão externa do sistema Diagramas de Interação descrevem como use cases são realizados como interações entre associações de objetos Há dois tipos de Diagramas de Interação Diagramas de Sequência Diagramas de Colaboração Diagramas de Interação Modelos que descrevem como grupos de objetos colaboram para obter algum comportamento; Tipicamente um diagrama de interação captura o comportamento de um único caso de uso; Diagrama de Sequência Um Diagrama de Sequência mostra a interação entre objetos tendo em vista a sequência de tempo; Mostra: objetos e classes envolvidos a seqüência de mensagens trocadas pelos objetos, necessárias para desenvolver a funcionalidade do cenário Na maioria das vezes se identifica com um Caso de Uso específico, porque um Caso de Uso, em geral, refere-se a um processo disparado por um usuário; Diagrama de Sequência Nem sempre um Caso de Uso gera obrigatoriamente um Diagrama de Seqüência, como é muitas vezes, o que ocorre com os Casos de uso do tipo <<include>>, porque estes têm que ser executados juntamente com os outros Casos de Uso que os utilizam e, por isso muitas vezes suas etapas são descritas nos Diagramas de Seqüência relativos aos Casos de Uso que os utilizam. Nada impede que se defina um Diagrama de Seqüência exclusivo para um Caso de Uso utilizado por outros Casos de Uso através da associação <<include>>. Cenários (Especificação Caso de Uso) Descrevem como funciona o caso de uso; Um cenário é uma instância de um caso de uso; Cenário é um caminho através do fluxo de eventos de caso de uso; Cenários ajudam a identificar objetos, classes e interação entre objetos necessários para desenvolver a funcionalidade de um caso de uso; Cenários (Especificação Caso de Uso) Cenários são documentados via diagrama de interação (seqüência e colaboração); Cenário documenta como as responsabilidades especificadas no caso de uso são distribuídas entre os objetos e classes do sistema; Componentes de um Diagrama de Sequência São exatamente os mesmos descritos no Diagrama de Casos de uso, ou seja, são entidades externas que interagem com o sistema e que solicitam serviços, gerando dessa forma eventos que iniciam processos. ATORES Componentes de um Diagrama de Sequência Representam as instâncias das classes envolvidas no processo ilustrado pelo Diagrama de Seqüência. OBJETOS Componentes de um Diagrama de Sequência É composto por um nome, antes do (:) em minúsculo; Seguido do nome da classe que o objeto pertence, depois do (:) com as iniciais maiúsculas; Possui uma Linha de Vida, representada por uma linha vertical tracejada (abaixo do objeto) OBJETOS Componentes de um Diagrama de Sequência Um objeto pode existir desde o início do processo ou ser criado durante o decorrer da execução do mesmo: No primeiro caso: retângulo aparecerá na parte superior do diagrama; No segundo caso: retângulo surgirá na mesma altura em que a mensagem que o criar for chamada OBJETOS Componentes de um Diagrama de Sequência Componentes de um Diagrama de Sequência Representa o tempo em que um objeto existiu durante um processo. quando o objeto é destruído. Um objeto não precisa necessariamente existir quando o processo é iniciado podendo ser criado durante o processo. LINHA DE VIDA Componentes de um Diagrama de Sequência Indica os períodos em que um determinado objeto está participando ativamente do processo; Identifica os momentos em que um objeto está executando um ou mais métodos utilizados em um processo específico. FOCO DE CONTROLE Componentes de um Diagrama de Sequência Mensagens ou Estímulos 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 simplesmente a comunicação entre dois atores, o que no caso não dispara nenhum método. Um Diagrama de Seqüência em geral é iniciado por um evento externo, causado por algum ator, o que acarreta o disparo de um método em um dos objetos. A ocorrência deste evento inicia o processo. Mensagens ou Estímulos As mensagens podem ser disparadas entre: Um ator e outro ator: não muito comum, mas pode permitir uma melhor compreensão do processo como um todo; Um ator e um objeto (normalmente a interface): ator produz um evento que força o disparo de um método em um objeto; Um objeto e um objeto: constitui a ocorrência mais comum de mensagens, onde um objeto transmite uma mensagem para outro objeto solicitando a execução de um método; Um objeto e um ator: somente ocorre quando um objeto envia uma mensagem de retorno em resposta a chamada de um método solicitado, contendo seus resultados. Mensagens ou Estímulos São representadas por retas entre os dois componentes envolvidos, contendo uma seta para indicar qual objeto ou ator disparou a mensagem no outro objeto. O texto contido na mensagem identifica primeiro qual o evento ocorreu e forçou o envio da mensagem e qual o método foi chamado; Pode haver mensagens somente com o evento ou com a chamada ao método. Identifica a resposta a uma mensagem para o objeto ou ator que a chamou. Pode retornar informações específicas do método chamado ou simplesmente um valor indicando se o método foi executado com sucesso ou não. Mensagens de Retorno Mensagens ou Estímulos Exemplos Mensagens ou Estímulos São mensagens que um objeto envia para si mesmo. Uma mensagem parte do objeto e atinge o próprio objeto: Auto-chamadas ou Auto-Delegações Mensagens ou Estímulos Indicam que uma mensagem só poderá ser enviada a um objeto se uma determinada condição for verdadeira. Normalmente entre colchetes na mensagem, mas podem ser também representadas por meio de restrições: Condições ou Condições de Guarda Mensagens ou Estímulos Quando uma chega a um objeto, significa que estamos precisando do método que está neste objeto, que ele tem a responsabilidade de executa-lo, pois esse método manipula informações desse objeto. Logo, descobrimos um método da classe desse objeto! Definindo os métodos de uma classe O diagrama de sequencia é feito a partir da Especificação de Casos de Uso, usando o Curso Normal do mesmo; Este precisa de estar correto, pois todos os passos no diagrama de sequencia são aqueles descritos no CN, item após item. Não se diagrama os cursos de Exceção ou Alternativos No diag. Sequencia se deseja somente os passos essenciais para se obter os objetos que participam da ação e os métodos que são disparados. Fonte de informações Metodologia para montagem Um sistema OO é caracterizado pela manipulação de OBJETOS, para diversos fins; Logo, um objeto SEMPRE será criado para que as operações previstas no sistema sejam feitas, de acordo com a responsabilidade de cada objeto; Por exemplo: Para cadastrar informações de uma entidade, precisa-se criar um objeto para grava-la; Para consultar, precisa-se criar um objeto de retorno, como os dados necessários, ou de um objeto ou uma coleção (que é um objeto) de objetos; Para excluir ou alterar, segue o mesmo procedimento, de criar objetos para cada operação e recuperação; Condição fundamental Metodologia para montagem Princípio para Inclusões Metodologia para montagem Princípio para AlteraçõesMetodologia para montagem Princípio para Exclusões Metodologia para montagem Princípio para Consulta Única Metodologia para montagem Princípio para Consulta Múltipla Metodologia para montagem Muitas vezes, quando se cria o objeto, precisamos prestar a atenção aos serviços (métodos propostos) que o objeto possui (ou deverá possuir) e que precisam ser executados para a correta execução do caso de uso. Métodos internos do objeto Metodologia para montagem São os casos de uso de transações principais do sistema, ou seja, são aqueles que manipulam as informações que entraram no sistema para uma determinada atividade prevista e importante no sistema; Normalmente envolve vários objetos; Exemplos: Efetuar venda Locar veículo Efetuar empréstimo de livro Efetuar frete Emitir pedido Lançar rendimento do aluno Casos de uso Transacionais Metodologia para montagem O exemplo a seguir mostra parte de um diagrama de sequencia de um sistema de uma loja de varejo, cujo caso de uso é Venda de Casos de uso Transacionais Metodologia para montagem Nos casos de uso onde se emite relatórios, normalmente teremos uma classe específica para tratar das buscas, e montagem do relatório, bem como dos possíveis cálculos a serem feitos antes de envia-lo à interface. A interface se comunica com a classe de relatório e esta o devolvendo à interface o relatório ou dela recebendo as interações do usuário. Relatórios Metodologia para montagem Os exemplos mostrados são genéricos, ilustrando somente as etapas principais que cada diagrama de sequencia precisa ter; Cada sistema possui casos de uso distintos, com especificações distintas, portanto, o diagrama de sequencia deve ser adaptado (e seguido) para a especificação feita; Avalie se sua especificação de fato está correta e completa, quando se faz o diagrama; Não esqueça de levantar todos os métodos de todas as classes envolvidas para completar suas interfaces. Dicas para elaboração
Compartilhar