Toiminnallinen määrittely

Tik-76.115 Toiminnallinen määrittely


Aiheen nimi: TRAKLA-järjestelmän kehittäminen


Sisällysluettelo

1. Johdanto
2. Yleiskuvaus
3. Tiedot ja tietokanta
4. Tietovirrat
5. Toiminnot
6. Muut ominaisuudet

1. Johdanto

TRAKLA on Tik-76.122 Tietorakenteet ja algoritmit -kurssin kotitehtävien jakeluun, vastausten palautukseen, tarkastukseen ja arvosteluun tarkoitettu järjestelmä. Tavoitteena on järjestelmän korjaus ja kehittäminen. Ohjelmatyön tilaaja on Tietojenkäsittelyopin laboratorio. TRAKLA-järjestelmällä tarkistetaan vuosittain n. 500 opiskelijan kotitehtävät, joita on kaikkiaan 10.000 - 15.000 kpl. Järjestelmän avulla säästetään 15.000 - 30.000 mk vuodessa. TRAKLA on toiminut vuosia tyydyttävästi Sony-työasemissa, mutta Silicon Graphics -asemiin siirryttäessä ilmeni vakavia ongelmia.

Työn ensisijainen tavoite on TRAKLAn toiminnan varmistaminen vuodeksi 1997 ja siitä eteenpäin. Tähän päätavoitteeseen liittyvät seuraavat yksityiskohtaisemmat tavoitteet:

Tässä dokumentissa on yleiskuvausosassa kuvattu järjestelmän liittymät ympäristöön, käyttäjät ja käyttöympäristö. Tiedot ja tietokanta -osassa kuvataan järjestelmän tietojen ja tietokantojen korjattu sisältö sekä tiedon pysyvyysvaatimukset, kapasiteetti- ja saantivaatimukset. Toiminnot-osassa kerrotaan toimintojen tarkoitukset, tarvittavat syötteet, käsittelyn tapahtuminen ja vaikutukset.

Järjestelmään liittyvät käsitteet on selostettu erillisessä sanastossa.

2. Yleiskuvaus

TRAKLA on järjestelmä, jolla automatisoidaan kurssin Tik-76.122 Tietorakenteet ja algoritmit kotitehtävien laatimista, jakelua, palauttamista, tarkistamista ja arvostelujen kirjausta.

2.1 TRAKLA-ympäristö


Kurssiin Tik-76.122 Tietorakenteet ja algoritmit kuuluu pakollisena osana lukukauden aikana tehtävät kotitehtävät. Kotitehtävät vastaavat aiheiltaan suunnilleen oppikirjajakoa: perusteet, lajittelu, hakumenetelmät, merkkijonojen käsittely ja verkot.

Kurssin perustamisen yhteydessä järjestelmälle annetaan parametritietoina kurssin tunnus, aloitus- ja lopetuspäivämäärät, kotitehtäväkierrosten lukumäärä, kullekin kierrokselle kuuluvat kotitehtävät ja tehtäväkohtaiset pisteet sekä kunkin kierroksen palautuspäivä. Kotitehtävien rungot on talletettu järjestelmä perustietoihin. Opiskelijalle generoidaan yksilölliset tehtävät opiskelijanumeron ja kurssin aloituspäivän perusteella. Yksillöllisistä tehtävistä ja tehtävärungosta muodostetaan opiskelijalle lähetettävät kotitehtävät.

2.1.1 Opiskelija

Kaikki opiskelijan ja TRAKLAn välinen viestintä tapahtuu sähköpostin avulla. TRAKLAn sähköpostiosoite on trakla@hut.fi. TRAKLA lähettää kuittauksen aina, kun se saa postia.

Opiskelija lähettää TRAKLAlle ilmoittautumisen, saa siltä tehtävät, ratkaisee ne ja lähettää vastaukset TRAKLAlle. Kunkin tehtäväkierroksen palautuspäivän ja tehtävien tarkastuksen jälkeen opiskelija saa päättyneen kierroksen tehtävien malliratkaisut ja omat pisteensä. Opiskelija voi myös tiedustella pistetilannettaan ja pyytää haluamiensa edellisten kierrosten malliratkaisuja.
Jos opiskelija on kadottanut TRAKLAn automaattisesti lähettämät kierroksen tehtävät, hän voi pyytää järjestelmältä samat tehtävät uudelleen.
Halutessaan opiskelija voi harjoitella tehtävien ratkaisua tilaamalla harjoittelutehtävät ja palauttamalla vastaukset. TRAKLA antaa opiskelijalle malliratkaisun ja saadut pisteet. Harjoittelutehtävät ovat samat kaikille opiskelijoille.

