Meeskond "KRTK"
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.
Liikmete kontaktid
Ivo Lõhmus - skype: dnepr650, mail: lohmus.ivo@gmail.com, 53436974
Indrek Kahu - skype: indrek.kahu, mail: indrek.kahu@mail.ee, 58150435
Tanel Staub - skype: , mail: tanelst87@hot.ee, 5106554
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.