Talk:Meeskond: LIB

From EIK wiki

Retsensioon meeskond LIB koduse raamatukogu rakenduse analüüsile

Analüüs on ladus, kergesti loetav ning arusaadav. Must have ja nice to have funktsionaalsused on analüüsis väga hästi välja toodud: kõigi kriitiliste (koduse) raamatukogu funktsioonide peale on mõeldud. Viimane on oluline, kuna ühe väikese kirjutamata rea taga analüüsis võib olla tegelikult suur hulk tööd.

Rakenduses ei eristata administraatoreid ja tavakasutajaid, mis on arvestades sihtotstarvet mõistlik. Soovitused:

1. Analüüs võiks olla isegi rohkem struktureeritud, et arendaja leiaks hoobilt talle vajamineva informatsiooni.

2. Enne rakenduse kirjutamist võiks valmis teha ka andmebaasimudeli, et kõigil arendajatel oleks võimalik sellest lähtuda.

3. Võiks lisada ühe suure skeemi kasutajale kuvatavatest vaadetest koos erinevate seostega kergesti hoomataval ja selgel kujul. See aitab programmi piltlikustada ja üheselt mõistetavaks teha. Viimastega on võimalik tuleviku tarbeks sellekohase lisakommunikatsiooni arvelt aega kokku hoida.

Ka näitlikustavad tabelid kirjetest aitavad programmi paremini hoomata.

4. Analüüsis oli kirjas, et koduses raamatukogus pannakse andmebaasi kirja veel raamatute ilmumisaastad jne. Soe soovitus oleks kindlasti funktsioonide ja andmete osas läbi mõelda, kas need on kasutaja jaoks tähtsad ja kas proportsionaalselt saadud kasu lisafunktsioonide näol või isikliku arengu osas kaalub üles tehtud töö antud rakendusega.

Kokkuvõtteks. Antud analüüsis olid rakenduse funktsioonid kenasti läbi mõeldud. Soovitus on rohkem struktureeritust ja skeeme.


Originaalne esitamise aeg oli 6. november.

Retsenseeris: Meeskond Premium


Retsensioon LIB esmasele prototüübile

 

Kood kompileerub ja WPF rakenduse visuaalset poolt on võimalik juba peaaegu tervenisti näha.

Visuaalne pool ja xaml kood

Rakendusest on hetkel puudu väljad kuhu kasutaja saaks sisestada laenutaja aadressi ning isikukoodi.

Välja võiks jätta praeguse versiooni,  kus žanri valik ja uue žanri lisamine teostatakse samal lehel kahe erineva elemendiga. Uue žanri lisamiseks tuleks dropdown menüüsse, täpsemalt viimasele reale kirjeldada “uus žanr“, millest võiks avaneda uus aken žanride töötlemiseks. Kas rakenduses on võimalik žanre kustutada?

Xamli koodis on paigast ära Grid-background marginid. Ilmselt praegu on tehtud rakenduse visuaalne pool drag-and-drop meetodil ja seal on mõeldud veel vaeva näha. ListView-le oleks võinud anda parema nime kui seda on „listView_Copy1“, teised elemendid on arusaadavalt nimetatud. Rakenduse käivitamisel võiks see olla positsioneeritud ekraani keskele ning samuti tuleks määrata maksimum- ja miinimumsuurus. Elementide nimetused järgivad ühtset ja korrektsed stiili.

Visuaalselt oleks parem, kui raamatute ja laenutajate akende list ja kõik väljad oleksid akna suhtes üks-ühele positsioneeritud.

Funktsionaalne pool

Funktsionaalne pool veel ei tööta, kuid väike osa sellest on juba olemas. Mitte midagi pole tehtud läbi BO-de.

Struktuur

Töös proovitakse lähtuda MVVM põhimõtetest. Vaadet juhtima hakkavas ViewModelis veel sisu ei ole, aga vastav klass on olemas. Tähelepanu äratas fakt, et vaade ja vaatemudel pole sarnase nimega. Suuremate tööde puhul oleks sarnaste nimede panemine essentsiaalne koodi haldamise seisukohalt (nt MainWindow vs MainWindowVM), aga antud töö puhul on vaid üks vaatemudel ja üks vaade, mistõttu see erilist tähtsust ilmselt ei oma.

Töö on kenasti jaotatud andmete ligipääsukihiks (DAL), äriloogika- (BLL) ja rakenduskihiks. Aga konkreetses koodis pole proovitud elimineerida otsest sõltuvust andmebaasist, mis tegelikult on nende BO-de (business objects) üks põhimõte. BO on selleks, et oleks olemas andmed sellisel kujul nagu neid reaalselt vaja läheb ning kui andmebaasis midagi muutub (tabeli nimi vms), siis oma koodis peaks selle tõttu muutma vaid BLL kihti ja mitte mingil juhul näiteks Bindinguid.

Raamatud.DAL ja Raamatud.BLL projektid on käesolevas töös mõlemad (võib-olla taotluslikult) konsoolirakendustena. Aga nad võiks lõpuks siiski ümber muuta ClassLibrary’ks, millel ei ole visuaalset väljundit.

Ettepanek oleks BLL koodi jagada tabelite kaupa (mis kood millise tabeli juurde kuulub). Sealt on mugav hakata arutama.

 

ERD diagrammist

Põhimõtteliselt ühel autoril võib olla ka mitu raamatut, andmebaasis pole seda hetkel realiseeritud. Kui on soov ka mitme raamatu sisestamiseks ühe autori kohta, siis ilmselt tuleks andmebaasi kohendada. Näiteks aitab sellise tabeli lisamine, mis ühendab raamatuid ja autoreid ning mis sisaldab vaid vastavaid ID väärtusi.

Igasse andmebaasitabelisse on kirjutatud „aktiivne“.  Tõenäoliselt enamikes tabelites seda pole vaja.

Kontaktandmete tabeli sisu (väljad „telefon“ ja „email“ jne) võiksid ilmselt olla Laenutaja tabelis ja kaotada tabel Kontaktandmed üldse ära.

Kokkuvõtteks

Kood kompileerub ja näiteks kliendil on juba praegu võimalik hästi ette kujutada, milline tema programm välja näeb ja kuidas ta sellega võiks töötada. Järgmised sammud antud töös võiksid hinnanguliselt olla andmebaasi korrigeerimine ja töö struktuuri põhjalik väljamõtlemine. Kui soovitakse programm kirjutada korralikult läbi BO-de, siis praeguses koodis ilmselt peab juba ka parandusi tegema.


Originaalne esitamise aeg oli 20. detsember.

Retsenseeris: Meeskond Premium