• No results found

En webbportal för kursrapporter, kursvärderingar och kursresultat

N/A
N/A
Protected

Academic year: 2022

Share "En webbportal för kursrapporter, kursvärderingar och kursresultat"

Copied!
50
0
0

Loading.... (view fulltext now)

Full text

(1)

Sj ¨alvst ¨andigt arbete i informationsteknologi 8 juni 2020

En webbportal f ¨or kursrapporter, kursv ¨arderingar och kursresultat

Maja Danielsson Oscar Engl ¨of Erik Hellstr ¨om Christian Wir ´en

Civilingenj ¨orsprogrammet i informationsteknologi

(2)

Institutionen f ¨or informationsteknologi

Bes ¨oksadress:

ITC, Polacksbacken L ¨agerhyddsv ¨agen 2

Postadress:

Box 337 751 05 Uppsala

Hemsida:

https://www.it.uu.se

Abstract

En webbportal f ¨ or kursrapporter, kursv ¨arderingar och kursresultat

Maja Danielsson Oscar Engl ¨of Erik Hellstr ¨om Christian Wir ´en

A course evaluation is a survey sent out to all students after they have completed a course at Uppsala University. The objective of this survey is to allow the students to state their opinions of the course and give the course coordinatior an apprehension of how the students have perceived the course. This information can later be used to take necessary measures to increase the quality of the next instance of the course. The course coordinator compiles the students’ opinions from the course evaluation together with their own opinions and analysis about the course instance into a course report. All the course reports are uploaded to a website called Medarbetarportalen but they are stored in an unorganized directory structure and there is no way of searching for a specific report or other information about a course instance. Moreover, students are only able to read the course report from an instance of a course that they participated in. Making this information easily accessible would be beneficial for the evolvement of a better education.

We have therefore created a portal which makes it possible for students,

course coordinators, director of studies, education prefects and other

employees at Uppsala University to easily find information regarding

earlier course instances. This information consists of course reports,

course evaluations, avarage grades as well as the number of students

registered on the course instance. The portal also offers an easy way for

course coordinators to write course reports. Both through user testing

and continous communication with employees at the IT institution the

system has gotten positive feedback and the result was a working and

useful portal with good requisites for further developement and launch

by Uppsala University.

(3)

Extern handledare: Tobias Wrigstad, Utbildningsprefekt p˚a institutionen f¨or informationstekno- logi

Handledare: Mats Daniels, Anne Peters, Bj¨orn Victor och Tina Vrieler

Examinator: Bj¨orn Victor

(4)

Sammanfattning

En kursv¨ardering ¨ar en enk¨at som skickas ut till alla studenter efter att de genomf¨ort ett kurstillf¨alle p˚a Uppsala universitet. Syftet med denna enk¨at ¨ar att ge studenterna en chans att tycka till om kursen och ge kursansvarig en uppfattning om hur studenterna har upplevt kursen f¨or att sedan kunna anv¨anda detta som underlag f¨or att vidta ˚atg¨arder till n¨asta kurstillf¨alle och p˚a s˚a s¨att f¨orb¨attra utbildningen. Kursansvarige sammanst¨aller sedan kursv¨arderingen tillsammans med vilka ˚atg¨arder som ska g¨oras inf¨or n¨asta kurs- tillf¨alle till en kursrapport.

Problemet ¨ar att studenter och anst¨allda p˚a Uppsala universitet inte l¨att kan s¨oka r¨att p˚a varken kursrapporter, kursv¨arderingar eller reslutat fr˚an olika kurstillf¨allen. Alla kurs- rapporter laddas upp p˚a en hemsida som heter Medarbetarportlalen men d¨ar ligger de i en oorganiserad katalogstruktur och det ¨ar itne m¨ojligt att s¨oka r¨att p˚a en specifik rap- port eller annan information om ett visst kurstillf¨alle. Dessutom har studenten endast m¨ojlighet att l¨asa kursrapporter fr˚an kurstillf¨allen som de sj¨alva har deltagit p˚a. Att g¨ora denna information l¨attillg¨anglig ¨ar f¨ordelaktigt f¨or utvecklingen av en b¨attre utbildning.

Vi har d¨arf¨or skapat en portal som g¨or det m¨ojligt f¨or studenter, kursansvariga, studie- rektorer, utbildningsprefekter och andra anst¨allda p˚a Uppsala universitet att s¨oka r¨att p˚a information om tidigare kurstillf¨allen. Denna information best˚ar av kursrapporter, kur- sv¨arderingar, genomsnittsbetyg samt antal studenter p˚a kurstillf¨allet. Portalen g¨or det

¨aven m¨ojligt f¨or kursansvarig att skriva kursrapporter.

B˚ade genom anv¨andartester och kontinuerlig kommunikation med anst¨allda p˚a IT-institutionen

har systemet f˚att positivt gensvar och resultatet blev en fungerande och anv¨andbar platt-

form med goda f¨oruts¨attningar f¨or vidareutveckling och lansering av Uppsala universi-

tet.

(5)

Inneh ˚all

1 Introduktion 1

2 Bakgrund 2

2.1 Syftet och arbetet med kursv¨arderingar . . . . 2

2.2 Syftet och arbetet med kursrapporter . . . . 3

2.3 Problembeskrivning . . . . 3

2.4 Extern intressent . . . . 4

2.5 M˚albeskrivning & m˚algrupp . . . . 5

3 Syfte, m˚al, och motivation 5 3.1 H˚allbarhetsm˚al . . . . 6

3.2 Avgr¨ansningar . . . . 7

3.3 Etiska fr˚agest¨allningar . . . . 7

4 Relaterat arbete 8 4.1 En l¨attillg¨anglig portal f¨or kursv¨arderingar, kursrapporter och kursresultat 8 4.2 Kursv¨arderingar p˚a Institutionen f¨or biologisk grundutbildning . . . . . 9

5 Metod/Tillv¨agag˚angss¨att/Tekniker 10 5.1 Vue . . . . 10

5.2 MongoDB . . . . 11

5.3 Node.js . . . . 11

5.4 Express . . . . 12

5.5 REST och JSON . . . . 12

6 Systemstruktur 13

(6)

7 Krav och utv¨arderingsmetoder 14

7.1 Funktionalitetskrav f¨or anv¨andare . . . . 15

8 Implementation 16 8.1 Startsidan . . . . 17

8.2 Kurssidan . . . . 19

8.2.1 Kommentarer . . . . 20

8.3 Inloggning . . . . 21

8.3.1 CAS . . . . 22

8.4 Mina kurser . . . . 23

8.4.1 Skriva kursrapport . . . . 24

8.4.2 Val av fr˚agor . . . . 26

8.5 Ladda upp CSV-filer . . . . 27

9 Utv¨arderingsresultat 27 9.1 Anv¨andartester . . . . 28

9.2 Funktionalitetsresultat . . . . 29

10 Resultat och diskussion 30 11 Slutsatser 31 12 Framtida arbete 32 A Anv¨andartester 37 A.1 Testanv¨andare 1 . . . . 38

A.1.1 Uppgifter f¨or en student . . . . 38

A.1.2 Uppgifter f¨or en kursansvarig . . . . 38

(7)

A.2 Testanv¨andare 2 . . . . 39

A.2.1 Uppgifter f¨or en student . . . . 39

A.2.2 Uppgifter f¨or en kursansvarig . . . . 40

A.3 Testanv¨andare 3 . . . . 40

A.3.1 Uppgifter f¨or en student . . . . 40

A.3.2 Uppgifter f¨or en kursansvarig . . . . 41

A.4 Testanv¨andare 4 . . . . 41

A.4.1 Uppgifter f¨or en student . . . . 41

A.4.2 Uppgifter f¨or en kursansvarig . . . . 42

Figurer 1 Oversiktlig bild p˚a systemstrukturen och hur de olika delarna i systemet ¨ beror p˚a och kommunicerar med varandra. De olika rutorna motsvarar en komponent i systemet och pilarna visar hur de olika komponenterna kommunicerar med varandra. . . . 13

2 Bild p˚a strukturen i databasen. De olika rutorna motsvarar olika lager i en n¨astlad struktur d¨ar. . . . 13

3 En bild p˚a en pappersprototyp av startsidan i b¨orjan av utvecklingspro- cessen. H¨ar kan man se hur anv¨andaren kan s¨oka p˚a kurser och logga ut. . . . 16

4 En bild fr˚an b¨orjan av utvecklingsprocessen p˚a en pappersprototyp av sidan som dyker upp efter att anv¨andaren har g˚att in p˚a en kurs, h¨ar syns alla olika kurstillf¨allen . . . . 17

5 Startsidan som inneh˚aller ett f¨alt f¨or att s¨oka p˚a kurser, samt m¨ojligheten att logga in uppe i h¨ogra h¨ornet. . . . . 17

6 Startsidan efter inloggning som anst¨alld, h¨ar kan man se de tv˚a naviga- tionsknapparna och namnet som dyker upp efter inloggning. . . . 18

7 Startsidan efter en s¨okning p˚a ordet algebra. . . . 18

(8)

8 En bild som visar hur det ser ut l¨angst ner p˚a startsidan d¨ar knappen f¨or

att ladda fler tr¨affar finns. . . . 19

9 Kurssidan f¨or kursen ”Imperativ och objektorienterad programmerings- metodik”, kurstillf¨allet som visas ¨ar h¨ostterminen 2019, f¨orsta perioden. 20 10 En kommentar p˚a en kursrapport. . . . 21

11 Sidbar som visas efter att anv¨andaren klickar p˚a sitt namn. . . . 22

12 Inloggning via CAS. . . . 23

13 Sidan d¨ar kursansvariga kan se de kurser som de ¨ar ansvariga f¨or. . . . . 24

14 Sidan f¨or kursansvariga att skriva en kursrapport, h¨ar kan man se vilken kurs och vilket kurstillf¨alle kursrapporten tillh¨or och alla standardfr˚agor som utg¨or kursrapporten. . . . 25

15 H¨ar ser man hur det synligg¨ors f¨or den som redigerar kursrapporten av vem och n¨ar kursrapporten har blivit redigerad. . . . 26

16 Sidan f¨or uppladdning av CSV-filer fr˚an kursansvariga . . . . 27

17 Navigationsbaren med de adderade knapparna f¨or kursansvarig . . . . . 29

