Talk:Tab

From ICO wiki
Revision as of 22:16, 30 May 2015 by Pukskula (talk | contribs)
Jump to navigationJump to search

XML andmefaili retsensioon meeskonna Taandarendajad poolt

Esmalt sai kontrollitud XML koodi W3 validaatoriga ning kõik oli korras. Meeskond on loonud nõutud arvu dimensioone. Täpselt kolmel elemendil on kasutatud unikaalseid atribuute, mis on enamat kui ID. Sellest ei saa täpselt aru, miks on loojaId eraldi element, kui ta võiks olla looja elemendi atribuut. Elementide info on kenasti pandud kõik CDATA vahele. Samuti tundub, et XSD failiga on kõik korras ning igal elemendil ja atribuudil on õiged andmetüübid.

Esimese transformatsiooni faili juures on kasutatud edukalt atribuuti privaatne, mis kuvab false väärtuse korral toa html koodis. Teises transformatsiooni failis on korrektselt loodud tabel kahe tulbaga. Kolmandas failis luuakse edukalt uus XML fail.Peale struktuuri muutmist on veel kokku loetud kasutajate arv ning see eraldi elemendina edastatud.

Kokkuvõttes on meeskond Tab lahendanud esimese ülesande väga oskuslikult. Hea oli näha, et oli ka transformatsiooniga loodud uus XML fail, sest tunnis me seda osa läbi töötada ei jõudnud. Esialgse XML faili maht oli hea ning kõik kriteeriumid said ka neil täidetud.


Veebiteenuse retsensioon meeskonna Taandarendajad poolt

Lisaks Identity mudelitele on meeskond loonud 4 tükki veel ise. Mis kohe silma hakkab on see, et kõik atribuudid algavad väikese algustähega. See ei ole väga suur viga ma usun, aga visual studio ise ka karjub iga rea peal, et atribuudid peaks algama suure algustähega. Ära on ise määratud isegi primary key-d ja foreign key-d. See on väga tore, aga entity framework peaks ise ka sellega hästi toime tulema. Hea on näha, et kõikide stringide pikkused on ka ära piiratud. Meeskond on ka oma kasutaja mudeli teinud lisaks Identity omale. See on arvatavasti tingitud sellest, et me ei saanud teise aine raames väga head ülevaadet sellest Identity projektist, et seda täielikult ära kasutada. Kokkuvõttes on mudelid põhjalikud ning hästi läbi mõeldud.

DataBaseContexti vaadates tunnen kohe ära, et meeskond on sama probleemi otsa sattunud nagu mina ise. Nimelt mitmete foreign key kasutamisel tekkis selline olukord, kus ühe sissekirje kustutamisel tabelist oleks mujalt tabelitest ka info kaduma läinud. Selle vastu aitas WillCascadeOnDelete väärtuse muutmine false-iks. Hea on ka näha seda, et samas failis toimub administraatori kasutaja loomine. Meeskond on kasutanud interface-e, reposid ja uow-d, nagu nõutud oli.

Veebiteenuse juures on ka kasutusele võetud BLL projekt, kuhu on kogu äriloogika paigutatud. DTO-d on huvitavalt tehtud. Iga mudeli jaoks on kaks DTO-d, kus üks tuleb ilma virtuaalsete listideta ja teine koos nendega. Kahju on näha, et service kaustas on tegeletud ainult tervete andmebaasitabelite tagastamisegal. Ei toimu mitte mingit sorteerimist. Väikese mahuga andmebaasiga pole sellest hullu, aga kui tegemist oleks mingi väga populaarse teenusega, siis muutuks päringute tegemine väga aeglaseks. Sellist sorteerimist oleks tahtnud näha DAL-is, aga seal ei olnud mitte ühtegi custom meetodit.

Web API-st on näha, et ninject on ka kasutusele võetud nii nagu peab. Kontrollerites on näha, et igal pool on korrektselt ühendus loodud UoW-ga, mitte otse andmebaasiga. Siin on valdavalt näha ainult crud meetodeid ja igas kontrolleris on üks custom meetod, mis tagastab kõik kirjed andmebaasist. Oleks tahtnud näha veidi keerulisemaid meetodeid. Meeskond on ränka vaeva näinud hea BLL-i loomisega, aga crud meetodites tagastatakse ikka ainult domainis loodud mudeleid. Tekib küsimus, et mille jaoks siis üldse BLL loodud sai.

