Meeskond: LetsDoIt

From EIK wiki

Meeskond ja rollid

  • Liisa Suurkaev - Projektijuht
  • Tanel Vähk
  • Aleks Luik
  • Melissa Eenmaa
  • Taavi Kliss

Idee

Meie idee on luua verepank kasutades WPF rakendust. Meie verepanka saavad arstid luua endale kasutajad ja arstid omakorda saavad luua kasutaja doonorile, kes tuleb sooviga verd annnetada. Enne vere andmist kontrollitakse doonori tervist ning vaadatakse, kas näitajad on sobilikud vere annetamiseks. Kõik näitajad salvestatakse andmebaasi ning doonori tervise kohta on olemas ka vastav ajalugu. Samuti on võimalik vaadata, millal doonor viimati verd käis andmas. Verepangast saavad haiglad verd tellida. Verepangal on alati ülevaade, kui palju tal erinevaid veretüüpe "laos" on. Puudujääkide korral saadetakse sobilikele doonoritele teavitus, et võimaluse korral ta taas verd andma tuleks.

Kasutatav .NET tehnoloogia

Kasutatav raamistik on .NET Framework 4.5 Oma lõpplahenduse jaoks kasutame C# + WPF + LINQ.

Analüüs

Rakendus on eelkõige mõeldud haiglatele, doonoritele ja verepankadele. Tahame luua rakenduse, mis lihtsustaks veredoonorlusega seotud tegevusi. Kui haiglal on vaja kiiresti teatud sorti verd, teatud koguses, on võimalik läbi meie rakenduse see kiirelt ja lihtsalt tellida. Samas lihtsustab see õdede elu, kes saavad andmeid rakendusse lisades jälgida, kas patsient on terve, kas patsiendi viimasest külastuskäigust on möödas 6 kuud jne. Kliendi poole pealt on hea see, et on võimalik jälgida, millal on võimalik jälle verd annetama minna ja teatud tüübi vere vajaduse korral saab kasutaja emaili teel sellest teada.

Rakenduse funktsionaalsus haiglana. Kui haiglal pole piisavalt verd vereülekandeks, siis saab ta seda tellida meie rakenduse kaudu verepangast (muidugi juhul, kui verepangas on piisavalt verd). Piisava vere puudumise korral lükatakse tellimus tagasi, kuid rakendus salvestab selle tellimuse ikkagi, et kui vastav verekogus on uuesti olemas, siis annab rakendus haiglale ise teada. Haigla ei peagi koguaeg päringuid tegema.

Rakenduse funktsionaalsus eraisikuna. Kui tavaline eraisik soovib annetada verd, siis saab ta rakenduse kaudu vaadata, kus ta üldse annetada saab. Samuti näeb ta, mis veregruppi on nõutud enim. Olles jõudnud sihtkohta, kontrollitakse üle inimese tervislik seisund. Kui tervis lubab annetada, siis sisestatakse ta andmed rakendusse ning saab alustada vereülekannet. Juhul, kui isik on eelnevalt juba rakenduses olemas, siis saab enamus andmed juba sealt võtta. Samuti on annetajal võimalus jälgida oma annetuste ajalugu ning järgmise võimaliku annetuse aega. Kui doonorile on pärast esimest annetust loodud konto, saab ta sisse logides otsustada, kas kuulub "kriisiannetajate" hulka, see tähendab, et kiirematel juhtudel võib haigla helistada doonorile ning kutsuda ta verd annetama koheselt.

Rakenduse funktsionaalsus arsti/õena. Kui arsti/õe juurde tuleb vabatahtlik doonor, siis peab ta doonori tervisliku seisundi üle vaatama ning positiivse vastuse korral doonori alles süsteemi lisama. Kui doonor on juba rakenduses, siis on see protseduur lühem. Arstil/õel on ligipääs ka andmebaasile. Saab otsida inimesi andmebaasist veregruppide kaupa, soo kaupa, RH faktori kaupa jne. Arst/õde näeb "kriisiannetajate" nimekirja ning saab vastavalt vajadusele kiirematel juhtudel kutsuda doonori annetama koheselt.

Programmis on olemas järgmised võimalused (Must have):

  • 1. Saab kasutajad registeerida.
  • 2. Kasutajatel on rollid
  • 3. Doonorile saab lisada veregrupi, rh faktori, aadressi, nime, telefoni, emaili jne.
  • 4. Andmeid on võimalik leida läbi otsimise
  • 5. Võimalik jälgida veregrupi olemasolu laos
  • 6. Kasutaja andmete baasil, saab välja arvutada, millal tohib kasutaja uuesti verd andma tulla.
  • 7. Verenäitajate kaudu, saab välja arvutada, kas doonor on sobilik verd andma.
  • 8. Võimalik näha, mis veregruppi vajatakse hetkel kõige rohkem.
  • 9. Võimalik on näha doonori ajalugu.
  • 10. Teatud veregrupi vajaduse korral, saab teavitada kasutajaid sellest.

