Talk:TeravMDB

From ICO wiki
Jump to navigationJump to search

Lõpptoote retsensioon

Käesolev retsensioon on tehtud lähtudes meeskonna TeravMDB wiki-lehest ja wiki-lehel välja toodud projekti lähtekoodist.

Rakenduse funktsionaalsus

Esmamulje antud rakendusest on saadud lähtekoodi vaatamata ja lihtsalt rakendust käivitades. Disain on väga ilus ja moodne: aken on erikujuline (alt ümarad nurgad), taustaks on meeldiv pilt (värviline, kuid piisavalt tumeda varjundiga, et mitte segada nuppude/teadete lugemist), taskbar'ile ilmuv ikoon on meeskonna enda valitud ja hiire viimine nuppude kohale muudab nende varjundi, mis kergendab navigeerimist. Kuigi peaaknal on minimaalselt infot, siis sellest piisab edasi navigeerimiseks.

Rakenduse põhivaated - "Explore series" ja "Series Rating" - on väga minimalistlikud võrreldes peavaatega, kuid see on tegelikult positiivne, kuna aitab hoida tähelepanu funktsionaalsusel endal. Seriaalide lisamine töötab: kasutaja saab ise sisestada kõik seriaali kohta käiva info ja isegi üles laadida oma pildi/ikooni seriaali kuvamiseks. Need andmed säilivad ka pärast programmi sulgemist, mis oli väga muljetavaldav. Andmeid on võimalik jooksvalt muuta ning kuvatakse veateadet, kui vajutatakse valikut nõudvaid nuppe, kuid reaalset valikut ei ole tehtud.

"Info" nupu kasutamisel avaneb seriaali üldinfot kuvav vaade, kust on võimalik anda seriaalile ka numbriskaalas hinnangu. "Starting Date" formaati annaks natuke kohendada, kuid see on pisidetail. "Send notification" nupule vajutamisel jookseb programm hetkel kokku, kuna funktsionaalsus eeldab meili saatmist. See ei ole suur probleem, sest ka oma wiki lehel andis meeskond teada, et meiliserveri ühendus väljub antud aine piiridest. Samas oleks võinud teha eraldi MessageBox'i (nt "Functionality currently not present" vms), et programm kohe kokku ei jookseks.

Mõned probleemid

Avaaknal "Username" ja "Password" akendele kursori viimine muudab kursori raskestinähtavaks, kuna vilkuv must joon sulandub taustapildiga. See on väga väike probleem, kuna lahendub kergesti mõne muu taustapildi valikuga. Registreerimisaknas pole viidet sellele, mis on ja ei ole aktsepteeritav parool - liiga lühikese parooli sisestamisel tekib küll hoiatus, mis on positiivne, kuid kohe alguses võiks olla juhis, kuidas täita vormi. Nagu enne öeldud, siis hetkel funktsionaalsust mitteomavatele nuppudele võiks kasvõi MessageBox'i teha, et vältida muidu veatult toimiva programmi kokkujooksmist. Meeskonna wiki-lehel oleks võinud blogi-osa natuke rohkem täita.

Kood

Projekti koodi kirjutamisel on kasutatud MVVM ja mõistlikku kommenteerimist. Andmete liikumine on selge, muutujate ja klasside/vaadete nimed loogilised. Serveriga ühendamiseks vajalik kood, et tulevikus saaks meili peale teate saata, on täiesti olemas ja tundub, et töötav (hetkel keeruline kontrollida, kuna serverit ei ole). Koodis on tehtud ka põhjalik veahaldus, mis püüab kinni praktiliselt kõik valesisestused ning tühjad väljad.

Skoobi vastavus aine eesmärgile

Arvestades programmi kui tervikut nii koodi, meeskonnatöö kui ka dokumentatsiooniga, on tegemist väga professionaalselt teostatud tööga. Projektiga kaasasoleva dokumentatsiooni kohaselt alustati antud projekti 4-liikmelise meeskonnana, kuid reaalselt tehti projekti vaid kahekesi, mis teeb tehtud töö veelgi rohkem muljetavaldavaks. Loodetavasti meeskonnaliikmed õppisid midagi, sest koodi välimuse ja toimivuse osas võiks arvata, et nad on C#-ga tegelenud vähemalt mõned aastad.

Soovime edu edasiste projektide tegemisel ning soovitame antud projekti tulevikus kasutada oma oskuste näitajana.


Retsenseeris meeskond Hardware Monitoring 21.01.2018


Lõpptoote retsensioon (by SharpResto)

Funktsionaalsus

TeravMDB puhul on tegemist rakendusega, mis võimaldab kasutajal seriaale salvestada ja ka hinnata. Esmapilgul rakendust käivitades hakkas silma rakenduse kena disain. Tundub, et palju on vaeva nähtud sellega, et rakendus näeks välja “nagu päris” ning kasutajal ei oleks seda halb vaadata. Eriti meeldis, et pole kuvatud Windows’i default minimize, maximize, close nuppe :). Samuti on tore, et rakendusel on oma ikoon. Üldiselt on rakendus täiesti kasutatav ning täidab kirjeldatud funktsionaalsuse ära. Saab kasutajat lisada, rakendusse sisse ja välja logida, seriaale lisada ja hinnata. Boonuseks on veel ilus väljanägemine.

