Andmebaasid I (ITI0206) (kevad 2025)

Küsimus

Kohustuslik lugeda
Anonüümne (15.03.2025 18:26)
Milliseid tarkvara analüüsi ja ehitamise käigus loodavaid tehiseid on võimalik luua suurte keelemudelite abil ja milline võiks olla sellest tulenevalt andmebaasi- ja andmebaasirakenduse mudelitega juhitav arendus?

Vastus (14.04.2025 18:46): Järgnevates näidetes viitan visuaalsetele mudelitele järgnevalt:

  • UCD - kasutusjuhtude diagramm
  • ERD - olemi-suhte diagrammid
  • STD - seisundidiagramm
Keelemudelile võib neid ette anda erinevatel viisidel.
  • eksportida modelleerimisvahendist XMI formaadis ja anda ette tekstina,
  • teha ekraanipilt ja anda ette pildina,
  • kui  diagrammi loomiseks kasutati PlantUMLi, siis saab diagrammi samuti anda keelemudelile ette tekstina.
Tegemist ei ole ammendava nimekirjaga sellest, milliseid tulemeid saab genereerida milliste tulemite põhjal. Keelemudelitena on katsetatud Groki ja Geminit.

Olen edukalt katsetanud järgmiste tulemite loomist.

Analüüs:
  • UCD + ERD + lühiformaadis kasutusjuhtude näited + reeglid lühiformaadis kasutusjuhtudele => UCD esitatud kasutusjuhtude lühiformaadis kirjeldused
  • UCD + ERD + STD + laiendatud formaadis kasutusjuhtude näited + reeglid laiendatud formaadis kasutusjuhtudele => UCD esitatud kasutusjuhtude laiendatud formaadis kirjeldused
  • ERD + andmebaasioperatsioonide lepingute näited + reeglid andmebaasioperatsioonidele + andmebaasioperatsioonide nimekiri => andmebaasioperatsioonide lepingud
  • UCD + ERD => CRUD maatriks
  • ERD => mudeli kirjeldus inimkeeles, veendumaks, et mudelis väljendatu langeb kokku sellega, mida tegelikult väljendada soovitakse
    • Tegemist oleks alternatiiviga SELLELE lõputöö raames arendatud spetsiaaltarkvarale
Ehitamine:
  • ERD + reeglid tabelitele => Tabelite loomise laused, INSERT laused testandmete lisamiseks
  • ERD => JSON skeem ja skeemile vastavad näiteväärtused
  • ERD => MongoDB kollektsioonide loomise laused testandmete lisamiseks
  • Tabelite loomise laused => INSERT laused testandmete lisamiseks
  • ERD või tabelite loomise laused + atribuutide definitsioonid => Atribuutidele täiendavate piirangute (CHECK kitsenduste) lisamise laused
  • Tabelite loomise laused + keerukam ärireegel => Andmebaasi trigerite loomise laused (promptis saab ka paluda lisada kommentaare, jagada õiguseid)
  • Laiendatud formaadis kasutusjuhud + reeglid vaadetele => Vaadete loomise laused  (promptis saab ka paluda lisada kommentaare, jagada õiguseid)
  • Andmebaasioperatsioonide lepingud + reeglid funktsioonidele => Andmebaasis loodavad funktsioonid  (promptis saab ka paluda lisada kommentaare, jagada õiguseid)
    • Tegemist oleks alternatiiviga SELLELE lõputöö raames arendatud spetsiaaltarkvarale
  • Laiendatud formaadis kasutusjuhud + mittefunktsionaalsed nõuded + lugemisoperatsioonidele vastavate vaadete struktuur + muumisoperatsioonidele vastavate funktsioonide signatuur => Veebipõhine andmebaasirakendus
Katsetasin ka edukalt tekstilistest mudelitest UML diagrammide loomist, kusjuures diagrammid on mõeldud vaatamiseks PlanText või PlantUML keskkondades.
  • Kasutusjuhud lühiformaadis => Kasutusjuhtude diagramm
  • Põhiobjekti alusel leitud funktsionaalse allsüsteemi kasutusjuhud lühiformaadis => Põhiobjekti seisundidiagramm
  • Laiendatud formaadis kasutusjuht => Kasutusjuhu poolt esitatava elementaarse äriprotsessi tegevusdiagramm
  • Laiendatud formaadis kasutusjuht => Kasutusjuhu poolt esitatava elementaarse äriprotsessi süsteemi jadadiagramm
  • Põhiobjekti seisundidiagramm => Seisundi üleminekutest tuletatud kasutusjuhtudega kasutusjuhtude diagramm