(9)

1 Introduktion

Ordlista

API: ”Application programming interface” ¨ar en mjukvarukomponent i applikationer som m¨ojligg¨or kommunikation med annan programvara. Det blir ett slags gr¨anssnitt f¨or programvara att interagera med applikationer [2]. I denna rapport refereras det till som API.

CSV: ”Comma-seperated values” ¨ar ett vanligt filformat f¨or tabelldata, namnet kommer ifr˚an att datan helt enkelt separeras med komma-tecken [4]. Filformat anv¨ands i pro- jektet f¨or att ladda upp svar fr˚an kursv¨arderingar och refereras till i denna rapport som CSV.

1 Introduktion

N¨ar en kurs har avslutats p˚a Uppsala universitet s˚a sammanfattar den kursansvarige kurstillf¨allet till n˚agot som kallas f¨or kursrapport. Vid Uppsala universitet ska kursrap- porten inneh˚alla student- och l¨ararsynpunkter och redovisa kursens svaga och starka sidor samt f¨orslag p˚a eventuella ˚atg¨arder [14]. Ett viktigt underlag f¨or kursrapporten ¨ar kursv¨arderingar, vilket ¨ar enk¨ater som skickas ut till alla studenter efter ett genomf¨ort kurstillf¨alle. Enligt h¨ogskolelagen ska studenter ha r¨att att ut¨ova inflytande p˚a utbild- ningen [30], och h¨ogskolor m˚aste skicka ut kursv¨arderingar enligt h¨ogskolef¨orordningen [31]. Kursrapporter samt kursv¨arderingar ¨ar en viktig del f¨or kontinuerlig f¨orb¨attring av utbildningen p˚a universitet [14]. Genom att ge studenter m¨ojligheten att p˚averka och ge kursansvariga, utbildningsprefekter och studierektorer m¨ojligheten att ta del av studen- ternas ˚asikter om kurserna kan de anv¨anda dessa som underlag i kvalitetsarbetet och dra slutsatser kring vilka ˚atg¨arder som kan vara l¨ampliga att vidta.

I dagsl¨aget kan studenter som har genomf¨ort en kurs hitta kursv¨arderingen och kursrap- porten f¨or just det kurstillf¨allet. Kursv¨arderingar och kursrapporter fr˚an tidigare kurs- tillf¨allen och andra kurser ¨ar d¨aremot otillg¨angliga f¨or studenter.

Kursansvariga, utbildningsprefekter och studierektorer kan hitta alla kursrapporter f¨or alla kurser men inte p˚a ett effektivt s¨att eftersom de ligger i en ostrukturerad katalogs- truktur. Detta f¨orsv˚arar arbetet med kvalitetsutvecklingen av kurserna p˚a Uppsala uni- versitet eftersom det inte l¨att g˚ar att s¨oka r¨att p˚a kursrapporter och j¨amf¨ora dem med varandra eller se vilka kurstillf¨allen som saknar kursrapport.

Genom detta projekt har en webbportal skapats som g¨or det m¨ojligt att s¨oka p˚a olika kur-

ser och kurstillf¨allen f¨or att se tillh¨orande kursrapporter. Dessutom kan anv¨andarna se

(10)

2 Bakgrund

betygsgenomsnitt, medelv¨arden p˚a standardiserade flervalsfr˚agor fr˚an kursv¨arderingarna p˚a varje kurstillf¨alle. De senare illustreras av en grafisk representation av hur dessa v¨arden har f¨or¨andrats mellan kurstillf¨allen.

Kursansvariga, utbildningsprefekter och studierektorer kan med hj¨alp av webbportalen enkelt se vilka kurstillf¨allen som saknar kursrapport. Kursansvariga kan ¨aven skriva kursrapporter och ladda upp standardiserade flervalsfr˚agor fr˚an kursv¨arderingar.

Webbportalen ¨ar ett anv¨andbart verktyg f¨or att skapa, hitta och j¨amf¨ora kursrapporter och kursv¨arderingar och kan d¨arf¨or underl¨atta kvalitetsutvecklingen av utbildningen.

Portalen utg¨or en bra grund f¨or vidareutveckling av Uppsala universitet och kraven som st¨allts har uppfyllts och anv¨andartester har s¨akerst¨allt att gr¨anssnittet ¨ar v¨al anpassat f¨or syftet.

2 Bakgrund

F¨or att Uppsala universitet ska kunna uppr¨atth˚alla en god kvalitet i utbildningen som er- bjuds kr¨avs kontinuerlig kvalitetsutveckling av kurser. F¨or att underl¨atta kvalitetsutveck- lingen utv¨arderas varje kurs efter varje genomf¨ort kurstillf¨alle. Enligt h¨ogskolelagen ska studenterna ha r¨att att ut¨ova inflytande ¨over utbildningen vid h¨ogskolor [30]. Kur- sv¨arderingar ¨ar ett s¨att f¨or studenter att p˚a ett strukturerat s¨att reflektera och ge ˚asikter om sin utbildning p˚a Uppsala universitet. Kursansvarig sammanst¨aller sedan kursv¨arderingen tillsammans med egna ˚asikter samt f¨orslag p˚a ¨andringar inf¨or kommande kurstillf¨allen till n˚agot som kallas f¨or kursrapport. Kursv¨arderingarna tillsammans med kursrappor- terna ¨ar viktiga underlag f¨or universitets kvalitetsutveckling [14].

2.1 Syftet och arbetet med kursv ¨arderingar

Studenter blir ombedda att svara p˚a en kursv¨ardering efter varje g˚ang de genomf¨ort ett kurstillf¨alle. Kursv¨arderingar best˚ar av olika fr˚agor som kursansvarige v¨aljer ut och kan best˚a av b˚ade flervalsfr˚agor och fritextfr˚agor. Dessa fr˚agor ska enligt riktlinjer- na f¨or kursrapporter p˚a Uppsala universitet [21] best˚a av fakultetsgemensamma fr˚agor som som anvisas av naturvetenskapliga och tekniska utbildningsn¨amnderna och ¨ovriga kursspecifika fr˚agor om den kursansvarige finner detta gynnsamt. Vanligtvis s˚a till˚ater kursv¨arderingen bland annat studenter att ange sitt generella helhetsintryck av kur- sen och i vilken utstr¨ackning de anstr¨angt sig f¨or att tillgodog¨ora sig kursmaterialet.

I dagsl¨aget g¨ors dessa kursv¨arderingar p˚a Studentportalen som ¨ar den prim¨ara webb-

portalen f¨or studenter och l¨arare p˚a Uppsala universitet. I Studentportalen har studenter

(11)

2 Bakgrund

endast tillg˚ang till kursv¨arderingar och kursrapporter p˚a de kurstillf¨allen som studenter- na har genomf¨ort.

2.2 Syftet och arbetet med kursrapporter

Efter att en kursv¨ardering har gjorts granskas f¨orst fritextsvaren av en designerad granska- re som inte ¨ar en student eller kursansvarig f¨or kurstillf¨allet. Detta sker f¨or att kontrollera att ingen student eller kursansvarig blir kr¨ankt av fritextsvaren [21]. Efter granskning- en av kursv¨arderingen sammanst¨aller kursansvarige en kursrapport som kan inneh˚alla en sammanst¨allning av de fr˚agor som tagits upp p˚a kursv¨arderingen, betygsf¨ordelning, kommentarer fr˚an kursansvarige och f¨orslag p˚a ¨andringar inf¨or n¨asta kurstillf¨alle. Enligt riktlinjer f¨or kursrapporter vid Uppsala universitet ska kursrapporten inneh˚alla student- och l¨ararsynpunkter och redovisa kursens svaga och starka sidor samt f¨orslag p˚a eventu- ella ˚atg¨arder, centrala synpunkter fr˚an studenternas fritextsvar fr˚an kursv¨arderingen ska sammanfattas och redovisas i kursrapporten [14]. Den b¨or ¨aven inneh˚alla antal studen- ter registrerade p˚a kursen samt betygsf¨ordelning vilket ¨ar information som i dagsl¨aget finns p˚a universitetets studieregister Ladok [12] men som m˚aste avl¨asas och manuellt skrivas in i kursrapporten av den kursansvarige.

Kursrapporten finns som sagt tillg¨anglig f¨or studenter som g˚att kursen vid tillh¨orande kurstillf¨alle, vilket f¨oljer h¨ogskolef¨orordningen som s¨ager att ”H¨ogskolan skall sam- manst¨alla kursv¨arderingarna samt informera om resultaten och eventuella beslut om

˚atg¨arder som f¨oranleds av kursv¨arderingarna. Resultaten skall h˚allas tillg¨angliga f¨or stu- denterna” [30]. Kursrapporten l¨aggs ¨aven upp p˚a Medarbetarportalen vilket ¨ar en portal f¨or de anst¨allda p˚a Uppsala universitet.

2.3 Problembeskrivning

P˚a Uppsala Universitet ¨ar det endast studenter som har genomf¨ort kurstillf¨allet som kan f˚a tillg˚ang till tillh¨orande kursv¨ardering och kursrapport. Detta betyder att studen- ter till exempel inte kan f˚a en ¨overblick ¨over vad tidigare studenter tyckte om en kurs genom kursv¨ardering och kursrapport. Kursrapporten inneh˚aller ¨aven eventuella kom- mande ¨andringar p˚a kursen vilket kan vara intressant f¨or en student som ska l¨asa kursen att ta del av. De kan inte heller se hur m˚anga som tidigare klarat kursen och deras be- tygsf¨ordelning. En student skulle kunna f¨orbereda sig b¨attre inf¨or en kurs genom att f˚a ta del av denna information.

Kursansvariga, studierektorer och utbildningsprefekter har tillg˚ang till kursrapporterna

p˚a Medarbetarportalen men d¨ar ligger kursrapporterna i en ostrukturerad katalogstruk-

(12)

2 Bakgrund