Probleemid

Pildi kasutamine rakenduse log-in vaatel on riskantne - ta on küll ilus, kuid kasutatavus võib kannatada (UX mõistes raske näha enda kirjutatud kasutaja nime näiteks või kursor ei paista välja) Erinevatel sektsioonidel sama taust ja puuduvad piirjooned, mis tekitavad korrapäratu mulje. Rakendus lakkas töötamast, kui notificationit tahtsime saata (ilmselt ei olnud lokaalselt kõik sõltuvused testimisel täidetud - SMTP server vms). Uue seriaali salvestamise vaatest “Save” vajutades võiks visata tagasi seriaalide vaatesse. Seriaalile hinde andmisel võiks peale hinde andmist visata tagasi seriaalide vaatesse. Kui rakendus ei luba/taha midagi salvestada, siis võiks kuvada kasutajale mingisugust teadet, mis valesti on. Vastasel korral ei saa hästi aru kas nüüd juhtus midagi või ei juhtunud ning kasutaja on segaduses, kuidas edasi käituda. Puuduv pildiinfo ei ole käsitletud, "System.Windows.Data Error: 23" jookseb läbi debugi outputis. Arendusfaasis rakendusel võiks olla kasutatud debug/log väljundit. Parool on plaintext kujul baasis. Esimene asi mis peaks autentimisi kujundades pähe tulema on räsi ja sool, puhtalt harjumuse tekitamiseks. Seriaalile informatsiooni lisamise väli on küll suur, kuid teksti ei wrapita, mis teeb selle kasutajale ebamugavaks.

Kas me ise kasutaks lahendust?

Ei, kuna kooli, töö jms kõrvalt ei ole kahjuks aega seriaale vaadata.

Kood

Kasutati eeskujulikult MVVM arendusmustrit. Vajalikud kohad on kommenteeritud. VievModel AddSeries all võib-olla nuriseks staatilise listi kasutamisega, kus defineeritakse võimalikud žanrid. Selle liigutaks kindlasti kas staatilisse mudeli klassi või siis veel parem eraldi konstantide klassi. Koodi osas muidu hästi. Kommenteeriks ehk vaadete (“Views”) koodi ainult. Teenuseid oli kirjutatud võrdlemisi vähe. Suurema osa tööst tegid ära vaated ning seal on kood veidi lohisev ja raskesti loetav. Veidi rohkem oleks selles osas võinud kommenteerida tegemisi või siis tükeldada ja refaktoreerida ning ehk kasutajasisendi kontrollimiseks isegi mõne teenuse kirjutada. SmtpClient kasutamine ja e-maili saatmine on samuti lahe funktsionaalsus.

Mida teeksime teistmoodi?

Disaini võiks natuke muuta, et kasutajakogemus oleks veelgi parem. Samuti pildi lisamise võimaluse oleks võinud üldse ära jätta - ta ei anna mingisugust suurt lisaväärtust, eriti tabelivaates, kus ta on väga väikselt näha(see on täiesti maitse asi ja kindlasti oleneb kasutajast). Väga äge oleks siduda rakendus mingisuguse IMDB avaliku API’ga, kust oleks saanud näiteks IMDB enda keskmise hinde kätte. Samuti tekkis mõte, et miks on vaid seriaalidega piirdutud. Lihtsasti oleks saanud filmidele ka rakendada. Kui mingit kirjet muuta, siis parem oleks kasutaja salvestamise õnnestumisel kohe õigesse vaatesse suunata, mitte pop-up aknaga salvestamise õnnestumist kuvada - vastasel juhul peab ta ise niikuinii back nuppu vajutama ja see on tülikas. Pop-up’i võiks kuvada näiteks siis, kui millegi pärast salvestamine ebaõnnestus. Muret tekitas ka info nupp, mida esialgu oli raske üles leida ja samuti on ta retsenseerijate arvates natuke eksitava nimega, sest tegelikult saab sealt teavitust lasta saata ja hinnata.

Andmemudel

Andmemudelit analüüsist ei leidnud. Mudelite skeem küllaltki lihtne ning ehk suurt vajadust ei olnud ka. Siiski arenduse algusetapis / analüüsi faasis annab palju juurde, kui läbi mõelda milliste objektidega tuleb tegelema hakata. Kahjuks meeskonna arenduse kulgemisest infot ei ole, et kas nendele andmemudeli vahelejätmine ka probleeme põhjustas.

Skoop

Tegemist on vägagi piisava skoobiga, arvestades, et rakenduse kirjutasid vaid kaks inimest. Projekt hõlmab mitmeid komponente, sh kasutajapõhine lähenemine, seos andmebaasiga jms. Kokkuvõtvalt on tegu väga suure väljakutsega ja skoobilt täiesti piisav antud aine raames. Samuti on rakendusel head edasiarenduse võimalused. Näiteks IMDB APIga sidumine, kasutajakogemuse parendamine (soovitused jm).

Retsenseeris meeskond CSharpResto 23.01.2018