Kokkuvõttes on veebiteenuse loomisega hästi hakkama saadud. Domain on hästi loodud, arendusmustreid on järgitud, BLL on olemas ja toimib. Arvatavasti on mõndade asjade puudumine põhjendatud sellega, et lihtsalt tekkis ajapuudus semestri lõpus. Hea töö!


Veebirakenduse retsensioon meeskonna Taandarendajad poolt

Meeskond on loonud ASP.NET veebirakenduse enda poolt arendatud veebiteenusele. Välimuse ja UI poole pealt on nagu paljude teistegi tudengiprojektide puhul tegemist Visual Studio poolt pakutava baaskujundusega. Küll aga on meeskond korralikult eemaldanud üleliigsed elemendid ja viinud sisse muudatused, et veebirakenduse disain vastaks meeskonna loodud rakenduse sisule. Küll aga oleks võinud mõnes kohas muuta genereeritud lahenduse tekste (nt. roomTypeID). Samuti oli veidi segane see, kui rakendus küsib ruumi loomisel parooli sisestamist isegi siis, kui ruumile paroolinõuet ei lisata. Üldiselt on aga rakenduse visuaalne ning kasutatavuse pool piisavalt korralikult ja mõistlikult lahendatud.

Veebirakendus kasutab ootuspäraselt peaaegu täielikult ära veebiteenuse poole peal loodud domain projekti koos endas sisalduvate mudelitega. Hea on näha, et veebiteenuse ja veebirakenduse domain projektid ei kattu üks-ühele, vaid mudelite kasutus on tehtud sobivaks vastavalt eesmärgile – veebirakenduses olevad mudelid omavad puhtalt MVC projekti jaoks mõeldud lisavälju/atribuute. Mingis mõttes tekitab selline lähenemine, kus kahes erinevas kohas on sisuliselt samad asjad, mõningasi kahtlusi arendustöö käigu mõistlikkuses ja efektiivsuses. Muutus ühel pool tähendab ka samasuguse muutuse sisseviimist teisel pool ning hetkel tundub, et mõttekam lähenemine oleks võinud olla ühe domeeniprojekti kasutamine nii veebiteenuse kui ka rakenduse jaoks. Nagu ka veebiteenuse retsensioonis mainitud sai, võib veidi viriseda selle üle, et vaatamata loodud BLL projektile tundub kogu andmevahetus olevat siiski üles ehitatud andmebaasi mudelitele. Samas on tegemist väga väikesemahulise projektiga ning seetõttu võib juba varem loodud mudelite ärakasutamist igati aktsepteerida.

Ka rakenduse poolel on kenasti ära kasutatud DAL projekti, mis hõlmab endas UOW ja repo mustrite kasutamist, nii nagu kursuse vältel õpitud ja nõutud. Küll aga oleks siinkohal repode puhul näha tahtnud mingisugust lisafunktsionaalsust custom päringute näol teenusest, mille meeskond ise on loonud. Hetkel on piirdutud pea täielikult õppejõult saadud out of the box lahendusega, millele on enda mudelite kasutamiseks vajalikud täiendused juurde pandud.

MVC rakenduses kasutatakse loodud uow-d ära. Kontrollerites ja vaadetes kasutatakse segu nõrgast ja tugevast tüüpimisest. Üldiselt soovitatakse pigem kasutada tugevalt tüübitud vaateid (ASP.NET aines oli see isegi nõutud). Mingi hulga viewmodeleid on meeskond aga ära teinud ja kasutusele võtnud. Muus osas aga toimiv ka viisakas lahendus.

Kokkuvõtvalt võib öelda, et nii nagu veebiteenusega, on ka veebirakenduse loomisega tehtud teenuse peale hästi hakkama saadud. Meeskond on vormistanud mõistliku ülesehitusega lahenduse ja jälginud arendusmustreid. Suures plaanis on ülesandepüstituses nõutu rakenduses olemas. Vingumist väärib ainult see, et meeskond oleks võinud projektidesse standardlahenduste kõrvale juurde teha ka huvitavat ja enda poolt loodud lisafunktsionaalsust.