Talk:V

From ICO wiki
Revision as of 09:57, 4 June 2013 by Ttallerm (talk | contribs)
Jump to navigationJump to search

Meeskonna X-Ladu retsensioon meeskonnale V(xml):

XML fail on korralikult ülesande püstitusele täidetud ehk peab olema vähemalt 4 loogilist dimensiooni ja lisaks on kasutatud kolmel või enamal dimensioonil atribuute rohkem kui lihtsalt ID. XML fail on hea struktuuriga, midagi ei ole üleliigset ega korduvat. Tänu korralikule XML failile on konkreetne ja lihtne ka XML skeemifail.
XML stiilifailidega on väga põhjalikult tööd tehtud. Koostatud on 3 täiesti erinevat stiilifaili ning ei ole wikisse püstitatud ainult failid, vaid ka väike seletus juurde, et kellelegi ei jääks arusaamatuks midagi faili puhul(nt XML to XML kus on ära seletatud, mis vastavad olemasolevale ID-le). Meeldib XML to HTML, kuna selle järgi on võimalik kõige kiiremini otsida konkreetseid andmeid, isegi ilma otsinguta. Veel on heaks abimeheks on veel otsing, aga seal saab ainult ees-või perekonnanime järgi otsida(ei otsinud kui panna koos ees-ja perekonnanimi). Otsingut võiks saada kasutada ka nt auastmete järgi. XML to XML puhul on kerge nimi ülesse leida, aga teised vajalikud andmed on anutd suurem osa ID-dega ja neid peab eraldi failidest välja uurima.
Kokkuvõtteks on tehtud väga põhjalikult tööd, täidetud kõik vajalikud ülesanded. Andmefail on lihtsa struktuuriga, aga samas hästi ülesse ehitatud sellise suurte andmete jaoks. Skeemifailidega on palju väga palju vaeva nähtud ja võrreldes teiste meeskondadega on skeemifailid kõik 3 erinevad.


Meeskonna X-Ladu retsensioon meeskonnale V(teenus):

Meeskond V lõi teenuse, mis kujutab endast kontaktraamatut. Tegemist on WCF teenusega, mis on suures plaanis jaotatud neljaks kihiks: mudelid, andemete ligipääsukiht, teenuse library ja teenuse host.

Mudelid (Models)

Mudelite puhul on väga korralikult kasutatud annotatsioone – märgitud ära väljade kohustuslikkus, pikkused ja klientrakenduse poolne ligipääs. Lisaks on võimalik mudeleid vaadates tuvastada, et kasutusele on võetud Entity Frameworki code first lähenemine. Ära on märgitud ka mudelite (tabelite, olemite) vahelised seosed ja kasutatakse „laiska laadimist“. Mudelid on loodud igati korrektselt.

Andmete ligipääsukiht (DAL)

Antud teenuse DAL on koostatud väga põhjalikult kasutades nii repositooriume, Unit of Work'i kui ka Factory mustreid. Inimesele, kes neid mustreid põhjalikult ei tunne, võib kood kohati väga arusaamatu tunduda – andmete ligipääsukihis võiks olla rohkem kommentaare. Repode puhul on plussiks see, et on kasutatud universaalset repositooriumi ja liidest, mis lihtsustab oluliselt koodi. Erinevate osade erinevatesse kaustadesse panek (repod, liidesed, contex) on igati loogiline ja muudab koodi veelgi hallatavamaks.

Teenuse library (ServiceLibrary)

Teenuse library osas hakkas esimese asjana silma ninject ehk siis on kasutusele võetud ka sõltuvuste süstimine. Süstimise registreerimise osas on näha, et süstimist tehakse vastu Unit of Work'i ja Factory'd, kommenteertult on olemas ka lihtne repode süstimine. Kasutusele on võetud ka .Net raamistiku enda poolt pakutavad Role- ja MembershipProviderid, mis on igati mõistlik selleks, et teha lihtsamaks ja hallatavamaks kasutajatehaldust. Plussiks on veel teenuse meetodite jagamine regioonideks ja kõikide meetodite liideste korrapärane dokumentatsioon (pole lähtutud põhimõttest, et meetodi nimest piisab dokumentatsiooniks küll).