2.1.2 Assistentti

Assistentti perustaa uuden kurssin ja antaa tarvittavat kurssikohtaiset parametrit.
Assistentti tarkistaa sellaiset tehtävät käsin, joita TRAKLA ei tarkista tai jonka tarkistukseen opiskelija on tyytymätön, ja päivittää tehtävien pisteet suoraan arvostelutietoihin. Tarkistuksen jälkeen assistentti voi käynnistää automaattisten palautusten postituksen.
Kurssin lopuksi TRAKLAsta poimitaan opiskelijoiden kotitehtävistä saamat pisteet. Pisteiden perusteella lasketaan opiskelijoiden kotitehtävien arvosanat, jotka toimitetaan Tietojenkäsittelyopin laboratorion kansliaan opintosuoritusten kirjausta varten.

2.1.3 Kurssin ohjaaja

Kurssin ohjaaja määrittelee mitkä tehtävät kuuluvat millekin kierrokselle ja tehtävistä saatavat pisteet, hyväksymiseen vaaditun pisterajan ja arvosanan korotuksen pisterajan.

2.1.4 Opintosuoritusrekisteri

Opintorekisterikeskus kirjaa ja tallentaa opiskelijoiden kurssiarvosanat opintosuoritusrekisteriin, jotka se saa Tietojenkäsittelyopin laboratorion kansliasta.

2.3 Käyttöympäristö

Järjestelmän kehitys- ja käyttöympäristönä toimii Tietojenkäsittelyopin opetuslaboratorion (Niksula) Silicon Graphicsin UNIX-työasemat. Ohjelmointikielenä käytetään C-kieltä eikä C++:aa. Tehtävien generointiin ei käytetä tulkkaavaa kieltä. Projektisuunnitteluvaiheessa kyseiset valinnat jäivät vielä avoimiksi.

3. Tiedot ja tietokanta

TRAKLA-järjestelmän käsittelemien tietojen ja tietokantojen sisältö kuvataan ER-kaaviolla ja siihen liittyvillä tietoryhmä- ja relaatioluetteloilla.

ER-kaaviossa esitettävien tietoryhmien lisäksi järjestelmään kuuluvat seuraavat sanallisesti selitetyt loki-tyyppiset tiedot.

3.1 ER-kaavio

ER-kaaviossa kuvataan järjestelmän tietoryhmät ja niiden väliset relaatiot.

3.1.1 Tietoryhmät

Jårjestelmän käsittelemät tiedot on kuvattu seuraavassa luettelossa. Tiedot on ryhmitelty entiteeteittäin.

Erillistilauksen tyypit:

3.1.2 Relaatiot

Entiteettien väliset relaatiot on selitetty sanallisesti tarvittaessa kumpaankin suuntaan.


3.2 Pysyvyys-, kapasiteetti- ja saantiaikavaatimukset

Järjestelmän tiedoista ovat pysyviä kurssin ajan opiskelijat, pistemäärät, kurssit, kierrokset ja tehtävät, joita säilytetään vähintään vuosi kurssin päättymisen jälkeen. Tehtävärungot ovat jatkuvasti pysyviä tietoja kurssista toiseen. Loki-tietoja kannattaa säilyttää joitakin vuosia.

Lähetettävät kirjeet, vastaukset ja erillistilaukset ovat eri järjestelmän osien syötteitä ja tulosteita, joita ei säilytetä järjestelmässä pysyvästi.

Opiskelijoita on kurssilla n. 500 kpl. Nykyisin kierroksia on viisi ja tehtäviä kierroksella 6 - 8. Piste-tietoja kertyy kurssin aikana n. 20.000 kpl.
Järjestelmän tietojen tilantarve ei ole merkittävä. Suurin tilantarve on lokitiedoilla. Näitä voidaan tarvittaessa pakata ja arkistoida.

Tiedonvälitys järjestelmän ja käyttäjien välillä hoituu sähköpostitse, joten tietoihin ei kohdistu reaaliaikaisia saantiaikavaatimuksia.

4. Tietovirrat