tur vilket g¨or att de inte l¨att kan s¨oka r¨att p˚a kursrapporterna de vill komma ˚at. Endast de kurstillf¨allen som har en kursrapport finns med i denna katalogstruktur vilket g¨or det v¨aldigt sv˚art att se vilka kurstillf¨allen som inte har en f¨ardigst¨alld kursrapport. Ef- tersom kursrapporterna inte l¨att g˚ar att s¨oka r¨att p˚a s˚a f¨orsv˚arar det m¨ojligheten att se upp˚atg˚aende eller ned˚atg˚aende trender mellan olika kurstillf¨allen f¨or att anv¨anda det- ta som underlag i en analys ang˚aende eventuella ˚atg¨arder som kan vidtas. Exempel p˚a s˚adana trender kan vara att betygsnittet sjunker drastiskt eller att det generella intrycket av kursen fr˚an studenter f¨ors¨amras.

I h¨ogskolelagen st˚ar det att ”De tillg¨angliga resurserna skall utnyttjas effektivt f¨or att h˚alla en h¨og kvalitet i verksamheten.” [30]. N¨ar man tittar p˚a tidigare kursrapporter som en tillg¨anglig resurs f¨or kvalitetsarbete b¨or de vara l¨atttillg¨angliga f¨or att de skall utnyttjas effektivt.

Sammanfattningsvis s˚a saknas en gemensam portal f¨or alla som ¨ar p˚averkade av uni- versitetets kvalitetsarbete. Detta leder till att studenter har sv˚art att bli mer delaktiga i kvalitetsarbetet. Kursansvariga har ingen bra plattform f¨or att hantera kursv¨arderingar och kursrapporter. Studierektorer och utbildningsprefekter har ingen bra plattform f¨or att ¨overvaka arbetet med kursv¨arderingar och kursrapporter.

2.4 Extern intressent

Tobias Wrigstad ¨ar projektets externa intressent och uppdragsgivare och ¨ar utbildnings- prefekt p˚a institutionen f¨or informationsteknologi p˚a Uppsala universitet. D¨armed an- svarar han f¨or de tekniska och administrativa funktionerna inom institutionen, studen- ternas studievillkor och studiemilj¨o och f¨orv¨antas verka f¨or hela universitetets utveck- ling [32]. Projektet kommer d¨armed st¨odja honom i arbetet med dessa uppgifter genom att bidra med portal d¨ar han enklare kan f˚a en ¨overblick ¨over kvalitetsarbetet p˚a utbild- ningen.

Enligt Tobias s˚a beh¨over m˚anga kurser i stort s¨att ingen omfattande kursrapport ef-

tersom de fungerar bra och inte beh¨over ˚atg¨ardas. D¨arf¨or har han beslutat att kurs-

rapporter kan skapas p˚a tv˚a olika s¨att. Om kursen ¨ar ny eller har genomg˚att st¨orre

f¨or¨andringar fr˚an tidigare kurstillf¨alle som exempelvis ett nytt examinerade moment

eller f¨arre f¨orel¨asningar s˚a skapas kursen genom ett st¨orre antal standardfr˚agor f¨or att

mer genomg˚aende kunna analysera hur kurstillf¨allet har fungerat. Ett st¨orre antal fr˚agor

skulle ¨aven l¨ampa sig om kursen inte genomg˚att f¨or¨andringar men att studenterna. ge-

nom kursv¨arderingen, eller den kursansvarige sj¨alv uppfattar att kursen inte fungerar p˚a

ett ¨onskv¨art s¨att. Om kursen d¨aremot fungerar bra enligt b˚ade studenter och kursansva-

rig och inte beh¨over ˚atg¨ardas s˚a best˚ar kursrapporten bara av ett f˚atal standardfr˚agor.

(13)

3 Syfte, m˚al, och motivation

Alla dessa standardfr˚agor ¨ar framtagna tillsammans med Tobias Wrigstad och riktlin- jerna f¨or kursrapporter [29]. Med standardfr˚agor kan kursrapporter dessutom bli l¨attare att j¨amf¨ora med varandra, vilket ¨ar f¨ordelaktigt n¨ar till exempel en studierektor eller utbildningsprefekt vill se hur en kurs utvecklas ¨over tid.

2.5 M ˚albeskrivning & m ˚algrupp

Projektet ¨ar ¨amnat f¨or studenter, kursansvariga, studierektorer och utbildningsprefekter.

Studenter ska kunna hitta relevant information om f¨oreg˚aende kurstillf¨allen i form av kursrapporter, kursv¨arderingar och betygsf¨ordelning. Kursansvarig, studierektorer och utbildningsprefekter ska l¨att kunna s¨oka r¨att p˚a kursrapporterna f¨or varje kurstillf¨alle och se vilka kurstillf¨allen som inte har en f¨ardigst¨alld kursrapport. De ska ¨aven kunna se hur v¨al kurstillf¨allena genomf¨orts av studenter genom att se betygsf¨ordelning och hur m˚anga som klarat kurstillf¨allet. Kursansvariga ska dessutom kunna skriva kursrapporter som n¨amndes i f¨oreg˚aende avsnitt.

3 Syfte, m ˚al, och motivation

Som n¨amnt i avsnitt 2 s˚a ¨ar kontinuerligt kvalitetsarbete en viktig aspekt i att uppr¨atth˚alla h¨og standard p˚a utbildningen. Kursrapporter och kursv¨arderingar ¨ar viktiga underlag f¨or kvalitetsutveckligen men i dagsl¨aget s˚a bromsas denna utveckling till f¨oljd av att kurs- rapporter och kursv¨arderingar ¨ar otillg¨angliga och inte enkelt kan arbetas med. De kan inte s¨okas efter och ¨ar sv˚ara att j¨amf¨ora mellan kurstillf¨allen. Syftet med detta pro- jekt var d¨arf¨or att underl¨atta kvalitetsarbetet kring kurser p˚a Uppsala universitet och synligg¨ora detta f¨or alla som p˚averkas av kvalitetsarbetet. M˚alet blev d¨arav att skapa en portal med syfte att att underl¨atta f¨or studenter, kursansvariga, studierektorer och utbildningsprefekter att hitta kursrapporter och kursv¨arderingar. P˚a portalen samlas in- formation om en kurs i form av kursrapporter och resultat fr˚an kursv¨arderingar p˚a ett och samma st¨alle. Genom detta ¨ar det t¨ankt att bli l¨attare f¨or alla intressenter att f˚a en

¨oversk˚adlig bild ¨over hur kurser har upplevts av studenter och kursledning fr˚an ˚ar till

˚ar. I kombination med detta tillhandah˚aller portalen ¨aven ett s¨att att skapa kursrapporter som f¨orhoppningsvis underl¨attar denna process f¨or kursansvarige. Slutligen m¨ojligg¨or portalen f¨or alla intressenter att kunna kommentera p˚a kursrapporter som skrivits vid ett kurstillf¨alle. Detta kan utnyttjas om de anser att det som presenteras i rapporten in- te st¨ammer ¨overens med deras uppfattning eller om de har fr˚agor eller svar ang˚aende kursrapporten.

Portalen get ¨aven presumtiva studenter m¨ojlighet att f˚a en bild av hur studenter som

(14)

3 Syfte, m˚al, och motivation

tidigare l¨ast kursen har uppfattat den. De kan ¨aven se hur kursen har utvecklats ¨over tid vilket i sin tur hj¨alper dem att s¨akerst¨alla att kursen h˚aller en god kvalitet [14]

Ett problem med processen att skapa kursrapporter i dagsl¨aget ¨ar att det inte finns n˚agon struktur kring formatet p˚a dessa. Detta problem kommer v˚ar plattform f¨or kursrapporter att l¨osa genom att ha ett antal standardfr˚agor som ska besvaras p˚a alla kurser. Dessa standardfr˚agor ¨ar i dagsl¨aget tagna fr˚an mallen f¨or kursrapporter p˚a Uppsala universi- tet [29]. Tanken ¨ar att valet av standardfr˚agor senare ska tas fram av Tobias Wrigstad tillsammans med andra kursansvariga och rektorer f¨or att f˚a fram de mest relevanta fr˚agor att st¨alla. Genom att ha ett antal standardiserade fr˚agor s˚a blir det enkelt f¨or kur- sansvariga, prefekter och rektorer att j¨amf¨ora svaren fr˚an tidigare ˚ar eller mellan kurser.

Att till˚ata studenter som deltagit p˚a ett visst kurstillf¨alle att kommentera p˚a tillh¨orande kursrapport ¨ar ocks˚a n˚agot som kan bidra till utvecklingsarbetet av en kurs [14]. N¨ar en kursansvarig sammanfattar svaren fr˚an en kursv¨ardering till en kursrapport s˚a finns det en risk att inneh˚allet blir vinklat och d¨arf¨or kan det vara l¨ampligt att l˚ata studenter grans- ka det och kunna uttrycka om de inte h˚aller med om vad som st˚ar. Dessa kommentarer kommer vara synliga f¨or alla till en b¨orjan men likt fritextsvaren fr˚an kursv¨arderingar som granskas f¨or att minska risken att n˚agon blir kr¨ankt (se avsnitt 2.2) s˚a beh¨over ¨aven vi t¨anka p˚a att filtrera ut kr¨ankande och ol¨ampliga kommentarer.

3.1 H ˚allbarhetsm ˚al

Detta projekt aspirerar p˚a att g¨ora information om kurser s˚asom kursrapporter och kur- sv¨arderingar mer tillg¨angligt f¨or alla som skulle kunna vara intresserade. Om denna information ¨ar mer tillg¨anglig s˚a kan det bidra till en b¨attre utbildningskvalit´e. Som n¨amnt i det tidigare stycket kan studenter l¨ara sig av tidigare studenter genom att l¨asa tidigare kursrapporter och kursv¨arderingar, f¨or att sedan sj¨alva genomf¨ora kursen b¨attre.

Kursansvariga och rektorer kan f˚a tillg˚ang till v¨ardefull beslutsunderlag f¨or att f¨orb¨attra

kurserna genom att ha mer tillg¨anglig information. D˚a det idag inte finns n˚agot verk-

tyg f¨or att se andra studenters upplevelse av kurser begr¨ansas ¨aven informationen till

att spridas muntligt. Det inneb¨ar att ˚atkomst till viktig information begr¨ansas av sociala

faktorer vilket inte ger samma m¨ojligheter f¨or alla. Genom att informationen blir mer

tillg¨anglig f¨or alla som skulle kunna beh¨ova den kan detta projekt fr¨amja en inklude-

rande och likv¨ardig utbildning av god kvalitet. Detta ¨ar en del av FN:s h˚allbarhetsm˚al

