HardwareMonitoring

From ICO wiki


Rühmatöö aines Programmeerimine C# keeles

Meeskond

  • Joonas Ervald - projektijuht
  • Maie Palmeos
  • Jan Pentšuk

Idee

Tegemist on riistvara monitoorimise programmiga, mille abil on võimalik vaadata arvuti riistvara töökoormust ja temperatuuri ning seadistada hoiatusi, kui näiteks mingi riistvaraosa töötemperatuur muutub liiga kõrgeks.

Analüüs

Kõige keerulisemaks osaks antud projekti juures on eelkõige andmete kuvamine kasutajale arusaadaval moel, mis eeldab selgesti arusaadavaid tabeleid või graafikuid. Samuti võib osutuda raskeks andmete salvestamine andmebaasidesse ning andmete ajaloo kuvamine ja säilitamine pärast programmi sulgemist.

Tehnoloogia

  • C#
  • WPF

Andmebaasimudel

Andmebaasimudel.png

Must-have

  • Kuvab CPU, GPU, RAM, emaplaadi ja kõvaketaste kohta infot (temperatuur, töökoormus)
  • Võimalik kuvada hoiatusi, kui mingi riistvara osa saavutab kriitilise piiri töökoormuse või temperatuuri osas
  • Programm töötab Windows'i töölaua taustal (ikoon nn "tray"-s)
  • Kood on testitud

Nice-to-have

  • Teavituste seadistamine
  • Riistvara näitajate võrdlus teiste kasutajatega ja/või maailma keskmisega
  • Programmi on võimalik seadistada läbi nn "tray" ikooni
  • Osad andmed on jälgitavad läbi "tray" ikooni (kui hiir on ikooni peal)
  • Kasutajasõbralik ja esteetiline kujundus
  • On-line andmebaas lisaks lokaalsele, et andmeid saaks regulaarselt salvestada

Versioonihaldus

Versioonihalduskeskkonnaks oleme ühiselt valinud GitHubi: https://github.com/ginzae/I243HardwareMonitor

Lõpptoode

Lõpptoode on alla laetav siit: https://goo.gl/7NVH7N
Koodi kasutamiseks on vajalik Visual Studio arenduskeskkond.

Blogi

  • 26.09.17 Meeskonna moodustamine
  • 01.10.17 Meeskonna avakoosolek ja võimalike ideede väljapakkumine
  • 03.10.17 Kõigi liikmete ideede esialgne analüüsimine, rühmatöö projekti valimine
  • 15.10.17 Repositooriumi asukoha väljavalimine, projekti loomine
  • 16.10.17 Esialgse koodi kirjutamine, võimalike lahenduste arutlemine
  • 21.10.17 Koodistruktuuri korrastus, edasise suuna kindlaksmääramine, wiki lehe loomine
  • 27.10.17 Füüsiline kohtumine kõigi rühmaliikmete vahel: koodi ühine ülevaatus ja edasise arendustöö arutelu; suhtluskeskkonna Slack'i kasutuselevõtt
  • 01.11.17 Kasutajaliidese parendamine
  • 02.11.17 Olemasoleva koodi refraktoorimine, väiksemate probleemide (bug'ide) lahendamine
  • 03.11.17 System Tray ikooni loomine
  • 05.11.17 System Tray ikoonile pildi ja menüü lisamine, vaate parendamine
  • 06.11.17 Vaate parendamine, Tray avanemise korrigeerimine
  • 07.11.17 Vaate parendamine (animatsiooni lisamine), Help-aknasse sisu lisamine
  • 09.11.17 Väiksemate probleemide (bug'ide) lahendamine, vaate parendamine
  • 12.11.17 Retsensiooni kirjutamine meeskonnale 2Do
  • 18.11.17 Lisatud Tray nuppude funktsionaalsus
  • 19.11.17 ProgressBari lisamine pealehele, mis vastavalt väärtusele vahetab värvi. Kujunduse parendamine.
  • 20.11.17 Teavituste lisamise võimaluse loomine Seadetes
  • 21.11.17 Andmebaasiskeemi loomine ja lisamine wiki-lehele. Andmebaasi lisamine rakendusele. Näidisinfo päring andmebaasist rakendusse ja arvutikonfiguratsiooni salvestamine omakorda andmebaasi.
  • 15.12.17 Test-info kustutamine ja kasutaja riistvarainfo otse andmebaasi salvestamine.
  • 16.12.17 Notification handler'ite lisamine temperatuuri ja koormuse osas, sündmuste hladuse lisamine koodile. Andmebaasi kohendamine testimise eesmärgil, kümnendkohtadega arvude andmebaasi lisamise implementeerimine.
  • 17.12.17 Väiksemate probleemide lahendamine: sensorite poolt antud info korrigeerimine, koodi kohendamine, eraldiseisvate klasside viimine eraldi kaustadesse koodi loetavuse parandamiseks, sensoriandmetele enumite loomine. Prototüübi esitamine.
  • 18.12.17 Programmi sulgemise nupu sidumine System Tray ikooni vastava funktsionaalsusega
  • 25.12.17 Help-akna nupu üleviimine eraldi klassi.
  • 19.01.18 Kasutajaliidese kohendamine, projektile dokumentatsiooni ja litsentsi lisamine, andmete logimise lisamine.
  • 20.01.18 Projekti kaitsmine