Järjestelmän tietovirtoja on kuvattu seuraavissa kahdessa tietovirtakaaviossa. TRAKLA-järjestelmän ja ympäristön väliset liittymät kerrottiin jo kohdassa 2.1 TRAKLA-ympäristö. Tässä on tiedon talletusta ja käyttöä viety tarkemmalle toimintotasolle.
Kuvat on jaettu kahteen osaan selvyyden vuoksi. Ensimmäisen kaavion tehtävien_käsittely -prosessi on kuvattu tarkemmalla tasolla toisessa kaaviossa.

Kurssia perustettaessa kurssin, kierroksen ja tehtävien tiedot talletetaan kurssitietoihin.
Opiskelijan ilmoittautumistiedot talleteaan opiskelijatietoihin.
Erillistilausten vastaanottoon sisältyy tehtävien, malliratkaisujen ja pistetilanteen erillistilaukset, jotka talletetaan erillistilaustietoihin.
Vastausten vastaanotto ottaa vastaan opiskelijoiden vastaukset ja pilkkoo ne tehtävittäin ja tallettaa vastaukset- tai harjoitteluvastaukset-tietovarastoon.
Kirjeiden lähetys lähettää sähköpostitse valmiit kirjeet: tehtävät, malliratkaisut ja pistetilanteet.
Pisteiden kirjaus kirjaa assistentin käsintarkistamien tehtävien pisteet tai korjatut pistemäärät.

Tehtävien generointi tuottaa automaattisesti kaikille opiskelijoille tai erillistilauksen perusteella tietylle opiskelijalle kotitehtävät. Generointiin käytetään tehtävärunkoja sekä opiskeilja- ja kurssitietoja. Kierroksen tehtävät talletetaan lähetettäviin kirjeisiin.
Vastausten tarkistus tarkistaa opiskelijoiden lähettamät vastaukset ja laskee tehtävistä saatavat pistemäärät. Tarkistukseen ja arvosteluun käytetään tehtävärunkoja, kurssi- ja opiskelutietoja.
Malliratkaisujen generointi tuottaa automaattisesti kaikille opiskelijoille tai erillistilauksen perusteella tietylle opiskelijalle malliratkaisut kierroksen tehtävistä ja tallettaa ne lähetettäviin kirjeisiin. Käytetään tehtävärunkoja, opiskelija- ja kurssitietoja.
Pistetilanteen laskenta muodostaa automaattisesti kaikille opiskelojoille tai erilistilauksen perusteella tietylle opiskelijalle tilannekatsauksen siihen astisesta pistetilanteesta. Käytetään pistemäärä-, kurssi- ja opiskelijatietoja. Talletetaan pistetilanne lähetettäviin kirjeisiin.
Harjoitteluvastausten käsittely tarkistaa harjoittelutehtävät, generoi niistä malliratkaisut ja pistemäärät lähetettäviin kirjeisiin. Käyttää tehtävärunkoja ja kurssitietoja.

5. Toiminnot

TRAKLA-järjestelmä koostuu kolmesta osajärjestelmästä.

5.1 Tiedonhallinta

Tiedonhallinta on rajapinta tietokantojen ja muiden osajärjestelmien välillä. Koska tiedonhallintaosuus koostuu erillisistä funktioista, joita muut kutsuvat, ei osajärjestelmää kuvata tässä tarkemmin. Funktiot on kuvattu totetusmäärittelyn kohdassa 4.1 Tiedonhallinnan modulit.

5.2 Tehtävät

Tehtävissä on kaksi toisistaan selkeästi erottuvaa osaa, joista toinen huolehtii tehtävien generoinnista ja toinen vastausten tarkistuksesta.
TRAKLAn tehtävissä nykyiset kotilaskukierrosten tehtävien generointi ja vastausten tarkistus säilyvät pääosin entisellään. Tehtäviin lisätään muutama uusi tehtävä esim. tiedonsiirtovirheiden korjaus Hamming-koodeilla. Edelleen tehtävien generointia muutetaan siten, että samalle opiskelijalle räätälöidään aina erilaiset tehtävät eri aikana alkavilla kursseilla. Kotilaskukierrosten määrittelytietoihin lisätään mahdollisuus ilmoittaa tehtäväkohtaiset maksimipisteet, jotka ohittavat tehtävien generointi- ja tarkistusohjelmien kiinteät maksimipisterajat.
TRAKLAn uusi piirre on harjoittelumoodi, jossa opiskelija tilaa kierroksen harjoittelutehtävät ja ratkaisujen palautusten jälkeen saa automaatisesti paluupostissa harjoittelutehtävistä saamansa pisteet ja mallivastaukset. Harjoittelutehtävät räätälöidään eri tavalla kuin varsinaiset kotilasku- tehtävät.
TRAKLAn uusi piirre on myös kotilaskukierrosten automaattinen palaute kaikille opiskelijoille tehtävien palautuksen ja tarkastuksen jälkeen. Palautteena opiskelija saa kierroksen oikeat ratkaisut ja saamansa pisteet. Nykyinen pisteiden kysely säilyy järjestelmässä.