nummer 4 [16], god utbildning f¨or alla.

(15)

3 Syfte, m˚al, och motivation

3.2 Avgr ¨ansningar

F¨or att tillhandah˚alla s˚a mycket v¨ardefull information som m¨ojligt ang˚aende ett kurs- tillf¨alle s˚a beh¨over kommunikation ske mellan v˚art och externa system. Dessa system inkluderar Ladok [12] och AKKA [1] som ¨ar universitetets gemensamma katalog- och beh¨orighetssystem. Att f˚a ˚atkomst till data fr˚an dessa system ¨ar n˚agot som tar tid och

¨ar inte m¨ojligt f¨or studenter. Detta beror p˚a att datan anses vara k¨anslig information och tillg˚ang till den kan missbrukas i fel h¨ander. Med hj¨alp av v˚ar externa intressent kommer detta dock vara m¨ojligt att f˚a tillg˚ang till senare i utvecklingsprocessen. Det- ta begr¨ansar i nul¨aget d¨aremot viss funktionalitet i v˚art system. Delvis g˚ar det inte i nul¨aget att urskilja olika typer av anv¨andare baserat p˚a deras inloggning utan denna data har under utvecklingsfasen varit f¨orutbest¨amd. Ytterligare en avgr¨ansning som har varit n¨odv¨andig att g¨ora p˚a grund av detta ¨ar att underl¨atta f¨or den kursansvarige i arbetet kring kursrapporter genom att h¨amta antalet registrerade studenter p˚a en kurs samt be- tygsf¨ordelningen automatiskt. Detta ¨ar information som b¨or finnas med i en kursrapport och i dagsl¨aget m˚aste avl¨asas manuellt fr˚an Ladok och fyllas i i kursrapporten. I och med ett framtida samarbete med Ladok kommer denna information kunna f¨orses au- tomatiskt. Antalet registrerade studenter p˚a ett kurstillf¨alle ¨ar ¨aven viktig information f¨or att avg¨ora svarsfrekvensen p˚a en kursv¨ardering. Varf¨or det ¨ar avg¨orande att veta svarsfrekvensen diskuteras vidare i avsnitt 3.3.

I avsnitt 3 n¨amns det att projektet beh¨over filtrera ut kommentarer som ¨ar ol¨ampliga eller kr¨ankande. P˚a grund av tidsbrist har vi inte hunnit implementera en fullst¨andig l¨osning f¨or detta men en partiell l¨osning presenteras i avsnitt 8.2.1 och ytterligare f¨orslag p˚a hur denna l¨osning kan vidareutvecklas diskuteras i avsnitt 12, framtida arbete. D¨ar n¨amns

¨aven andra ut¨okningar av kommentarsystemet som b˚ade vi och v˚ar externa intressent skulle vilja se.

Metoden f¨or att dela upp ett l¨as˚ar i olika perioder skiljer sig mellan de olika fakulteterna p˚a Uppsala universitet s˚a f¨or att underl¨atta arbetet med detta ¨ar systemet i dagsl¨aget endast anpassat f¨or den teknisk-naturvetenskapliga fakulteten.

3.3 Etiska fr ˚agest ¨allningar

Kursv¨arderingar ¨ar inte perfekta verktyg f¨or att avg¨ora hur bra en kurs fungerar. Hur

en kurs upplevs av en student ¨ar ytterst subjektivt detta ¨ar n˚agot som b¨or tas i beaktan-

de. Om en kursv¨ardering endast fylls i av h¨alften av studenterna som har deltagit vid

kurstillf¨allet och dessa r˚akar ha samma uppfattning om hur kursen fungerade s˚a betyder

detta inte n¨odv¨andigtvis att kursen funderade p˚a det viset. Det ¨ar d¨arf¨or viktigt f¨or por-

talen att inte utge sig f¨or att vara ett facit p˚a hur en kurs har upplevts. F¨or att se till detta

(16)

4 Relaterat arbete

s˚a skulle det vara gynnsamt att svarsfrekvensen p˚a en kursv¨ardering tydligt framg˚ar p˚a portalen. Dessutom skulle det vara l¨ampligt att inkludera en ansvarsfriskrivning p˚a por- talen d¨ar det tydligt framg˚ar att man ska l¨asa kursrapporten och kursv¨arderingarna med beaktande till att det som st˚ar inte n¨odv¨andigtvis utg¨or hela sanningen.

F¨or att kommentera p˚a en kursrapport beh¨over en student vara inloggad och d¨armed b¨or anv¨andarens integritet beaktas. B˚ade fr˚an studentens perspektiv och enligt enheten f¨or kvalitet och utv¨ardering vid Uppsala universitet s˚a ¨ar det viktigt att studenterna har m¨ojlighet att anonymt framf¨ora sina ˚asikter [14]. En student som exempelvis k¨anner sig diskriminerad m˚aste kunna uttrycka det utan r¨adsla f¨or att bli utpekad. Fr˚an kursansva- riges perspektiv kan det vara problematiskt om kommentarer kan skrivas anonymt, d˚a det skulle kunna leda till att studenter k¨anner sig mer bekv¨ama att uttrycka sig ol¨ampligt eller skriva kr¨ankande kommentarer. En l¨osning p˚a detta ¨ar att l˚ata studenter kommen- tera anonymt men att m¨ojligheten finns att flagga en kommentar som ol¨amplig och att denna kan granskas och tas bort av en oberoende tredje part.

Vidare p˚a aspekten av den kursansvariges integritet s˚a ¨ar det viktigt att ta h¨ansyn till att det ¨ar en form av bed¨omning av l¨araren och dess kompetens som sker genom kur- sv¨arderingar. Detta ¨ar n˚agot som ska beaktas i allt arbete med kursv¨arderingar enligt Enheten f¨or kvalitet och utv¨ardering [14]. Genom att inte publicera n˚agra fritextsvar skrivna av studenter i en kursv¨ardering p˚a v˚ar portal s˚a bibeh˚alls den kursansvariges integritet till viss del. Det generella omd¨omet av en kurs, i form av den sammanst¨allda kursrapporten kommer dock publiceras, och om denna innefattar att kursen inte funge- rar p˚a ett ¨onskv¨art s¨att s˚a skulle detta kunna medf¨ora att den kursansvarige k¨anner sig obekv¨am med att detta synligg¨ors genom portalen. ˚ A andra sidan ¨ar kursrapporter och enk¨atsvar att betrakta som allm¨anna n¨ar de ¨ar f¨ardigst¨allda [14] vilket ¨ar ett argument f¨or att det borde vara f¨orsvarbart att synligg¨ora informationen. Vi har ¨aven valt att inte synligg¨ora den kursansvariges namn p˚a portalen f¨or att skydda dess identitet, ¨aven fast denna information finns tillg¨anglig p˚a annat h˚all.

4 Relaterat arbete

4.1 En l ¨attillg ¨anglig portal f ¨ or kursv ¨arderingar, kursrappor- ter och kursresultat

Under kursen Sj¨alvst¨andigt arbete i informationsteknologi p˚a Uppsala universitet ˚ar

2019 s˚a skrevs rapporten ”En l¨attillg¨anglig portal f¨or kurv¨arderingar, kursrapporter och

kursresultat” [19]. I denna rapport beskrivs en prototyp som skapades med avsikt att l¨osa

en del av de problem som v˚art system avser att l¨osa. Dessa l¨osningar inkluderar bland

(17)

4 Relaterat arbete

annat att synligg¨ora information ang˚aende kurser och kurstillf¨allen vid Uppsala uni- versitet s˚a som studenternas omd¨ome baserat p˚a kursv¨arderingar och betygsf¨ordelning.

Genom detta ¨ar det t¨ankt att kursledning och studierektorer enklare ska kunna j¨amf¨ora dessa parametrar olika kurstillf¨allen emellan. Vidare ska studenter och studierektorer enkelt kunna l¨asa kursrapporter skrivna av kursledningen och studierektorer ska kunna sp˚ara vilka kurser som saknar kursrapporter. Denna prototyp inneh˚aller riktiga kurs- tillf¨allen vid Uppsala universitet, men ¨ar begr¨ansad av p˚ahittat data f¨or att illusterera portalens funktionalitet.

I rapporten presenterades en unders¨okning gjord p˚a 80 studenter. D¨ar visade det sig att 59% av deltagarna skulle l¨asa tidigare kursv¨arderingar gjorda p˚a en kurs innan de sj¨alva b¨orjade l¨asa kursen om de fanns tillg¨angliga. 75% skulle vilja ta del av tidigare studen- ters omd¨ome av kurser och drygt 61% ville kunna se betygsf¨ordelningen p˚a kurserna.

En ytterligare slutsats som kunde dras fr˚an denna unders¨okning var att studenter skulle ha mer incitament och motivation att svara p˚a kursv¨arderingar om de visste att deras

˚asikter faktiskt gjorde skillnad och synliggjordes f¨or framtida studenter.

Det som ¨ar likt mellan prototypen fr˚an 2019 och portalen som vi har skapat ¨ar att anv¨andaren kan s¨oka r¨att p˚a kurser och kurstillf¨allen, f¨or att sedan se kursrapporter, grafisk representation av svar fr˚an kursv¨arderingar, betygsf¨ordelning och antal registre- rade studenter. I prototypen fr˚an 2019 kan hela kursv¨arderingar ses och hur stor an- del av studenterna som svarat p˚a kursv¨arderingen, detta kan inte ses i portalen som vi har skapat. De funktioner som finns i v˚ar portal men inte i prototypen fr˚an 2019

¨ar m¨ojligheten f¨or kursansvariga att skriva och redigera kursrapporter och m¨ojligheten att kommentera p˚a kursrapporter. Den st¨orsta skillnaden ¨ar att prototypen fr˚an 2019 ¨ar ett proof of concept¨och anv¨ander sig allts˚a bara av slumpm¨assigt generarad informa- tion f¨orutom h¨amtningen av kurstillf¨allen. V˚ar portal ¨ar d¨aremot skapad med fokuset att kunna brukss¨attas och har d¨arf¨or anv¨ant riktig data till majoriteten av informationen som visas f¨orutom betygsf¨ordelning och antalet registrerade studenter, men detta ¨ar en vidareutveckling. V˚ar portal har dessutom riktig universitetsinloggning via CAS [5].

