Diagrama de Sequência -...

27
Régis Simão – Diagrama de Seqüência 1/26 Diagrama de Sequência Régis Patrick Silva Simão

Transcript of Diagrama de Sequência -...

Régis Simão – Diagrama de Seqüência 1/26

Diagrama de Sequência

Régis Patrick Silva Simão

Régis Simão – Diagrama de Seqüência 2/26

Agenda

Autochamada

Quadros de Interação

Convenções Antigas

Diagramas de Seqüência de Análise ou de Projeto

Exemplos

Bibliografia

Introdução

Objetos e Classes

Linha de Vida

Mensagens e Métodos

Tempo de Ativação de um Método

Indicação de Retorno

Criação de Objetos

Destruição de Objetos

Régis Simão – Diagrama de Seqüência 3/26

Representa a interação do ator com o sistema, mais especificamente com objetos do sistema.

Normalmente estão associados a realizações de Casos de Uso, pois, mostra como o caso de uso deve ser construído.

Introdução

Manter Cliente Realização do Manter Cliente

Fluxo PrincipalFluxos AlternativosFluxos de Exceção

Diagrama de Classes que são usadas pelo caso de usoDiagramas de Seqüência

Régis Simão – Diagrama de Seqüência 4/26

Representa um conjunto de objetos e seus relacionamentos, incluindo as mensagens que podem ser trocadas entre eles.

Representa a comunicação entre os objetos do sistema em um fluxo contínuo.

Visão dinâmica do sistema.

Ênfase na ordenação temporal dos eventos.

Introdução

Régis Simão – Diagrama de Seqüência 5/26

Objetos e Classes

: Balconista telaPrincipal : ManterClienteTela

: ManterClienteCtl

cliBD : ClienteBD

1. incluir(Texto, Inteiro)

1.2. incluir(Texto, Inteiro)1.2.1. incluir(Texto, Inteiro)

1.1. validar(Texto, Inteiro)

objetos classe ou objeto indefinido

Régis Simão – Diagrama de Seqüência 6/26

São representados por um retângulo.

Pode aparecer só a classe, podendo ser interpretada como: a invocação de um método estático de uma classe ou

a invocação de um método de um objeto que ainda não teve nome definido, fica sob a responsabilidade do implementador definir o nome do objeto.

Quando aparece o nome do objeto, este nome deve ser usado pelo implementador e pode ser usado mais adiante no diagrama de seqüência para referenciar o objeto.

Pode, mas não se deve, usar somente o nome do objeto.

Objetos e Classes

Régis Simão – Diagrama de Seqüência 7/26

Linha de Vida

: Balconista telaPrincipal : ManterClienteTela

: ManterClienteCtl

cliBD : ClienteBD

1. incluir(Texto, Inteiro)

1.2. incluir(Texto, Inteiro)1.2.1. incluir(Texto, Inteiro)

1.1. validar(Texto, Inteiro)

Linhas de Vida

Mostra o tempo de existência de um objeto ou de uma classe.

Régis Simão – Diagrama de Seqüência 8/26

A interação entre objetos, classes e atores se dá por intermédio de mensagens.

Uma mensagem é a invocação de um método da classe que recebe a mensagem.

Mensagens e Métodos

: Balconista telaPrincipal : ManterClienteTela

: ManterClienteCtl

cliBD : ClienteBD

1. incluir(Texto, Inteiro)

1.2. incluir(Texto, Inteiro)1.2.1. incluir(Texto, Inteiro)

1.1. validar(Texto, Inteiro)

Mensagens

Régis Simão – Diagrama de Seqüência 9/26

Consiste do tempo que um método leva para executar suas tarefas.

Compreende todas as mensagens que se originam do método em execução.

Tempo de Ativação de Método

: Balconista telaPrincipal : ManterClienteTela

: ManterClienteCtl

cliBD : ClienteBD

1. incluir(Texto, Inteiro)

1.2. incluir(Texto, Inteiro)1.2.1. incluir(Texto, Inteiro)

1.1. validar(Texto, Inteiro)

Tempos de Ativação

Régis Simão – Diagrama de Seqüência 10/26

Representa uma informação ou um objeto que está sendo retornado.

Também conhecido com mensagem de retorno.

Indicação de Retorno

Mensagem de Retorno

: Balconista manterClienteTela : ManterClienteTela

manterClienteCtl : ManterClienteCtl

cliBD : ClienteBD

cli : Cliente

1. consultar(Inteiro)1.1. consultar(Inteiro)

1.1.1. recuperar(Inteiro) 1.1.1.1. Cliente(Texto, Inteiro)

1.1.1.2. cli

1.1.2. mostrar(Cliente)

Régis Simão – Diagrama de Seqüência 11/26

: Balconista manterClienteTela : ManterClienteTela

manterClienteCtl : ManterClienteCtl

cliBD : ClienteBD

cli : Cliente

1. consultar(Inteiro)1.1. consultar(Inteiro)

1.1.1. recuperar(Inteiro) 1.1.1.1. Cliente(Texto, Inteiro)

1.1.1.2. cli

1.1.2. mostrar(Cliente)

A mensagem de criação deve chegar diretamente no objeto e não na linha de vida do objeto.

Podem ser usados o nome da classe (Construtor) ou as palavras create (cria), new, etc.

Criação de Objetos

Mensagem de Criação

Régis Simão – Diagrama de Seqüência 12/26

: Balconista manterClienteTela : ManterClienteTela

manterClienteCtl : ManterClienteCtl

cliBD : ClienteBD

cli : Cliente

1. consultar(Inteiro)1.1. consultar(Inteiro)

1.1.1. recuperar(Inteiro) 1.1.1.1. Cliente(Texto, Inteiro)