5.3 Serveri

Serveri huolehtii viestien välityksestä sähköpostitse käyttäjien ja tiedonhallinnan välille.
Serveri jakautuu kahteen osaan, vastaanotto- ja lähetysserveriin. Vastaanottoserveri käynnistyy aina kun trakla-tunnuksella tulee postia. Kirje luetaan muistiin. Jos kirje näyttää kelvolliselta, kirjeessä olevat serverikomennot jäsennetään ja suoritetaan. Lopuksi vastaanottoserveri sulkee avaamansa kirjeen.
Lähetysserveri ajetaan eräajona tietyin väliajoin. Lähetysserveri tarkistaa, onko jonossa lahetettavat-kirjeet postia. Jos on, kirjeen otsikkokentästä luetaan, kenelle se pitää lähettää ja lähetetään ko. kirje. Kirje merkitään lähetetyksi ja poistetaan jonosta. Jos postia ei ole, voidaan toiminta lopettaa heti.

5.4 Syötteet

Opiskelijan järjestelmälle antamat syötteet ovat kaikki sähköpostiviestejä.
Postiserverin komentojen yleisrakenne on seuraava:

#<komento><argumentit>
<muu data>

Komentosanaa ennen täytyy olla #-merkki, jotta serverille tarkoitetut komennot voitaisiin erottaa varsinaisesta data-tiedosta. Osalla komennoista ei ole argumentteja eivätkä ne välitä muutakaan dataa.

Komentosarja päättyy komentoon #end, jotta viestin signaturet eivät sotkeudu vastauksen joukkoon.

Eri kursseihin liittyvien syötteiden erottaminen:

Kurssitunnus lisätään #id-riville opintokirjanumeron perään kaikissa syötteissä. Jos kurssitunnusta ei ole, oletetaan kyseessä olevan tavallisen opiskelijan, joka suorittaa perusopintoihin kuuluvan Tietorakenteet ja algoritmit -kurssin kotitehtäviä.

5.4.1 Ilmoittautuminen

Kurssille ilmoittaudutaan lähettämällä sähköposti kurssin säköpostiosoitteeseen. Postin sisällön tulee olla seuraavaa muotoa:

#id 12345x
#name Tiina Teekkari
#reply Tiina.Teekkari@hut.fi
#register
#end

5.4.2 Erillistilaus

Erillistilauksella opiskelija pyytää tietyn kierroksen tehtäviä uudelleen.

#id 12345x
#order 1
#end

5.4.3 Vastaukset

Kotitehtävien vastaukset palutetaan TRAKLA:lle seuraavan esimerkin mukaisesti.

#id 12345x
#round 1
#1
abc
#end

5.4.4 Harjoittelumoodi

Harjottelumoodin avulla opiskelija voi harjoitella kunkin kierroksen tehtäviä. Harjottelumoodissa opiskelijanumeroksi annetaan vakionumero esim. test, jonka perusteella generoidaan ko. kierroksen harjoittelutehtävät. Harjoittelutehtävät voi tilata seuraavalla sähköpostoviestillä:

#id test
#reply Tiina.Teekkari@hut.fi
#order 1
#end

ja vastata seuraavasti:

#id test
#reply Tiina.Teekkari@hut.fi
#round 1
#1 abc
#end

5.4.5 Pisteiden ja malliratkaisujen kysely

Opiskelija voi kysellä milloin tahansa omaa pistetilannettaan:

#id 12345x
#report
#end

tai malliratkaisujaan, joiden mukana tulee myös pistetilanne:

#id 12345x
#model 1
#end

5.5 Tulosteet

