Talk:TeravC

From ICO wiki
Jump to navigationJump to search

Analüüsi retsensioon

Analüüs on põhjalik. Projekt ja idee äärmiselt ambitsioonikas ning mahukas töö poolest. Meeskonnale tahame soovitada, et nad ei püüaks väga põhjalikku ja paljude funktsionaalsustega rakendust tegema hakata, vastasel juhul võib projekt kasvada mahult üle pea.

Praeguses seisus tundub, et tegu on ühe kasutaja desktop rakendusega, mis kasutab MS SQL Management Studio Express 2008 andmebaasi. Kindlasti tasuks laoprogrammi puhul mõelda mitme töökoha võimalusele.

Andmebaasi kirjeldus oleks võinud juba olemas olla, kuna see on väga oluline osa rakendusest. Võib välja lugeda, et sisuliselt hallatakse nii kliente, tarnijaid, artikleid kui ka arveid. Artiklite täiendamisvajaduste nimekiri on ilmselt standardpäring artiklite andmetest. Eraldi tabelit või staatust tal vist olema ei peaks. Kindlasti tuleks läbi mõelda milliseid andmeid arhiveeritakse ja varundatakse.

Update: käesolevaks hetkeks (26.10) on valmis saanud meeskonna poolt korralik andmemudel, seega palume eelmist lõiku lugeda valikuliselt :-)

Kliendihaldust plaanitakse ilmselt ise teha (analüüsis Kontaktide osa). Samas võiks mõelda tulevikus sellele, et kliendihaldusprogramme on päris mitmeid ja võiks olla mingi moodus enamlevinud rakendustega seda ühildada. Muidu võib juhtuda, et lisaks laorakendusele tuleb teha ka kliendihaldusrakendus, mis oma mahult võib samuti piisavalt suureks kujuneda.

Laoarvestuses on LIFO kasutamisest praegusel ajal praktikas loobutud, seega soovitame selle osa rakendusest välja jätta.

Tundub, et meeskond on oma rakenduse üle põhjalikult mõtelnud ning on tugevalt motiveeritud, et töö tähtajaks valmis saada. Loodame, et projekt õnnestub ja ka meil on sellest mõndagi õppida.


Meeskond LeemurDotNet

Prototüübi retsensioon

Hinnangu aluseks on prototüüpi protokollimine ja 26.11.2011 seisu lähtetekstide uurimine.

Kasutajaliides: Kiitvalt tuleb märkida iganädalasi arenduse protokollimisi, mis võimaldab tellijal testida varem kui väljakuulutatud tähtaeg. Grupp on efektiivselt kasutanud kolmandate tegijate loodud komponente. Näiteks saab tuua kasutajaliidese menüüde osa, mis peaks välja nägema nagu Office 2010 menüüd. Tulevastel kasutajatel on abiks näha tuttavat kasutajaliidest. Lisaks menüüdele on kasutusel aknahaldussüsteem AvalonDock. Kasutajaliides on sümpaatne ja intuitiivne, menüüst avatavad loetelud ja võimalus lisada loetellu on grupeeritud.

Koodi ülevaatamisel on tuntav ühtlane stiil, kasutatakse mitmeid uusi klasse vanade laiendamise kaudu. Klasside loomisel on grupeeritud tabeli klassid koos meetoditega loogiliselt gruppidesse: dokumendiga seotu, kontaktiga seotu ja artikliga seotu.

Meeskond LeemurDotNet

Valmistoote retsensioon

installeerimise käigus installeeriti Crystal töövahendid ja seejärel Laoprogramm. Kuna programm arvestas lokaalses arvutis oleva andmebaasiga, siis tuli andmebaasiühendus ümber häälestada. Proovisin paari config faili muuta, kuid ei aidanud. Programm jooksis kokku. Proovisin lähtekoodi kaudu rakendust testida. Asendasin mitmes kohas ConnectionStringi ja sain programmi käima.

Rakendus.

Kuna alguses oli tegu andmebaasiühendusega käima saamisega, viskas programm veateateid. Programmitekstide hilisemas koodivaatlusel selgus, et andmete baasi kirjutamise protseduurides oli veapüüdja kodeeritud.