1.1.1.2. cli

1.1.2. destroi1.1.3. mostrar(Cliente)

O objeto deixa de existir após a mensagem de destruição.

Após a mensagem de destruição coloca-se um X na linha de vida do objeto.

Destruição de Objetos

Mensagem de Destruição

Régis Simão – Diagrama de Seqüência 13/26

: Balconista manterClienteTela : ManterClienteTela

manterClienteCtl : ManterClienteCtl

cliBD : ClienteBD

cli : Cliente

1. consultar(Inteiro)1.1. consultar(Inteiro)

1.1.2. recuperar(Inteiro) 1.1.2.1. Cliente(Texto, Inteiro)

1.1.2.2. cli

1.1.3. destroi

1.1.4. mostrar(Cliente)

1.1.1. validar(Inteiro)

Quando o próprio objeto invoca um método seu.

Autochamada

Autochamada

Régis Simão – Diagrama de Seqüência 14/26

Revisão

Régis Simão – Diagrama de Seqüência 15/26

Revisão

Régis Simão – Diagrama de Seqüência 16/26

Revisão

Régis Simão – Diagrama de Seqüência 17/26

Divisão da aplicação em três camadas.

Cada camada possui responsabilidades.

Model: regras e objetos do negócio. Estereótipo: Entidade (Entity).

View: interação com atores e apresentação de dados. Estereótipo: Fronteira (Boundary).

Controller: em alguns versões pode interagir com os atores, mas normalmente só controlam os casos de uso, chamando objetos da camada Model e objetos da camada View. Estereótipo: Controle (Control).

Modelo MVC – Model-View-Controller

Fronteira Controle Entidade

Régis Simão – Diagrama de Seqüência 18/26

Modelo MVC – Model-View-Controller

Régis Simão – Diagrama de Seqüência 19/26

Fluxo Principal do Cenário Incluir Cliente do Caso de Uso Manter Cliente Este caso de uso inicia quando o ator Balconista solicita o

caso de uso Manter Cliente. O sistema apresenta a tela conforme Anexo 1. O ator Balconista informa os dados do cliente. O ator Balconista solicita a inclusão do cliente. O sistema valida os dados conforme regra de negócio

“Entidade Cliente – 1 Dados Cliente”. (E1) O sistema grava os dados conforme regras de negócio

“Entidade Cliente – 2. Regras para Inclusão de Cliente”. O sistema apresenta mensagem: “Cliente incluído com

sucesso”. O sistema encerra o caso de uso.

Exercício 1: ECU Manter Cliente

Régis Simão – Diagrama de Seqüência 20/26

Usados para expressar laços, condicionais, processos paralelos e etc.:procedure despacharforeach (itemdelinha)if (produto.valor > $10K)

cuidadoso.despacharelse

regular.despacharend if

end forif (precisaConfirmação) mensageiro.confirmar

end procedure

Quadros de Interação (UML 2.0)

Régis Simão – Diagrama de Seqüência 21/26

Usado para compreender comandos envolvidos em iterações, condições, etc.:

Quadros de Interação (UML 2.0)

Régis Simão – Diagrama de Seqüência 22/26

Convenções Antigas

Régis Simão – Diagrama de Seqüência 23/26

Fluxo Principal do Cenário Consultar Cliente do Caso de Uso Manter Cliente Este caso de uso inicia quando o ator Balconista solicita o

caso de uso Manter Cliente. O sistema apresenta a tela conforme Anexo 1. O ator Balconista informa o código do cliente. O ator Balconista solicita a consulta do cliente. O sistema valida o código do cliente conforma regra de

negócio “Entidade Cliente – 1. Dados Cliente”. (E1) O sistema recupera os dados do cliente. (E2) O sistema apresenta os dados do cliente na tela do

Anexo 1. O sistema encerra o caso de uso.

Exercício 2: ECU Manter Cliente

Régis Simão – Diagrama de Seqüência 24/26

Fluxo Principal do Cenário Alterar Cliente do Caso de Uso Manter Cliente Este caso de uso inicia quando o ator Balconista solicita o

caso de uso Manter Cliente e tem realizado o cenário Consultar Cliente.

O ator Balconista altera os dados do cliente. O ator Balconista solicita a alteração do cliente. O sistema valida os dados conforme regra de negócio

“Entidade Cliente – 1. Dados Cliente”. (E1) O sistema solicita a confirmação da alteração. O ator confirma a alteração. (A1) O sistema grava os dados. O sistema apresenta mensagem: “Cliente alterado com

sucesso”. O sistema encerra o caso de uso.

Exercício 3: ECU Manter Cliente

Régis Simão – Diagrama de Seqüência 25/26

Fluxo Principal do Cenário Excluir Cliente do Caso de Uso Manter Cliente Este caso de uso inicia quando o ator Balconista solicita o

caso de uso Manter Cliente e tem realizado o cenário Consultar Cliente.

O ator Balconista solicita a exclusão do cliente. O sistema valida a exclusão conforme regra de negócio

“Entidade Cliente – 3. Regras para Exclusão de Cliente”. (E1)

O sistema solicita a confirmação da exclusão. O ator confirma a exclusão. (A1) O sistema exclui os dados do cliente. O sistema apresenta mensagem: “Cliente excluído com

sucesso”. O sistema encerra o caso de uso.

Exercício 4: ECU Manter Cliente

Régis Simão – Diagrama de Seqüência 26/26

FOWLER, Martin. UML Essencial. 3a. edição. Bookman, 2005.

BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML – Guia do Usuário. Campus, 2000.

Bibliografia

Régis Simão – Diagrama de Seqüência 27/26

FIM!!!