Ilmoittautumisten profiloija (jatkoprojekti) Ilpo2

Samankaltaiset tiedostot
Ilmoittautumisten profiloija (jatkoprojekti) Ilpo2

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ilmoittautumisten profiloija (jatkoprojekti) Ilpo2

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Ilmoittautumisten profiloija (jatkoprojekti) ILPO2

Ylläpitodokumentti Mooan

Ilmoittautumisten profiloija (jatkoprojekti) Ilpo2

Käyttöohje. Versiohistoria: versio Mari Kommenttien perusteella korjattu versio

Lohtu-projekti. Testaussuunnitelma

Convergence of messaging

58160 Ohjelmoinnin harjoitustyö

UCOT-Sovellusprojekti. Testausraportti

Määrittelydokumentti. ilpo-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2

Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

UCOT-Sovellusprojekti. Asennusohje

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin.

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Projektisuunnitelma Viulu

Määrittelydokumentti. ilpo-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

T Testiraportti - järjestelmätestaus

Toteutusvaihe T3 Digi-tv: Edistymisraportti

Testaussuunnitelma Labra

Lohtu-projekti. Testiraportti. Versiohistoria: syklin toteutuksen testit. 1. ajo Virve

OptimePortal ja OptimeEvent versioiden yhteenveto joulukuu

Testaussuunnitelma. Asdf. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Päivitetty JETI pikaohje. Ennakkosuunnitelman luonti

Dokumentin nimi LOGO:) Tampereen teknillinen yliopisto. Ryhmä XXX: Projektiryhmän nimi Projektin nimi

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria

ehops Henkilökohtainen opintosuunnitelma

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Oodin versiot, havaittujen virheiden korjaus sekä kehitysehdotusten eteneminen

Kuva: Ilpo Okkonen

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

1. Uuden Ilmon käytön eroavaisuudet vanhasta Ilmosta lyhyesti

Linuxissa uusi elämä 1

Helsingin yliopisto WebOodi 1 Opiskelijarekisteri Versio 3.2. Tenttityökalu

Käyttöohje. Aija. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

Ennen varmenteen asennusta varmista seuraavat asiat:

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

OPINTOSUORITUSTEN REKISTERÖINTI

dokumentin aihe Dokumentti: Testausraportti_I1.doc Päiväys: Projekti : AgileElephant

Muutokset WebOodin versiossa 2.7 Virkailijoille näkyvät muutokset

Ryhmäläisten nimet:

JÄRJESTELMÄN TEKNINEN KÄYTTÖOHJE

Määrittelydokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausraportti v.1.3

Suunnitteludokumentti

Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2

Käyttöohje. MAITO metadatan hallintatyökalu. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Suoritusten kirjaaminen WinOodissa: Opintoneuvojan ohje

3.2 Kurssin varmuuskopioiminen

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

JAKELUPISTE KÄYTTÖOHJE 2/6

Tietokannan luominen:

Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Käyttöohje. AssariXP. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

T Testiraportti - integraatiotestaus

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe LU. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T3

Kirkkopalvelut Office365, Opiskelijan ohje 1 / 17 IT Juha Nalli

Javan perusteita. Janne Käki

Testaussuunnitelma. Karstula. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma. Opeapuri. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

HOPS-työkalun lisäksi SoleOPSiin on kytketty vuotuisia kehityskeskusteluja varten kyselypohjat.

Kuopio Testausraportti Kalenterimoduulin integraatio

3.3 Kurssin palauttaminen

Sähköposti ja uutisryhmät

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma. Ohjelmistotuotantoprojekti Nero. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Henkilö- ja koulutusrekisterin asennusohje

Ohjelmistotuotantoprojekti

TimeEdit opiskelijan ohje TimeEdit-instructions for students from this link

Käyttöohje. Oppimistavoitteiden hallintajärjestelmä harri

Helsingin yliopisto Kehittämisosasto Opiskelijarekisteri. Oodi 2.81 Käyttöohje Opintosuoritusten rekisteröinti OPINTOSUORITUSTEN REKISTERÖINTI

Luku 7 Uusien Mallien Tiedostot

MOODLE-OHJE: Liitetiedoston lisääminen ja päivittäminen

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

S11-09 Control System for an. Autonomous Household Robot Platform

