"ASP .NOT"

From EIK wiki

Meeskonna koosseis

Martin Kosk (projektijuht)
Kalmer Tart
Martin Aarne

Idee

Projeti eesmärgiks on luua veebilehekülg, mis annaks võimaluse saidi kasutajatel moodustada küsimustikke ja vastata loodud küsimustikele ning kuvada statistikat.

Tavakasutaja saab sellega vastata küsimustike loojate poolt loodud küsimustikele ning peale registreerimist saavad nad ka ise luua küsimustikke ning kasutajate gruppe.

Analüüs

Tegu on veebilehega, mille põhiline eesmärk on anda võimaluse kasutajatel luua küsimustikke. Küsimustikke saavad luua ainult kasutajad, kes on eelnevalt registreerunud veebilehele. Kui kasutaja on loonud küsimustiku, siis antud looja on konkreetse küsimustiku suhtes administraatori rollis, seega on tal õigus edasi toimetada küsimustikuga. Administraatori rollis olev kasutaja saab moodustada erinevaid reegleid sellele, kes saavad tema poolt loodud küsimustikule vastata. Üldjoontes jagunevad küsimustike vastamisvõimalused järgnevalt: kõik kasutajad (sealhulgas ka registreerimata külalised), ainult registreerunud kasutajad, küsimustiku looja poolt loodud grupp, üksik kasutaja.

Küsimustiku looja saab uue küsimustiku valmistamisel valida, millist tüüpi küsimustest tema küsimustik koosneb. Valikus on küsimuste liikidena järgnevad võimalused: pildiküsimus (nt. vastaja saab valida, milline pilt jne), videoküsimus, valikuga küsimused (nt vastusteks on ainult "jah" või "ei" või siis kasutaja on andnud valikud, millised võimalused on vastusteks, sarnane Moodle-s olevatele küsimustele) viimasel juhul saab küsimustiku looja valida, kas annab vastajale sisestada mõne teise vastuse (lisa valik "Muu...")

Omakorda igale küsimusele on määratud see, mitu valikut saab vastaja teha. Valikutes on n + 1, mis tähendab, et saab luua küsimusi, millele saab ainult 1 vastuse anda (Tehnilise poole pealt on kasutusel RadioButtonList) või siis on võimalus vastata ühele küsimusele mitme vastusevariandiga (Tehnilise poole pealt on kasutusel CheckBoxList). Viimase variandi puhul saab küsimustiku looja määrata, mitu vastust on võimalik märkida vastatuks (kas kõik võivad olla vastatud või ainult teatud osa vastuste hulgast ehk vali maksimaalselt 2 järgnevatest). Küsimustike looja saab valida perioodi, millise aja jooksul on küsimustik aktiivne. Kasutajaliideses kontrollitakse, et loodav küsimustik ei algaks ega lõppeks minevikus, sest selliseid küsimustikke on mõttetu luua. Küsimustiku lõpp peab olema rangelt tulevikus ning algus loomise päeval või tulevikus. Ühtlasi ei tohi olla võimalus luua küsimustikke, mille algus oleks peale lõppemise kuupäeva. Lisaks perioodile, mille jooksul on küsimustik aktiivne peaks olema võimalus kasutajal küsimustele vastata teatud ajajooksul (nt peale küsimustiku avamist on võimalus vastata ainult 1 tunni jooksul).

Statistikat küsitluste kohta on võimalik näha aktiivselt selle toimumise ajal või alles pärast selle lõppu (nt küsimused, mille üldine vastamine võib mõjutada vastaja arvamust). Antud valiku teeb samamoodi küsimustiku administraatori rollis olev kasutaja. Samamoodi saab koostada reegleid, mille alusel on statistika nähtav. Statistika kuvamine toimub sarnaselt sellele vastamisele, mille alusel teeb administraatori rollis olev kasutaja valiku, kas statistika on nähtav kõikidele kasutajatele (sealhulgas ka registreerimata kasutajad), ainult registreerunud kasutajad, küsimusele vastanud grupp kasutajaid, ainult grupist vastanud isikud, mõni teine kasutaja grupp või mõni üksik kasutaja.

Ühtlasi on võimalik veebilehel luua kasutajagruppe, mida saab moodustada iga registreerunud kasutaja. Grupp on nähtav ainult selle loojale ning grupis olev isik ei näe, kes peale tema veel gruppi kuuluvad. Kasutajat, keda tahetakse gruppi lisada saab otsida läbi saidil oleva otsingusüsteemi, lisades kasutaja gruppi, siis lisatav kasutaja saab teate, et teda on kutsutud vastama mõnele küsimustikule (täpsem teade veel otsustamisel). Kasutajal on võimalik otsustada, kas soovib liituda küsimustikule vastajate hulka või loobub sellest võimalusest.
Küsimustike vastaja saab määrata, kas tema küsimustikule saab vastata korduvalt või ainult ühe korra. Avaliku küsimustikku puhul, kus on võimalik korra vastata peaks kontroll toimuma IP ja sessiooni alusel, mille teostamine võib jääda nice-to-have funktsionaalsuse hulka. Registreerunud kasutajatele käib kontroll vastamise kohta läbi andmebaasi. Kui on mitme kordne vastamise võimalus, siis peaks jääma võimalus, kas kirjutatakse vana tulemus üle või läheb baasi lisaks uus vastus (mis võib mõningatel juhtudel osutuda küsimustiku loojale kasulikuks, nt näha progressi vastajtes vms).

Problemaatiliseks võib osutuda kasutajate gruppide loomise ja kasutajate gruppide reeglite loomisega. Samuti võib teenuse kvaliteetne ja kiire toimimine problemaatiliseks muutuda näiteks juhul kui seda rakendust hakatakse tulevikus suurema hulga inimeste poolt kasutama. Samuti võib probleem tekkida vastuste statistika kuvamisega, sest hetke plaaniga on küsimuste vastused ja vastajad ühes andmebaasis ning vastuste välja küsimisel võib tekkida andmebaasile liiga suur koormus, sest küsimustikud võivad olla suured, kus vastajaid on olnud palju.

Must Have:

  • Küsimustike moodustamine
  • Kasutajate registreerimine
  • Vastuste andmine
  • Statistika moodustamine
  • Statistika kuvamine
  • Kuvamise reeglite loomine
  • Kasutajate gruppide loomine
  • Erinevat tüüpi vastusevariantide loomine
  • Vastuste õigsuse valideerimine
  • Kontroll, et sama kasutaja ei saaks mitu korda vastata samale küsimustikule
  • Ajalimiit küsimustikule

Nice to Have:

  • Korralik küsimuste administreerimise liides
  • Kaasaegne ja kena kasutajaliides
  • Kontroll, et mitte-registreerunud isik ei saaks mitu korda vastata samale küsimustikule
  • Kõik kasutajad saaksid vastavalt õigustele statistikat vaadata

Projekt

Failid

Failid on kättesaadavas Enoses: http://enos.itcollege.ee/~maarne/ASP.NET/ASPdotNOT.zip

Dokumentatsioon

Dokumentatsioon projektile: File:Dokumentatsioon.pdf

Tööjaotus

Martin Kosk - Programmeerimine ning andmebaas
Kalmer Tart - Programmeerimine ning andmebaas ja kasutajaliidese kujundus
Martin Aarne - Programmeerimine ning kasutajaliidese kujundus