QSEEs tehtud andmebaas: VEREPANK

QSEEs tehtud andmebaas (parandus): 25.11.2015

VEREPANKskeem.png

Programmis võiksid olla lisavõimalused (Nice to have):

  • 1. Haiglatel on võimalik verd tellida.
  • 2. Arstil/õel on võimalik doonori nõusolekul kriitilisel hetkel kutsuda doonor koheselt verd annetama.
  • 3. Enne vereandmist peab annetaja täitma küsimustiku, mida saab pärast esimest doonorlust muuta rakenduses.
  • 4. Küsimustiku saab täita eelnevalt kodus.
  • 5. Kui countdown järgmise annetuskorrani on 0, siis saadetakse doonorile teavitus.
  • 6. 100x countdown - president annab veredoonoritele autähe, kui on tehtud 100 vereannetust

Puust & Punaseks Soovitakse anda verd. Sel puhul minnakse verepanka, kus annetajat võtab vastu õde. Õde küsib annetaja isiku- ja kontaktandmed ning sisestab need meie loodud rakendusse. Seejärel tehakse vereanalüüsid ja muud vajalikud uuringud ning tulemused saadetakse rakendusse, pärast mida selgub, kas annetaja on doonorluseks sobilik. Kui annetaja ei ole sobilik, salvestatakse tulemused sellegipoolest andmebaasis ning neid saab kasutada hilisematel uuringutel. Kui annetaja on sobilik, siis võetakse temalt vastav kogus verd. Verenäitajad, kogus ja teised eelnevalt küsitud andmed salvestatakse andmebaasi. Kogutud veri läheb hoidlasse ja haiglad saavad rakenduse abil vajatavat veretüüpi ja kogust tellida. Annetaja seisukohalt võimaldab rakendus jälgida verenäitajaid, annetuste ajalugu, muuta kontaktandmeid (nice to have: ning täita küsimustik). Samuti on võimalik doonoril rakenduse kaudu märkida end "kriisiannetajaks", ehk saada teavitusi äkilistest annetajale vastava veretüübi vajadustest. Arsti/õe seisukohalt võimaldab rakendus jälgida veregrupi olemasolu laos, doonorite verenäitajaid, annetuste ajalugu ning "kriisiannetajate" puhul kutsuda doonor vastava veretüübi vajadusel koheselt annetama. Reaalajas countdown järgmise võimaliku annetuskorrani nii doonoril kui arstil.

Teise rühma analüüsi retsensioon

LendBook https://wiki.itcollege.ee/index.php/LendBook

1. Kas on aru saada, mis on rakenduse eesmärk?
Rakenduse eesmärk on selgesti arusaadav ning idee uuenduslik.
Küsimusi tekitas järgnev punkt: "Programmi eesmärk on võimaldada tutvusringkonnal kasutada kodus olemasolevaid raamatuid, ilma et peaks liigselt raamatuid ostma või ennast vaevama raamatukokku minekuga, kus sageli ei ole soovitud või vajaminevat raamatut üldse saadaval.":

  • Tänapäeval omavad pea kõik raamatukogud online-andmebaase raamatutest, mis parajasti raamatukogus saadaval on.
  • Kuidas jõuab raamat laenutajani? Kuidas väheneb raamatuni jõudmise vaev võrreldes raamatukoguga?

Lisaks, kuidas tagatakse raamatute kindel tagastamine? Laenutamise idee on küll hea, kuid tuleks arvestada võimalusega, et omanikud oma raamatuid tagasi ei saagi. Selle vältimiseks oleks mõistlik mingi süsteem välja mõelda.

2. Kas funktsionaalsuste realiseerimine on ka reaalselt tehtav?

Funktsionaalsused on täiest realiseeritavad ning mõistlikud. Kuid tekkis üks küsimus raamatute lisamise kohta: Kuidas reageerib süsteem, kui üks inimene lisab raamatu nimega "Harry Potter ja Tarkade Kivi", kuid teine "Härri Potteri I osa"?
Ka raamatute üleandmise toimumine jääb segaseks. Kasutaja peaks kuidagi teadma, kuhu ning millal raamatule järgi minna ning raamatu laenutaja peaks ka sellest teadlik olema. Analüüsist kahjuks ei selgu, kuidas raamatute üleandmine toimib (nii laenutamine kui tagastamine).