Kurssin hallinta -työväline

Opetustapahtumien hakeminen (Hae - Opetustapahtuma)

Joonas Ruotsalainen GIT PIKAOPAS. Tutkielma 2011

Opintokohteiden muokkaus

Henkilötietojen siirtotiedoston muodostusohje Excel-ohjelman avulla

Opetuksen suunnittelu

Ryhmäläisten nimet:

Kuvaruudun striimaus tai nauhoitus. Open Broadcaster Software V.20. Tero Keso, Atso Arat & Niina Järvinen (muokattu )

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Transkriptio:

TIETOJENKÄSITTELYTIETEEN LAITOS Ohjelmistotuotantoprojekti 04.09.2006 Ilmoittautumisten profiloija (jatkoprojekti) Ilpo2 Ylläpitodokumentti 1.0 Hemminki Samuli Herranen Mikko Hinkkanen Tero Mäkelä Ari Piuva Tero Töyli Terhi

Ohjaaja Asiakas Sinerma Olli Taina Juha Tekninen yhteyshenkilö Taina Juha Vastuuhenkilö Verkamo Inkeri Versiohistoria Versio Päiväys Muutokset 0.1 28.08.2006 1. versio 0.2 29.08.2006 lisätty järjestelmätestausta 0.3 30.08.2006 lisäyksiä ja korjauksia 0.4 30.08.2006 korjaus 0.5 30.08.2006 lisätty toteuttamaton vaatimus, muokattu ulkomuotoa 0.6 01.09.2006 lisäyksiä ja korjauksia. 0.7 03.09.2006 korjattu monen opiskelijan siirtäminen 0.8 03.09.2006 muokattu ulkonäköä 1.0 04.09.2006 jäädytetty versio

Sisältö 1 Johdanto... 1 1.1 Termit ja määritelmät... 1 2 Asennusohje ja käynnistys... 4 3 Koodin ylläpito... 5 4 Testaus... 6 4.1 Järjestelmätestauksen aikana havaitut virheet... 6 5 Toteuttamatta jääneet vaatimukset... 7 5.1 Toteuttamattomat normaalintason vaatimukset... 7 5.2 Toteuttamattomat matalan tason vaatimukset... 8