Teenuse host (ServiceHost)

Hostimiseks on eraldi võetud kasutusele WCF Application projekt, kus viidatakse teenuse libraryle. Hostis on hoogsalt konfigureeritud Web.config faili, kus on määratud ära erinevad teenuse endpointid, kasutaja autentimise, andmebaasi ühendamise ja teenuse kasutust piiravad parameetrid. Äsja mainitud punktid annavad kogule teenusele palju juurde ja näiravad, et teenuse loojad on kursis ka teemadega, mida aine raames otseselt käsitletud pole.

Kokkuvõtvalt võib öelda, et teenuse on väga hästi , jälgides kõiki aine raames räägitud mustreid , ülesehitatud ja realiseeritud. Mõnes kohas oleks võinud olla rohkem kommentaare. Jälgitud on kõiki teenusele esitatud nõudeid , alates teenuse meetodite dokumenteerimisest kuni turvalisuse, sertifitseermise ja teenuse konfigureerimiseni välja.


Meeskonna X-Ladu retsensioon meeskonnale V(klientrakendus):

Meeskond V lõi kontaktiraamatu, mis põhines õppejõu „Telefoniraamatu teenus“ näidisteemal. Selle kontaktiraamatu klientrakendus on tehtud WPF baasil kasutades peamiselt MVVM (Model-View-ViewModel) lähenemist, mille puhul View kood on enamjaolt tühi. Teenuse kasutamisel igakordse parooli ja kasutajanime sisestamise vältimiseks on teenuse kanali loomine eraldi kapseldatud. Esmasel peale vaatamisega tekkis kohe üllatus, sest on aru saada, et tegemist on kogenud C# kirjutajaga. On kasutatud ka viise mida selle õppeaine raames pole põhjalikult läbitud.

Alguses on pandud „ServiceHost“ kasutama internetist kättesaadavatandmebaasi, kuid kui tahta see ära vahetada lokaalse vastu, tuleb muuta "ContactBookConnection" nimeline connectionstring. See on hea, sest esmakordsel kasutajal võib muidu tekkida mulje, et rakendus ei töötagi. Õpetus kuidas panna rakendus kasutama omaenda kohalikku andmebaasi on ilusti välja toodud ning kergesti konfigureeritav. Klientrakendus ise võimaldab kasutajaid tuvastada ja eristada ka erinevaid kasutajarolle, ehk siis erinevatele kasutajatele kuvatakse erinevad menüüd. Huvitav oli näha sellist lahendust, kus näiteks „otsi“ nupule ei pandud click eventi, vaid kasutati Command="{Binding SearchCommand}" varianti, kuna ise oma grupiga oleme selle aine raames kasutanud ainult click eventi. Kõik bindingud mis tehakse, viitavad kaustas „commands“ olevatele propertitele. Kogu ülesehitus võib tunduda mite nii kogenud C# kirjutajale alguses segane, kuid mõningase uurimise järel tundub loogiline ja mõistlik lähenemine.

Klientrakendus võimaldab Kasutajal kontake lisada ja redigeerida, nendele andmeid lisada ja muuta, pilte neile lisada nii otse arvutist kui ka veebilinki ette andes, otsida kontakte nime ja kontaktandmete sisu järgi, määrata kontakte avalikuks või mitte-avalikuks, adminidel lubab kasutajaid lisada ja redigeerida, määrata maksimaalset päringute arvu ning näha viimased 24h logi. Üldse on tehtud kokku 6 vaadet – login screen, main window, admin new user window, admin users, all contacts ja contacts edit.

Kogu projekti ning ka klientrakenduse kohta pole midagi halba öelda ja miiinuseid välja tuua, eriti kuna ei oska ise ka sellisel tasemel programmeerida. Kui retsensiooni eesmärk on midagi uut õppida, siis selle porjekti puhul on see eesmärk täidetud. Juurde sai teadmisi sellest, kuidas näiteks ei pea alati click eventi kasutama, milline on korralik projekti arhidektuur ning et isegi lihtne disain annab soovitud tulemuse. Lihtalt öeldes võttis sõnatuks.