3. Mis on hästi.

Esimeseks plussiks on kindlasti idee uudsus. Lisaks on positiivne see, et on mõeldud, kuidas rakendust optimaalselt disainida. Juurde on pandud ka andmete liikumise diagrammid, mis teevad asjast aru saamise lihtsamaks. On ilusti ära liigitatud, millised saavad olema rakenduse kindlad funktsionaalsused ning millised on võimalikud lisafunktsioonid, kui jääb aega üle neid teha. Väga mõistlik on ka võimalike tekkivate probleemide üles märkimine, kuna see vähendab riski ebameeldivate üllatuste tekkimiseks rakenduse loomise ajal. (Samas tekib küsimus, kas neid võimalikke takistusi on vaja kõigil teada, või tasuks need kuhugi enda jaoks privaatselt kirja panna?)

4. Kommentaar andmebaasi kohta

Kuna andmebaas on algusjärgus, ei saa väga kommenteerida. Olemas on vaid kolm olemit ning kindlasti on mitmeid puudu (näiteks "kasutaja roll").

5. Ettepanekud, kuidas rakendust paremaks teha.

1. Raamatute laenutamine ei peaks piirduma vaid tutvusringkonnaga. Rakendusse võiks lisada funktsiooni, mis leiab raamatuid mingisuguses piirkonnas või sinu asukohale vastavalt valitud raadiuses (GPS).
2. Võiks olla funktsionaalsus, et raamatut saab ka müüa.
3. Tähtaja pikendamise võimalus.
4. Kui sama nimega raamatuid on mitmeid, siis kuvada esimesena lähimal asuv.
5. Võimalus sorteerida raamatuid žanri järgi.

Prototüüp

Meie prototüübi koos SQL skriptiga on võimalus alla laadida:

https://drive.google.com/folderview?id=0B_jAQkLSPoFqSXlxWklDRWNqUEE&usp=sharing

Testandmed saab genereerida andmebaasi WPF rakendust käivitades LOGIN lehelt TEST ANDMED nuppu vajutades.

Teise rühma prototüübi retsensioon

MC2: https://wiki.itcollege.ee/index.php/Meeskond:_mc2#Protot.C3.BC.C3.BCp


Tegemist on väga omanäolise 2D mänguga, mille laadset varem ei olegi kohanud, mis oli meeldivaks elamuseks. Mäng on käivitatav .exe failist. Mängu saab mängida nii üksi ning on tahetud tekitada ka võrgus mängimise võimalus, kuid ebaõnnestunult. Mäng nign selle kood näeb üldjoontes välja korrektne ning üsna hästi õnnestunud.


Mis oli hästi?


Prototüüp toimib rahuldavalt hästi: mäng liigub väga sujuvalt ning tõrgeteta. Prototüüp välimuselt näeb samuti väga kaasaegne välja. Eriti meeldib, et mänguikooniga on samuti vaeva nähtud. Mängus saab edukalt muuda seadistusi ning jälgida edetabelit.

WPF'i kasutus on üsna hea. On osatud kasutada grid'i, akna suuruse muutmisel säilitavad olemid oma asukoha ning programm toimib edasi. Kood on jaotatud piisavalt tükkideks ning on lihtne hoomata. Kommenteeritud on piisavalt ning ka asjakohaselt. Prototüübis on olemas nõuetekoahselt vaatemudelid, business object'id, serivce'id.


Mida jäi vajaka?


Kuna mäng on oma olemuselt huvitav, kuid üsna unikaalne ning põhimõte tundmatu, oli seda alguses üsna raske mängida. Mängu About sektsioonis on jäetud seletamata mängu eesmärk, mis aga projekti analüüsi kohaselt oli lubatud teha. Mängust aru saamiseks peab seda esialgu mitmed korrad läbi mängima paraku.

Meeldib lahendus, et mängu alguses toimub visuaalne loosimine esimese käigu osas. Loosimine toimub täringu veeretamise teel, kuid see venib ajaliselt natuke liiga kaua. Lisaks sellele, selgelt on arusaadav mängija silmade arv, kuid (visuaalselt) kummaline on see, kuidas tuleb vastase silmade arv veeretamisel.


Mis oli ebaõnnestunud?


Mingil põhjusel ei saa luua serverit mitme mängijaga mängimiseks. Registreeri nuppu vajutades, ei juhtu midagi. Põhjus võib olla vigases event handler'is või andmebaasi tegevuses. Samuti on mängus võimalik laadida varem salvestatud mängu, paraku pole aga võimalik mängu üldse salvestadagi. Puudub vastav nupp või juhis salvestamiseks.

