Diagrama de Estados (State Chart) ESTADO: um momento na vida de um objeto / classe. Notação Gráfica NOME do ESTADO: substantivo ou verbo(gerúndio) mais substantivo. Ação para: . entrar . permanecer . sair Nome do Estado Entry / ação Do / ação Exit / ação 127 Diagrama de Estados (State Chart) Exemplos Rede/Acesso Digitando Senha Entry /echo Off Do / validar caracteres Exit / echo On PESSOA CaixaEletrônico Cassete $ Selecionando Cédulas RICA POBRE 128 Diagrama de Estados (State Chart) Pseudo Estados ESTADO FINAL .Inicial é único .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 129 Diagrama de Estados (State Chart) Exemplo Condição de guarda [..] Porta banheiro Aberta [Entrada Aberta] / fechar Fechada abrir trancar destrancar Trancada 130 Diagrama de Estados (State Chart) Lâmpada Exemplo 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 131 Diagrama de Estados (State Chart) Interruptor Desligado Exemplo ligar Ligado desligar .Um mesmo EVENTO (ações do OPERADOR) pode alterar o estado de vários objetos: sala, lâmpada, interruptor... Lâmpada Apagada fechar circuito Acessa abrir circuito 132 Diagrama de Estados (State Chart) Exercício JOGO de Xadrez 133 x HH:MM Configurar ambiente do Sistema Acertar relógio digital A Exercício B operador Diagrama do Vocabulário BOTÃO BATERIA aciona RELÓGIO VISOR LCD LED TRC 134 Diagrama de Estados (State Chart) Exercício idle BOTÃO solto BATERIA pressionado descarregada idle sucateada carregando carregada 135 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 136 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 137 <<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 correntista 7.identificarCorren 25.selecionar$ 26.disponibilizar$ 27.atualizarVol$ 13. receber Dados 19. receberDados AÇÕES: 01.inserirCartão 06.retirarCartão 09.escolherServiço 12.digitarSenha 18.digitarValor 28.retirar$ 3..receberCartao 4.lerCartao 5.ejetarCartao 138 Diagrama de Estados (State Chart) 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 139 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$ 140 Exercício Y Passear de carro motorista dar partida no veículo Diagrama do Vocabulário manipula MOTORISTA ! ! ! ! CHAVE conduz FREIO IGNIÇÃO inicializa VEÍCULO ACELERADOR TRANSMISSÃO MOTOR traciona MANUAL MOTOR TRAÇÃO MOTOR PARTIDA AUTOMÁTICA 141 Diagrama de Estados (State Chart) IGNIÇÃO [Transmissão em neutro] girar chave desligada liberar chave partida ligada desligar chave ACELERADOR apertar repouso pressionando soltar acelerar 142