5.5.1 Tehtävät opiskelijalle

Kaikille Traklan tietokanassa oleville opiskelijoille lähetetään automaattisesti kunkin kierrokesen kotitehtävät. Tehtävät lähetetään siihen sähköpostiosoitteeseen, jonka opiskelija on ilmoittautumisen yhteydessä TRAKLA:lle anatanut.

Esimerkki tehtäväpaperista:


	Kotitehtäväkierros 1/1995

        #ID	12345x
        #NAME	Teemu Ikiteekkari
        #ROUND	1

	 ________________________
	!                        !
	!      YLEISOHJEITA      !
	!________________________!

	Useimmissa tehtävissä on lyhyet ohjeet, miten tehtävään
	vastataan. Ohjeissa viitataan oppikirjaan

		M.A.Weiss: Data Structures and Algorithms

	Tehtävät kannattanee ratkaista aivan tavalliseen tapaan
	kynän ja paperin avulla, ja vasta sitten muuntaa ne
	tehtävissä vaadittuun muotoon.

	 _______________________________
	!				!
	!	Vastausten palautus	!
	!_______________________________!

	Kotitehtävien vastaukset palautetaan s{hk|postitse
	osoitteeseen

		trakla@hut.fi

	Vastausten on oltava _PERILLÄ_ viimeistään
	keskiviikkona 8. maaliskuuta klo 16.00.

	HUOM!	Jätä vastauksestasi itsellesi kopio (sekä paperilla
	----	että tiedostoon) -- varmuuden vuoksi.

	 _______________________________________________________
	!							!
	!	Vastaustiedoston lähettäminen emaililla		!
	!_______________________________________________________!

	Tästä viestistä saa "vastausrungon" seuraavalla tavalla:

	1. tallenna viesti omaan tiedostoonsa
	   (esimerkiksi kysymykset.1)

	2. anna unix-komento

		grep "^#" kysymykset.$ROUND() > vastaukset.1

	   jolloin vastausrunko on tiedostossa vastaukset.1

	Editoi vastauksesi täysin valmiiksi haluamallasi editorilla
	(esimerkiksi emacs).

	Tarkista, ett{ tiedostossa on oma opiskelijanumerosi
	(#ID 12345x) ja kierroksen numero (#ROUND 1).
	Opiskelijanumero on ilmoitettava tarkistusmerkkeineen.
	                                 --------------------
	Aloita jokainen vastaus tehtävänumerolla (esimerkiksi #2).
	Vastausta ei saa aloittaa tehtävänumeron riviltä, vaan
	vasta seuraavalta riviltä.

	Komentorivejä (#-alkuiset rivit) ei saa sisentää!

	Laita tiedoston viimeiselle riville komento #END

	Kaikki assistentille tarkoitetut kommentit täytyy aloittaa
	kommenttimerkillä (puolipiste) _RIVIN ALUSSA_.

	Kun vastauksesi on valmis (tiedostossa vastaukset.1),
	lähetä tiedosto unix-komennolla

		mail  trakla@hut.fi  <  vastaukset.1

	Näin varmistat, ettet vahingossa lähetä tyhjää mailia.

	 _______________________________
	!				!
	!	Assistentin osoite	!
	!_______________________________!

	Ongelmista voi lähettää mailia kurssin assistenteille
	osoitteeseen

		tik@hut.fi

	 _______________________________________________________
	!							!
	!	Jos saat jostain tehtävästä "yksinkertaisen"	!
	!	vastauksen, kannattaa miettiä, oletko		!
	!	ymmärtänyt kysymyksen oikein.			!
	!							!
	!	Jos kysymys (tai vastausohje) on mielestäsi	!
	!	epäselvä tai ei tarkkaan määrittele, mitä	!
	!	oikein halutaan, kannattaa varmistaa		!
	!	assistentilta.					!
	!_______________________________________________________!

#1	 _______________________
	!			!
	!	Tehtävä 1	!	(2 pistettä)
	!_______________________!

	Eräs taulukkona esitetty linkitetty lista on seuraava:

		i    key    next
               ------------------
                0:           5
         	1:           1
                2:    1      8
		3:    v      2
		4:    n      1
		5:    o      3
                6:    g      9
                7:    j      6
                8:    c     11
                9:    w     10
               10:    r      4
               11:    x      7
               12:                  
               ------------------    


	a) Mikä merkkijono listassa on (luettele alkiot järjestyksessä)?

	b) Poista alkuperäisen listan kolmannen alkion seuraaja.
	   Ilmoita next-taulukon sisältö muutoksen jälkeen.

	c) Lisää lisää alkuperäisen taulukon (key) viimeiseen (tyhjään)
	   paikkaan alkio "x" ja sijoita se alkuperäisen listan
	   toisen alkion perään. Ilmoita next-taulukon sisältö
           muutoksen jälkeen.

	 _____________________
	!                     !
	!      Esimerkki      !
	!_____________________!


	Tarkastellaan tilannetta, jossa annettuna olisi
	seuraavanlainen lista:

                 i    key  next
                ---------------
		 0:          4
		 1:          1
		 2:    s     6
		 3:    l     5
		 4:    a     3
		 5:    i     2
		 6:    t     1
		 7:
                ---------------

	Tämän listan tapauksessa vastaus olisi seuraava:

		a) a l i s t
		b) 4 1 6 5 3 6 1
		c) 4 1 6 7 3 2 1 5

	Huomaa, että riveillä pitää olla alussa a), b) tai c).

