Sporto: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Aameerik (talk | contribs)
Klukas (talk | contribs)
Line 142: Line 142:
**Võimaldamaks suuremat automatiseerimist
**Võimaldamaks suuremat automatiseerimist
*Tasemete automatiseerimine
*Tasemete automatiseerimine
*Vanade ürituse haldamine andmebaasis
*Vanade ürituste haldamine andmebaasis
*Eraldi ajavaated publikule ja osalejatele
*Eraldi ajavaated publikule ja osalejatele
*Erinevaid üldajavaateid
*Erinevaid üldajavaateid
**Kõik seni toimunud etteasted ja nende tulemus
**Kõik seni toimunud etteasted ja nende tulemus
**Ainult veel tulevad etteasted
**Ainult eesolevad etteasted
**Detailsem ülevaade hetkel käivast etteastest (osalejate ajalugu nt)
**Detailsem ülevaade hetkel toimuvast etteastest (osalejate ajalugu nt)
*Hindamissüsteemi üldistamine erinevatele aladele
*Hindamissüsteemi üldistamine erinevatele aladele
*Kasutusjuhend
*Kasutusjuhend

Revision as of 14:05, 1 November 2015

C# projekt Sporto

Meeskonna nimi: Sporto

Projekt

Spordiürituse korraldamis -ja haldamissüsteem (Esialgu Akrobaatika põhine ainult)

Meeskonna koosseis

  • Merit Ridaste
  • Kelli Lukas
  • Vladimir Rõkovanov
  • Mikk Raudsepp
  • Alar Ameerikas


Projektijuht: Vladimir Rõkovanov


Projektist

Ülevaade

Spordiürituse korraldamise -ja haldustarkvara WPF-is. Korraldaja saab luua üritusi, monitoorida ürituse toimumist, hallata hindamissüsteemi ja raportit, kuvada ajakava jne. Eesmärk on kiirendada ning muuta spordiüritused sujuvamaks ja tõhusamaks, kuna antud hetkel valitseb sageli võistlustel segadus või lausa kaos, kuna ei teata millal on kelle kord, kuhu peab minema jne.

Kasutatav .NET tehnoloogia

Kasutatav raamistik: .NET Framework 4.5

Kasutatav tehnoloogia: C#, Windows Presentation Foundation, Owin, SignalR, Entity Framework, LINQ

Kasutatav arhetektuuriline muster: MVVM


Täpsemalt rakenduse tööst

Topoloogia

Programmi töökäik

Sporto WPF aplicatsioon on SERVER-CLIENT desktop aplikatsioon - edaspidi kutsume lihtsalt Sporto (app). Saab käivitada 3 režiimis.

  • Sporto app Admin režiimis on appil admini vaated ja serveri funktsioon (OWIN), mis jookseb kindlal Pordil.
    • Server käivitatakse ainult Admini režiimis, mis võimaldab teiste kasutajate ühendamist.
    • Admini vaates saab teha administratiivseid operatsioon: luua üritust, lisada osalejaid, hallata ajakava, luua hindamismall.
  • Sporto app Kohtuniku režiimis on appil kliendi funktsioon, hindamis vaade, ajakava vaade.
    • Peakohtunik saab oma vaadetes teha hindamisega seotud operatsioone: kontrollib alamkohtunike hinnanguid, saab ise hinnata vastavalt vajadusele, kinnitab hindamised, lisaks kinnitab Peakohtunik ka lõppraporti.
    • Alamkohtunik: Võimalik ainult hetkel avatud etteastet hinnata ja oma hinnet parandada, kui eelmine hinne lükati peakohtuniku poolt tagasi.
  • Sporto app Ajakava režiimis on appil ürituse ajakva vaade.
    • Selles vaates on võimalik arvutil ühendada ennast läbi IP kohalikus võrgus oleva Sporto OWIN serveriga ning läbi arvuti kuvada aakava ekraanidele ja mujale kuhu vaja. Nii saavad hetkel toimuvat ja tulevasi mänge näha nii osalejad, kui ka pealtvaatajad.


Sporto app luuakse kasutades ära SignalR frameworki andmevoo edastamiseks reaalajas vaadete vahel üle WebSocketi protokolli.

SignalR ja OWIN (The open web Interface for .NET) kasutus võimaldab tuleviku mõttes muuta hetkel plaanitav desktop aplikatsioon reaalajas töötavaks veebirakenduseks.

OWIN host kasutamine teeb aplikatsiooni kergeks, sest me ei vaja tervet web serveri funktsionaalsust nagu seda pakub nt IIS.

Probleemid

  • Server ja andmbaas jooksevad meil ühes arvutis.
    • Kui midagi arvutiga juhtub, võib suur osa turniiri andmeid kaduma minna. Peab olema võimalus viimane turniiri olek taastada Sporto taaskäivitamisel.
    • Kui liiga paljud pealtvaatajad saavad Sporto appile ligipääsu võib see ülekoormata arvuti ühenduse (DDoS), millele suhtes on üksik arvut suht tundlik
    • Võivad probleemid tekkida erinevate tulemüüridega, takistades kohtunikel serveriga ühendust võtta.
  • Praegu väga manuaalne tegevus üritust luua. Korraldaja ei pruugi kõike sisestada, mis muudab programmi jooksutamise võimatuks/vigaseks.
    • Kasutajate sisestamine on hästi aeganõudev tegevus, võib esineda vigu ja üks võisteleja võib sattuda andmebaasi mitu korda.
    • Ka ülessättimine võib osutuda korraldajale rakseks, võib vaja minna kasutajajuhendit.
  • Andmebaasi kujundamine keeruline, soovides jätta tulevikus võimalust laieneda teistele spordialadele.

Funktsionaalsused

