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