|
|
Line 5: |
Line 5: |
| XML-i sisu kuvamiseks oli loodud kolm erinevat stiilifaili, mis kuvavad failis sisalduvat infot kasutajasõbralikumal moel. Esimene stiilifail võimaldab kuvada kogu vajaliku olemasoleva info. Meie poolt teostatud testimise puhul töötas kõik laitmatult. Teine stiilifail demonstreerib, kuidas kuvada teatud kursuse ülesanded. Vaikimisi oli kursuseks failis märgitud kriteeriumiks esimene kursus, kuid täiendava testimise nimel tegime ka testid, muutes stiilifailis kursuse nii teiseks kui ka suvaliseks numbriks, mille puhul andmeid olema ei peaks. Kõigil juhtudel toimis XML-i kuvamine nagu oodatud ehk esimese ja teise kursuse puhul kuvati kõik failis antud otsingukriteeriumile vastavad ülesanded ning viimasel juhul ei kuvatud midagi. Kolmas stiilifail demonstreerib veelgi keerukamat otsingut ning ka selle faili testimise puhul toimis kõik laitmatult. | | XML-i sisu kuvamiseks oli loodud kolm erinevat stiilifaili, mis kuvavad failis sisalduvat infot kasutajasõbralikumal moel. Esimene stiilifail võimaldab kuvada kogu vajaliku olemasoleva info. Meie poolt teostatud testimise puhul töötas kõik laitmatult. Teine stiilifail demonstreerib, kuidas kuvada teatud kursuse ülesanded. Vaikimisi oli kursuseks failis märgitud kriteeriumiks esimene kursus, kuid täiendava testimise nimel tegime ka testid, muutes stiilifailis kursuse nii teiseks kui ka suvaliseks numbriks, mille puhul andmeid olema ei peaks. Kõigil juhtudel toimis XML-i kuvamine nagu oodatud ehk esimese ja teise kursuse puhul kuvati kõik failis antud otsingukriteeriumile vastavad ülesanded ning viimasel juhul ei kuvatud midagi. Kolmas stiilifail demonstreerib veelgi keerukamat otsingut ning ka selle faili testimise puhul toimis kõik laitmatult. |
| <p>Kokkuvõttes on tegemist igati korraliku tööga, mis täidab kõik ülesande jaoks püstitatud kriteeriumid. Väikese miinusena võib märkida DTD skeemifaili puudumist, kuid selle rohkem kui kompenseerib kolme erineva stiilifaili olemasolu, mis demonstreerivad erineva keerukusega päringute tegemist XML failist.</p> | | <p>Kokkuvõttes on tegemist igati korraliku tööga, mis täidab kõik ülesande jaoks püstitatud kriteeriumid. Väikese miinusena võib märkida DTD skeemifaili puudumist, kuid selle rohkem kui kompenseerib kolme erineva stiilifaili olemasolu, mis demonstreerivad erineva keerukusega päringute tegemist XML failist.</p> |
|
| |
| <h1>Retsensioon meeskonna Bleh veebiteenusele</h1>
| |
| <b>Retsenseeris meeskond AFFA II</b>
| |
| <p>Teenuse käivitamine juhendi järgi õnnestus. Konkreetses süsteemis, kus teenuse testimine toimus, tuli küll andmebaasi loomise skripti mõnevõrra muuta (eemaldada paar rida, mis järgnesid andmebaasi loomise reale).</p>
| |
|
| |
| <p>Teenuse kood on üldjuhul korralikult dokumenteeritud. Teenuse meetodid on jõutud praktiliselt täiel määral ära kirjeldada. Samas on natuke üle pingutatud koodi kommenteerimisega meetodeid teostavates klassides. Kuna teenuse meetodid viitavad teistesse klassidesse ja kaasa antakse samad parameetrid, mis teenuse meetodile kaasa anti, siis poleks vaja olnud tühjade kommentaaride lisamist „MudeliteMeetodid“ kausta klassidesse. See teeb koodi lugemist ebamugavamaks, failid pikemaks ja ei anna lisandväärtust.</p>
| |
|
| |
| <p>Andmebaasi ülesehitus tundub mõistlik. Teenuse vahekihis andmebaasi olemitele vastavad mudelid on ka kasulikud. Selle läbi saab kontrollida, milliseid andmeid andmebaasis olevate olemite kohta saata ja vajadusel nende formaati muuta.</p>
| |
|
| |
| <p>Teenuse meetodite viimine eraldi klassidesse vastavalt sellele, kes antud toiminguid teostada saavad, aitab hoida teenuse kirjelduse konkreetse ja kompaktsena ning annab programmeerijale parema ülevaate. Kui on vaja uusi meetodeid lisada, siis peaks olema lihtne näha, et näiteks administraatorite meetodid vajavad mingeid kindlaid kontrolle ja sellega seoses peaks vähenema vigade tekkimise oht.</p>
| |
|
| |
| <p>Teenuse turvalisuse kohapealt on küsitavusi. Kasutajatega seotud meetodis „annaKasutajad“ tehakse päring kasutajate kohta ja teenuse kasutajale antakse kõik andmed, kaasa arvatud kasutaja parool. Paroole ei ole mõistlik teenusel kliendile üle võrgu sellisel moel saata, isegi kui need on krüpteeritud (antud juhul on kliendis MD5-ga hash-itud, ning seda ei peeta enam turvaliseks viisiks). Teenuse meetodite kasutamine ei nõua teenuse poolel mingit kasutaja või kasutajarolli autentimist, mis teeb võimalikuks teenuse kasutamise autentimiseta ja mitte registreeritud kasutajatel andmete muutmise.</p>
| |
|
| |
| <p>Natuke arusaamatu on, miks kasutajate statistika kirjutamine on üks teenuse poolt pakutavatest võimalustest. Statistika peaks tekkima automaatselt teenuse sees, ilma et klient selle kohta andmeid saadaks. Ühelt poolt tekitab see riski, et kliendis on võimalik mingi tegevuse logi tekitamist vältida ja teiselt poolt suunatakse sellega funktsionaalsus, mis peaks toimuma teenuse poole peal, osaliselt ka kliendi poolele. Suureneb keerukus, kuna kliendis peab hakkama tegelema otseselt sellega mitteseotud tegevustega. Kui tulevikus peaks soovima mingi muu kliendi teha, tuleb kõik logimisega seotud uuesti kirjutada ja kontrollida, et see kattuks ka teiste klientidega, kui on soov, et ühe tegevuse kohta ei tekiks erinevate kirjeldustega ridu tabelisse. Risk on ka see, et „lisaLogisse“ meetod sisaldab kasutaja identifikaatorit, mis jällegi võimaldab kliendil päringuid võltsida ja teistele kasutajatele logi kirjeid teha.</p>
| |
|
| |
| <p>Teatud meetoditel võiks olla tagastusväärtus. Näiteks kõik muutmise ja kustutamisega seotud tegevused peaks kliendile tagastama, kas antud operatsioon õnnestus või mitte. Vastasel korral peab teenust kasutav klient peale muutmise või kustutamisega seotud operatsiooni kõik objektid uuesti pärima, et tulemust teada saada. See suurendaks teenuse koormust ja raiskaks võrguressurssi.</p>
| |
|
| |
| <p>Kasutajate loomisel ei toimu teenuse poolel kontrolli, kas mingi kasutajanimega kasutaja on juba olemas, ka see kontroll peaks tegelikult teenuse poolel toimuma ning vastava sõnumi saaks kliendile saata näiteks mingi erindiga.</p>
| |
|
| |
| <p>Mõned teenuse poolt olemite muutmiseks ja lisamiseks pakutavad teenused kasutavad parameetrina teenuse kihi olemeid(„muudaKasutajat“, „muudaToode“, „lisaToode“, „lisaKommentaar“), teised jälle konkreetseid väärtustega parameetreid („muudaTootegrupp“, „muudaKommentaar“, „lisaTootegrupp“). Mõistlik oleks, kui kõik muutmise teenused toimiks teenuse poolt pakutavate olemite saatmise kaudu. Sellisel kujul, kus muutmiseks tuleb parameetritena saata kõik väärtused eraldi, tekib teenuse kasutamisel hiljem probleeme, juhul kui teenus muutuma peaks. Siis tuleks kliendil ka oma kasutatavaid meetodeid muuta. Saates terve muudetava olemi tagasi saab seda probleemi vältida.</p>
| |
|
| |
| <p>Koodi kirjutamine eesti keeles on maitse asi, kuid see võib probleeme tekitada (ei saa täpitähti kasutada, mis võib teatud juhtudel segadust tekitada) ning piirab teenuse kasutamist eesti keelt mitteoskaval kasutajaskonnal.</p>
| |
|
| |
| <p>Kokkuvõttes on teenuse ülesehituses nii häid kui ka halbu külgi. Koodi struktureerimine ja kommenteerimine on hästi teostatud. Täiendada saab veel teenuse turvalisust, ühtset stiili hoidmist (lisamise ja muutmise meetodite puhul), teatud toimingud vajaksid tagastusväärtusi, et klient saaks tulemuse kohta tagasisidet, logi kirjutamine ei peaks olema kliendi poolt saadetava infoga, vaid see peaks toimuma teenuse sees automaatselt.
| |
| </p>
| |
Retsensioon meeskonna Bleh XML-failile
Retsenseeris meeskond AFFA II
Meeskond Bleh on loonud XML faili, mis sisaldab infot koolitööde puhul tegemist vajavate ülesannete jälgimiseks. XML faili loomise puhul on ülesande püstituse kirjeldus küll suhteliselt lakooniline aga samas piisavalt selge. Veelgi paremini oleks ülesandepüstitusest ülevaate saanud, kui näitlikustamiseks oleks toodud juba ka kirjelduses mõni näide, kuidas XML faili kasutatakse.
Kontrollimaks teostatud töö kvaliteeti, kasutasime kõigepealt XML-i valideerimist esmalt lihtsalt süntaksi kontrollina ning seejärel ka skeemifaili vastu. Tulemused olid igati positiivsed ning ühtegi viga XML failis ei leitud. Lisaks on täidetud ka kõik esitatud nõuded XML faili struktuurile ja fail ise on piisavalt mahukas, et demonstreerida andmestikku ja funktsionaalsust, mida antud fail sisaldab ja mida antud XML-i kasutav rakendus pakkuma peaks. Kuigi XSD formaadis skeemifail oli igati korrektne ning sobiv, oleks täiendavalt võinud luua ka DTD skeemifaili, kuigi otseselt sellest puudust ei tunne ning XML-i saab suurepäraselt valideerida ka juba olemasoleva skeemifailiga.
XML-i sisu kuvamiseks oli loodud kolm erinevat stiilifaili, mis kuvavad failis sisalduvat infot kasutajasõbralikumal moel. Esimene stiilifail võimaldab kuvada kogu vajaliku olemasoleva info. Meie poolt teostatud testimise puhul töötas kõik laitmatult. Teine stiilifail demonstreerib, kuidas kuvada teatud kursuse ülesanded. Vaikimisi oli kursuseks failis märgitud kriteeriumiks esimene kursus, kuid täiendava testimise nimel tegime ka testid, muutes stiilifailis kursuse nii teiseks kui ka suvaliseks numbriks, mille puhul andmeid olema ei peaks. Kõigil juhtudel toimis XML-i kuvamine nagu oodatud ehk esimese ja teise kursuse puhul kuvati kõik failis antud otsingukriteeriumile vastavad ülesanded ning viimasel juhul ei kuvatud midagi. Kolmas stiilifail demonstreerib veelgi keerukamat otsingut ning ka selle faili testimise puhul toimis kõik laitmatult.
Kokkuvõttes on tegemist igati korraliku tööga, mis täidab kõik ülesande jaoks püstitatud kriteeriumid. Väikese miinusena võib märkida DTD skeemifaili puudumist, kuid selle rohkem kui kompenseerib kolme erineva stiilifaili olemasolu, mis demonstreerivad erineva keerukusega päringute tegemist XML failist.