Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Estácio de Sá Análise Orientada a Objetos Diagrama de Sequência Este diagrama procura determinar a sequência de eventos que ocorrem em um determinado processo, ou seja, quais condições devem ser satisfeitas e quais métodos devem ser disparados entre envolvidos e em que ordem durante um processo específico. O Diagrama de Sequência baseia-se no Diagrama de Casos de Uso. Normalmente existem diversos Diagramas de Sequência em um projeto, um para cada processo específico do sistema. Um Diagrama de Sequência 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. Obviamente, o Diagrama de Sequência depende também do Diagrama de Classes, já que as classes dos objetos declarados no diagrama estão descritas nele, bem como os métodos disparados entre os objetos. Atores Os atores são exatamente os mesmos descritos no Diagrama de Casos de Uso, ou seja, entidades externas que interagem com o sistema e que solicitam serviços, gerando dessa forma eventos que geram processos. Costumam ser apresentados como bonecos magros idênticos ao usados no Diagrama de Casos de Uso, porém contendo uma linha de Vida. Objetos Objetos representam as instâncias das classes envolvidas no processo ilustrado pelo Diagrama de Sequência. Os objetos são apresentados como retângulos contendo um texto que identifica primeiramente o nome do objeto, em minúsculo, e depois o nome da classe, com as letras iniciais maiúsculas, a qual o objeto pertence. Essas duas informações são separadas por um símbolo de dois pontos (:), possuem uma Linha de Vida, representada por uma linha vertical tracejada que surge abaixo do objeto. física1: Física Um objeto pode existir desde o inicio do processo ou ser criado durante o decorrer da execução do mesmo. Cliente Universidade Estácio de Sá Análise Orientada a Objetos Linha de Vida A Linha de Vida representa o tempo em que um objeto existiu durante um processo. As Linhas de Vida são representadas por linhas finas verticais tracejadas partindo do retângulo que representa o objeto. A linha de vida é interrompida com um “X” quando o objeto é destruído. Foco de Controle ou Ativação Indica os períodos em quem 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 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. Banco 1: Consulta cliente: ConCPF0() 3: [Se necessário] Atualizar: Gravar() 5: Cliente atualizado() física1: Física Foco de controle 4: Validar CPF: ValCPF0() Linha de Vida 2: [Se encontrado] Dados do cliente Mensagens ou Estímulos As mensagens são utilizadas no Diagrama de Sequência 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, nesse caso, não dispara nenhum método. Universidade Estácio de Sá Análise Orientada a Objetos Um diagrama de Sequê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. As mensagens 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, sendo o componente posicionado atrás da seta o gerador da mensagem e o componente para qual a seta aponta o que recebe a mensagem. As mensagens são apresentadas na posição horizontal entre as linhas de vida dos componentes (objetos ou atores) e sua ordem seqüencial é demonstrada de cima para baixo no diagrama, além de possuírem uma numeração que indica a temporalidade em que foram sendo disparadas. Os textos contidos nas mensagens primeiramente identificam qual evento ocorreu e forçou o envio da mensagem e qual método foi chamado. As duas informações são separadas por um símbolo de dois pontos (:). Uma mensagem que chama um método e um objeto é representada por uma reta contendo uma seta mais grossa, enquanto que mensagens que identificam apenas a ocorrência de um evento, sem especificar uma chamada a um método possuem setas mais finas. Cliente 1: Solicita Abertura de Conta() Banco conta1: Conta comum física1: Física 1: Atualizar Cliente: Gravar() Uma mensagem pode também representar um método destruidor, 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. Universidade Estácio de Sá Análise Orientada a Objetos cart1:Carrinho item 1: item Carrinho 1: Excluir item: Excluir() X Mensagens de Retorno Este tipo de mensagem identifica a resposta a uma mensagem para o objeto ou ator que a chamou. Uma mensagem de retorno 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. As mensagens de retorno são representadas por uma seta tracejada contendo uma seta fina que aponta para o objeto ou ator que recebe o resultado de um método anteriormente chamado no objeto posicionado na outra extremidade da reta. conta1: Conta Comum física1: Física 1: Atualizar cliente: Gravar() 2: Cliente atualizado com sucesso() Auto-chamadas ou Auto delegações Auto-chamadas são mensagens que um objeto envia para si mesmo. Universidade Estácio de Sá Análise Orientada a Objetos física1: Física 1: ValCPF() Condições ou Condições de Guarda. Indicam que uma mensagem só poderá ser enviada a um objeto se uma determinada condição for verdadeira. As Condições são descritas normalmente entre colchetes na mensagem, mas podem também ser representadas por meio de restrições. Banco 1: [Se necessário] Atualizar cliente: Gravar() física1: Física Associada às condições de Guarda, pode-se representar o disparo de uma mensagem a vários objetos, através da utilização de um símbolo de asterisco (*), conhecido como símbolo de Iteração. Este símbolo deve estar posicionado antes da Condição de Guarda, que deve definir a quantidade de vezes em que a mensagem é disparada nos objetos de uma determinada classe. Universidade Estácio de Sá Análise Orientada a Objetos Funcionário pedido1: Pedido item: Item Pedido 2:* [Para cada item]: Gravar () 1: Confirmar pedido: Gravar () Universidade Estácio de Sá Análise Orientada a Objetos Diagrama de Sequência para Abertura de uma Conta Comum Cliente Banco 2: Consulta cliente: ConCPF() física1: Física 4: [Se necessário] Atualizar: Gravar() 5: Validar CPF: ValCPF() conta1: Conta Comum 10: Registrar histórico: Gravar() hist1: Histórico 13: Abertura de conta concluída() 1: Solicita abertura de conta 7: Pedido Aprovado 8: Fornecer valor de depósito e senha 6: Cliente atualizado 3: Se existir] Dados do cliente 9: Abrir conta: Abertura () 12: Número da conta gerada 11: Histórico registrado com sucesso
Compartilhar