Talk:Meeskond MMA

From ICO wiki
Jump to navigationJump to search

Analüüsi retsensioon

Sissejuhatus

Meeskonna MMA analüüs paistab silma oma põhjalikkusega. Meeskonnal on selge nägemus loodavast programmist ning soovitavast funktsionaalusest. Kuna tegemist on väga universaalse ja laiendatava laoprogrammiga, on eriti oluline vajalike andmete ning teostatavate toimingute põhjalik analüüs. Tundub, et meeskond on enda jaoks programmi eesmärgid ning rollide vajadused läbi mõelnud, ning suutnud need ka üsna täpselt kirja panna.

Analüüsi ülesehitus

Õppejõu poolt analüüsile seatud nõuded olid täidetud. Olemas olid eesmärgi kirjeldus, sisuline funktsionaalsus, "must have" ja "nice to have" funktsionaalsuste kirjeldus, rollide ja tegevuste kirjeldused ja probleemide kirjeldus. Puudus vaid meeskonnaliikmete tööjaotus, kuid see võis jääda lahtiseks, kui täpne jaotus veel paigas ei ole.

Veel võib positiivselt märkida, et analüüsis on näha varasemat kokkupuudet analüüsi kirjutamisel, sest lisaks õppejõu poolt nõutud sisustruktuurile oli seal välja toodud ka palju muud (kasutuslood UML mudelitena ja tekstina, andmemudelid jms).

Sisuline hinnang

Planeeritav programm on mitmekülgne haarates erinevaid kasutajaid (administraator, andmesisestaja, tavakasutaja) ning võimaldades hulgaliselt mitmekülgseid päringuid. Samuti on hea idee toodete ning laopindade broneerimisest, andmete eksport ning süsteemi integreerumine teiste süsteemidega läbi SOA.

Kasutuslugudes tundub puuduvat laoesemete ja ladude muutmine/kustutamine. Samuti kasutajahaldusega seotud tegevused, kuid viimane on vähemasti ära mainitud "Must have" funktsionaalsuses.

Otsingutest otingute tegemine on tehniliselt väljakutsuv, aga võib kahelda selles, kas see palju juurde annab. Siiski jääb siinkohal lõppsõna äripoole esindajal ehk tellijal.

Koodi järgi esemete otsimine on mõtekas siis, kui kood kannab mingit selgelt eristatavat infot või kõik esemed on samuti koodidega selgelt märgendatud.

Laoesemete mallide (template) mõte jääb selgusetuks, sest kõikidel esemetel on väga pisike komplekt põhiomadusi. Samas mallide kasutamise idee oleks väga hea, kui infosüsteem võimaldaks esemetele defineerida juurde uusi omadusi ja võimalikke omaduste väärtuseid. Kui isegi dünaamliselt omadusi juurde ei saa luua, siis võiks olla üks vabateksti väli nimetusega "Kirjeldus" või "Kommentaar".

Samuti jääb veidi segaseks kasutuslugude kasutamise sageduse välja toomine. Need omandaksid võib-olla mõtte, kui kasutuslugusid oleks palju, süsteemil oleks suur koormus ning tegevusi peaks omavahel prioritiseerima. Või makstakse tegevuste sageduse järgi andmesisestajatele tükitöö alusel töötasu?

Infosüsteemi 6. eesmärgi eelis on millegipärast tühjaks jäänud. Sinna sobib näiteks "laohalduses on kasutusel alati ühesugused ja ajakohased andmed".

Esimese ettejuhtuda võiva probleemi lahenduseks sobiks ka põhiandmete väljade täitmise kohustuslikuks muutmine. Kuid ka siltide (tag) abil taksoniteks jagamine on huvitav võimalus.

Keeleliselt tasub veidi analüüsi lihvida, et mitte kasutada kõnekeelseid inglisekeelseid väljendeid, vaid korrektseid eestikeelseid termineid.

Esmapilgul tundub projekt väga töömahukas, kuid nagu analüüsi lõpust selgub, ei hakata siiski kogu funktsionaalsust realiseerima ning projekt jääb edaspidiselt täiendatavaks. Plussiks võib lugeda siinkohal ka võimalust järgnevates ainetes sama projektiga edasi liikuda.

Kokkuvõte