V˚ar portal ¨ar helt separat system som inte bygger p˚a n˚agot av prototypen fr˚an 2019.

Den har d¨aremot anv¨ants som inspiration till vissa delar av v˚art system som vilken typ av information ang˚aende ett kurstillf¨alle som anv¨andarna ¨ar intresserade av att se.

4.2 Kursv ¨arderingar p ˚a Institutionen f ¨ or biologisk grundut- bildning

Institutionen f¨or biologisk grundutbildning (BIG) har en l¨osning som till viss del anv¨ants

som inspiration f¨or v˚art system [17]. Alla kursv¨arderingar som skrivs ang˚aende kurser-

(18)

5 Metod/Tillv¨agag˚angss¨att/Tekniker

na p˚a BIG ¨ar formaterade p˚a samma s¨att och publiceras p˚a en l¨att˚atkomlig webbsida d¨ar anv¨andaren enkelt kan leta upp ¨onskad kurs och ta del av respektive kursv¨ardering.

D¨ar finns ¨aven en sammanfattning av resultaten fr˚an kursv¨arderingen i form av en kurs- rapport skriven av kursansvarige. Detta g¨or information om hur studenterna upplevt ett specifikt kurstillf¨alle (helhetsintryck, studentens egen insats, arbetsbelastning etc) mer

˚atkomlig och ¨oversk˚adlig, vilket ¨ar en del av vad v˚art system syftar till. D¨aremot finns det inget enkelt s¨att att kunna j¨amf¨ora olika kurstillf¨allen med varandra och d¨arigenom dra slutsatser kring huruvida kvaliteten av en kurs har f¨or¨andrats med tiden vilket v˚art system ¨amnar att underl¨atta.

5 Metod/Tillv ¨agag ˚angss ¨att/Tekniker

I detta avsnitt beskrivs de tekniker och metoder som anv¨ants f¨or att genomf¨ora projek- tet, motivering till varf¨or de har valts tas ¨aven upp. F¨orklaring till varf¨or vissa andra alternativ av tekniker och metoder har valts bort ing˚ar ¨aven i detta avsnitt.

5.1 Vue

Vue [33] ¨ar ett JavaScript-bibliotek f¨or att underl¨atta skapandet av webbapplikationer.

Vue:s prim¨ara uppgift ¨ar att hantera olika tillst˚and vilket exempelvis kan vara att lad-

da in ny data n¨ar anv¨andaren trycker p˚a en knapp, och sen uppdatera sidan med den

nya informationen. Koden i Vue ¨ar uppdelad i komponenter som renderas till visuella

element som kan ses i anv¨andargr¨anssnittet. I en webbapplikation ¨ar det n¨odv¨andigt att

hantera tillst˚and p˚a n˚agot s¨att, och Vue ¨ar en modern l¨osning p˚a problemet med tydlig

dokumentation och s¨arskilt v¨al l¨ampat f¨or mindre projekt [25]. React [26] ¨ar en kon-

kurrerande produkt och anv¨ands av m˚anga stora f¨oretag, bland annat Facebook som

utvecklar React. Vue ¨ar till skillnad fr˚an React v¨al anpassat till mindre projekt d˚a det ¨ar

enkelt att komma ig˚ang med, l¨att att l¨ara sig och koden blir smidig [23]. React ¨ar mer

komplicerat att s¨atta upp och koden blir mer komplicerad men ger bra prestanda och

optimeringsm¨ojligheter f¨or st¨orre projekt [23]. Baserat p˚a detta valdes Vue som biblio-

tek f¨or detta ¨andam˚al d˚a det ger nog med prestanda f¨or en projekt av mindre skala och

medf¨or mindre arbete.

(19)

5 Metod/Tillv¨agag˚angss¨att/Tekniker

5.2 MongoDB

MongoDB [20] ¨ar ett databasprogram som sparar data i flexibla, JSON-liknande docu- ment. MongoDB faller under kategorin NoSQL-databas. Varje databas best˚ar av olika collections som i sin tur best˚ar av olika dokument. H¨ar kommer flexibilitet in d˚a doku- ment kan ha olika m˚anga f¨alt och datastrukturen kan se olika ut, vilket skiljer sig fr˚an vanliga SQL-databaser.

Generellt l¨ampar sig NoSQL b¨attre f¨or dokumentliknande data, och SQL f¨or tabelldata och relationsbaserad data [28]. En klassisk SQL-databas har en mycket tydligare struk- tur ¨an MongoDB som anv¨ands i detta system. En NoSQL-databas har d¨aremot m˚anga f¨ordelar vid en mer dokumentliknande datastruktur som denna d¨ar f˚a referenser existe- rar mellan olika dokument. Projektets data ¨ar tydligt dokumentbaserat, d˚a varje del data kan hanteras som ett och samma dokument. D¨arf¨or l¨ampar sig MongoDB bra f¨or att hantera data i systemet. Det finns andra databaser ¨an MongoDB som anv¨ander NoSQL, men MongoDB ¨ar v¨al etablerat och v¨aldokumenterat. MongoDB erbjuder ocks˚a en egen tj¨anst f¨or att k¨ora en databas p˚a deras servrar, och f¨orenklar utvecklingsprocessen.

5.3 Node.js

Node.js [22] ¨ar en JavaScript-runtime f¨or att bygga n¨atverksapplikationer i JavaScript, och bygger p˚a Google Chromes V8 JavaScript-motor. Node ¨ar asynkron och eventdri- ven, och inneb¨ar exempelvis att m˚anga n¨atverksf¨orfr˚agningar hanteras samtidigt [15].

Ist¨allet f¨or att databas-anrop inv¨antas forts¨atter koden att k¨oras. Detta tvingar program- mets delar att k¨oras parallellt och leder till h¨og prestanda. Node har en tillh¨orande pa- kethanterare som heter NPM d¨ar ett stort antal ramverk och paket finns tillg¨angliga [24].

Det inneb¨ar att mycket funktionalitet kan h¨amtas och ˚ateranv¨andas ist¨allet f¨or att skri- vas fr˚an grunden. Ett exempel p˚a ett paket ¨ar Express som beskrivs nedan. I projektet anv¨ands Node f¨or att det ger ett bra f¨orh˚allande mellan prestanda och m¨ojlighet till snabb utveckling. Den snabba utvecklingen beror p˚a m¨ojligheten att ˚ateranv¨anda funk- tionalitet, och den relativt enkla utvecklingsprocess som ges av JavaScript.

Som alternativ till JavaScript p˚a serverniv˚a finns flera alternativ som kan ge snabbare och mer effektiva resultat om man j¨amf¨or med kompilerade spr˚ak, d˚a JavaScript ¨ar ett interpreterat spr˚ak. Det inneb¨ar att koden k¨ors och tolkas av ett program. Kompilerade spr˚ak ¨overs¨atter koden till maskinkod p˚a f¨orhand f¨or att ge b¨attre prestanda. Spr˚aket Go

¨ar ett exempel p˚a ett modernt kompilerat spr˚ak [10]. D¨aremot kan valet av ett s˚adant spr˚ak inneb¨ara att koden tar l¨angre tid att skriva och begr¨ansa projektets m¨ojlighet till snabb utveckling d˚a kompilerade spr˚ak i regel beh¨over beh¨over mer detaljerad kod [13].

D˚a utvecklingstiden genom detta projekt var begr¨ansad s˚a var snabb utveckling h¨ogt

(20)

5 Metod/Tillv¨agag˚angss¨att/Tekniker

prioriterat. D¨arf¨or var Node det som l¨ampade sig b¨ast i detta sammanhang.

5.4 Express

Express [9] ¨ar ett ramverk i Node.js f¨or att bygga webbapplikationer. Paketet ¨ar minimalt och flexibelt, och l¨agger en grund f¨or att bygga robusta API:er. Det har h¨og prestanda och ¨ar v¨alanv¨ant inom Node.js-systemet [9]. Express saknar tydliga konkurrenter inom Node och tillh¨or Node Foundation, och ¨ar d¨arf¨or ett givet val.

5.5 REST och JSON

REST [18] ¨ar en f¨orkortning av Representational State Transfer, och ¨ar en arkitektur f¨or

kommunikation mellan maskiner. REST m¨ojligg¨or anv¨andning av m˚anga olika datafor-

mat, d¨ar JSON ¨ar ett vanligt format. JSON [?] ¨ar en central del i b˚ade Node/JavaScript

och MongoDB d˚a det anv¨ands som ett standardformat. N¨ar data skickas mellan en ser-

ver och en klient s˚a struktureras datan i JSON-format och skickas d¨arefter. N¨ar en server

kommunicerar med en databas skriven i MongoDB s˚a anv¨ands JSON som standardfor-

mat f¨or att strukturera datan som skickas. D¨arf¨or ¨ar kombinationen REST och JSON

l¨amplig f¨or systemet.

(21)

6 Systemstruktur

6 Systemstruktur

Figur 1 ¨ Oversiktlig bild p˚a systemstrukturen och hur de olika delarna i systemet be- ror p˚a och kommunicerar med varandra. De olika rutorna motsvarar en komponent i systemet och pilarna visar hur de olika komponenterna kommunicerar med varandra.

Figur 2 Bild p˚a strukturen i databasen. De olika rutorna motsvarar olika lager i en

n¨astlad struktur d¨ar.

(22)

7 Krav och utv¨arderingsmetoder

Systemet best˚ar av flera sammankopplade delar, se figur 1. Front end-delen (kan ses till v¨anster i figur 1) h¨amtar data fr˚an back-enden och visar via Vue. Vid inloggning skickas anv¨andaren ¨over till universitetets CAS-inloggningsserver [5]. CAS skickar sedan till- baka en ”biljett” till front-enden som i sin tur anv¨ands f¨or att identifiera och kontrollera anv¨andaren i back-enden mot universitetets CAS-server. D¨arefter skickar huvudservern en token till front-enden som sen anv¨ands som autentisering vid alla f¨orfr˚agningar.

Informationen som front-enden h¨amtar fr˚an back-enden h¨amtas i sin tur fr˚an databasen.