Kasutajaliides on intuitiivne ja sarnaneb uuemate Microsofti toodetega menüü ülesehituse poolest. Uute akende avamisel häiris alguses akende teistmoodi avanemine: tavapäraselt tuleb uus akend teiste peale, kuid selles programmis läheb sakina taustale nagu veebisirvijates. Hiljem harjudes teadsin vaadata ja ei avanud enam kahte korda sama akent. Programmimenüüs on eraldatud ostud ja müügipool. Iga nimekirja kõrval oli nupuke uue lisamiseks, näiteks 'Hankijad' koos 'Uus hankija'. Uue objekti lisamisel kinnitamiseks tuli vajutada 'Salvesta', mille järel tehti lahtrid tühjaks. Alguses ehmatas ja tekitas kahtlusi andmekao suhtes, kuid andmed salvestusid korrektselt. Programmi mõningase kasutuse järel ei häirinud see enam. Uue objekti lisamisel ei ilmunud objekt vastavatesse nimekirjadesse, kui need olid avatud. Avades vastava nimekirja uuesti , oli uus lisatu näha. Olles dokumendi sestamisel avastnud, et on uut kliendti või artiklit vaja, sai uut lihtsalt lisada, kuid ta ei ilmnud valikutesse. Dokument tuli sulgeda ja uuesti lahti võtta. Paistab, et peab enne dokumendi alustamist olema uued asjad sisestatud.

Arve sisestamisel ei võta toote hinda, koguse sisestamise järel summat ei arvutanud, kokkusummat pole üldse näha. Arve printimisel saab CrystalReportiga seotud exceptioni, mis on töötlemata. Printimiseosa ei testinud rohkem.

Positiivse poole pealt oli vigaste lahtrite märgistamine punase raamiga tähelepanu juhtimiseks. Programmis oli abiinfo, milles oli kirjas ka olukord, kui funktsionaalsus on puudu. Abiinfo oli kooskõlas reaalse programmiga.

Kood.

Kood oli ära jagatud väiksematesse kataloogidesse: Artikkel, Dokument ja klient. Oskuslikult oli ära kasutatud objektide pärimisi. Oli loodud klass dokument ja sellest päritud nii ostudokkument kui ka müügidokument. Samuti Kliendi baasil oli loodud Tarnija.

Koodis on kasutatud #region plokki, mis võimaldab koodi kokku "klappida" koodi ülevaatamisel arendamise käigus.

Meeskond LeemurDotNet


Lõpprodukti retsensioon

Pealtnäha on tegemist korraliku rakendusega, mis näiliselt on täitnud kõik esitatud nõudmised. Sealt edasi paistis vaid katastroof. Rakendus läheb küll käima, kuid seal pole praktiliselt midagi võimalik teha - üks error ajab teist taga: “RibbonAndDock osas ilmnes probleem ja programm peab sulguma. Palume ebamugavuste pärast vabandust. Kui teil oli töö pooleli, võis teave, millega töötasite, kaotsi minna.” Proovisime läheneda teisest küljest ning võtsime appi kasutusjuhendi, mis tundus igati asjalik. Ka kasutusjuhend ei andnud soovitud selgitusi ning rakendust meil kasutada ei õnnestunudki. Tundus, et rakendus soovis endale teha andmebaasi enne kui ta tööle hakkas. Kuna installikaga antud andmebaasi kaasas polnud, siis viskaski rakendus iga liigutuse peale erroreid. Samuti üritas rakendus käivitudes endale midagi netist leida - ehk ikka seda sama kadunud andmebaasi? Tegelikult läks install veatult väljaarvatud see, et andmebaasi pole.

Programmis pettunult asusime koodi uurima. Positiivsena paistis silma, et kood on ilusasti liigendatud. Ühtlasi olid klassid korralikult paigutatud ja hästi leitavad. Põhimõtteliselt on kood korralikult kommenteerimata, kuid on siiski selgelt arusaadav. Klasside loomisega on ehk natuke liiga hoogu mindud: leidub ka üksik klass, kus on vaid üks konstruktor.

Jättes kõrvale tehnilise poole võib öelda, et visuaalne pool programmil oli täitsa viisakas (lihtsalt ühelegi nupule vajutada ei tasu).

Aga kui nüüd koodi struktuurile kokkuvõtavalt mingisugune hinnang anda, siis loodame, et õige seadistuse korral see rakendus ikka toimib.

Retsenseeris meeskond 3-5 liiget