1 Johdanto Ohjelmistotuotantoprojekti-kurssilla opiskelijat jaetaan pienryhmiin kurssille ilmoittautumisen yhteydessä annettujen taustatietojen ja ryhmätoiveiden mukaisesti. Tavoitteena ryhmäjaossa on muodostaa mahdollisimman tarkoituksenmukaisia, tasakokoisia ja täysiä ryhmiä ja toisaalta täyttää opiskelijoiden esittämiä toiveita mahdollisuuksien mukaan. Ohjelmistotuotantoprojekti-kurssilla samaan ryhmään on valittava eri tavoin suuntautuneita henkilöitä. Tällä hetkellä kurssin vastuuhenkilö tekee tämän jaottelun olemassa olevalla Ilpo-ohjelmalla. Tarkoitus on kehittää Ilpoohjelmaa versioon 2, joka helpottaa jaottelijan tehtävää entisestään. Ylläpitodokumentti esittää ohjelman jatkokehittämiselle oleellisen tiedon.. 1.1 Termit ja määritelmät AWT: Javan matalan tason käyttöliittymäkirjasto, johon korkeamman tason alustariippumaton Swing perustuu. Asetustiedosto: Ohjelman käyttöasetukset sisältävä tiedosto Dialogi: Vuorovaikutteinen käyttöliittymäelementti, jonka avulla käyttäjälle annetaan tai häneltä pyydetään tietoa. Heuristiikka: Heuristiikka tarkoittaa keksimistaitoa. Näin ollen, heuristinen algoritmi on sellainen, joka saamastaan syötteestään osaa "päätellä" halutun lopputuloksen. Algoritmin tuottama lopputulos ei välttämättä ole optimaalinen, mutta se on riittävän hyvä jonkin kriteerin perusteella arvioituna. Ilmo (http://ilmo.cs.helsinki.fi/): Kurssi-ilmoittautumisjärjestelmä opiskelijoille. Järjestelmä on tarkoitettu tietojenkäsittelytieteen laitoksen kursseille ilmoittautumiseen. Ilmolla ilmoittaudutaan myös matematiikan kursseille, mutta sillä ei ole tämän projektin kannalta juuri mitään merkitystä. Ilmoittautujatiedosto: Tiedosto, joka pitää sisällään tiedot kurssille ilmoittautuneista opiskelijoista ja heidän antamista vastauksistaan Ilmo-järjestelmän esittämiin kysymyksiin. Ilpo: Ilpo-ryhmän keväällä 2005 tuottama ja myöhemmin Juha Tainan muokkaama ohjelma kurssi-ilmoittautumisten profilointiin Ilpo2: Ilpon pohjalta kesällä 2006 kehitettävä jatkoprojekti. JAR (Java Archive file format): JAR:n avulla voidaan pakata useita tiedostoja yhteen JAR-tiedostoon. Tyypillisesti JAR-tiedosto sisältää luokkatiedostoja sekä sovelluksiin ja sovelmiin liittyviä lisäresursseja. Järjestyskriteeri: Järjestyskriteerit ovat Ilmo-lomakkeen yksittäisiä vastauksia: esimerkiksi suuntautumislinja, kieli tai esitiedot. Kalenteri: Graafinen käyttöliittymäkomponentti, joka ilmaisee Ohjelmistotuotantoprojekti-kurssin ryhmien tapaamisajat 1

Kovakoodaus: Arvojen upottaminen ohjelman lähdekoodiin Kurssi: Kurssi on opintojakson ilmentymä. Kurssi määritellään erikseen kyseessä olevalle periodille, lukukaudelle ja -vuodelle. Käyttäjä: Ilpolla ja Ilpo2:lla ryhmittelyä suorittava henkilö. Lukitus: Yhden opiskelijan kiinnittäminen pysyvästi tiettyyn ryhmään siten, että opiskelija ei näy enää muissa ryhmissä. Oodi (http://www.helsinki.fi/weboodi/): Opiskelun ja opetuksen tuen tietojärjestelmä. Oodista löytyvät muun muassa opiskelijoiden opintosuoritukset. Opintojakso: Opintojakso määrittelee opetettavalle aihepiirille nimen ja laajuuden sekä muut yleiset luentokerrasta riippumattomat tiedot. Opiskelija: Kurssille ilmoittautunut henkilö, jota sijoitetaan Ilpolla ryhmiin. Opiskelijanäkymä: Ohjelmaikkunan vasemmanpuoleisen osan yläosa, jossa opiskelijat esitetään valitun järjestelyperusteen mukaan ryhmiteltyinä. Opiskelijapallo: Opiskelijaa kuvaava ympyränmuotoinen graafinen elementti Parsiminen: (tässä yhteydessä) Arvojen lukeminen ohjelman syötetiedostosta Tässä dokumentissa prioriteetilla ilmaistaan vaatimusten tärkeyttä ja järjestystä jolla ne toteutetaan. Dokumentissa käytettävät prioriteetit ovat seuraavat: matala, normaali ja korkea. Ryhmittely (Ryhmiin jako): Opiskelijoiden jakaminen ryhmiin. Ryhmä: Kokonaisuus mihin Ilpo-ohjelmalla siirretään opiskelijoita. Ryhmässä on opiskelijoita ja henkilökunnan jäseniä. Ryhmälukitus: Ryhmän lukitseminen siten, että kaikki ryhmässä olevat opiskelijat eivät enää näy muissa ryhmissä. Ryhmänäkymä: Ohjelmaikkunan oikeanpuoleinen osa, jossa projektiryhmät esitetään. Sarjallistuvuus: Sarjallistuvan Java-luokan ilmentymä osaa kirjoittaa oman sisäisen tilansa muodossa, joka soveltuu esimerkiksi levylle tallentamista varten. Sisäinen tietorakenne: Oliorakenne, joka on pelkästään Ilpon ja Ilpo2:n sisäisessä käytössä ja mihin on tallennettu tietoja. 2

Säännöllinen lauseke: Tietyn syntaksin mukainen merkkijono, joka määrittelee joukon merkkijonoja. Tietyn säännöllisen lausekkeen määrittelemien merkkijonojen sanotaan vastaavan tätä säännöllistä lauseketta. Säännöllisiä lausekkeita voidaan käyttää esimerkiksi löytämään kaikki tiettyä säännöllistä lauseketta vastaavat merkkijonoesiintymät tekstistä. Swing: Javan korkeamman tason käyttöliittymäkomponentteja sisältävä pakkaus Tavallinen TKTL:n pöytäkone: Käyttöjärjestelmänä Linux graafisella ikkunointiympäristöllä, näyttö 1280x1024 resoluutiolla sekä vähintään 1.5 GHz suoritin ja vähintään 512Mt keskusmuistia. Tietonäkymä: Ohjelmaikkunan vasemmanpuoleisen osan alaosa, jossa esitetään tietoja esimerkiksi valituista opiskelijoista. Tilapalkki: Käyttöliittymän graafinen elementti, josta suoritetut työvaiheet käyvät ilmi. TKTL: Helsingin yliopiston Tietojenkäsittelytieteen laitos. Tulosryhmä: Järjestyskriteerin mukaisesti tehty järjestely jakaa opiskelijat tulosryhmiin. 3

2 Asennusohje ja käynnistys Ohjelma asennetaan antamalla käsky ant install Ddir=<asennushakemisto>. Asennuksen jälkeen ohjelma voidaan käynnistää komennoilla cd <asennushakemisto> bin/ilpo.sh Tarkemmin ohjelman käytöstä käyttöohjeissa. 4

3 Koodin ylläpito Tässä luvussa on lueteltu koodin kohtia tai toteutustapoja joissa ryhmäläisten mielestä on parantamisen varaa. Ryhmätoiveet on tallennettu kysymyksinä alkaen kysymysnumerosta 101, vaikka oikeasti kyseessä on yksi ainoa (vapaavastaus)kysymys. Lisäksi tuo arvo 101 on kovakoodattu ympäri koodia. Koodiin on myös kovakoodattu, että ryhmät saadaan opiskelijan ilmovastauksista kysymyksenä numero 1. Ohjelman luokat on sidottu hyvin tiukasti toisiinsa, joka osittain rikkoo MVCmallin. Monen sinänsä yleiskäyttöisen luokan yleiskäyttöisyys on tuhottu. Yhdenkään metodin kommenttina ei saisi olla jotakin tyyliin "tätä saadaan kutsua vain luokan x metodista y". Joidenkin luokkien konstruktoreilla on outoja sivuvaikutuksia, joiden kanssa on oltava tarkkana (esim. ristiviittausten luonti). Ohjelmassa on edelleen paljon kovakoodattuja vakioita, erityisesti käyttöliittymäkomponenttien koot. Näin ei pitäisi olla. Osa ohjelman asserteista on ilmeisesti turhia. Tämä ei ole vakavaa. SorttausPerusteRyhmiin-luokka on todella sekava. Sitä ei ole muutettu Ilpo2:n aikana. Myös monet muut käyttöliittymän luokat jäivät sekaviksi. Luokkien SiirtyvatKomponentit ja AsetustiedostoLukija ei tulisi tallentaa mitään tietoja staattisesti Koodiin on jätetty Todo ja Fixme kommentteja kohtiin, joita tekijät ovat pitäneet huomion arvoisina jatkoprojektille. 5

4 Testaus Yksikkötestauksen puute on ongelma. Yksikkötestaus päätettiin toteuttaa siten, että vain ryhmän luomat uudet luokat yksikkötestataan. Ilpon testauskoodia on muutettu siltä osin, että komento ant junit pystytään suorittamaan useimmissa laiteympäristöissä. Laitoksen koneissa tarvittavat jar tiedostoversiot eivät ole synkronissa, joten tämä ei toimi laitoksella. Tästä voisi huomauttaa Jaakkolalle ja kumppaneille. Toinen vaihtoehto olisi jakaa Ilpon mukana antia, joka ei olisi kovinkaan soveliasta. Alkuperäisen Ilpon testit olivat jo alun perin rikki, eikä Ilpo2 ryhmä ottanut työkseen niiden korjaamista. Alkuperäiset testit on nyt poistettu ja jäljellä ovat Heuristiikan ja AsetustiedostoLukijan JUnit-testit. Bugien korjaamisen yms. lokitustarpeeseen voitaisiin tulevaisuudessa ottaa käyttöön log4j:n, josta on ryhmän kokouksissa ollut keskustelua useaan otteeseen. 4.1 Järjestelmätestauksen aikana havaitut virheet Järjestelmätestauksen aikana löydetyt virheet on havaittu ja huomioitu, mutta ajan rajallisuuden vuoksi niiden korjaus on jätetty jatkoprojektille. Vaatimus 3.1.7 Usean opiskelija yhtäaikainen siirtäminen Toimii varauksella. Testattu seuraavasti: 1. Ilpon käynnistys 2. Perustettu uusi kurssi 3. Ladattu aiheet, oppilaat sekä oppilaiden suoritusotteet 4. Luotu kaksi tyhjää ryhmää 5. Valittu useita opiskelijoita opiskelijanäkymästä ja siirretty ne ryhmänäkymässä olevaan ryhmään 6. Valittu ryhmänäkymässä useita opiskelijapalloja ja siirretty ne opiskelijanäkymään Siirto opiskelijanäkymästä ryhmänäkymään toimii. Ryhmänäkymässä ryhmästä toiseen tai takaisin opiskelijanäkymään toimii odotetusti, mikäli opiskelijapalloja valitaan vain yhdestä ryhmästä. Valittaessa opiskelijapalloja useammasta ryhmästä ohjelma käyttäytyy odottamattomasti ja tämän ominaisuuden korjaaminen jätetään jatkoprojektille. 6

5 Toteuttamatta jääneet vaatimukset Tässä kappaleessa listataan Ilpo2 ryhmän toteuttamatta jääneet vaatimukset. Kaikki korkean tason vaatimukset on toteutettu ainakin osittain (ks. kappale 4). Normaalintason vaatimukset on lueteltu kappaleessa 5.1 ja matalantason vaatimukset kappaleessa 5.2. 5.1 Toteuttamattomat normaalintason vaatimukset Vaatimus 3.1.9 Ryhmien tietojen käsittelyn tulee olla mahdollista normaali Seuraavia ryhmän tietoja tulee pystyä tarkastelemaan/käsittelemään: ryhmän nimi, ryhmän aihe, ryhmän ohjaaja, ryhmän asiakas ja ryhmän kokoontumisajat. 3.3.3 Kalenteriosuuden tulee olla lisättävissä normaali Koodin tulee sisältää paikka ohjelmaan myöhemmin mahdollisesti lisättävälle kalenterille. 3.1.13 Opiskelijapallot tulee yksilöidä monivalinnassa normaali Opiskelijanäkymästä pitää pystyä valitsemaan useita opiskelijoita kerralla siten, että opiskelijapallot näkyvät korostettuina ja yksilöityinä ryhmänäkymässä. Kun useita opiskelijapalloja on valittuina, ovat opiskelijoiden tiedot näkyvillä tietonäkymässä. Nimen lisäksi tietonäkymässä tulee näkyä myös opiskelijan henkilötunnus. 7

5.2 Toteuttamattomat matalan tason vaatimukset Vaatimus 3.1.18 Ohjelman asetuksia on pystyttävä muuttamaan ohjelman sisältä matala Ohjelmassa on oltava dialogi, jolla ohjelman asetuksia voidaan muuttaa. Asetukset tallennetaan asetustiedostoon (kts. määrittelydokumentti vaatimus 3.1.3). 3.1.19 Ryhmätoiveita ja vastauksia tulee pystyä päivittämään matala Opiskelijan ryhmätoiveita ja vastauksia tulee pystyä muokkaamaan suoraan ohjelmasta. 3.1.20 Vapaamuotoista tekstiä tulee pystyä lisäämään projektiryhmiin matala Ohjelmistotuotantoprojektiryhmiin pitää voida lisätä vapaamuotoista tekstiä. 3.1.21 Ohjelman tulee tarjota kurssihistoria matala Ohjelman tulee tarjota käyttäjälle pikavalinnat, joista käyttäjä voi ladata korkeintaan viiden viimeksi käsitellyn kurssin joukosta haluamansa. 3.1.22 Ohjelman pitää sisältää kalenteri ryhmien kokoontumisajoista matala Ohjelmassa tulee olla kalenteri, josta näkyy valittuna olevan ryhmän kokoontumisajat. 8