Teise rühma lõpptoote retsensioon

MC2: https://wiki.itcollege.ee/index.php/Meeskond:_mc2#L.C3.B5pptoode


Nagu prtotüübi retsensioonis öeldud: "Tegemist on väga omanäolise 2D mänguga, mille laadset varem ei olegi kohanud, mis oli meeldivaks elamuseks. Mäng on käivitatav .exe failist. Mängu saab mängida nii üksi ning on tahetud tekitada ka võrgus mängimise võimalus. Mäng ning selle kood näeb üldjoontes välja korrektne ning üsna hästi õnnestunud."


Mis oli hästi?


Mäng liigub väga sujuvalt ning tõrgeteta. Välimuselt näeb samuti väga kaasaegne välja. Eriti meeldib, et mänguikooniga on samuti vaeva nähtud. Mängus saab edukalt muuta seadistusi ning jälgida edetabelit. Suureks plussiks on multiplayer, tänu millele on mäng tehtud hoopis atraktiivsemaks.

WPF'i kasutus on üsna hea. On osatud kasutada grid'i, akna suuruse muutmisel säilitavad olemid oma asukoha ning programm toimib edasi. Kood on jaotatud piisavalt tükkideks ning on lihtne hoomata. Kommenteeritud on piisavalt ning ka asjakohaselt. Olemas nõuetekoahselt vaatemudelid, business object'id, serivce'id. Mängu välimus ning ehitus on ilus ja lihtne, sobib ka tootena laialdasemaks kasutuseks või müügiks.


Mis oli ebaõnnestunud?

Kui prototüübi retsensioonis tõime välja ebaõnnestumisi, mis mingil põhjusel ei töötanud siis praeguseks on seis juba parem ning tiimi loodud funktsioonid töötavad hästi.

Blogi

  • 20.09 - Tiimi loomine
  • 26.09 - Esimene kokkusaamine, idee leidmine, skype grupi tegemine.
  • 14.10 - Alustasime andmebaasi skeemi loomisega QSEEs.
  • 28.10 - Lõpetasime andmebaasi skeemi tegemisega QSEEs ja lõime andmebaasi SQL Server Management Studiosse.
  • 04.11 - Vaatasime üle enda analüüsi ja täiendasime. Kontrollisime üle, kas kõigil on olemas ühendus TFS-iga ja kõik saavad aru, kuidas üles/alla laadida uusimat versiooni meie projektist. Alustasime rühma LendBook analüüsi retsensiooniga.
  • 05.11 - Nädalavahetuse plaanide tegemine - jaotasime rühma vahel erinevaid ülesandeid. Tanel - WPF vaadete tegemine. Melissa - retsensiooni ja analüüsi ülevaatamine, LINQ ja WPF-i õppimine. Aleks - kaustade loomine projekti, LINQ ja WPF-i õppimine. Liisa - andmebaasi parndamine SQL Server Management Studios ning selle külge panemine meie projektile. Taavi - LINQ ja WPF-i õppimine, WPF-i vaadete loomine.
  • 11.11 - Alustasime BO-de tegemist ning tegime juurde vaateid.
  • 18.11 - Alustasime Service'ite tegemist Model'itele. XAML'ite disainimine.
  • 19.11 - Täiendasime Models'eid, Service'eid ning ka Business Objecte, lisades neile mõned property'd juurde s.h. "get/set" property. Lõime test-kasutaja nii doonori rolli kui ka administraatori rolli, et testida programmi funktsionaalsust.
  • 25.11 - Vaatasime koos üle, mis funktsionaalsused veel puudu on. Enne kokkusaamist olid olemas kasutaja registreerimise, sisselogimise, kasutaja otsimise, kasutaja andmete muutmise funktsionaalsused. Kokkusaamisel tegime ühiselt verenäitajate lisamise ja vere andmise funktsionaalsuse. Kokkusaamise tegime lõbusamaks Liisa küpsetatud šokolaadimuffinitega.

MUFFINID

  • 26.11 - Jätkasime eilset koodimist. Vahepeal tegime ka liikumisharjutusi

Harjutused.gif

  • 8.12 - Vaatasime üle, mida keegi vahepeal teinud on. Käisime rakenduses ringi ja leidsime ning parandasime erinevaid pisivigu.
  • 14.12 - Valmistusime oma projekti kaitsmiseks.
  • 17.12 - Tegime viimased muudatused ära ja nüüd proovime uuesti läbi lüüa.

TEHTUD