Meeskond "KRTK"

From ICO wiki
Jump to navigationJump to search

Projekti sisu

Projekti sisuks on meeskonnatöö tulemusena tekitada koduse raamatukogu rakendus, mis täidab vähemalt kodutöö juhendis märgitud miinimumnõudeid. Valmib Windows Forms rakendus, mis töötab MSSQL baasi peal.


Liikmed

Ivo Lõhmus

Indrek Kahu

Tanel Staub


Tööjaotus


Ivo - projektijuht ja programmeerija. Meeskonnatöö koordineerimine, TF (Codeplex) ülesseadmine, dokumentatsiooni koostamine (wiki), andmebaasi skeema, sisestamisvorm, laenutamine jne

Tanel - programmeerija. Otsing, muutmine, kontrollid, raportid, bugiparandused jne.

Indrek - programmeerija. bugiparandused, 1 raport + kehva ajaloo hoiatus (pooleli!)

Kood

Lähtekood asub siin

PS! Indreku poolt tehtavad lisad on pooleli (seisuga 8.12.2010). Esitamisel nähtud töötav versioon on CS1730 all. EDIT: seisuga 11.12.2010 on viimane versioon (1 lisaraport juures) allalaetav patches alt.

Rakendus kasutab eraldiserisvat MSSQL baasi - baasi loomise skripti saab Codeplexist Patches alt. Andmebaasiühendus tuleb app.configis ära määrata!


Programmi funktsionaalsus

1. Sisestamise vorm

Antud vormil saab sisestada raamatuid, laenutajaid ja riiuleid.

2. Laenutamise ja tagastamise vorm:

Selle vormi abil saab raamatuid välja laenutada ja tagastatuks märkida:

3. Otsinguvorm:

See vorm võimaldab otsida raamatuid ja vajadusel muuta raamatute andmeid - näiteks asukohta (millises riiulis raamat asub) või olemasolu (kui raamat kaob või hävib, siis saab märkida "mitteeksisteerivaks/hävinuks"



4. Raportite vorm

Sellel vormil on nupud erinevate raportite koostamiseks. Raportid salvestatakse tekstifailidena (raportite kataloog tuleb app.configis määrata!)



Ülesehitus

Loodud klassid:

  • Form1.cs - rakenduse vorm.
  • RaamatService.cs - teenusklass raamatutega seotud tegevuste jaoks.
  • LaenutajaService.cs- teenusklass laenutajatega seotud tegevuste jaoks.
  • RiiuliService.cs - teenusklass riiulitega seotud tegevuste jaoks.
  • Andmetootlus.cs - enamus äriloogikast.
  • Log.cs - logimine.

Iga objekti (raamat, riiul, laenutaja) jaoks on oma klass - päringud/salvestamised/kontrollid jms - andmetöötluse ja vormi jaoks vajalikud päringud käivad nende kaudu.

ERD:

Probleemid

Tiimi liikmed õpivad IT Süsteemide administreerimist (loe: mõõdukas või puuduv programmeerimise kogemus ja huvi) - seetõttu oli selle projekti teostamine päris keeruline. Indrekule ja Tanelile oli ka see esimene kokkupuude andmebaasidega, niiet väga palju energiat on võtnud "andmebaaside alustega tuvumine". Ka meeskonnatöös on meil natuke arenguruumi:)

Lõpplahendus ei ole päris täiuslik ja tõenäoliselt sellel programmil väga palju kasutajaid ei saa olema:)

Mõned tehnilised probleemid


  • DB ConnectionStringi lugemine konfifalist valmistas probleeme (kui kasutasime projektiga kaasasolevat .mdf faili, mitte eraldi SQL servrit).
  • Riiuli muutmisega sattusime probleemi otsa, kus juba olemasolevat seost (FK reference) ei lubatud muuta.
  • Logimine jäi poolikuks - nii lihtlabaselt objekti stringiks sundida siiski ei saa :( - näiteks raamatu salvestamisel logitakse seetõttu tabelinimi, mitte väljade väärtused.