Meeskond "KRTK": Difference between revisions

From ICO wiki
Jump to navigationJump to search
 
(7 intermediate revisions by the same user not shown)
Line 5: Line 5:




'''Liikmete kontaktid'''
'''Liikmed'''


Ivo Lõhmus - skype: dnepr650, mail: lohmus.ivo@gmail.com, 53436974
Ivo Lõhmus


Indrek Kahu - skype: indrek.kahu, mail: indrek.kahu@mail.ee, 58150435
Indrek Kahu


Tanel Staub - skype: , mail: tanelst87@hot.ee, 5106554
Tanel Staub




Line 17: Line 17:




Ivo - projektijuht ja programmeerija. Meeskonnatöö koordineerimine, TF (Codeplex) ülesseadmine, dokumentatsiooni koostamine (wiki), andmebaasi skeema, sisestamisvorm jne
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.
Tanel - programmeerija. Otsing, muutmine, kontrollid, raportid, bugiparandused jne.


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


'''Kood'''
Lähtekood asub [http://krtk.codeplex.com/SourceControl/list/changesets siin]
'''PS!''' Indreku poolt tehtavad lisad on pooleli (seisuga 8.12.2010). Esitamisel nähtud töötav versioon on [http://krtk.codeplex.com/SourceControl/changeset/changes/1730 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!




Line 31: Line 39:
Antud vormil saab sisestada raamatuid, laenutajaid ja riiuleid.  
Antud vormil saab sisestada raamatuid, laenutajaid ja riiuleid.  


[[File:Example.jpg]]
[[File:sisesta.png]]


2. Laenutamise ja tagastamise vorm:
2. Laenutamise ja tagastamise vorm:
Line 37: Line 45:
Selle vormi abil saab raamatuid välja laenutada ja tagastatuks märkida:
Selle vormi abil saab raamatuid välja laenutada ja tagastatuks märkida:


[[File:Example.jpg]]
[[File:laenuta.png]]


3. Otsinguvorm:
3. Otsinguvorm:
Line 44: Line 52:




 
[[File:otsing.png]]
'''Kood'''
 
Lähtekood asub [http://krtk.codeplex.com/SourceControl/list/changesets siin]
 
Rakendus kasutab eraldiserisvat MSSQL baasi - baasi loomise skripti saab Codeplexist Patches alt. Andmebaasiühendus tuleb app.configis ära määrata!
 




4. Raportite vorm


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






''' Tööülesanded '''


''' Ülesehitus'''


''Loodud klassid:''


1. Analüüs / rakenduse disain
*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.


2. ERD / skeema tegemine
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.  


3. Sisestamis/muutmisvormid (+ baasi kirjutamine):
''ERD:''
    - Raamat
    - Kasutaja
    - Riiul


4. Otsingu vorm (+baasist lugemine)
[[File:erd.jpg]]
    - otsing tööle panna
    - autocomplete (optional)?
    - tulemuste sortimine päiste järgi


5. raportite genereermiseks välise komponendi leidmine ja tööleajamine
'''Probleemid'''


6. laenutamise vorm
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:)
    - laenutamise tekitamine
    - hoiatuse kuvamine kui lohakas laenutaja on


7. E-maili saatmine hilinemise korral
Lõpplahendus ei ole päris täiuslik ja tõenäoliselt sellel programmil väga palju kasutajaid ei saa olema:)


8. "scheduler service"
Mõned tehnilised probleemid
    - kontrollib regulaarselt tähaegsust
    - saadab mittetähtaegsetele e-mailid


9. Laenutajate otsingulehe tegemine


10. wiki lehe uuendamine
*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.

Latest revision as of 17:36, 18 December 2010

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.