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
Download

Diagrama de Estados (State Chart)