Transação: Reserva e obtenção de passagem
descrição
    Sistema emite passagem  (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,rpc,rsc)
    e mostra aviso[não tem lugar]
grafo


 disponibilidade 






passagem
<==
Reserva
<==
solicitação
SetaDireitaCimaGrossaAzul



SetaBaixoEsquerdaAzul

aviso

    * Reserva (solicitacao) => passagem, disponibilidade, aviso

Detalhe
  1. Sistema inicializa disponibilidade
    rpc=10, rsc=10 => obtém disponibilidade
    • Identificação do transporte (id-transp) = 1
    • Quantidade de lugares 1a classe (rpc) = 10
    • Quantidade de lugares 1a classe (rsc) = 10


  2. Sistema obtem solicitação
    Ler (solicitacao) => nome, classe
    • nome = Le solicitacao (nome)
    • classe = Le solicitacao (classe)

  3. Sistema verifica disponibilidade e prepara emissão da passagem

    Reserva (id-transp, nome, classe, troca, rpc, rsc) => passagem, rpc, rsc, aviso

    classe=1?
    | rpc=0?
    | | rsc=0?
    | | | aceita troca?
    | | | |
    S N . .
    1. rpc = rpc -1
    2. passagem = [ nome, classe, rpc]
    3. emite passagem
    N . N .
    1. rsc = rsc -1
    2. passagem = [nome, classe, rsc]
    3. emite passagem
    S S N S
    1. rsc = rsc -1
    2. passagem = [nome, classe, rsc]
    3. emite passagem
    N N S S
    1. rpc = rpc -1
    2. passagem = [nome, classe, rsc]
    3. emite passagem
    . S S .
    1. aviso = passagem não emitida
    2. mostra aviso


  4. Emissão de passagem
    Imprimir(passagem) =>bilhete



Modelo de decisão|Tuturial de tabela decisão