I databasen ligger kursrapporter, kommentarer p˚a kursrapporter och genomsnittssvar p˚a flervalsfr˚agor fr˚an kursv¨arderingar, men ocks˚a information om alla universitetets kurser och kurstillf¨allen (se figur 2). Kursrapporten f¨or ett kurstillf¨alle ligger i en lista i data- basen f¨or att g¨ora det m¨ojligt att g˚a tillbaka till en tidigare version av en kursrapport om kursrapporten har redigerats. Informationen om kurser h¨amtas regelbundet fr˚an univer- sitetets Selma-server [11] och formateras om av back-enden f¨or att matcha databasens struktur och format. Informationen sparas sen p˚a databasen.

Servrarnas programvara ¨ar en kombination av f¨ardiga delar och nya, skrivna specifikt f¨or projektet f¨or att koppla ihop de befintliga delarna. Ramverket Express hanterar al- la n¨atverksf¨orfr˚agningar, och ¨ar grunden till servrarna. Autentiseringen av anv¨andare hanteras av ett annat externt paket. De olika delarna i systemet kommunicerar huvud- sakligen genom ett REST-API i JSON-format. Universitetets Selma-server anv¨ander ett SOAP-API, och returnerar datan i XML-format. CAS ¨ar ett unikt system.

I systemet finns flera olika typer av anv¨andare. Den enklaste gruppen ¨ar den utan au- tentisering som har m¨ojlighet att s¨oka upp kurser, se statistik om dessa och l¨asa kurs- rapporter. Till denna grupp h¨or t.ex. personer som ¨annu inte ¨ar studenter men vill se information om kurser. F¨or att kunna skriva kursrapporter och kommentera p˚a dessa s˚a kr¨avs det att anv¨andaren ¨ar inloggad och beroende p˚a vilken typ av konto personen har via CAS-systemet s˚a ges denne olika beh¨orighet. En student har ut¨over gruppen utan autentisering m¨ojlighet att kommentera p˚a kursrapporter. En kursansvarig kan ¨aven se alla sina kurstillf¨allen samlade p˚a en plats och skriva kursrapporter p˚a dessa. Studie- rektorer och utbilningsprefekter har ¨an s˚a l¨ange samma beh¨origheter som kursansvariga och potentiella utvecklingsomr˚aden f¨or dessa roller tas upp i avsnitt 12.

7 Krav och utv ¨arderingsmetoder

D˚a webbportalen kommer att tillhandah˚alla information som anv¨andarna b¨or kunna

tillf¨orlita sig p˚a ¨ar det viktigt att systemet ¨ar robust och s¨akert. Delen av systemet

som hanterar all ut- och in-data beh¨over d¨arf¨or ge korrekta resultat vid alla t¨ankbara

f¨orfr˚agningar, denna del kallas f¨or webbportalens API. Det ¨ar viktigt att information

(23)

7 Krav och utv¨arderingsmetoder

som ¨ar skyddad bakom autentisering aldrig exponeras f¨or obeh¨origa anv¨andare. P˚a sam- ma s¨att ¨ar det viktigt att API:n hanterar alla t¨ankbara fall av in-data, inte bara de t¨ankta f¨or inmatning genom anv¨andargr¨anssnitt d˚a en anv¨andare med d˚aliga intentioner kan kringg˚a detta. Data f˚ar aldrig skrivas med ett felaktigt format, eller med m¨ojlighet att introducera eller injicera skadlig kod vilket inneb¨ar att en anv¨andare kan mata in ett stycke kod d¨ar systemet f¨orv¨antar sig textinmatning och som senare kommer k¨oras och kan leda till oanade effekter [27]. Data f˚ar inte heller raderas eller skrivas ¨over av obeh¨origa anv¨andare. Vidare ska API:n vara effektiv d¨ar inga f¨orfr˚agningar leder till on¨odig komplexitet och belastning. Dessa krav ¨ar m¨atbara genom automatiska tester d¨ar olika former av data matas in i systemet f¨or att se att inget ov¨antat sker.

Ett ytterligare krav p˚a detta system fr˚an den externa intressentens sida ¨ar att det som le- vereras ska g˚a att vidareutveckla. D¨arf¨or b¨or koden vara v¨alskriven och v¨aldokumenterad f¨or att underl¨atta vidareutveckling. Detta ¨ar ett krav som inte ¨ar m¨atbart i samma m˚an som kravet ovan utan snarare f˚ar bed¨ommas av den externa intressenten. Viktiga kri- terium f¨or att projektet ska vara m¨ojligt att vidareutveckla ¨ar att den skrivna koden ¨ar v¨aldokumenterad och l¨att att f¨orst˚a. F¨or att uppn˚a detta har de rekommenderade kodkon- ventionerna f¨or Vue f¨oljts p˚a front-enden, h¨amtade fr˚an officiella hemsidan f¨or Vue [7].

Vidare har kodkonventionerna som publicerats p˚a The Modern JavaScript Tutorial [3]

f¨oljts p˚a back-enden.

Vidare ¨ar det ett krav att systemet ska vara anv¨andbart och anv¨andarv¨anligt f¨or de t¨ankta m˚algrupperna som beskrevs i avsnitt 2.5. Detta krav utv¨arderas genom anv¨andartester med personer som utg¨or t¨ankta anv¨andare av systemet.

7.1 Funktionalitetskrav f ¨ or anv ¨andare

F¨or att kunna utv¨ardera hur bra systemet ¨ar beh¨ovs konkreta uppgifter som anv¨andare ska kunna utf¨ora. Dessa uppgifter har tagits fram efter diskussion med den externa in- tressenten. Som tidigare n¨amnt finns det flera olika anv¨andare, s˚asom studenter, kursan- svariga och rektorer. Dessa anv¨andare kommer att ha olika uppgifter som de ska kunna utf¨ora. Ett gemensamt krav f¨or samtliga intressenter ¨ar att kunna logga in och ut.

En student ska kunna s¨oka efter kurser via startsidan. D¨arefter ska de kunna hitta kurs- rapporten f¨or det kurstillf¨allet de ¨ar intresserade av samt se en grafisk representation av hur kursen utvecklats genom ˚aren. Denna representation baseras p˚a genomsnitt av stan- dardfr˚agor fr˚an kursv¨arderingar samt betyg. Studenter ska ¨aven kunna kommentera p˚a kursrapporten.

Ut¨over det som en student kan g¨ora ska en kursansvarig f˚a en tydlig ¨overblick ¨over

alla kurstillf¨allen som vederb¨orande varit ansvarig f¨or och enkelt kunna se vilka kurs-

(24)

8 Implementation

tillf¨allen som saknar en kursrapport. Kursansvariga ska ¨aven kunna skriva och redigera kursrapporter och ladda upp resultat p˚a standardfr˚agor fr˚an kursv¨arderingar. Det ¨ar i dagsl¨aget begr¨ansat till de fr˚agor som finns med p˚a alla kursv¨arderingar oavsett kurs.

En diskussion kring detta och tillsammans med en potentiell ut¨okning presenteras i av- snitt 12. Dessa ska sedan sparas p˚a databasen och kunna l¨asas av samtliga intressenter.

I dagsl¨aget ska en studierektor eller utbildningsprefekt kunna g¨ora allt det som n¨amnts f¨or de andra anv¨andarna.

8 Implementation

F¨or att webbportalen ska vara anv¨andarv¨anlig har ett fokus varit att skapa ett minimalis- tiskt gr¨anssnitt som ¨ar l¨att att anv¨anda och dessutom ser bra ut. Tidigt i utvecklingspro- cessen best¨amdes en temaf¨arg som ¨ar n¨arvarande genom hela webbportalen, den f¨argen blev en matt lila. I samband med val av f¨arger skapades ¨aven ett par enkla papperspro- totyper f¨or att fastst¨alla hur de huvudsakliga vyerna skulle se ut, se figur 3 och 4.

Figur 3 En bild p˚a en pappersprototyp av startsidan i b¨orjan av utvecklingsprocessen.

H¨ar kan man se hur anv¨andaren kan s¨oka p˚a kurser och logga ut.

(25)

8 Implementation

Figur 4 En bild fr˚an b¨orjan av utvecklingsprocessen p˚a en pappersprototyp av sidan som dyker upp efter att anv¨andaren har g˚att in p˚a en kurs, h¨ar syns alla olika kurstillf¨allen

8.1 Startsidan

Att kunna s¨oka efter kurser och se informationen om kursen och kurstillf¨allen ¨ar n˚agot som kan g¨oras av alla intressenter och ¨ar det som portalen kommer att prim¨art anv¨andas till. D¨arf¨or inneh˚aller startsidan endast ett s¨okf¨alt (se figur 5).

Figur 5 Startsidan som inneh˚aller ett f¨alt f¨or att s¨oka p˚a kurser, samt m¨ojligheten att logga in uppe i h¨ogra h¨ornet.

Efter inloggning som sker via CAS [5] ¨oppnas vissa funktioner beroende p˚a vilken

beh¨orighet anv¨andaren har. En kursansvarig f˚ar upp tv˚a nya knappar i navigationsba-

ren, ”Mina kurser” och ”Ladda upp CSV-filer”(se figur 6), mer information ang˚aende

dessa sidor finns i avsnitt 8.4 och 8.5. En student f˚ar m¨ojligheten att kommentera p˚a

kursrapporter.

(26)

8 Implementation

Figur 6 Startsidan efter inloggning som anst¨alld, h¨ar kan man se de tv˚a navigations- knapparna och namnet som dyker upp efter inloggning.

Efter att en anv¨andaren s¨okt p˚a antingen namnet p˚a en kurs eller en kurskod s˚a skickas en f¨orfr˚agan till servern som svarar med alla tr¨affar och de laddas p˚a sidan. I figur 7 har en s¨okning gjorts p˚a ordet algebra och alla kurser som inneh˚aller ordet returneras fr˚an servern.

Figur 7 Startsidan efter en s¨okning p˚a ordet algebra.

Sidan laddar tjugo tr¨affar ˚at g˚angen och l¨angst ner finns en knapp f¨or att ladda fler samt

information om antal laddade tr¨affar och totalt antal tr¨affar, se figur 8.

(27)

8 Implementation

Figur 8 En bild som visar hur det ser ut l¨angst ner p˚a startsidan d¨ar knappen f¨or att ladda fler tr¨affar finns.

8.2 Kurssidan