#2	 _______________________
	!			!
	!	Tehtävä 2	!	(2 pistettä)
	!_______________________!

	Ratkaise seuraava postfix-muodossa oleva aritmeettinen lauseke:

		8 3 2 + 5 + * 6 7 * 1 4 + * +

	Tallenna ratkaisun välitulokset pinoon. Esitä pinon sisältö
	aina sen jälkeen, kun pinoon on laitettu alkio.

	 _____________________
	!                     !
	!      Esimerkki      !
	!_____________________!

	Kirjassa sivuilla 71-72 3.7 pinon sisältö on esitetty
	pystysuorassa (sarakkeittain). Tehtävässä pino esitetään
	kuitenkin vaakasuorassa (riveittäin). Sivulla 71 olevat pinon
	tilat esitettäisiin tämän tehtävän vastauksena seuraavasti:

		6 5 2 3
		6 5 5
		6 5 5 8
		6 5 40

5.5.2 Automaattinen palaute

Kun kerroksen palutuspäivä on mennyt ohi ja ko. kierroksen tehtävät on tarkastettu, lähetetään kaikille opiskelijoille automaattinen palaute, joka on muotoa:


TRAKLA tilanneraportti
----------------------

#ID     12345x
#NAME   Tellervo Teekkari
#EMAIL  Tellervo.Teekkari@hut.fi
#REPORT
-----------------------------------------------------------
kierros  1:  12  =  2  2  2  2  0  4
kierros  2:  11  =  4  2  .  .  2  2  1
-----------------------------------------------------------
  yhteens{:  23        x = tarkistamatta    . = ei tietoa
-----------------------------------------------------------

Mallivastaukset kierrokselle 2:

#1
a) o v l c x j g w r n 
b) 5 1 11 2 3 9 6 11 10 4 7
c) 5 1 8 12 1 3 9 6 11 10 4 7 2

#2
8
8 3
8 3 2
8 5
8 5 5
8 10
80
80 6
80 6 7
80 42
80 42 1
80 42 1 4
80 42 5
80 210
290

#3
c--
ck--
-k--
-kf-
--f-
--fv
l-fv
l--v
l---
lh--
-h--
----

#4
o
Ao
A
Ad
d
de
We
e
Te
T

5.5.3 Harjoittelumoodi/vastaus

PISTEET:

Kierros 2:   1 2 2 2    = 7   (max. 16)

Mallivastaukset kierrokselle 2:

#1
a) o v l c x j g w r n 
b) 5 1 11 2 3 9 6 11 10 4 7
c) 5 1 8 12 1 3 9 6 11 10 4 7 2

#2
8
8 3
8 3 2
8 5
8 5 5
8 10
80
80 6
80 6 7
80 42
80 42 1
80 42 1 4
80 42 5
80 210
290

#3
c--
ck--
-k--
-kf-
--f-
--fv
l-fv
l--v
l---
lh--
-h--
----

#4
o
Ao
A
Ad
d
de
We
e
Te
T

5.5.4 Pisteiden kyselyn vastaus


TRAKLA tilanneraportti
----------------------

