R&T Soft: Difference between revisions
No edit summary |
|||
(23 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Kirjeldus = | = Kirjeldus = | ||
Programmi Everest näitel tehtud programm, mis võimaldab süsteemi | Programmi Everest ning CPU-Z näitel tehtud programm, mis võimaldab saada süsteemi kohta rohket infot ühest kohast ning saadud info logida. | ||
= Tööjaotus = | = Tööjaotus = | ||
Line 10: | Line 9: | ||
= Logi = | = Logi = | ||
====28.10.2012 ==== | |||
* Wiki lehe tegemine | |||
* | ==== 04.11.2012 ==== | ||
* | * [https://gitorious.org/c-school-project-system-information-viewer Git] repository tegemine | ||
* [https://wiki.itcollege.ee/index.php/R%26T_Soft#Kirjeldus Kirjeldus] | |||
* [https://wiki.itcollege.ee/index.php/R%26T_Soft#Projekti_anal.C3.BC.C3.BCs Analüüs] | |||
==== 08.11.2012 ==== | |||
* Käib kõva progemine - esimese klassi prototüüp on valmis | |||
* Arutasime ka UI lahendust, mingi ettekujutus on olemas aga mitte midagi kindlat | |||
==== 25.11.2012 ==== | |||
* [https://wiki.itcollege.ee/index.php/R%26T_Soft#Protot.C3.BC.C3.BCp Prototüüp] | |||
= Projekti analüüs = | = Projekti analüüs = | ||
== Planeeritud funktsionaalsus == | == Planeeritud funktsionaalsus == | ||
* Süsteemi riistvara vaatlemine | * Süsteemi riistvara konfiguratsiooni parameetrite vaatlemine - Võimalus vaadata riistvara konfiguratsiooni parameetreid nagu näiteks kiirus, mälu, transistorite arv jne. | ||
* Süsteemi riistvara parameetrite logimine | * Süsteemi riistvara muutuvate parameetrite logimine - Võimalus logida asju nagu protsessori kasutatavus, mälu kasutatus, temperatuurid jne. | ||
* Süsteemi riistvara ajaloo salvestamine | * Süsteemi riistvara konfiguratsiooni ajaloo salvestamine - Võimalus salvestada oma riistvara ajalugu ning seda hiljem vaadelda. | ||
* Riistvara konfiguratsiooni eksportimine | * Riistvara konfiguratsiooni eksportimine - Võimalus oma konfiguratsioon eksportida ning seda hiljem vaadelda. | ||
* Kahe erineva konfiguratsiooni võrdlemine | * Kahe erineva konfiguratsiooni võrdlemine - Võimalus kasutajal võrrelda konfiguratsioone oma varasema konfiguratsiooniga, teise arvuti konfiguratsiooniga või teise kasutaja konfiguratsiooniga. | ||
== "Kui oskame ja aega on" funktsionaalsus == | == "Kui oskame ja aega on" funktsionaalsus == | ||
* Keskse serveri tegemine | * Keskse serveri tegemine - Server, kuhu saab luua kasutajat ning oma ajalugu salvestada. | ||
* Serverisse logide, konfiguratsioonide, ajaloo jne salvestamine | * Serverisse logide, konfiguratsioonide, ajaloo jne salvestamine | ||
* Mitme arvuti logimise võimalus | * Mitme arvuti logimise võimalus - Üks kasutaja saab jälgida mitme arvuti konfiguratsioone ja logisid. | ||
* Konfiguratsioonide võrdlemine erinevate kasutajate vahel | * Konfiguratsioonide võrdlemine erinevate kasutajate vahel | ||
* E-Peen' võrdlus (konfiguratsioonide järgi) kasutajate vahel | * E-Peen' võrdlus (konfiguratsioonide järgi) kasutajate vahel | ||
* Riistvara parameetrite logimine programmi kasutamise ajal, st. logi algab mil programm pandi tööle ning lõpeb, kui programm töö lõpetab | * Riistvara parameetrite logimine programmi kasutamise ajal, st. logi algab mil programm pandi tööle ning lõpeb, kui programm töö lõpetab | ||
== | == Mis on rakenduse eesmärk? == | ||
Kuna meie programm on tihedalt seotud riistvaraga siis kõige keerulisem katsumus on tõenäoliselt kõikide | Rakendus teeb kasutajale lihtsalt kättesaadavaks tema arvuti (või mitme arvuti) riistvara jälgimise ning riistvara parameetrite logimise. Kasu võib olla näiteks draiverite installimiseks vajaliku riistvara nime ja mudeli nime leidmiseks ja programmi mälu/protsessorihõive leidmiseks. | ||
== Mida tavakasutaja sellega teha saaks? == | |||
Nagu öeldud, saab tavakasutaja sellega oma riistvara nime, mudelit ning staatilisi parameetreid vaadata ning jälgida muutuvaid parameetreid (temperatuur, mäluhõive jne). | |||
== Milliste osade realiseerimine võib osutuda problemaatiliseks? == | |||
Kuna meie programm on tihedalt seotud riistvaraga, siis kõige keerulisem katsumus on tõenäoliselt kõikide vajalike riistvara osade kohta informatsiooni saamine ning üleliigsete filtreerimine. | |||
Samuti saab olema keeruline mälu kasutuse ning protsessori kasutuse informatsiooni logimine. | |||
Kuna meil on plaanis programmile teha ka back-end server siis peame ehitama korraliku andmebaasi, kuhu kõik vajalik informatsioon kasutaja erinevate arvutite ning logide kohta salvestada. | Kuna meil on plaanis programmile teha ka back-end server siis peame ehitama korraliku andmebaasi, kuhu kõik vajalik informatsioon kasutaja erinevate arvutite ning logide kohta salvestada. | ||
Tõenäoliselt kõige keerulisem funktsioon (kui üldse võimalik) on E-Peen' võrdlus eri konfiguratsioonide vahel. Probleem on selles, et kogu info riistvara parameetrite kohta ei pruugi olla vabalt saadaval või selle parsimine veebist on keerulisem kui paista võib. Samuti võib nn. punktisüsteem olla vigane, kuna erinevaid arhidektuure on keeruline omavahel võrrelda ning puhas transistorite arv ei pruugi anda täit ülevaadet süsteemi võimekusest. | Tõenäoliselt kõige keerulisem funktsioon (kui üldse võimalik) on E-Peen' võrdlus eri konfiguratsioonide vahel. | ||
Probleem on selles, et kogu info riistvara parameetrite kohta ei pruugi olla vabalt saadaval või selle parsimine veebist on keerulisem kui paista võib. | |||
Samuti võib nn. punktisüsteem olla vigane, kuna erinevaid arhidektuure on keeruline omavahel võrrelda ning puhas transistorite arv ei pruugi anda täit ülevaadet süsteemi võimekusest. | |||
Kui me leiame mõne riistvara lehe, kus on suurem osa hetkel olemasolevast riistvara parameetritest välja toodud ning selle parsimine ei osutu väga keeruliseks siis on hea võimalus, et meie programmi võrdlusfunktsiooni kasutav kasutaja võib hakata oma rahakotti kergitama, sest sõbra E-Peen' on pikem. | Kui me leiame mõne riistvara lehe, kus on suurem osa hetkel olemasolevast riistvara parameetritest välja toodud ning selle parsimine ei osutu väga keeruliseks siis on hea võimalus, et meie programmi võrdlusfunktsiooni kasutav kasutaja võib hakata oma rahakotti kergitama, sest sõbra E-Peen' on pikem. | ||
= Prototüüp = | |||
== Üldine == | |||
Esialgne [http://www.upload.ee/files/2857310/SysInfViewer.rar.html programm] on mingis mõttes tehtud. Ilusast koodist on asi kaugel ning programm ise on pooleldi test aga asi areneb. | |||
* "Configuration" vaate alt tuleb veel kõvasti asju välja rookida, et kasutaja ei peaks mõtetu infoga tegelema. | |||
* "System" vaade peaks kunagi meenutama midagi [http://www.cpuid.com/medias/images/en/softwares-cpuz.jpg sellist], iseasi kas me kõik vajalikud parameetrid kätte saame. | |||
* "Server" vaade on küll tehtud aga kuna serverit pole veel taha saanud (andmemudel enamvähem valmis) siis asi veel ei tööta. | |||
* Menüüga pole eriti tegelenud, asi on hetkel lihtsalt placeholder tuleviku jaoks. | |||
== Probleemid == | |||
* Ei oska hetkel normaalse inimese moel ühe itemi vaadet vahetada. | |||
* SignedXML klass ei võta XDocumenti vastu ning millegipärast ei taha sama dokumendi signatuuri valideerida (kasutusel selleks, et juva vend ei saaks oma confi muuta ning sellega sõbrale "ära teha"). | |||
* Suvalisel hetkel otsustab süsteem, et normaalse objekti asemel anname tagasi null väärtuse ning süsteem crashib, sest nulli ei saa töödelda. Try catch pole siin eriti abiks, sest objekt on vaja ikka saada. Refresh aitab kuid võtab 2x kauem aega (niigi võtab liiga kaua). | |||
* Mõnda asja ei oska eraldi threadi panna, kuna objekt on WPF aknaga seotud ning süsteem ei luba seda kasutada mujal. | |||
[[Category: Programmeerimine CSharp keeles]] | [[Category: Programmeerimine CSharp keeles]] |
Latest revision as of 00:39, 26 November 2012
Kirjeldus
Programmi Everest ning CPU-Z näitel tehtud programm, mis võimaldab saada süsteemi kohta rohket infot ühest kohast ning saadud info logida.
Tööjaotus
Programmeerijad:
- Rasmus Kuusmann
- Tanel Tumanski
Logi
28.10.2012
- Wiki lehe tegemine
04.11.2012
08.11.2012
- Käib kõva progemine - esimese klassi prototüüp on valmis
- Arutasime ka UI lahendust, mingi ettekujutus on olemas aga mitte midagi kindlat
25.11.2012
Projekti analüüs
Planeeritud funktsionaalsus
- Süsteemi riistvara konfiguratsiooni parameetrite vaatlemine - Võimalus vaadata riistvara konfiguratsiooni parameetreid nagu näiteks kiirus, mälu, transistorite arv jne.
- Süsteemi riistvara muutuvate parameetrite logimine - Võimalus logida asju nagu protsessori kasutatavus, mälu kasutatus, temperatuurid jne.
- Süsteemi riistvara konfiguratsiooni ajaloo salvestamine - Võimalus salvestada oma riistvara ajalugu ning seda hiljem vaadelda.
- Riistvara konfiguratsiooni eksportimine - Võimalus oma konfiguratsioon eksportida ning seda hiljem vaadelda.
- Kahe erineva konfiguratsiooni võrdlemine - Võimalus kasutajal võrrelda konfiguratsioone oma varasema konfiguratsiooniga, teise arvuti konfiguratsiooniga või teise kasutaja konfiguratsiooniga.
"Kui oskame ja aega on" funktsionaalsus
- Keskse serveri tegemine - Server, kuhu saab luua kasutajat ning oma ajalugu salvestada.
- Serverisse logide, konfiguratsioonide, ajaloo jne salvestamine
- Mitme arvuti logimise võimalus - Üks kasutaja saab jälgida mitme arvuti konfiguratsioone ja logisid.
- Konfiguratsioonide võrdlemine erinevate kasutajate vahel
- E-Peen' võrdlus (konfiguratsioonide järgi) kasutajate vahel
- Riistvara parameetrite logimine programmi kasutamise ajal, st. logi algab mil programm pandi tööle ning lõpeb, kui programm töö lõpetab
Mis on rakenduse eesmärk?
Rakendus teeb kasutajale lihtsalt kättesaadavaks tema arvuti (või mitme arvuti) riistvara jälgimise ning riistvara parameetrite logimise. Kasu võib olla näiteks draiverite installimiseks vajaliku riistvara nime ja mudeli nime leidmiseks ja programmi mälu/protsessorihõive leidmiseks.
Mida tavakasutaja sellega teha saaks?
Nagu öeldud, saab tavakasutaja sellega oma riistvara nime, mudelit ning staatilisi parameetreid vaadata ning jälgida muutuvaid parameetreid (temperatuur, mäluhõive jne).
Milliste osade realiseerimine võib osutuda problemaatiliseks?
Kuna meie programm on tihedalt seotud riistvaraga, siis kõige keerulisem katsumus on tõenäoliselt kõikide vajalike riistvara osade kohta informatsiooni saamine ning üleliigsete filtreerimine. Samuti saab olema keeruline mälu kasutuse ning protsessori kasutuse informatsiooni logimine. Kuna meil on plaanis programmile teha ka back-end server siis peame ehitama korraliku andmebaasi, kuhu kõik vajalik informatsioon kasutaja erinevate arvutite ning logide kohta salvestada. Tõenäoliselt kõige keerulisem funktsioon (kui üldse võimalik) on E-Peen' võrdlus eri konfiguratsioonide vahel. Probleem on selles, et kogu info riistvara parameetrite kohta ei pruugi olla vabalt saadaval või selle parsimine veebist on keerulisem kui paista võib. Samuti võib nn. punktisüsteem olla vigane, kuna erinevaid arhidektuure on keeruline omavahel võrrelda ning puhas transistorite arv ei pruugi anda täit ülevaadet süsteemi võimekusest. Kui me leiame mõne riistvara lehe, kus on suurem osa hetkel olemasolevast riistvara parameetritest välja toodud ning selle parsimine ei osutu väga keeruliseks siis on hea võimalus, et meie programmi võrdlusfunktsiooni kasutav kasutaja võib hakata oma rahakotti kergitama, sest sõbra E-Peen' on pikem.
Prototüüp
Üldine
Esialgne programm on mingis mõttes tehtud. Ilusast koodist on asi kaugel ning programm ise on pooleldi test aga asi areneb.
- "Configuration" vaate alt tuleb veel kõvasti asju välja rookida, et kasutaja ei peaks mõtetu infoga tegelema.
- "System" vaade peaks kunagi meenutama midagi sellist, iseasi kas me kõik vajalikud parameetrid kätte saame.
- "Server" vaade on küll tehtud aga kuna serverit pole veel taha saanud (andmemudel enamvähem valmis) siis asi veel ei tööta.
- Menüüga pole eriti tegelenud, asi on hetkel lihtsalt placeholder tuleviku jaoks.
Probleemid
- Ei oska hetkel normaalse inimese moel ühe itemi vaadet vahetada.
- SignedXML klass ei võta XDocumenti vastu ning millegipärast ei taha sama dokumendi signatuuri valideerida (kasutusel selleks, et juva vend ei saaks oma confi muuta ning sellega sõbrale "ära teha").
- Suvalisel hetkel otsustab süsteem, et normaalse objekti asemel anname tagasi null väärtuse ning süsteem crashib, sest nulli ei saa töödelda. Try catch pole siin eriti abiks, sest objekt on vaja ikka saada. Refresh aitab kuid võtab 2x kauem aega (niigi võtab liiga kaua).
- Mõnda asja ei oska eraldi threadi panna, kuna objekt on WPF aknaga seotud ning süsteem ei luba seda kasutada mujal.