Diagrama de Sequência Diagrama de Sequência Os diagramas de sequências enfatizam a perspectiva temporal Há dois tipos de utilização desse diagrama, dependendo da fase em que estamos Documentação dos casos de uso (diagrama de sequências de eventos do sistema Representação das interações entre objetos Diagrama de Sequência de Eventos do Sistema Utilizado para representar um cenário para um determinado caso de uso Mostra os eventos que partem do ator e chegam ao sistema Para cada evento recebido o sistema irá executar uma operação em resposta Diagrama de Sequência É também um diagrama de objetos que mostra o envio de mensagens entre eles. Descrevem ao longo de uma linha de tempo a sequência de comunicações entre objetos. O decorrer do tempo é visualizado observando-se o diagrama no sentido vertical de cima para baixo. As mensagens enviadas por cada objeto são simbolizadas por setas entre os objetos que se relacionam Elementos básicos Elementos básicos em um diagrama de seqüência: Atores Objetos, multiobjetos e classes Mensagens Linhas de vida e focos de controle Criação e destruição de objetos Iterações Elementos gráficos Diagrama de Sequência – Notação Objetos Nome:Classe Linha de vida do objeto Diagrama de Sequência – Notação Mensagens A sintaxe para as mensagens é: sincronização condição sequência ‘:’ retorno ‘:=‘ nome (parâmetro: tipoparam) tiporetorno Diagrama de Sequência – Notação Mensagens :Venda :Posto 1*: [x<10] t:=total():Integer Tipos de Mensagens Síncrona: emissor fica bloqueado até o receptor receber e tratar a mensagem Ex: é uma chamada de procedimento Assíncrona: emissor continua a emitir mensagens, não há dependências Ex:uma operação para apresentação de uma mensagem no monitor. Tipos de Mensagens - Notação :Posto Mensagem síncrona Mensagem assíncrona :Venda Tipos de Mensagens A seta também pode estar numa posição oblíqua para indicar que a mensagem consome tempo. Representam atrasos de transmissão que não são desprezáveis à dinâmica do conjunto EX: informar código a um SGDB Tipos de Mensagens- Notação :Posto :Venda Mensagem consumindo tempo em ataso. As duas notações são possíveis. Mensagem Reflexiva ou Autodelegação :Posto finalizarProcesso Objetos Compostos Objeto Composto Sub-objeto A Sub-objeto B As interações entre partes de um objeto composto também podem ser expressas como mensagens reflexivas. Criação e Destruição de Objetos ObjetoCriador Objetocriado cria destrói X Tempo de Atividade dos Objetos Corresponde ao tempo durante o qual um objeto exerce sua ação diretamente ou indiretamente através de um objeto que lhe presta serviço A representação é dada por um retângulo cuja as bordas representam o período de atividade Tempo de Atividade dos Objetos Objeto Ativação 1 Ativação 2 Tempo de Atividade dos Objetos Objeto A Objeto B O período de ativadade de A cobre o de B Retorno de Mensagem Síncrona Objeto A Objeto B retorno Retorno de Mensagem Assíncrona Objeto A Objeto B Retorno explícito Sobreativação Objeto A Objeto B Inclusão de Pseudo-Código Laços Objeto A While (x) End loop Objeto B mensagem Inclusão de Pseudo-Código Condição Objeto A if (x) else End if mensagem mensagem Objeto B Objeto C Retorno de Mensagem Síncrona Objeto A Objeto B retorno 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.