Modelagem Dinâmica A. Conjunto de objetos agindo em SOCIEDADE para realizar determinada tarefa. B. Comportamento dinâmico INDIVIDUAL do objeto. Diagrama de Sequencia (de mensagens) Diagrama de Colaboração Diagrama de Estados 164 Diagrama de Estados (State Chart) Máquinas de Estados -Harel DTE - Diagrama de Transição de Estados Elaborar um DE para cada classe/objeto que tenha um comportamento expressivo/significativo Mostra o COMPORTAMENTO individualizado de uma classe/objeto 165 ESTADO: um momento na vida de um objeto / classe. Notação Gráfica NOME do ESTADO: substantivo ou verbo(gerúndio) mais substantivo. Nome do Estado 166 Exemplos PESSOA CaixaEletrônico/Cassete $ RICA Selecionando Cédulas POBRE PESSOA SOLTEIRA CASADA 167 Pseudo Estados: .Inicial é único ESTADO FINAL .Final * .Inicial e Final não existem Transição Reflexiva .Servem para marcar nome transição (olho de boi) .Não se nomeia a transição nome transição ESTADO A ESTADO INICIAL ESTADO Z TRANSIÇÃO .Relacionamentos entre Estados .Reação a eventos discretos associados .Fim de execução de ações internas .Evento: estímulo externo 168 Condição de guarda Condição de guarda [..] Porta banheiro Aberta [Entrada Aberta] / fechar Exemplo Fechada abrir trancar destrancar Trancada 169 SUB Estados Exemplo Lâmpada A fechar circuito Apagada Acessa abrir circuito B SUB Estados Disponível é instalação Instalada Apagada é conserto fechar circuito Acessa abrir circuito é defeito Manutenção é sucata Queimada 170 Exemplo Interruptor Desligado ligar Ligado desligar Abrir circuito Ações do operador Fechar circuito .Um mesmo EVENTO (ações do operador, por ex) pode alterar os estados de vários objetos: sala, lâmpada, interruptor... Lâmpada Apagada fechar circuito Acessa abrir circuito Operações do Interruptor 171 Exercício Jogar Xadrez W enxadrista Jogos de tabuleiro JOGO de Xadrez 172 x Acertar relógio digital Configurar ambiente do Sistema operador HH:MM A Exercício B Diagrama do Vocabulário BOTÃO BATERIA aciona RELÓGIO VISOR LCD LED CRT 173 Exercício idle BOTÃO Solto BATERIA Pressionado Descarregada idle Sucateada Carregando Carregada 174 Diagrama de Sequencia Relógio Botão A Botão B Exercício Visor operador Cenário: Pedro, operador, acerta o relógio em 10 horas e 10 minutos.. Calcular HH:MM Exibir HH:MM Selecionar função Acionar função Selecionar função Incrementar HH Selecionar função Exibir HH:MM Piscar HH Acionar função Exibir HH Incrementar HH Calcular HH:MM Calcular HH:MM Acionar função Exibir HH:MM Exibir HH:MM 175 Exercício cartão Caixa Eletrônico Bancário RDBMS Banco correntista Diagrama do Vocabulário 1..* sacar $ em espécie de c/c RDBMS Banco 1..* Correntista ContaCorrente é responsável possui Cartao utiliza CaixaEletronico TelaInicial Teclado LeitoraCartao Cassete$ TelaMenu TelaSaque 176 <<control>> CaixaEletronico <<actor>> Cartao <<entity>> ContaCorrente <<boundary>> TelaMenu <<boundary>> TelaSaque codigoCaixa localizaçãoBcoAg numeroCartao tipoC/D nomeCorrentista bcoAgenciaConta númeroConta saldo 02.liberarSessao 11.liberarTeclado 17.liberarTeclado 24.acionarCassete . bloquearCaixa .acionarImpressora identificarCliente identificarConta 15.validarSenha 16.liberarConta 21.sacarValor 22.verificarSaldo 23.debitarSaque 08.inicializarTela 14.capturarSenha 10.receberServico 20.receberValorS <<entity>> Correntista <<boundary>> Cassete$ <<boundary>> LeitoraCartao <<boundary>> Teclado nomeCorrentista tipoCorrentista dadosContato ultimo Acesso estadoC: liberado volume$ estadoL: liberado estadoT: liberado 07.identificarCorren 25.selecionar$ 26.disponibilizar$ 27.atualizarVol$ 03..receberCartao 04.lerCartao 05.ejetarCartao 13. receber Dados 19. receberDados correntista AÇÕES: 01.inserirCartão 06.retirarCartão 09.escolherServiço 12.digitarSenha 18.digitarValor 28.retirar$ 177 Estados: ContaCorrente Exemplo de Transição Reflexiva e condição de guarda [ ] saque/depósito Credora saque/depósito saque Devedora depósito é bloqueio / ação judicial é bloqueio / ação judicial Bloqueada [saldo = 0] é fechamento [saldo = 0] Inativa 178 Diagrama de Sequencia correntista Cenário: Joaquim, correntista do Bco, saca R$20 de sua C/C. Ele tem saldo e existe $ em espécie no Caixa Eletrônico. CaixaEletronico LeitoraCartao 1.inserir cartao 2.liberar 3.receber sessao cartao Tela Menu 6.retirar cartao 4.ler cartao 5.ejetar cartao 7.identificar cliente 10.receber serviço 9.escolher serviço Tela Saque Teclado Cassete$ ContaCorrente Correntista 8.inicializar tela 11.liberar teclado 12.digitar senha 13.receber dados 18.digitarvalor senha 17.liberar teclado 14.capturar senha 15.validar senha 16.liberar conta senha 19.receber dados 20.receber valor $ 21.sacar valor 22.verificar saldo valor 24.acionar cassete$ 23.debitar saque 26.disponibilizar$ 25.selecionar$ 27.atualizarVol$ 28.retirar$ 179 <<control>> CaixaEletronico <<actor>> Cartao <<entity>> ContaCorrente codigoCaixa localizaçãoBcoAg numeroCartao tipoC/D nomeCorrentista bcoAgenciaConta númeroConta saldo 02 .liberarSessao 11 .liberarTeclado 17 .liberarTeclado 24 .acionarCassete . bloquearCaixa .acionarImpressora identificarCliente identificarConta 15 16 21 22 23 <<entity>> Correntista <<boundary>> Cassete$ <<boundary>> LeitoraCartao <<boundary>> Teclado nomeCorrentista tipoCorrentista dadosContato ultimo Acesso estadoC: liberado volume$ estadoL: liberado estadoT: liberado 07 .identificarCorren 25 .selecionar$ 26 .disponibilizar$ 27 .atualizarVol$ .validarSenha .liberarConta .sacarValor .verificarSaldo .debitarSaque 03 .receberCartao 04 .lerCartao 05 .ejetarCartao <<boundary>> TelaMenu 08 .inicializarTela 14 .capturarSenha 10 .receberServico 13 . receber Dados 19. receberDados <<boundary>> TelaSaque 20 .receberValorS correntista AÇÕES: 01.inserirCartão 06.retirarCartão 09.escolherServiço 12.digitarSenha 18.digitarValor 28 .retirar$ 180 Y Passear de carro Exercício motorista dar partida no veículo Diagrama do Vocabulário manipula MOTORISTA ! ! ! ! CHAVE conduz FREIO IGNIÇÃO VEÍCULO inicializa ACELERADOR TRANSMISSÃO MOTOR traciona MANUAL MOTOR TRAÇÃO MOTOR PARTIDA AUTOMÁTICA 181 TRANSMISSÃO colocar ré Neutro Ré colocar frente FRENTE Primeira Segunda Terceira IGNIÇÃO [Transmissão em neutro] girar chave Desligada liberar chave Partida Ligada desligar chave ACELERADOR apertar Repouso Pressionado soltar acelerar 182