#ID     12345x
#NAME   Tellervo Teekkari
#EMAIL  Tellervo.Teekkari@hut.fi
#REPORT
-----------------------------------------------------------
kierros  1:  12  =  2  2  2  2  0  4
kierros  2:  13  =  4  2  1  1  2  2  1
kierros  3:   0  =  x  x  .  .  x  x  x
-----------------------------------------------------------
  yhteens{:  25        x = tarkistamatta    . = ei tietoa
-----------------------------------------------------------


Kotihtäväkierroksen 3 tulokset ovat saatavilla vasta 
kierroksen viimeisen palutuspäivän jälkeen.

5.6 Assistentin käyttöliittymä

Assistenttien toiveiden mukaisesti toteutetaan käyttöliittymä siten, että assistentti editoi tietoja suoraan tiedostoihin. Hän voi kirjata opiskelijalle pistemääriä tehtävistä, jotka on korjattu käsin tai joiden tarkistuksessa on ollut virheitä ja pisteet muuttuvat.
Assistentti päivittää kurssitietoihin kurssin, kierroksien ja tehtävien tietoja.

Edellä mainittuja tietoja tietokannasta haettaessa on ohjelmallisesti tarkistettava, että tiedot ovat muodollisesti virheettömiä.

6. Muut ominaisuudet

Siirrettävyys

Tarkistetaan, että käytetty koodi on ANSI C:tä ja että ei ole käytetty koneriipuvaisia funkitioita.
Korjausten ja muutosten jälkeen järjestelmä koeasennetaan johonkin muuhun ympäristöön (esim. alpha) kuin kehitysympäristö.

Suorituskyky

Suorituskyvyn parantamiseksi uusitaan järjestelmän tietokannan rakenne. Nykyisellään itse rakennettu harvaindeksinen ja aina opiskelijanumeron mukaan lajiteltu tietokanta on äärettömän hidas. Yhden tehtävän tarkastus kestää n. 1 minuutin.
Järjestelmän käyttöliityymä on rakennette sähköpostijärjestelmän päälle, joten vastausaikavaateita ei järjestelmälle voi asettaa.

Ylläpidettävyys

Käytettävyyden ja ylläpidetävyyden takaamiseksi järjestelmän ohjelmat käydään läpi ja muutetaan ohjelmarakenteet siten, että kopioidut koodiosuudet etenkin tehtävisää postetaan ja koodi muutenkin yhtenäistetään.
Järjestelmän läpikäynnin ja korjausten yhteudessä tarkistetaan, korjataan ja täydennetään olemassa oleva dokumentaatio.
Järjestelmän sekava hakemistorakenne muutetaan yksinkertaisemmaksi ja yksiselitteisemmäksi

Käytettävyys

Tietokannan rakenteen uusinnan yhteydessä muutetaan järjestelmä parametriohjatuksi ja rakennetaan käyttöliittymä kurssikohtaisten parametrien syöttöa varten, jottei ohjelmistoa tarvisisi kääntää uudelleen uutta kurssia installoitaessa.
Laaditaan uudet käyttöohjeet.

Toipuminen virhetilanteista

Järjestelmän lokiin kirjautuvat kaikki järjestelmän tapahtumat ja virhetiedostoon virhetapahtumat. Virhetilanteen satuessa lokista voidaan tarkistaa mihin asti järjestelmä on toiminut oikein ja virhetiedostosta mihin järjestelmä on kaatunut.
Kaikki sähköpostit ovat mailbox:ssa tallessa, joten mahdollisen virheen korjauksen jälkeen voidaan ajot aloittaa sähköpostiviestistä, joka ei mennyt perille. Päivityksistä on aina viimeisin voimassa, joten järjestelmälle ei ole haittaa vaikka jotkut viestit käsiteltäisiinkin kahteen tai useampaan kertaan uudelleen kunhan vain viestien järjestys säilyy.

Turvallisuus

TRAKLAn turvallisuusmenetelmä on pitää tallessa opiskelijalta tuleva informaatio mailbox:ssa, josta se siirretään tarvittaessa kurssikohtaiseen postit-tiedostoon, ja pitää lokikirjaa järjestelmän tilasta. Kierrostehtävä-kohtaisesti löytyvät aikaleimat palautuksen vastaanotosta ja tarkistetun vastauksen arvostelun kirjauksesta.
Opiskelijan henkilöllisyyden tarkistaminen rajoittuu opintokirjan numeron varmistuskirjaimen tarkistamiseen.