1. Johdanto
2. Yleiskuvaus
3. Tiedot ja tietokanta
4. Tietovirrat
5. Toiminnot
6. Muut ominaisuudet
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.
TRAKLA on järjestelmä, jolla automatisoidaan kurssin Tik-76.122 Tietorakenteet ja algoritmit kotitehtävien laatimista, jakelua, palauttamista, tarkistamista ja arvostelujen kirjausta.
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.
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.
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.
Kurssin ohjaaja määrittelee mitkä tehtävät kuuluvat millekin kierrokselle ja tehtävistä saatavat pisteet, hyväksymiseen vaaditun pisterajan ja arvosanan korotuksen pisterajan.
Opintorekisterikeskus kirjaa ja tallentaa opiskelijoiden kurssiarvosanat opintosuoritusrekisteriin, jotka se saa Tietojenkäsittelyopin laboratorion kansliasta.
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.
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.
ER-kaaviossa kuvataan järjestelmän tietoryhmät ja niiden väliset relaatiot.
Jårjestelmän käsittelemät tiedot on kuvattu seuraavassa luettelossa. Tiedot on ryhmitelty entiteeteittäin.
Erillistilauksen tyypit:
Entiteettien väliset relaatiot on selitetty sanallisesti tarvittaessa kumpaankin suuntaan.
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.
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.
TRAKLA-järjestelmä koostuu kolmesta osajärjestelmästä.
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.
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ä.
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.
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ä.
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
Erillistilauksella opiskelija pyytää tietyn kierroksen tehtäviä uudelleen.
#id 12345x
#order 1
#end
Kotitehtävien vastaukset palutetaan TRAKLA:lle seuraavan esimerkin mukaisesti.
#id 12345x
#round 1
#1
abc
#end
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
Opiskelija voi kysellä milloin tahansa omaa pistetilannettaan:
#id 12345x
#report
#end
tai malliratkaisujaan, joiden mukana tulee myös pistetilanne:
#id 12345x
#model 1
#end
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
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
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
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.
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ä.
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ö.
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.
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
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.
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.
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.