N¨ar en anv¨andare klickar sig in p˚a en kurs m¨ots vederb¨orande av ¨overgripande statistik fr˚an kursens alla tillf¨allen. Denna statistik ¨ar uttryckt i grafer som visar betygsgenom- snitt, antal registrerade studenter p˚a kursen och standardfr˚agor fr˚an kursv¨arderingar.

Anv¨andaren m¨ots ¨aven av ytterligare information s˚a som kursrapport och kursv¨arderingssvar fr˚an det senaste genomf¨orda kurstillf¨allet som har en kursrapport (se figur 9).

Antal registrerande studenter och genomsnittligt betyg p˚a en kurs ¨ar information som

¨ar t¨ankt att komma fr˚an Ladok. Denna ˚atkomst ¨ar beroende av ett samarbete mellan v˚ar externa intressent och Ladok, vilket har lett till att implementationen av detta inte hanns med i projektet. D¨aremot s˚a har externa intressenten f˚att ta del av en API-specifikation p˚a vilka anrop som beh¨over g¨oras och vilket format informationen ska ha, s˚a syste- met ¨ar byggt f¨or en enkel integrering av detta i ett senare skede. Tills dess ¨ar datan slumpm¨assig.

Statistik kring studenternas n¨ojdhet med kursen och studenternas anstr¨angning kommer

fr˚an tv˚a standardfr˚agor som ¨ar med i kursv¨arderingen, dessa fr˚agor ¨ar alltid med p˚a alla

kurser, s˚a l¨ange den kursansvarige har laddat upp dem. De laddas upp av kursansvariga

via CSV-filer.

(28)

8 Implementation

Figur 9 Kurssidan f¨or kursen ”Imperativ och objektorienterad programmeringsmeto- dik”, kurstillf¨allet som visas ¨ar h¨ostterminen 2019, f¨orsta perioden.

8.2.1 Kommentarer

P˚a kurssidan har en inloggad anv¨andare ¨aven m¨ojlighet att kommentera p˚a en kursrap-

port, se figur 10. Kommentarer kan i sin tur r¨ostas upp eller ner av andra inloggade

anv¨andare f¨or att visa samtycke till eller mots¨atta sig en ˚asikt. Kommentaren kan ¨aven

flaggas om den ¨ar ol¨amplig eller kr¨ankande p˚a n˚agot vis. Flaggning g¨ors genom att

en anv¨andare klickar p˚a flaggan som finns p˚a kommentaren. Alla anv¨andare kan flag-

ga kommentarer. Om en kursrapport har redigerats efter att en kommentar l¨amnats s˚a

synligg¨ors det att kommentaren tillh¨or en ¨aldre version av rapporten. Detta synligg¨ors

genom texten ”Skriven f¨or en tidigare version av rapporten” syns p˚a kommentaren.

(29)

8 Implementation

Information om vem som skrivit en kommentar ¨ar k¨anslig information och hanteras d¨arf¨or p˚a f¨oljande s¨att. F¨or att skydda anv¨andarens identitet hashas anv¨andarens anv¨andarnamn.

Det inneb¨ar att anv¨andarnamnet f˚ar ett unikt id som ¨ar sv˚art att sp˚ara tillbaka till anv¨andaren.

P˚a det s¨attet garanteras att en person enbart kan ge en r¨ost eller flaggning till en kom- mentar och inte r¨osta p˚a sin egen kommentar. Det m¨ojligg¨or ¨aven vidare utveckling, till exempel avst¨angning av en kommentarsf¨orfattare utan att vare sig beh¨ova eller kunna identifiera anv¨andarens identitet.

Figur 10 En kommentar p˚a en kursrapport.

8.3 Inloggning

En anv¨andare m˚aste inte logga in utan det ¨ar t¨ankt att ¨aven blivande studenter ska kun-

na ta del av informationen p˚a hemsidan. Men f¨or att kunna skriva kommentarer och

f¨or att kursansvariga ska kunna ladda upp information s˚a kr¨avs inloggning. En inlog-

gad anv¨andare kan klicka p˚a sitt namn uppe i h¨ogra h¨ornet f¨or att visa sidbaren d¨ar

anv¨andaren kan logga ut, se figur 11.

(30)

8 Implementation

Figur 11 Sidbar som visas efter att anv¨andaren klickar p˚a sitt namn.

8.3.1 CAS

Inloggningen sker via CAS vilket har beskrivits djupare i avsnitt 6, figur 12 visar hur

det ser ut n¨ar anv¨andaren loggar in via CAS. CAS l¨oser autentiseringsproblemet men

ingen information mer ¨an anv¨andarID:t tillhandah˚alls av CAS. F¨or att webbportalen

ska s¨attas i bruk kr¨avs information ang˚aende anv¨andares roller och beh¨orighet. Uppsala

universitets katalog- och beh¨orighetssystem kallas f¨or AKKA [1], informationen fr˚an

AKKA kan utvinnas genom ett protokoll som kallas LDAP [6]. Vi har lyckats utvinna

denna information om anv¨andares beh¨orighet fr˚an AKKA:s LDAP men p˚a grund av

tidsbrist har vi inte hunnit implementera det i projektet.

(31)

8 Implementation

Figur 12 Inloggning via CAS.

8.4 Mina kurser

N¨ar en kursansvarig klickar sig in p˚a ”Mina kurser” s˚a f˚ar vederb¨orande upp en lista av alla kurstillf¨allen som denne har varit ansvarig eller delansvarig f¨or, se figur 13.

H¨ar synligg¨ors det vilka kurstillf¨allen som har en skriven kursrapport och vilka som

saknar en. Den kursansvarige kan skriva kursrapporter till de kurstillf¨allen som saknar

kursrapport, det ¨ar ¨aven m¨ojligt att redigera redan existerande kursrapporter.

(32)

8 Implementation

Figur 13 Sidan d¨ar kursansvariga kan se de kurser som de ¨ar ansvariga f¨or.

8.4.1 Skriva kursrapport

Processen att skriva en kursrapport genom portalen sker genom ifyllning av ett formul¨ar med standardiserade fr˚agor (se figur 14), valet av fr˚agorna beskrivs vidare i avsnitt 8.4.2.

Formul¨aret skickas sedan in och sammanst¨alls till en f¨ardig kursrapport.

Om kurstillf¨allet redan har en kursrapport men den kursansvarige vill redigera denna

s˚a laddas tidigare svar in automatiskt i f¨alten. Efter redigering s˚a synligg¨ors det att

rapporten ¨ar redigerad, n¨ar den redigerades och av vem, se figur 15. Eftersom portalen

inte offentligg¨or den kursansvariges namn s˚a ¨ar denna information om vem som har

redigerat kursrapporten endast synlig f¨or kommande redigerare av kursrapporten.

(33)

8 Implementation

Figur 14 Sidan f¨or kursansvariga att skriva en kursrapport, h¨ar kan man se vilken kurs

och vilket kurstillf¨alle kursrapporten tillh¨or och alla standardfr˚agor som utg¨or kursrap-

porten.

(34)

8 Implementation

Figur 15 H¨ar ser man hur det synligg¨ors f¨or den som redigerar kursrapporten av vem och n¨ar kursrapporten har blivit redigerad.

8.4.2 Val av fr ˚agor

Tanken ¨ar att om den kursansvarige anger att kursen har genomf¨orts utan st¨orre anm¨arkningar fr˚an varken studenter eller kursansvarige sj¨alv s˚a ska formul¨aret inneh˚alla en kortare samling fr˚agor, denna kortare samling fr˚agor har ¨annu inte framtagits. Om kursen har

¨andrats eller f˚att m˚anga anm¨arkningar s˚a inneh˚aller formul¨aret en st¨orre m¨angd fr˚agor.

Denna st¨orre samling fr˚agor har tagits fram i samr˚ad med v˚ar externa intressent och Uppsala universitet riktlinjer f¨or kursrapporter [29].

Om kursen har f˚att m˚anga anm¨arkningar och klagom˚al eller om den har f¨or¨andrats, t.ex. genom att kursens uppl¨agg har f¨or¨andrats eller vissa kursmoment har tillkommit s˚a beh¨over den en genomg˚aende utv¨ardering och d˚a ing˚ar denna st¨orre samling fr˚agor:

• Beskrivning av eventuella f¨or¨andringar sedan f¨orra kurstillf¨allet

• Kursens styrkor enligt studenterna

• Kursens svagheter enligt studenterna

• Kursansvariges analys av kurstillf¨allet

• F¨orslag till eventuella ˚atg¨arder

(35)

9 Utv¨arderingsresultat

Fr˚agorna f¨or en mindre utf¨orlig kursrapport har som sagt ¨annu inte framtagits, allts˚a inneh˚aller formul¨aret f¨or kursrapporter i v˚ar portal alltid fr˚agorna som listats ovan.

Fr˚agorna f¨or en mer genomg˚aende kursrapport kan ¨aven komma att ¨andras n¨ar Tobi- as Wrigstad har f˚att synpunkter fr˚an andra kursansvariga om vilka fr˚agor som b¨or vara med.

8.5 Ladda upp CSV-filer

Denna sida (se figur 16) g¨or det m¨ojligt f¨or kursansvariga att ladda upp flervalsfr˚agor fr˚an kursv¨arderingar tillsammans med antalet svar p˚a varje fr˚aga. P˚a sidan ¨ar det m¨ojligt att ladda ner en CSV-mall som tydligt visar hur fr˚agorna ska skrivas in i CSV-filen. Fi- len inneh˚aller ˚ar och anm¨alningskod f¨or att korrekt identifiera vilket kurstillf¨alle kur- sv¨arderingen tillh¨or.

Figur 16 Sidan f¨or uppladdning av CSV-filer fr˚an kursansvariga

9 Utv ¨arderingsresultat

Ett krav som n¨amnts i avsnitt 7 ¨ar att webbportalen ska vara robust och s¨akert n¨ar det kommer till in- och ut-data. P˚a grund av tidsbrist har tester f¨or detta inte implementerats, men det ¨ar ett krav som vi har haft i ˚atanke under projektets g˚ang genom att till exempel validera all data som skickas in i databasen.

Bed¨omning av huruvida projektet ¨ar v¨al l¨ampat f¨or vidareutveckling inv¨antas av externa