Planeeritavad funktsionaalsused

Esmane Sporto valmib Akrobaatikale tuginedes.

1. Andmebaas ja selle haldamine

  • Kasutajad
    • Kasutajate loomine (nii kohtunikud, kui ka osalejad)
    • Admin kasutaja loomine
    • Admin kasutaja saab luua alamkasutajaid
    • Kasutajatele kasutajagruppide lisamine (Peakohtunik, Alamkohtunik jne)
    • Kasutajagruppidele õiguste lisamine
  • Võistlused
    • Ürituse loomine (käsitsi sisestamine)
    • Kohtunike ja osalejate lisamine(käsitsi)
    • Tehniliste viperduste korral on võimalik võistluse hetkeseis taastada

2. Erinevate vaadete kuvamise võimalus.

  • Admini vaade (Korraldaja)
    • Saab luua üritust
    • Saab luua üritust
    • Saab muuta üritust
    • Saab lisada kasutajaid
    • Saab muuta kasutajaid
    • Saab anda kasutajatele õiguseid
    • Saab muuta kasutaja õiguseid
    • Saab luua hindamise malli
    • Saab muuta ajakava
    • Saab lisada üritusele kategooriaid
    • Saab lisada kategooriatesse võistlejaid
    • Saab üritust ja ürituse kategooriaid lisada ajakavasse
    • Saab muuta ajakava
  • Peakohtuniku vaade
    • Kuvatakse kohtunike tulemusi
    • Kuvatakse kohtunike tulemusi kokkuvõtvalt
    • Saab kinnitada kokkuvõtva tulemuse
    • Kinnitab etteaste lõppemise
    • Saab anda käskluse kategooria hindamiseks, peale mida kuvatakse tavakohtunikele nende vaadet.
  • Kohtuniku vaade
    • Kuvatakse ainult hetkel toimuva kategooria lahtreid, mida on vaja täita.
    • Saab kinnitada enda hinnangu
    • Vale hindamise korral antakse tagasiside, mis oli valesti ning ei lasta hinnangut kinnitada
  • Ajakava
    • Kuvada võistluse hetkeseisu ajakaval (kui kaugel ajaliselt võistlus on, mis kategooria), kuvab vaikimisi kolme ­ )praegu, järgmine, valmistub).
    • Ajakava filtreeritakse kõigepealt taseme(Mini A, Mini B, Laste A, Laste B, Age(2 kava), Junior(2 kava)) järgi, seejärel rühma( naistepaar, meestepaar, segapaar, naiste kolmik, meeste nelik) järgi.
    • Saab sisestada ajalitempliga elemente
    • Ajakava saab lülitada režiimile, kus kuvatakse ka kõige uuemaid tulemusi
    • Lõpptulemuste vaade

3. Hindamissüsteemi lühikirjeldus samm sammult (tugineb Akrobaatikal)

  • Peakohtunik avab (n) esituse hindamisvaate tavakohtunikele.
  • Tavakohtunike poolt hinnete sisestamine.
  • Peakohtunike kontroll ja kinnitamine hinnete üle.
  • Antud esituse punktide kokkuarvutamine, salvestamine

Võimalikud funktsionaalsused (kui aega üle jääb)

  • Erinevate ürituste sidumine
  • Kohtunike ja osalejate, ürituse import/eksport
    • Osalejate import on kõige aeganõudvam osa, seega import võimalustest tähtsaim.
    • Võimaldamaks suuremat automatiseerimist
  • Tasemete automatiseerimine
  • Vanade ürituste haldamine andmebaasis
  • Eraldi ajavaated publikule ja osalejatele
  • Erinevaid üldajavaateid
    • Kõik seni toimunud etteasted ja nende tulemus
    • Ainult eesolevad etteasted
    • Detailsem ülevaade hetkel toimuvast etteastest (osalejate ajalugu nt)
  • Hindamissüsteemi üldistamine erinevatele aladele
  • Kasutusjuhend

Kokkusaamiste logid

Algus

16.09

Saime esimest korda kokku ja genereerisime erinevaid ideid, millest kolm olid kõige huvitavamad. Neist valisime siis välja parima - Sporto.

Teine

23.09 Algelise spetsifikatsiooni välja selgitamine, nime välja mõtlemine. Koosoleku märkmed

Kolmas

30.09

Erinevate metoodikate arutlemine.

Neljas

03.10

By Default Võimlemisalad. Esimesena teeme Akrobaatika süsteemi. Hiljem lisame teised alad (rühmvõimlemine, kulturism, maadlus, saalihoki).

Vajalik on hindamismall, andmebaasi struktuur.

Ajakaval on 2 vaadet: KOHTUNIK/muuda, VõistlusteVaade

Merit saadab Google Docis ülevaate Akrobaatikast.

Tulevikuks teada: TeamFundation, MVVM - Navigation

Viies

14.10

Akrobaatikavõistluse infosüsteemi planeerimine - õiguste jagamine kasutajate vahel, hindamissüsteemi kujundamine.

Kohtunikud jagunevad peakohtunikuks (näeb kõiki alakohtunike tulemusi, saab need kinnitada/tagasi lükata ebasobivuse korral, saata edasi ajakavas kuvamiseks) ja alakohtunikeks (ainult hindamine, kava info).

Kelli teeb andmebaaside mudelid, õiguste tabelid.

Koosoleku märkmed

Kuues

28.10

Andmebaasi mudelite ülevaatamine, muutmine. Analüüsi koostamine - kogu spetsifikatsioon. Nädalavahetuseks teeme lõpliku analüüsi, kõik vaatame üle ja vajadusel muudame. Vladimir kirjutab topoloogilise kirjelduse vaadetest, nende omavahelisest suhtlusest.