Diagrammide loomisel oli prompti osaks ka väike diagrammi tekstilise esituse näide PlanText keskkonnas, kuid tundub, et seda pole vaja.

Ülikooli hindamisskaalal võiks tulemusi hinnata hindega 4 (väga hea). See tähendab, et vaja oleks vaja teha väiksemaid parandusi.

Eelnevast tulenevalt võiks andmebaasi- ja andmebaasirakenduse moodne mudelitega juhitav arendus olla midagi sellist. Genereerimise all mõeldakse genereerimist generatiivse TI poolt, kui ei ole öeldud teisiti.
  1. Leia põhiobjektid.
  2. Leia tegutsejad.
  3. Põhiobjektide alusel leia funktsionaalsed allsüsteemid ja registrid (igale põhiobjektile vastab register ja seda teenindav samanimeline funktsionaalne allsüsteem).
  4. Tegutsejate alusel leia pädevusalad (igale tegutsejale vastab pädevusala).
  5. Vali funktsionaalne allsüsteem, mida täpsemalt käsitleda.
  6. Sõnasta funktsionaalset allsüsteemi kasutatavate registrite puhul piirangud andmetele (ärireeglid).
  7. Sõnasta mittefunktsionaalsed nõuded.
  8. Loo allsüsteemide seoseid väljendav paketidiagramm.
  9. Loo põhiobjekti seisundidiagramm (väljendab paljusid vastava funktsionaalse allsüsteemi funktsionaalsuseid).
  10. Loo seisundidiagrammi alusel funktsionaalse allsüsteemi kasutusjuhtude diagramm. Esimese versiooni PlantText jaoks saaks lasta genereerida.
  11. Loo funktsionaalse allsüsteemi kasutatavate registrite olemi-suhte diagrammid (esimese versiooni loomiseks saab kasutada mustreid).
  12. Genereeri olemi-suhte diagrammide põhjal esimene versioon olemitüüpide definitsioonidest. Täienda.
  13. Genereeri olemi-suhte diagrammide + ärireeglite põhjal esimene versioon atribuutide definitsioonidest. Täienda.
  14. Koosta nimekiri funktsionaalse allsüsteemi teenindatava (teenindamine tähendab nii andmete lugemist kui muutmist) registri andmete muutmise andmebaasioperatsioonidest.
  15. Genereeri olemi-suhte diagrammide + operatsioonide nimekirja põhjal esimene versioon operatsioonide lepingutest. Täienda.
  16. Lisa viited operatsioonidele seisundidiagrammile.
  17. Genereeri olemi-suhte diagrammide + kasutusjuhtude diagrammi põhjal esimene versioon kõrgtaseme formaadis kasutusjuhtude tekstikirjeldusest. Täienda.
  18. Genereeri olemi-suhte diagrammide + kasutusjuhtude diagrammi + seisundidiagrammi põhjal esimene versioon laiendatud formaadis kasutusjuhtude tekstikirjeldusest. Täienda.
  19. Genereeri laiendatud formaadis kasutusjuhu põhjal kasutusjuhu väljendatava elementaarse äriprotsessi tegevusdiagramm PlantText jaoks.
  20. Genereeri olemi-suhte diagrammide + (kasutusjuhtude diagrammi või laiendatud formaadis kasutusjuhtude) põhjal esimene versioon CRUD maatriksist. Täienda.
 
*****************
Edasi valik:
a)
  1. Genereeri CASE vahendis olemi-suhte diagrammidest andmebaas disaini mudel. Täienda.
  2. Genereeri andmebaasi disaini mudelist SQL laused. Täienda.
  3. Käivita SQL laused.
 
b)
  1. Genereeri olemi-suhte diagrammide põhjal esimene versioon tabelite loomise lausetest. Täienda.
  2. Genereeri atribuutide definitsioonide põhjal esimene versioon kitsenduste defineerimise lausetest. Täienda.
  3. Käivita SQL laused.
  4. Visualiseeri loodud tabelite struktuur (iga registri kohta eraldi diagramm) kasutades näiteks DBeaverit.
*****************
 
  1. Genereeri laiendatud formaadis kasutusjuhtude + tabelite loomise lausete põhjal andmebaasi vaadete loomise laused (laiendatud formaadis kasutusjuhtudes peaks olema viited lugemisoperatsioonidele). Täienda.
  2. Genereeri andmebaasioperatsioonide lepingute + tabelite loomise lausete põhjal andmebaasi funktsioonide loomise laused. Täienda.
  3. Genereeri laiendatud formaadis kasutusjuhtude + mittefunktsionaalsete nõuete + vaadete ja funktsioonide põhjal andmebaasirakendus. Täienda.
 

Hinda vastust:

Keskmine hinne: Pole veel hinnanguid!