intressenten. Men eftersom inga ol¨osta buggar har uppdagats ¨an, koden ¨ar v¨aldokumenterad

(36)

9 Utv¨arderingsresultat

och kodkonventionerna n¨amnda i avsnitt 7 har f¨oljts s˚a anser vi att projektet ¨ar l¨ampat f¨or vidareutveckling.

9.1 Anv ¨andartester

Anv¨andartester ¨ar viktigt n¨ar det kommer till utveckling av applikationer [8], b˚ade un- der utvecklingen men ¨aven f¨or att utv¨ardera en f¨ardig produkt. Under projektets g˚ang har en pandemi pr¨aglat v¨arlden vilket f¨orsv˚arade m¨ojligheten att rekrytera anv¨andare till testerna, men vi lyckades f˚a tag p˚a fyra studenter. I de allra flesta fall r¨acker fem tes- tanv¨andare f¨or att m¨arka lika m˚anga problem som man g¨or med en mycket st¨orre grupp testanv¨andare [8]. Eftersom vi hade precis under fem testanv¨andare drog vi slutsatsen att fyra skulle r¨acka f¨or att m¨arka majoriteten av felen. Studenterna fick f¨orst utf¨ora n˚agra enklare uppgifter p˚a webbportalen och ombads att t¨anka h¨ogt, sedan fick de svara p˚a n˚agra fr˚agor. Samma studenter fick sedan l˚atsas vara kursansvariga och g¨ora n˚agra fler uppgifter som kursansvariga kan g¨ora, sedan fick de svara p˚a samma fr˚agor igen.

Anledningen till varf¨or studenter fick g¨ora anv¨andartester som var t¨ankt f¨or kursansva- riga var f¨or att vi ville testa funktioner som var till f¨or kursansvariga men vi lyckades ej rekrytera n˚agon kursansvarig till testerna. Viss funktionalitet hade inte implemente- rats n¨ar testerna genomf¨ordes, det var inte m¨ojligt att ladda upp CSV-filer eller se en grafisk representation av betyg eller flervalsfr˚agor fr˚an kursv¨arderingar. Detta medf¨orde att vi i ett senare tillf¨alle n¨ar dessa funktioner var implementerade fick testa dem sj¨alva.

F¨oljande uppgifter gavs ut till testanv¨andarna:

Uppgifter f¨or en student:

• logga in

• hitta kursrapporten till senaste kurstillf¨allet av kursen Imperativ och objektorien- terad programmeringsmetodik

• hitta en kursrapport fr˚an kursen Systemdesign med ett anv¨andarperspektiv

• logga ut

Uppgifter f¨or en kursansvarig:

• logga in

• hitta dina kurser och redigera en kursrapport f¨or ett kurstillf¨alle fr˚an kursen Impe-

rativ och objektorienterad programmeringsmetodik

(37)

9 Utv¨arderingsresultat

• logga ut

Under tiden som uppgifterna utf¨ordes antecknade den ena testledaren vad anv¨andaren gjorde och tankarna som testanv¨andaren yttrade. Efter att uppgifterna hade genomf¨orts svarade testanv¨andaren p˚a f¨oljande fr˚agor:

• Var det n˚agot som var otydligt?

• ¨ Ar det n˚agot du skulle ¨andra i gr¨anssnittet?

• ¨ Ar du n¨ojd med din upplevelse?

Appendix A inneh˚aller anteckningar fr˚an testledaren tillsammans med tankarna som yttrades av testanv¨andarna och svaren p˚a fr˚agorna fr˚an alla testanv¨andare.

Vissa otydligheter och problem med navigation kom upp fr˚an testerna. ˚ Atg¨arderna f¨or att l¨osa dessa problem var att l¨agga till tv˚a knappar i navigationsbaren om man ¨ar inlog- gad som kursansvarig (se figur 17) och g¨ora s˚a att man alltid kommer till startsidan om man klickar p˚a ”kursv¨arderingsportalen”.

Figur 17 Navigationsbaren med de adderade knapparna f¨or kursansvarig

Sidbaren som kommer upp n¨ar en anv¨andare klickar p˚a sitt namn uppe i h¨ogra h¨ornet flyttades fr˚an att komma upp p˚a v¨anstra sidan till h¨ogra sidan. Designen p˚a vissa drop- downlistor och knappar ¨andrades f¨or att bli mer tydliga.

Alla testanv¨andare lyckades med sina uppgifter utan st¨orre problem och svarade att de var n¨ojda med sin upplevelse. Fr˚an detta kan slutsatsen dras att funktionerna som testades fungerar och att webbportalen ¨ar anv¨andarv¨anlig.

9.2 Funktionalitetsresultat

Funktionalitetskraven som n¨amns i avsnitt 7.1 har till viss del utv¨arderats genom anv¨andartesterna men ¨aven genom tester utf¨orda av oss sj¨alva. Testerna som vi utf¨ort sj¨alva gick helt en-

kelt till s˚a att vi utf¨orde funktionerna och s¨akerst¨allde att det som matas in i systemet

hamnar p˚a databasen och de funktioner som konsumerar data fr˚an databasen f˚ar korrekt

(38)

10 Resultat och diskussion

data. Tillsammans med anv¨andartesterna och v˚ara egna tester kan det konstateras att de krav som sattes upp f¨or de olika anv¨andarna har uppn˚atts.

En student kan s¨oka efter kurser via startsidan. D¨arefter kan de hitta kursrapporten f¨or det kurstillf¨allet de ¨ar intresserade av samt se en grafisk representation av hur kursen utvecklats genom ˚aren. Denna representation baseras p˚a genomsnitt av standardfr˚agor fr˚an kursv¨arderingar samt betyg och antal registrerade studenter. Betygsf¨ordelningen och antal registrerade studenter ¨ar i dagsl¨aget slumpm¨assig data eftersom kommunika- tionen med Ladok inte ¨ar implementerad. Studenter kan ¨aven kommentera p˚a kursrap- porter.

Ut¨over det som en student kan g¨ora kan en kursansvarig f˚a en tydlig ¨overblick ¨over alla kurstillf¨allen som vederb¨orande varit ansvarig f¨or och enkelt se vilka kurstillf¨allen som saknar en kursrapport. Kursansvariga kan ¨aven skriva och redigera kursrapporter och ladda upp CSV-filer som inneh˚aller resultat p˚a standardfr˚agor fr˚an kursv¨arderingar.

Dessa resultat sparas p˚a databasen och kan l¨asas av samtliga intressenter.

I dagsl¨aget kan en studierektor eller utbildningsprefekt g¨ora allt det som n¨amnts f¨or de andra anv¨andarna.

10 Resultat och diskussion

Det som ˚astadkommits ¨ar ett system d¨ar anv¨andare kan publicera, redigera och se kurs- rapporter genom en webbapplikation. Alla anv¨andare, det vill s¨aga studenter, kursan- svariga, studierektorer och studieprefekter kan logga in och s¨oka efter kurser, f¨or att sedan l¨asa kursrapporter f¨or dessa. Alla anv¨andare kan ¨aven kommentera p˚a kursrap- porter. Det har ¨annu inte implementerats n˚agon funktionalitet f¨or att olika anv¨andare ska ha skilda ˚atkomster till systemet. Denna funktionalitet beskrivs n¨armare i avsnitt 12, framtida arbete. Systemet ¨ar stabilt i det avseende att grundfunktionaliteten, vilket

¨ar att kunna skapa, redigera och visa kursrapporter kopplad till r¨att kurs, fungerar utan k¨anda buggar. Detta har bekr¨aftats via anv¨andartester som beskrivs i avsnitt 9.1 och ge- nom manuella tester utf¨orda av projektgruppen, som beskrivet i avsnitt 9.2. Intressenten st¨allde krav p˚a att systemet skulle vara byggt f¨or att kunna utvecklas vidare. D¨arf¨or la- des stor vikt vid att bygga ett system d¨ar grundfunktionaliteten fungerar stabilt, koden

¨ar v¨aldokumenterad och sj¨alva koden ¨ar skriven enligt konventioner. ¨ Overkomplicerade

l¨osningar som skulle vara sv˚ara att f¨orst˚a f¨or den som inte sj¨alv skrivit koden har und-

vikits. Detta resulterar i att den som ¨onskar att vidareutveckla systemet kan f¨orst˚a det

tillr¨ackligt bra f¨or att kunna l¨agga till ny funktionalitet efter att ha l¨ast dokumentationen

och koden.

References

Related documents

L˚ at y(t) vara andelen av populationen som ¨ar smittad efter tiden t dygn, r¨aknad fr˚ an uppt¨ack- ten... Observera att ¨amnets koncentration ¨ar samma som m¨angden av

D¨arf¨or ¨ar 2X exponentialf¨ordelad, med v¨antev¨arde 2a, vilket ¨ar samma f¨ordelning som f¨or Y.. Uppgiften ¨ar egentligen felformulerad; det ¨ar signifikansnniv˚an 1%

Den ovanst˚ aende bevistekniken ¨ar ett modernt p˚ afund och knepet att skapa en l¨amplig tv˚ a- dimensionell f¨ordelning

Till exempel fick jag inte med n˚ agot Ljus- och Optikland i f¨ orsta f¨ ors¨ oket, och pilen mot Kosmologi, som ligger utanf¨ or den h¨ ar kartan, borde peka mer upp˚ at,

Till sist ¨ar lampa C minst energetisk (i det infra-r¨oda bandet). Svaret ¨ar allts˚ a D→A→B→C.. b) L˚ ag energi hos fotonerna inneb¨ar l˚ ang v˚ agl¨angd, allts˚ a har

Resonemang, inf¨ orda beteck- ningar och utr¨ akningar f˚ ar inte vara s˚ a knapph¨ andigt presenterade att de blir sv˚ ara att f¨ olja.. ¨ Aven endast delvis l¨ osta problem kan

Antalet kunder som bes¨ oker de tv˚ a aff¨ arerna en timme kan beskrivas med Poissonf¨ ordelningar.. Det genomsnittliga antalet kunder som bes¨ oker de tv˚ a aff¨ arerna ¨ ar

Vid bed¨ omningen av l¨ osningarna av uppgifterna i del 2 l¨ aggs stor vikt vid hur l¨ osningarna ¨ ar motiverade och redovisade. T¨ ank p˚ a att noga redovisa inf¨ orda