Transação: Reservar e mostrar de passagem
descrição
Sistema emite passagem para um passageiro em um transporte (nome, classe,
lugar) e reserva lugar na 1a ou 2a classe conforme solicitação ( nome,classe, aceita troca de classe) e disponibilidade de classe (id-transp,dpc,dsc)
e mostra aviso[não tem lugar]
Forma de abordar o projeto (grafo)
disponibilidade
passagem
<==
Reserva
<==
solicitação
aviso
* Reserva (solicitacao) => passagem, disponibilidade, aviso
Detalhe
Sistema inicializa disponibilidade
rpc=10, rsc=10 => obtém disponibilidade
Identificação do transporte (id-transp) = 1
Quantidade de lugares disponiveis na 1a classe (dpc) = 10
Quantidade de lugares disponiveis na 2a classe (dsc) = 20
Sistema obtem solicitação
Ler (solicitacao) => nome, classe
nome = Le solicitacao (nome)
classe = Le solicitacao (classe)
Sistema verifica disponibilidade e prepara para mostrar a passagem (regra da transação)
Reserva (id-transp, nome, classe, troca, rpc, rsc) => passagem, rpc, rsc, aviso
A solicitação é para 1a classe (classe=1?)
|
tem didponibilidade na 1a classe (dpc=0?)
| |
tem didponibilidade na 2a classe (dsc=0?
| | | aceita troca de classe?
| | | |
S N . .
dpc = dpc -1
passagem = [ nome, classe, rpc]
emite passagem
N . N .
dsc = dsc -1
passagem = [nome, classe, rsc]
emite passagem
S S N S
dsc = dsc -1
passagem = [nome, classe, rsc]
emite passagem
N N S S
dpc = dpc -1
passagem = [nome, classe, rsc]
mostrar passagem
. S S .
aviso = passagem não emitida
mostrar aviso
Emissão de passagem
Imprimir(passagem) =>bilhete
Modelo de decisão
|
Tuturial de tabela decisão