Posudok výsledku tímu č. 19
ÚVOD
V tomto dokumente sa nachádza posudok tímu číslo 2 na výsledok projektu tímu číslo 19, ktorého témou je „Znalostný manažment na báze technológie .NET.“ Okrem samotného softvérového produktu je v tomto dokumente posudzovaná aj s ním súvisiaca dokumentácia i neformálna prezentácia, ktorá sa konala v miestnosti DE35 dňa 21.5.2008 o 13:00. Posudok je členený na viaceré kapitoly, pričom každá z nich hodnotí iný aspekt výsledku tímu č. 19. Posudzovaný produkt tímu č. 19, slúžiaci na vyhľadávanie dokumentov v báze znalostí a taktiež na zabezpečovanie administratívnych činností s tým spojených, predstavuje výsledok posledného kontrolného bodu letného semestra, a tým aj celkový výsledok dvojsemestrálneho predmetu Tvorba softvérového systému v tíme.
SOFTVÉROVÝ PRODUKT
Tím č. 19 nám poskytol inštalačné médium obsahujúce výsledný softvérový produkt a príručky zamerané na jeho inštaláciu i používanie. Nižšie sa nachádza posudok produktu.
Inštalácia produktu
Po prezretí dodaného inštalačného média a inštalačnej príručky sme si všimli, že tím č. 19 na médiu neposkytol inštalačné balíky potrebného softvérového vybavenia, teda databázy Microsoft SQL Server 2005. Taktiež sa v texte inštalačnej príručky nenachádzajú ani odkazy ukazujúce na miesta, odkiaľ je túto databázu možné získať, čo sťažuje proces inštalácie. Kritickým problémom inštalácie bola jej nefunkčnosť. Po splnení krokov opísaných v inštalačnej príručke sa nám nepodarilo pridať používateľa z dôvodu nedostupnosti potrebnej metódy webovej služby na nainštalovanej serverovej časti systému (výstupom zlyhania bolo chybové hlásenie výnimky platformy .NET, zobrazené na Obr. 1). V čase posudzovania nebol cez Internet dostupný ani predvolený server umiestnený na internáte, ktorý tím č. 19 používal na testovanie vytvoreného systému. Z tohto dôvodu sme nemali možnosť odskúšať a posúdiť chod ďalších prvkov posudzovaného produktu, ktoré vyžadujú spojenie so serverom a webovou službou na ňom bežiacou.
Iné aspekty produktu
Okrem samotnej funkčnej stránky softvérového produktu tímu č. 19 sme sa pozastavili aj nad úrovňou bezpečnosti tohto riešenia.
Prvým nedostatkom, ktorý chceme autorom systému vytknúť, je nedostatočné rešpektovanie súkromia používateľa ukladaním používateľského hesla do databázy v pôvod¬nom, otvorenom tvare. Spomíname to predovšetkým z dôvodu, že vo všeobecnosti ide o veľmi častý a pritom závažný nedostatok pri návrhu informačných systémov v súčasnosti.
Pri návrhu úložiska autentifikačných údajov používateľov dôrazne odporúčame aplikovať minimálne hašovanie hesiel pred ich uložením do databázy, aby nebolo možné na základe prístupu do databázy získať pôvodné heslá používateľov. Ak tí používajú jedno heslo vo viacerých systémoch (štandardný jav), nechránením hesiel môžeme ohroziť súkromie a bezpečnosť používateľov aj v iných, od nášho systému nezávislých informačných systémoch.
Ďalším bezpečnostným nedostatkom je vytváranie SQL príkazov jednoduchým spájaním textových reťazcov bez kontroly ich obsahu. To umožňuje vykonanie útoku pod názvom „SQL Injection“ a následnú diskreditáciu dát uložených v systéme. Jednoduchým riešením tohto problému je použitie tried poskytovaných aplikačným rámcom Microsoft .NET určených na prácu s databázou, nakoľko je v nich zahrnutá kontrola a konverzia potenciálne nebezpečných vstupných konštrukcii.
DOKUMENTÁCIA
Od tímu č. 19 sme mali k dispozícií technickú dokumentáciu týkajúcu sa produktu, vrátane inštalačnej i používateľskej príručky. V tejto časti posudku sa nachádza naše zhodnotenie všetkých spomenutých dokumentov.
Technická dokumentácia
Z formálnej stránky je dokument, podobne ako v zimnom semestri, prehľadne rozdelený na viaceré kapitoly, z názvov ktorých jasne vyplýva ich obsah. Objavili sme ale viaceré nedostatky týkajúce sa najmä gramatických chýb a nevhodnej štylizácie. Príkladom je veta „...myšlienku rozdelenia komponentu na manuálnu časť - pomocou ktorého sa vytvárajú profily...“ Slovo „vlastne“ sa v texte vyskytuje na mnohých miestach, čím sa znížila čitateľnosť textu. Absencia čiarok je skutočne alarmujúca vzhľadom na to, že niektoré vety majú aj niekoľko riadkov. V niektorých častiach je štýl písania vzhľadom na technický charakter dokumentácie až príliš neformálny.
Kapitola 3. Návrh bola rozšírená a jej obsah bol počas letného semestra zmenený. Pribudli obrázky na strane 31, ktoré sa v dokumentácií počas zimného semestra nenachádzali. Kapitola 3.2 bola premenovaná z „Fyzický model“ na „Databáza.“ V kapitole 3.3 pribudla takmer jedna strana textu. Podobných zmien sme v dokumente zaznamenali niekoľko. Pridaná podkapitola 3.7 je napísaná zrozumiteľne a čitateľ z nej získa základné informácií o problematike modelovania používateľov. Podkapitola 3.8 obsahuje konkrétne názvy metód s popisom ich predpokladanej funkcionality. Podkapitola 3.9 so stručne popísanou funkcionalitou produktu na strane klienta je poslednou podkapitolou, ktorá bola do 3. kapitoly pridaná. Nadobudli sme dojem, že autori 3. kapitolu pozmenil podľa toho, čo sa dodatočne o riešenej problematike dozvedeli. Zámer tímu č. 19 zmeniť a obsahovo rozšíriť návrh systému uvedený v 3. kapitole nám nie je jasný. Z nášho pohľadu sa na základe vykonaných zmien v pôvodnej dokumentácií nedá objektívne porovnať rozdiel medzi pôvodným návrhom produktu, pochádzajúcim zo zimného semestra, a reálnou implementáciou produktu.
Kapitola 4. Technická dokumentácia popisuje architektúru a jednotlivé moduly produktu. Architektúra systému je popísaná stručne, ale výstižne. Moduly produktu popísal tím č. 19, podľa nášho názoru, priveľmi podrobne. Dôsledkom toho sa táto časť dokumentácie približuje skôr k okomentovaným výpisom zdrojového kódu vytvorených metód a tried. V časti „Prepojenia dokumentov“ si autori zrejme pomýlili reláciu reflexívnosti s reláciou symetrickosti. Podkapitoly 4.4 a 4.5 prehľadne popisujú jednotlivé moduly a čitateľovi poskytujú dostatok informácii o danej problematike. Kapitola 4.6 nesplnila naše očakávania, pretože popisovala jednotlivé grafické rozhrania produktu iba letmo. Na tomto mieste by sa žiadalo popísať zaujímavosti z oblasti interakcie človeka s produktom.
Kapitola 5. Testovanie je vypracovaná prehľadne a na vysokej úrovni. Na popis testovania jednotlivých scenárov boli vhodne použité akceptačné testy. Príloha Revízia dokumentu obsahuje niektoré zo zmien, ktoré autori v dokumentácii vykonali, no tento zoznam nie je kompletný – viď posudok týkajúci sa 3. kapitoly. V zozname revízií sú uvedené iba drobné zmeny, akými sú úpravy slov, diakritiky a pod., pričom o doplnení a prepísaní celých podkapitol nie je na tomto mieste žiadna zmienka.
Kapitola 3. Návrh bola rozšírená a jej obsah bol počas letného semestra zmenený. Pribudli obrázky na strane 31, ktoré sa v dokumentácií počas zimného semestra nenachádzali. Kapitola 3.2 bola premenovaná z „Fyzický model“ na „Databáza.“ V kapitole 3.3 pribudla takmer jedna strana textu. Podobných zmien sme v dokumente zaznamenali niekoľko. Pridaná podkapitola 3.7 je napísaná zrozumiteľne a čitateľ z nej získa základné informácií o problematike modelovania používateľov. Podkapitola 3.8 obsahuje konkrétne názvy metód s popisom ich predpokladanej funkcionality. Podkapitola 3.9 so stručne popísanou funkcionalitou produktu na strane klienta je poslednou podkapitolou, ktorá bola do 3. kapitoly pridaná. Nadobudli sme dojem, že autori 3. kapitolu pozmenil podľa toho, čo sa dodatočne o riešenej problematike dozvedeli. Zámer tímu č. 19 zmeniť a obsahovo rozšíriť návrh systému uvedený v 3. kapitole nám nie je jasný. Z nášho pohľadu sa na základe vykonaných zmien v pôvodnej dokumentácií nedá objektívne porovnať rozdiel medzi pôvodným návrhom produktu, pochádzajúcim zo zimného semestra, a reálnou implementáciou produktu.
Kapitola 4. Technická dokumentácia popisuje architektúru a jednotlivé moduly produktu. Architektúra systému je popísaná stručne, ale výstižne. Moduly produktu popísal tím č. 19, podľa nášho názoru, priveľmi podrobne. Dôsledkom toho sa táto časť dokumentácie približuje skôr k okomentovaným výpisom zdrojového kódu vytvorených metód a tried. V časti „Prepojenia dokumentov“ si autori zrejme pomýlili reláciu reflexívnosti s reláciou symetrickosti. Podkapitoly 4.4 a 4.5 prehľadne popisujú jednotlivé moduly a čitateľovi poskytujú dostatok informácii o danej problematike. Kapitola 4.6 nesplnila naše očakávania, pretože popisovala jednotlivé grafické rozhrania produktu iba letmo. Na tomto mieste by sa žiadalo popísať zaujímavosti z oblasti interakcie človeka s produktom.
Kapitola 5. Testovanie je vypracovaná prehľadne a na vysokej úrovni. Na popis testovania jednotlivých scenárov boli vhodne použité akceptačné testy. Príloha Revízia dokumentu obsahuje niektoré zo zmien, ktoré autori v dokumentácii vykonali, no tento zoznam nie je kompletný – viď posudok týkajúci sa 3. kapitoly. V zozname revízií sú uvedené iba drobné zmeny, akými sú úpravy slov, diakritiky a pod., pričom o doplnení a prepísaní celých podkapitol nie je na tomto mieste žiadna zmienka.
Inštalačná príručka
Príručka obsahuje informácie týkajúce sa inštalácie a spustenia produktu tímu č. 19. Z nášho pohľadu je prehľadná a vhodným spôsobom vedie administrátora počas inštalácie produktu. Drobným nedostatkom je fakt, že obrázkové prílohy neboli robené z novonainštalovaného systému. K tomuto názoru sme dospeli na základe rozporuplnej ikony adresára s názvom App_Data v čase pred vykonaním opísaných zmien. Okrem toho nám nie je zrejmý dôvod, na základe ktorého sú menené nastavenia možnosti spúšťania skriptov iba v rámci tohto adresára, keďže tento adresár žiadne skripty neobsahuje.
Používateľská príručka
V používateľskej príručke je popísaná funkcionalita používateľského rozhrania produktu. Vysvetlené sú aj úkony, ktoré musia používatelia vykonať, aby umožnili korektné fungovanie produktu. Opisovaná príručka je čiastočne neprehľadná, nakoľko je v textoch až prílišné zachádzanie do podrobností. Dochádza totiž až k technickému opisu metód, ktoré spracúvajú udalosti z používateľského rozhrania, čo pôsobí mätúco na používateľov systému, ktorým je tento dokument určený. Používateľskú príručku sme z obsahového hľadiska nemohli posúdiť, nakoľko sa nám nepodarilo plnohodnotne spustiť a pracovať s posudzovaným produktom tímu č. 19.
PREZENTÁCIA PRODUKTU
Na neformálnej prezentácií produktu sa, bohužiaľ, členom tímu č. 19 nepodarilo úspešne spustiť predvádzaný produkt, nakoľko sa nedokázali spojiť s požadovanou webovou službou. Členovia tímu č. 19 nám teda popísali funkcionalitu produktu slovne, pričom nám tiež vysvetlili technické podrobnosti riešenia. Všetky naše otázky a nejasnosti boli ochotne a pohotovo zodpovedané i vysvetlené.
CELKOVÉ ZHODNOTENIE
Nakoľko sme na základe vyššie uvedených príčin nemali možnosť pracovať s posudzovaným softvérovým produktom tímu č. 19 a dôkladne tak otestovať jeho funkčnosť, môžeme sa vyjadriť iba k dokumentácií súvisiacej so spomínaným produktom.
Tím č. 19 podľa nášho názoru zvládol napísanie technickej dokumentácie produktu na dobrej úrovni a presvedčil nás, že o riešenej problematike majú jeho jednotliví členovia široký prehľad. Kvalitu dokumentácie napriek tomu znižuje prítomnosť mnohých gramatických i štylizačných chýb.