Analüüs on loogiliselt üles ehitatud ning projekti teema piisavalt avatud. Juhul, kui jõutakse realiseerida kogu planeeritav funktsionaalsus ja pööratakse tähelepanu väljatoodud puudustele, on tegemist igati kasuliku laoprogrammiga.


Retsenseeris Meeskond Ratsa Rikkaks


Prototüübi retsensioon

Sissejuhatus

Meeskonna MMA laoprogrammi analüüs oli teostatud hästi ja seega on huvitav tutvuda ka nende prototüübiga. Prototüübis peavad olema realiseeritud kõik peamised funktsionaalsused ilma suuremate vigadeta. Esineda võib pisemaid probleeme, sest veahaldus ei pea olema veel valmis.

Rakenduse käivitamine

Rakenduse prototüübi analüüsimiseks tuleb esmalt see tööle häälestada. Selleks on olemas readme-failina tegevusjuhis andmebaasi loomiseks ja rakenduse config-failis kahe connectionstringi redigeerimiseks. Lisaks on olemas neli SQL skripti andmebaasi tabelite ja andmete tekitamiseks ja samas ka tabelite kustutamiseks. Skriptidest käivitusid kaks esimest, millega loodi tabelid ja ühikute andmed. Kahjuks ei töötanud kolmas skript, millega oleks tekitatud näisidandmed. Veateateid oli mitmeid, näiteks mõned neist:

Msg 544, Level 16, State 1, Line 4 Cannot insert explicit value for identity column in table 'asjade_kataloog' when IDENTITY_INSERT is set to OFF.

Msg 547, Level 16, State 0, Line 10 The INSERT statement conflicted with the FOREIGN KEY constraint "asjad_laoese_sisse_fk". The conflict occurred in database "ladu", table "dbo.asjade_kataloog", column 'id'. The statement has been terminated.

Msg 547, Level 16, State 0, Line 27 The INSERT statement conflicted with the FOREIGN KEY constraint "asukohad_asja_asukoht_fk". The conflict occurred in database "ladu", table "dbo.asukohad", column 'id'. The statement has been terminated.

Kogu selle osa saanuks kasutajate jaoks lahendada lihtsamalt, kui oleks realiseeritud andmebaasi automaatne loomine esmakordsel käivitamisel.

Rakenduse kasutamine

Peale rakenduse käivitamist on File menüüs võimalikud “Connect” ja “Disconnect”. Tõenäoliselt on tegu andmebaasiga ühenduse loomise käskudega. Peale nende nuppude vajutamist kahjuks ei ole aru saada, kas midagi toimus. Ei ilmu kinnitavat dialoogiakent või muud sõnumit õnnestumise või ebaõnnestumise kohta ning ei saagi lõpuni aru, kas ühendus on andmebaasiga olemas või mitte, sest andmebaasi tabelid on ju tühjad. Rakenduses on olemas nupp “Otsi”, mida vajutades ilmub lihtne messagebox sisuga “Nimi”. Tõenäoliselt ei ole veel seda funktsionaalsust valmis saadud. Samuti on rakenduses eraldi ala logikirjetele, kuid ka see pole veel toimiv. Ka teiste menüüde valikutega ei õnnestunud lähemalt tutvuda, sest nende vajutades ei juhutunud midagi või rakendus lõpetas ootamatult oma töö. Tõenäoliselt on takistuseks suhtlemisprobleemid andmebaasiga. Lisaks on veider, et kasutajaliideses on kasutatud korraga nii inglise kui ka eesti keelt.

Koodi läbivaatus

Rakenduse lähtekood on hästi kirjutatud. Vaatamata andmebaasi ja kasutajaliidese probleemidele saab aru, et rakendusega on piisavalt vaeva nähtud. Koodist arusaamist lihtustavad piisavad kommentaarid koos linkidega. Kasutatud on korrektselt MVVM printsiipe ja mudelid on viidud eraldi portable library'sse. Seega hirmu nn spagetikoodi ees ei pea tundma ning projekti saab häbi tundmata näidata ka elukutselistele tarkvaraarendajatele.

Kokkuvõte

Vaatamata muredele andmebaasiga ühendumisel võib koodi läbivaatamisel siiski öelda, et projektiga on palju vaeva nähtud. Kuna tegu on veel prototüübiga ja siis saab kõik olemas olevad silmad kinni pigistada ning meeskonnale edu soovida.


Retsenseeris Meeskond Ratsa Rikkaks