diagrama de sequência -...
TRANSCRIPT
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 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 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 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