Kasutusjuhtudest andmebaasirakenduseni
See leht demonstreerib, kuidas kasutusjuhtude nõuetest jõutakse toimiva andmebaasirakenduseni, kasutades PostgreSQL andmebaasi.
Kasutusjuht: Lõpeta tuba
Primaarne tegutseja: Juhataja
Osapooled ja nende huvid:
- Tubade haldur, Juhataja: Soovib, et iga toa kohta oleks teada tema koht üldises tubade elutsüklis, mis ühtlasi määrab tegevused, mida selle toaga saab teha.
- Juhataja: Soovib anda kõigile huvitatud osapooltele teada, et toaga enam tehinguid ei tehta (kuid kõik käimasolevad tehingud tuleb vastavalt kehtivale korrale lõpetada). Samas soovib ta toa andmete süsteemis säilimist, et ei läheks kaotsi info toa ja sellega seotud tehingute kohta.
- Klient, Uudistaja: Soovivad näha kõiki aktiivseid tube, et otsustada, kas siduda ennast selle organisatsiooniga toaga kasutava kliendi rollis (kui huvi pakkuv tuba ei ole selles nimekirjas, siis see on talle samuti oluline informatsioon).
Käivitav sündmus: Toa kasutamine tehingutes on vaja püsivalt lõpetada, kuna seoses toaga on ilmnenud püsiva iseloomuga probleemid või kuna tuba on oma aja lihtsalt ära elanud.
Eeltingimused: Juhataja on autenditud ja autoriseeritud. Tuba on registreeritud ja on seisundis „Aktiivne“ või „Mitteaktiivne“.
Järeltingimused: Toa seisund on muutunud „Lõpetatud“, kuid toa andmed on süsteemis endiselt alles. Toa andmeid ei tohi süsteemist füüsiliselt kustutada, sest sellega seoses tuleks kustutada info kõigi tehingute kohta, millega tuba on seotud.
Stsenaarium (tüüpiline sündmuste järjestus):
- Juhataja avaldab soovi tuba lõpetada.
- Süsteem kuvab aktiivsete või mitteaktiivsete tubade nimekirja, kus on toa kood, toa nimetus, hetkeseisundi nimetus (OP9.1).
- Juhataja valib nimekirjast toa ja annab korralduse see lõpetada.
- Süsteem salvestab andmed (OP5).
Operatsioon OP9.1: Andmete lugemine tubade kuvamiseks.
Operatsioon OP5: Andmete muutmine toa lõpetamiseks.
Juhataja võib samme 1-4 läbida nii mitu korda kui soovib.
Laiendused (või alternatiivne sündmuste käik):
- 3a. Juhataja saab nimekirja kõigi kuvatud väljade järgi sorteerida ja filtreerida.
- 3b. Kui nimekirjas ei ole ühtegi aktiivset või mitteaktiivset tuba, siis ei saa juhataja jätkata.
Interaktiivne stsenaarium
Klõpsa nupule, et läbida kasutusjuhtu samm-sammult. Nupp "Alusta uuesti" taastab algseisundi. Saad igal hetkel vajutada nupule "Lõpeta kasutusjuhu läbimine", et näha, mis toad selle seansi ajal lõpetati.
Samm 1: Soovi avaldamine
Juhataja avaldab soovi tuba lõpetada. Käivitav sündmus: Toa kasutamine tehingutes on vaja püsivalt lõpetada, kuna seoses toaga on ilmnenud püsiva iseloomuga probleemid või kuna tuba on oma aja lihtsalt ära elanud.
Süsteem valmistub kuvama lõpetatavate tubade nimekirja.
Samm 2: Tubade nimekirja kuvamine (OP9.1)
Süsteem kuvab aktiivsete või mitteaktiivsete tubade nimekirja. Saad siit valida toa lõpetamiseks või jätkata "Lõpeta tuba" nuppu vajutades. Kui vajutad "Jätka sammuga 3", siis ilmub teavitusaken, mis palub sul valida konkreetse toa.
Andmed pärinevad andmebaasi vaatest lopetatavad_toad
, mis omakorda põhineb tabelitel Tuba
ja Toa_seisundi_liik
. Iga rea "Lõpeta tuba" nupu vajutus kutsub välja andmebaasi funktsiooni f_lopeta_tuba
(OP5).
Kood | Nimetus | Hetkeseisund | Tegevus |
---|
Samm 3: Toa valimine ja korraldus
Juhataja valib nimekirjast toa ja annab korralduse see lõpetada, vajutades vastava toa real nupule "Lõpeta tuba".
(Seda sammu enam eraldi ei kuvata, toiming tehakse otse sammus 2.)
Samm 4: Andmete salvestamine (OP5)
Süsteem salvestab muudatused andmebaasi, kutsudes välja funktsiooni f_lopeta_tuba
.
Simuleeritud SQL käsklus andmebaasis:
-- Siia ilmub SQL SELECT lause
Andmed tabelis Tuba
on muudetud. Vaade lopetatavad_toad
ei sisalda enam seda tuba.
Järeltingimus: Toa seisund on muudetud „Lõpetatud“, toa andmed on süsteemis alles.
Võid valida järgmise toa lõpetamiseks, vajutades "Tagasi sammu 2 juurde".
Stsenaarium lõppenud (kõik toad lõpetatud)
Kõik sobivad toad on lõpetatud. Enam ei ole aktiivseid ega mitteaktiivseid tube, mida lõpetada. Juhataja ei saa jätkata (laiendus 3b).
Võid vajutada "Alusta uuesti", et stsenaariumit korrata, või "Lõpeta kasutusjuhu läbimine", et näha tulemust.
Andmebaas
Siin on näha andmebaasi struktuuri ja andmeid, mis on seotud "Lõpeta tuba" kasutusjuhuga.
Virtuaalne andmete kiht
See kiht lihtsustab rakendusel andmetele ligipääsu ja äriloogika rakendamist.
Funktsioon: f_lopeta_tuba
See funktsioon teostab toa lõpetamise loogika vastavalt OP5 lepingule.
Funktsioon muudab Tuba
tabelis valitud toa toa_seisundi_liik_kood
väärtuseks 4 ('Lõpetatud').
Vaade: lopetatavad_toad
See vaade tagastab toad, mida saab lõpetada (seisundis 'Aktiivne' või 'Mitteaktiivne') vastavalt OP9.1 nõudele. Read on värvitud vastavalt toa seisundile.
Vaate hetkeseis:
tuba_kood | toa_nimetus | hetkeseisundi_nimetus |
---|
Baastabelid
Need tabelid sisaldavad tõeseid väiteid reaalse maailma olemite kohta, millest saab hakata päringutega tuletama uusi väiteid.
Tabel: Toa_seisundi_liik
Sisaldab võimalikke toa seisundeid.
toa_seisundi_liik_kood | nimetus | on_aktiivne |
---|
Tabel: Tuba
Sisaldab infot tubade kohta.
tuba_kood | nimetus | toa_seisundi_liik_kood | viimase_muutm_aeg |
---|