• No results found

Utveckling av fristående enkätmodul till ett webbaserat hälsovårdsstödsystem

N/A
N/A
Protected

Academic year: 2021

Share "Utveckling av fristående enkätmodul till ett webbaserat hälsovårdsstödsystem"

Copied!
165
0
0

Loading.... (view fulltext now)

Full text

(1)

Examensarbete

Utveckling av fristående enkätmodul till ett

webbaserat hälsovårdsstödsystem

Julia Klingvall, Jonas Liljenfeldt

LiTH - IDA - EX - - 05 / 085 - - SE

(2)
(3)

Utveckling av fristående enkätmodul till ett

webbaserat hälsovårdsstödsystem

Institutionen för datavetenskap, Linköpings universitet Julia Klingvall, Jonas Liljenfeldt

LiTH - IDA - EX - - 05 / 085 - - SE

Examensarbete: 20 p Nivå: D

Handledare: Hans Almvide

Lorensbergs Communication AB Examinator: Johan Åberg

Institutionen för datavetenskap, Linköpings universitet Linköping 30 november 2005

(4)
(5)

Institutionen för datavetenskap 581 83 LINKÖPING SWEDEN 30 november 2005 x x http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-4809 LiTH - IDA - EX - - 05 / 085 - - SE

Utveckling av fristående enkätmodul till ett webbaserat hälsovårds-stödsystem

Julia Klingvall, Jonas Liljenfeldt

Vi har utvecklat två fristående webbapplikationer till det webbaserade hälsovårdsstödsystemet Asynja. Den ena är en designapplikation för enkätundersökningar och den andra är en svarsapplikation där res-pondenterna kan besvara enkäterna.

Utvecklingsprocessen har bestått av planering, design, implementa-tion, testning och dokumentation. Mycket av arbetet har skett paral-lellt vilket vi har sett som en framgångsfaktor i examensarbetet. Projektet har präglats av att applikationerna ska vara användarvän-liga och funktionella samtidigt som designen och koden ska göra att applikationerna kan vidareutvecklas och underhållas effektivt.

Arbetet med att utvecklaJ2EE-applikationer och använda sig av

ram-verket Struts har gett goda erfarenheter och det har även visat sig att denna plattform är väl lämpad för denna typ av uppgifter.

mjukvaruutveckling, Java, servlets,JSP, Struts, enkät,

enkätundersök-ning Nyckelord Keyword Sammanfattning Abstract Författare Author Titel Title

URL för elektronisk version

Serietitel och serienummer

Title of series, numbering ISSN

ISRN ISBN Språk Language Svenska/Swedish Engelska/English Rapporttyp Report category Licentiatavhandling Examensarbete C-uppsats D-uppsats Övrig rapport Avdelning, Institution Division, Department Datum Date

(6)
(7)

Sammanfattning

Vi har utvecklat två fristående webbapplikationer till det webbaserade hälsovårdsstödsystemet Asynja. Den ena är en designapplikation för en-kätundersökningar och den andra är en svarsapplikation där responden-terna kan besvara enkäresponden-terna.

Utvecklingsprocessen har bestått av planering, design, implementa-tion, testning och dokumentation. Mycket av arbetet har skett parallellt vilket vi har sett som en framgångsfaktor i examensarbetet.

Projektet har präglats av att applikationerna ska vara användarvänliga och funktionella samtidigt som designen och koden ska göra att applika-tionerna kan vidareutvecklas och underhållas effektivt.

Arbetet med att utveckla J2EE-applikationer och använda sig av

ram-verket Struts har gett goda erfarenheter och det har även visat sig att den-na plattform är väl lämpad för denden-na typ av uppgifter.

Nyckelord: mjukvaruutveckling, Java, servlets, JSP, Struts, enkät,

enkät-undersökning

(8)
(9)

Tack

Först och främst vill vi tacka Lorensbergs CommunicationABför att de

er-bjöd oss ett roligt och intressant examensarbete. Vi uppskattar att det var ett fristående programvaruutvecklingsprojekt som vi fick utveckla från början och som involverade många olika aspekter och moment.

Ett stort tack riktas även till våra testanvändare för viktiga synpunkter och förbättringsförslag.

Vi vill tacka vår examinator Johan Åberg för gott stöd och handledning. Vi är speciellt tacksamma för att kontakten har kunnat skötas via e-post, då vi har utfört arbetet i Göteborg.

Vi vill tacka vår handledare Hans Almvide för goda förslag och stort intresse för vårt examensarbete och resultatet. Vi vill även tacka övriga medarbetare i Asynja-gruppen på Lorensbergs Communication för att de varit hjälpsamma, svarat på våra frågor och varit gott sällskap.

Vi vill även tacka våra opponenter för värdefull återkoppling.

(10)
(11)

Innehåll

1 Introduktion 1

1.1 Bakgrund . . . 1

1.1.1 Företaget och produkten . . . 1

1.1.2 Uppgiften . . . 1

1.1.3 Författarna . . . 2

1.2 Syfte . . . 2

1.3 Begränsning . . . 2

1.4 Denna rapports målgrupp . . . 2

1.5 Läsguide . . . 3

1.6 Typografiska konventioner . . . 3

2 Metod 5 2.1 Programvaruutvecklingsmetod . . . 5

2.1.1 Rational Unified Process . . . 5

2.1.2 Extreme programming . . . 6

2.1.3 Jämförelse mellan metoderna . . . 8

2.1.4 Vår programvaruutvecklingsmetod . . . 8

2.2 Designmetod . . . 10

2.2.1 Vision . . . 10

2.2.2 Metoder för att generera en operativ bild . . . 10

2.2.3 Metoder för värdering . . . 11 2.2.4 Vår användbarhetsmetod . . . 13 2.3 Metodkritik . . . 14 3 Uppgift 15 3.1 Funktionella krav . . . 15 3.2 Icke-funktionella krav . . . 16 3.3 Beskrivning av kravspecifikationen . . . 17 3.3.1 Krav på designapplikationen . . . 17 3.3.2 Krav på svarsapplikationen . . . 17 Klingvall, Liljenfeldt, 2005. xi

(12)

4 Översikt av befintliga enkätsystem 19

4.1 Asynjas enkäthanterare . . . 19

4.2 Litium Enkät . . . 19

4.3 Datainstitutets Business Intelligence . . . 21

4.4 Relationwise . . . 21 4.5 Netigate . . . 22 4.6 E-enkät . . . 22 4.7 re:PDF . . . 22 4.8 Websurvey . . . 23 4.9 Tillvaratagna idéer . . . 23 5 Teoretisk bakgrund 25 5.1 Användbarhet . . . 25 5.1.1 Målgrupp . . . 26 5.1.2 Våra användbarhetskrav . . . 26 5.2 Enkätutformning . . . 28 5.3 Målgruppsutformning . . . 30 5.4 Personuppgifter . . . 30 5.5 Implementationsteori . . . 30

5.5.1 Givna tekniska förutsättningar . . . 30

5.5.2 Uppdelning av webbapplikationer . . . 31 5.5.3 Webbapplikationernas struktur . . . 31 5.5.4 Datalagring . . . 33 5.5.5 Inloggning . . . 35 5.5.6 Kryptering . . . 36 5.5.7 Inbjudningar . . . 37 5.5.8 Generering av enkätformuläret . . . 38 5.5.9 Validering av formulärdata . . . 39 6 Design av produkten 41 6.1 Vision . . . 41

6.2 Första versionen av den operativa bilden . . . 42

6.2.1 Design . . . 42

6.2.2 Interaktion . . . 43

6.2.3 Navigation . . . 43

6.2.4 Skisser och prototyper . . . 44

6.3 Värdering . . . 44

6.3.1 Val av testanvändare . . . 45

6.3.2 Värdering av dynamisk pappersprototyp . . . 45

6.3.3 Konstruktion av gränssnitt . . . 46

(13)

Innehåll xiii

6.3.5 Ändringar i andra versionen av programmet . . . 49

6.3.6 Värdering av andra versionen av programmen uti-från kravspecifikationen . . . 51

6.3.7 Värdering av andra versionen med testanvändare . . 54

6.3.8 Ändringar i tredje versionen av programmet . . . 57

6.3.9 Värdering av tredje versionen av programmen . . . . 59

6.3.10 Slutlig version av användargränssnittet . . . 59

7 Problem som har uppstått 61 7.1 Utvecklingsmiljön . . . 61 7.2 Teckenkodning . . . 61 7.3 Validering av formulärdata . . . 62 7.3.1 Validering av enkätsvar . . . 62 7.4 Begrepp i användargränssnitt . . . 63 8 Resulterande produkter 65 8.1 Användargränssnitt . . . 65

8.2 Gemensamt för båda applikationerna . . . 65

8.2.1 Struts . . . 66 8.2.2 Internationalisering . . . 66 8.2.3 Kodstandard . . . 66 8.3 Designapplikationens uppbyggnad . . . 66 8.3.1 Funktioner i designapplikationen . . . 66 8.3.2 Princip för kodstruktureringen . . . 67

8.3.3 Beskrivning av enkätundersökningsdelens lager . . . 68

8.3.4 Designapplikationens klasser . . . 70

8.3.5 DesignsdelensJSP . . . 71

8.3.6 Designapplikationens övriga filer och kataloger . . . 71

8.4 Svarsapplikationens uppbyggnad . . . 72

8.4.1 Funktioner i svarsapplikationen . . . 72

8.4.2 Beskrivning av svarsapplikationens lager . . . 73

8.4.3 Svarsapplikationen klasser . . . 74

8.4.4 SvarsapplikationensJSP . . . 75

8.4.5 Svarsapplikationens övriga filer och kataloger . . . . 76

8.5 Lagrade data . . . 76 8.5.1 Administratörer . . . 76 8.5.2 Enkätundersökningar . . . 76 8.5.3 Frågesamlingar . . . 77 8.5.4 Målgrupper . . . 79 8.5.5 Publicerade enkäter . . . 79 8.5.6 Enkätsvar . . . 81

(14)

8.6 Säkerhetsaspekter . . . 82

8.7 Prestanda . . . 82

8.8 Portabilitet . . . 83

8.9 Installation . . . 83

9 Diskussion och slutsatser 85 9.1 Återkoppling till syftet . . . 85

9.2 Återkoppling till kravspecifikationen . . . 85

9.2.1 Funktionella krav . . . 85

9.2.2 Icke-funktionella krav . . . 86

9.3 Återkoppling till programvaruutvecklingsmetodenXP . . . 88

9.4 Återkoppling till designmetoden . . . 89

9.5 Diskussion av lösningsval . . . 89

9.5.1 Struts . . . 89

9.5.2 Användbarhetsfrågor . . . 90

9.5.3 Jämförelse mellan servlets och andra tekniker . . . . 90

9.5.4 Uppdelning i lager . . . 90

9.5.5 Datalagring . . . 91

9.5.6 PUL . . . 91

9.5.7 Inbjudningar . . . 92

9.5.8 XSLT . . . 92

9.5.9 Flexibilitet kring frågetyper . . . 92

9.5.10 Utmaningar . . . 93

9.6 Förslag på ytterligare funktioner . . . 93

9.6.1 Utökade administratörsrättigheter . . . 93

9.6.2 Förhandsgranska en enkätundersökning . . . 93

9.6.3 Möjlighet att grafiskt hantera frågesamlings- och målgruppsbeskrivningar . . . 94

9.6.4 Historik för besvarade enkätundersökningar . . . 94

9.6.5 Alternativa inbjudningssätt . . . 94

9.6.6 Start- och slutdatum för en enkätundersökning . . . 94

9.6.7 Påminnelser . . . 94

9.6.8 Export tillPDF . . . 95

9.6.9 Import av svar till designapplikationen . . . 95

A Termer 101 A.1 Tekniska termer . . . 101

B Högnivåkravspecifikation från Lorensbergs Communication 103 B.1 Kravspecifikation Enkätmodul. . . 103

(15)

Innehåll xv

B.1.2 Vision . . . 103

B.1.3 Krav . . . 104

C Dynamisk pappersprototyp 105 D Första versionen av designapplikationen 107 E Första versionen av svarsapplikationen 111 F Andra versionen av designapplikationen 113 G Resulterande användargränssnitt 119 H DTD-filer 133 H.1 Administratörsfil . . . 133 H.2 Enkätundersökningsfiler . . . 133 H.3 Enkätfiler . . . 134 H.4 Målgruppsfiler . . . 134 H.5 Svarsfiler . . . 135 I En exempelenkät 137 J Bild av demonstrationsenkät 141

(16)
(17)

Figurer

4.1 Ett exempel på en enkät som är skapad i Asynja. . . 20 5.1 Flödet för en sidvisning med Modell 2. . . 32 5.2 Schematisk skiss över hurAES-krypteringen går till. . . 37

6.1 Schema över ursprungliga funktionerna i designapplikatio-nen. . . 41 6.2 Schema över ursprungliga funktionerna i

svarsapplikatio-nen. . . 42 8.1 Resulterande schema över funktionerna i

designapplikatio-nen. . . 67 8.2 Princip för kodstrukturen i designapplikationen. . . 68 8.3 Dataflödet samt paket- och kodstrukturen i

designapplika-tionen. . . 69 8.4 Schema över funktionerna i svarsapplikationen. . . 73 8.5 Dataflödet samt paket- och kodstrukturen i

svarsapplikatio-nen. . . 74 B.1 Schematisk beskrivning av enkätserver. . . 104 C.1 Skapa-vyn i den dynamiska pappersprototypen. . . 105 D.1 Inloggningsvyn. Rubriker är i en mörkröd nyans och färgen

runt innehållet är ljusbeige. . . 107 D.2 Skapa-undersökningsvyn med felaktig inmatning och

fel-meddelande i klarrött. . . 108 D.3 Bekräftelse på att en enkätundersökning har skapats. . . 108 D.4 Redigera-vyn med en enkätundersökning som är vald för

redigering. . . 109 D.5 Publiceringsvyn. . . 109 E.1 Inloggningsvyn. . . 111

(18)

E.2 Enkäten som ska besvaras. . . 112 E.3 Efter att svaret har lämnats visas denna vy. . . 112 F.1 Skapa-vyn. Nu har vi två menynivåer samt ett grå-svart

färgtema. . . 114 F.2 Skapa-vyn med ett felmeddelande. . . 114 F.3 Publicera-vyn som numera består av två steg. . . 115 F.4 Publicera-vyn. Här visas kort information om enkäten och

vilka som ska få e-postutskick. . . 115 F.5 Publicera-vyn med en bekräftelsedialog aktiv. . . 116 F.6 Vänta-vyn. . . 116 F.7 Som en bekräftelse på att publiceringen och inbjudan gick

bra visas denna vy. . . 117 G.1 Inloggningssidan. . . 120 G.2 Introduktionsfliken. . . 121 G.3 Frågefliken, vars funktionalitet inte är implementerad. . . . 122 G.4 Målgruppsfliken, vars funktionalitet inte är

implemente-rad. . . 123 G.5 Enkätfliken med underfliken Skapa ny enkät vald. . . 124 G.6 Enkätflikens underflik Redigera enkät är vald. Här visas

första steget. . . 125 G.7 Redigera-funktionens andra steg. . . 126 G.8 Förhandsgranskningsvyn, vars funktionalitet inte är

imple-menterad. . . 127 G.9 Vyn för att ta bort en enkät. Steg två och tre syns först efter

att användaren har valt en enkät i steg 1. . . 128 G.10 Publiceringens tre steg visas här. Liksom i ta bort- och

redi-gerafunktionera visas först steg 1 och sedan resterande steg. 129 G.11 Publiceringen föregås av en bekräftelsedialog som är

gene-rerad av ett JavaScript. . . 130 G.12 När publiceringen utförs och inbjudan skickas visas en

vänta-vy. . . 131 G.13 Den sista fliken är importera-fliken vars funktionalitet inte

är implementerad än. . . 132 J.1 Exempelenkäten i bilaga I. . . 142

(19)

Tabeller

1 Några förkortningar som vi använder . . . xxi

8.1 Klasser i designapplikationen . . . 71

8.2 Ett urval av deJSP som används i designapplikationen . . . 72

8.3 Klasser i svarsapplikationen . . . 75

8.4 JSPsom används i svarsapplikationen . . . 75

8.5 Frågetyper med svarsalternativ . . . 78

8.6 Frågetypernas underelement . . . 78

(20)
(21)

Förkortningsförteckning

Tabell 1: Några förkortningar som vi använder

Förkortning Betydelse

AES Advanced Encryption Algorithm CSS Cascading StyleSheets

DES Data Encryption Standard DIN Design Interaktion Navigation DTD Document Type Definition HTML HyperText Markup Language HTTP HyperText Transfer Protocol J2EE Java 2 Platform Enterprise Edition

JAAS Java Authentication and Authorization Service ISO International Organization for Standardization JRE Java Runtime Environment

JSP JavaServer Pages

MVC Model-View-Controller PDF Portable Document Format PUL Personuppgiftslagen

RUP Rational Unified Process SQL Structured Query Language UML Unified Modelling Language URL Uniform Resource Locator UTF Unicode Transformation Format XML Extensible Markup Language

XP Extreme Programming

XSL Extensible Stylesheet Language

XSLT Extensible Stylesheet Language Transformation

(22)
(23)

Kapitel 1

Introduktion

1.1 Bakgrund

1.1.1 Företaget och produkten

Företaget som vi har gjort examensarbetet på heter Lorensbergs Commu-nicationAB. Företaget utvecklar bland annat ett webbaserat system,

Asyn-ja, som används i företags- och skolhälsovården till journalföring, tidsbok-ning, ekonomisk administration med mera. Asynja används idag av cirka 70 kunder i Sverige.

Systemet är utvecklat i Java och Lorensbergs Communication eftersträ-var att endast skicka HyperText Markup Language, HTML, till klienterna

för att minimera kraven på dessa. Systemet använder sig även av Java-Script och databashanteraren MicrosoftSQLServer. Det är till detta system

som vi ska utveckla en ny fristående enkätmodul.

1.1.2 Uppgiften

I hälsovårdsstödsystemet Asynja finns det bland annat ett enkätverktyg. Enkätfrågorna matas in av personal från Lorensbergs Communication ef-ter förlaga från kunden. Det sker genom attSQL-satser skapas och därefter

körs mot databasen. De befintliga enkäterna kan nås i Asynjas gränssnitt där de presenteras iHTML-format. Därifrån kan enkäterna exporteras till

Portable Document Format1, PDF, för utskrift och distribution. I dagsläget finns det funktioner för att manuellt mata in enkätsvar, lagra dem samt utföra enkel bearbetning av enkätsvaren. Detta sker av administratörer i Asynjasystemet.

1URL:http://www.adobe.com/products/acrobat/adobepdf.html

(24)

I examensarbetet har vi skapat två webbapplikationer, en där admi-nistratörer kan logga in för att skapa och publicera enkätundersökningar och en där respondenter kan besvara desamma. Kraven på examensarbe-tet beskrivs mera detaljerat i kapitel 3.

1.1.3 Författarna

Vi som har utfört detta examensarbete studerade vid Linköpings tekniska högskola på civilingenjörsprogrammet i informationsteknologi. Examens-arbetet motsvarar 20 högskolepoäng var. Vi påbörjade Examens-arbetet den 12:e september 2005.

1.2 Syfte

Huvudsyftet med uppgiften var att skapa ett verktyg för digital hantering av enkätundersökningar och enkätsvar. I nuläget svarar man på enkäter-na via pappersutskrifter vilket gör att det tar mycket tid i anspråk att föra in svaren. Att skapa ett elektroniskt verktyg var motiverat eftersom det skulle förbättra arbetssituationen för de som idag arbetar med denna ena-handa uppgift. Lorensbergs Communication har även fått önskemål från sina kunder att ta fram ett sådant verktyg.

1.3 Begränsning

Eftersom detta examensarbete berörde stora områden, exempelvis an-vändbarhet, webbprogrammering och datasäkerhet, hade vi inte möjlig-het att i detalj sätta oss in i dessa områden utan till stor del grundade vi våra designbeslut på sedan tidigare inhämtad kunskap och erfarenhet.

Uppgiften var i stora drag given av Lorensbergs Communication i den kravspecifikation som vi fick. Därmed begränsades vi i vårt val av teknik och hur enkätundersökningarna var tänkta att fungera i stora drag.

1.4 Denna rapports målgrupp

Målgruppen för denna rapport är alla som studerar eller arbetar med ut-veckling av informationsteknik. Det är tänkbart att olika läsare kommer att finna olika delar av rapporten mer eller mindre intressanta men vi hoppas och tror att alla i målgruppen kommer att ha glädje av den.

(25)

1.5. Läsguide 3

1.5 Läsguide

Denna rapport beskriver vårt examensarbete. Följande kapitel ingår: Introduktion Detta kapitel introducerar läsaren till rapporten genom

kor-ta beskrivningar av förekor-taget, rapporten, dess förfatkor-tare samt uppgif-ten.

Metod Här redogör vi för våra metodval.

Uppgift I detta kapitel beskrivs kravspecifikationen.

Översikt av befintliga enkätsystem Här finns en redogörelse för några befintliga enkätsystem som studerades.

Teoretisk bakgrund I den teoretiska bakgrunden redogör vi för de alter-nativ som vi har valt mellan i utvecklingen samt hur vi motiverar valen.

Design av produkten En beskrivning av hur produktens användargräns-snitt och funktionalitet designades.

Problem som har uppstått Här beskriver vi några av de större problem som har uppstått under arbetets gång.

Resulterande produkter En beskrivning av de applikationer som vi har utvecklat.

Diskussion och slutsatser Avslutningsvis diskuterar vi hur våra resul-tat uppfyllde vår kravspecifikation, hur metoderna har använts och drar slutsatser utifrån detta. Vi har samlat idéer till förbättringar un-der arbetets gång som vi kortfattat presenterar i detta kapitel.

Några av de mest centrala termerna som används finns förklarade i bilaga A.

1.6 Typografiska konventioner

I rapporten använder vi oss av numrerade kapitel samt fyra rubriknivå-er där de två övrubriknivå-ersta är numrrubriknivå-erade. Den lägsta nivån särskiljs genom att efterföljande brödtext börjar på samma rad som rubriken.

(26)

Programkod, namn på klasser, filer, metoder och dylikt skrivs med ett teckensnitt medfast teckenbredd. Tekniska termer förkortas om

för-kortningen är den vanliga benämningen. Termen skrivs ut i sin helhet förs-ta gången den förekommer och förkorförs-tas därefter. De vanligast förekom-mande förkortningarna finns i tabell 1 på sidan xxi.

I de fall som vi anser det relevant anges hypertextlänkar i fotnoter. Des-sa referenser finns framför allt till för dem som vill läDes-sa mer om sådant som berörs ytligt i rapporten. Länkarna fungerade vid rapportens färdig-ställande och är valda med omsorg. Naturligtvis kan vi inte garantera att de alltid kommer att fungera.

Vid hänvisningar till figurer och tabeller som inte återfinns i bilagor anges sidnumret där figuren eller tabellen finns eftersom de ibland tende-rar att hamna en bit ifrån referensen.

När det är otydligt vad ett svenskt ord betyder och vi tror att den eng-elska termen är mer välkänd, skriver vi den engeng-elska termen inom paren-tes. Exempelvis skriver vi ”begäran (eng.request)” för att beskriva en

begä-ran från en klient till en server. I de fall det har funnits rekommendationer från Svenska Datatermgruppen2 har dessa följts, till exempel används or-det poppuppfönster istället för or-det engelska uttrycketpop-up.

(27)

Kapitel 2

Metod

Inom detta examensarbetes ramar var det viktigt att studera formen för hur programvaruutvecklingen bör bedrivas för att det ska ske på ett effek-tivt sätt. Nedan följer en utredning rörande vårt val av programutveck-lingsmetod.

Det är även viktigt att ha en metod för att uppnå och säkerställa god användbarhet hos systemet och detta diskuteras nedan.

2.1 Programvaruutvecklingsmetod

I detta kapitel diskuterar vi ett par olika programvaruutvecklingsmetoder. Vi valde att jämföra två vanligt förekommande lättviktsmetoder, Ratio-nal Unified Process (RUP) och Extreme Programming (XP). Detta eftersom

vi trodde att vi behövde en flexibel utvecklingsmetod då examensarbetet är ett litet projekt där förutsättningarna kunde komma att ändras. Dess-utom var vi inte så vana programvaruutvecklare, vilket innebar att vi kun-de ha svårt att bedöma hur lång tid olika moment skulle ta.

Som teoretisk grund valde vi två böcker om XP samt ett antal artiklar

om RUP och jämförelser mellan RUP och XP. Böckerna och artiklarna har

vi använt som kurslitteratur i kursen Användbarhetsorienterad systemut-veckling1, varför vi bedömer dem som relevanta.

2.1.1 Rational Unified Process

RUPär uppbyggt kring en mjukvara som är tänkt att underlätta och stödja

arbetet i projektet. Huvuddragen iRUPär följande [1, 2]:

1Vid Linköpings tekniska högskola, våren 2005.

Kurswebbplats:http://www.ida.liu.se/~HKGC10/

(28)

• Ha fokus på att leverera värde till kunden samt ha körbar program-vara.

• Hantera risker tidigt och kontinuerligt.

• Ha ett flexibelt förhållningssätt till förändrade krav. • Bygg upp systemet av fristående komponenter. • Jobba tillsammans som ett team.

• Utveckla programvaran iterativt.

• Ha kontinuerlig kontroll över kvaliteten. • Visualisera mjukvaran.

Man behöver inte haRUP-programvaran för att kunna följa dessa

hu-vuddrag, men den är tänkt att underlätta. Projektet ska bestå av fyra faser: Inception Förstå vad man ska göra.

Elaboration Fundera ut hur man ska göra det. Construction Göra en betaversion av produkten. Transition Göra den slutliga produkten.

Inom varje fas ska man iterera 6-9 gånger. Det innebär att processen är en blandning av vattenfallsmetoden och en iterativ process [1].

2.1.2 Extreme programming

XPär en programvaruutvecklingsmetod som skapades av Kent Beck och

Ward Cunningham för snart tio år sedan. Den präglas av ett flexibelt och kodcentrerat tänkande men inbegriper även arbetsmiljö och personalför-hållanden. Metoden lämpar sig för små projekt där deltagarna arbetar tätt ihop. För att båda ska vara lika insatta i all kod som skrivs samt hjälpa varandra under tidens gång används parprogrammering.

I terminologin för XP används återkommande termerna kund och

ut-vecklare. I beskrivningen nedan ser vi oss själva som utvecklare och

Lo-rensbergs Communication som kund och uppdragsgivare. Nedan återger vi kortfattat kärnvärdena hosXP[3].

(29)

2.1. Programvaruutvecklingsmetod 7 Kärnvärden

Konkret återkoppling Utvecklarna ska tidigt och kontinuerligt hålla kunden underrättad om hur arbetet fortskrider. Detta ska helst inte ske genom skriftliga rapporter utan hellre muntligen och via prak-tiska demonstrationer.

Successiv och flexibel planering Först görs en övergripande plan som se-dan bryts ner i iterationer. Detaljplaneringen görs successivt så att man bara planerar för den närmaste framtiden som man har över-blick över och kunskap om. Planeringen ska även ge utrymme för ändringar enligt kundens önskemål.

Testning Testverktyg ska användas för att underlätta kontinuerligt tes-tande och användandet av enkel och fungerande kod.

Muntlig kommunikation Utvecklarna ska kontinuerligt ha muntlig kon-takt. Detta underlättas genom att utvecklarna sitter i ett öppet kontor istället för i egna rum.

Successiv och flexibel design Det ska vara möjligt att ändra designen allt eftersom. Om möjligt ska man skjuta på designbeslut för att inte fatta dåligt underbyggda beslut.

XPi praktiken

De nedan uppräknade uppmaningarna är centrala iXP.

• Testa och integrera kodens olika delar ofta.

• Inspektera koden ofta för att säkerställa kvalitet och konsekvent an-vändande av kodstandard med mera.

• Sträva efter enkel kod. • Iterera med korta intervall. • Programmera i par.

• Jobba 40 timmar per arbetsvecka och ta rikligt med pauser. • Ha en nära relation till kunden, helst ska kunden finnas på plats. • Följ en kodstandard.

(30)

Under vissa förutsättningar ärXPmindre lämplig. Några faktorer som

gör att XP inte fungerar så bra är när arbetsgruppen är stor, när kunden

har låg tillit till utvecklarna eller använder teknik som inte medger tvära kast eller smidig testning [4].

2.1.3 Jämförelse mellan metoderna

RUP är till skillnad från XP en kommersiell produkt. RUP är tätt knuten

till en programvarusvit för systemutveckling frånIBM, och är ett stort och

flexibelt system. Bland annat detta gör attRUPäven passar större grupper

och grupper som inte befinner sig på samma plats. En annan skillnad är attRUPförsöker ta ett större helhetsgrepp medanXP i större grad

koncen-trerar sig på programmeringen [5].

RUP är förberett för stora projekt och kräver mycket anpassning för

att det ska passa ett examensarbete för två personer. RUPhar högre

inlär-ningströskel änXP. I en artikel i Computer Sweden [6] berättar erfarna

pro-jektledare om sina erfarenheter avRUPoch de tycker attRUPär bäst lämpat

för stora projekt med fler än 100 personer.XPpassar bäst vid

gruppstorle-kar på 2–10 personer [4].

2.1.4 Vår programvaruutvecklingsmetod

Vårt val föll påXP på grund av att det är lätt att komma igång, att vi har

använt metoden förut och att den är anpassad för små grupper. Dessutom trodde vi att den skulle passa vårt arbetssätt med parprogrammering, ett kontor med flera personer, fyrtiotimmarsveckor och tonvikt på muntlig kommunikation. XP är en bra grundstomme, men metoden anpassades

för våra behov, vilket förklaras nedan.

Parprogrammering

Vi utförde allt arbete tillsammans, vid en dator. Detta för att vi hela tiden skulle kunna komma med idéer till varandra, förklara för varandra och rätta varandras småfel i koden. Vi blev därför lika insatta i allt. Den som inte skrev på tangentbordet fick möjlighet att granska den kod som skrevs och fundera övergripande kring alternativa problemlösningsstrategier et-cetera. Vi varierade vem som skrev och vem som granskade.

XPhar även fördelen att vara flexibelt i planeringsfrågor och vid

ändra-de förutsättningar. Små iterationer gjorändra-de att vi snabbt och ofta såg resultat och kunde testa vårt program.

(31)

2.1. Programvaruutvecklingsmetod 9 Slutrapport

Under arbetets gång dokumenterade vi hur arbetet fortskred i denna rap-port. Vi skrev även i en dagbok där vi dagligen antecknade vad vi hade gjort, examensarbetets status samt eventuella insikter som vi ville komma ihåg. Dagboken gjorde det lätt att komma in i arbetet dagen eller veckan efter samt att vi kunde gå tillbaka och titta på vad som hade utförts och vilka tankar vi haft tidigare i projektet.

Kravspecifikation

Inledningsvis skapade vi en planeringsrapport med en detaljerad krav-specifikation, vilket innebar att vi satte oss in översiktligt i bland annat de problem som kan uppstå i samband med olika designval. Vi gjorde en kravspecifikation även om XPistället för en kravspecifikation förespråkar

kontinuerlig kontakt med uppdragsgivaren. Detta eftersom tydliga krav och målsättningar är en viktig del av ett examensarbete. Det kändes även mer tillfredsställande för oss som systemutvecklare att ha förstått uppgif-ten innan vi tog oss an den.

Parallell behandling

Enligt tidsplanen i planeringsrapporten skulle många aktiviteter ske se-kventiellt. I praktiken utfördes i princip alla aktiviteter parallellt vilket vi även fann stöd för i vår programvaruutvecklingsmetod XP. Detta

pa-rallella arbete resulterade automatiskt i små iterationer vilket har många fördelar.

Avvikelser frånXP

Behovet av dagboken, planeringsrapporten och slutrapporten innebar att vi var tvungna att rucka påXPs regler vad gäller till exempel

avståndsta-gandet mot dokumentation och den initiala planeringen. Projektet skulle enligt instruktionerna för examensarbetet inledas med en planeringsrap-port och avslutas med en slutrapplaneringsrap-port där arbetet och resultatet beskrevs.

Andra saker somXPförespråkar men som vi inte kunde anamma är att

en slutanvändare ska finnas på plats under utvecklingen samt att kunden ska skriva testprogrammen. Vi har i huvudsak testat våra webbapplikatio-ner genom att manuellt använda dem i webbläsaren men vi har även ut-värderat programmen med hjälp av testanvändare flera gånger. Vår kund, Lorensbergs Communication, har funnits på plats eftersom vi har arbetat

(32)

i deras lokaler. Vi har inte haft tillgång till de verkliga slutanvändarna, till exempel skolsjuksköterskor.

2.2 Designmetod

I stycke 5.1 finns en teoretisk genomgång av begreppet användbarhet. Ne-dan presenterar vi vårt val av metod för att uppnå god användbarhet.

Löwgren och Stolterman [7] delar upp designprocessen i tre delar: vi-sion, operativ bild och värdering. Eftersom visionen till stor del var färdig i den erhållna kravspecifikationen, se bilaga B, kommer vi att fokusera på den operativa bilden och värderingen. För dessa delar i processen kommer vi att välja en eller flera metoder.

2.2.1 Vision

Visionsarbetet innefattar att ta fram den vision som produkten ska sträva efter att uppfylla. I denna fas funderar man övergripande på hur proble-met kan lösas.

2.2.2 Metoder för att generera en operativ bild

Visionen omsätts i en operativ bild som är konkret, precis och detaljerad. Den operativa bilden ska gestaltas så att den kan utforskas av oss utveck-lare och så att vi kan kommunicera den till andra.

Ett vanligt sätt att åskådliggöra den operativa bilden är att använda gestaltningstekniker. Det är tekniker för att gestalta produkten, mer eller mindre detaljerat. Exempel på gestaltningstekniker är [7]:

Scenario En skriven berättelse som illustrerar ett användningsfall, med betoning på sammanhanget. Scenariot kan användas för att få en känsla för hur produkten ska användas och sätta in den i ett stör-re sammanhang.

Gränssnittsskiss En skiss av ett möjligt gränssnitt till produkten. Den blir mer detaljerad än scenariot och kan användas som förlaga för gräns-snittsimplementationen. Gränssnittsskissen kan användas för inle-dande användbarhetstest. Denna skiss är snabb, enkel och billig att ta fram.

Storyboard En tecknad serie där händelserna i produkten illusteras med bilder. Det blir en kombination av scenarion och gränssnittskisser.

(33)

2.2. Designmetod 11 Dynamisk pappersprototyp En utveckling av gränssnittskissen som kan hantera interaktion med användaren genom att till exempel använda klisterlappar för att fälla ut menyer. Vid ett användbarhetstest kan till exempel en utvecklare agera fönsterhanterare.

Dynamisk datorprototyp En digital prototyp med till synes samma funk-tionalitet som slutprodukten. Prototypen ska ge en uppfattning om hur det slutgiltiga systemet är att använda utan att implementera all den funktionalitet som slutprodukten ska innehålla.

När man tar fram den operativa bilden är det viktigt att inte låsa sig vid en modell i ett tidigt skede, utan att arbeta med flera parallellt, vara öppen för nya idéer och inte vara rädd för att bygga om hela bilden. Ett sätt att aktivt motverka låsningar kring ett visst lösningsförslag är att ar-beta med något som Löwgren och Stolterman kallar ”informella tekniker för att häva fixeringar” [7]. Som exempel på dylika tekniker ges att ställa sig själv oväntade frågor i stil med ”Vad skulle jag göra om projektbudge-ten var tio miljoner?”. Ytterligare ett exempel som går ut på att förändra problemlösningsstrategin är att välja en känd lösning som inte duger och be någon att kritisera den.

2.2.3 Metoder för värdering

Värderingen, eller användbarhetstestningen, är naturligtvis ett viktigt steg i designprocessen. Då kan man erhålla ett kvitto som visar hur användbar produkten upplevs. Enligt Löwgren och Stolterman [7] är användbarhets-testning ett mer eller mindre formellt experiment, där de blivande använ-darna försöker använda systemet eller en prototyp för att genomföra ett antal kortare testuppgifter. Under experimentet noteras användarnas in-teraktion med systemet med fokus på prestation, till exempel hur många fel som görs och hur lång tid olika operationer tar att utföra.

Nielsens heuristiska utvärderingsmetod

Ett exempel på en välanvänd användbarhetsmetod för webbgränssnitt är Nielsens heuristiska utvärderingsmetod [8]. Metoden utgår från ett tiotal punkter som Nielsen anser viktiga för användbarheten. Utvärderingen be-står av att cirka fem användare använder systemet och tillsammans med testledaren bedömer hur väl Nielsens punkter överensstämmer med pro-dukten.

Denna metod har kritiserats av användbarhetsexperten Tajakka [9] för att vara alltför godtycklig och diffus. Dessutom kritiseras metoden för att

(34)

vara onödigt resurskrävande då den kräver minst fem testanvändare för att ge bra resultat [8]. Istället föreslår Tajakka sin egenutvecklade metod, Design-Interaktion-Navigation-metoden (DIN-metoden) [10], som han

på-står löser dessa problem.

DIN-metoden

DIN-metoden utgår från vad som kännetecknar bra egenskaper i ett

an-vändargrässnitt, är konkret och innehåller handfasta rekommendationer på ett flertal punkter. Den är inte vetenskapligt utvecklad och tycks till stor del bestå av Tajakkas egna åsikter. Metoden utgår från en webbplats tre grundläggande kännetecken: design, interaktion och navigation. För varje kännetecken värderas ett antal egenskaper. Metoden innehåller även ett antal mycket konkreta råd i stil med att man alltid ska ha vänsterställ-da formulär. Det mesta i metoden kan vi själva utvärdera och testa men upplevelsen av navigationen och möjligheten till överblick av webbplat-sen kräver externa testanvändare.

Design Designen ska präglas av enkelhet och struktur. Enkelhet finns om det går fort och lätt att få en överblick över webbplatsens innehåll och de funktioner som erbjuds. Designstrukturen handlar om hur informatio-nen är strukturerad i form av till exempel rubrik- och länkhantering, bröd-text och bilder samt formulär. Det är viktigt att informationen grupperas så att viktig information framträder tydligt, att informationen även syns i mindre skärmupplösningar utan att bläddring i sidled krävs och så att balansen mellan information och tom yta är god.

Navigation Navigationen ska vara enkel i den meningen att användaren ska förstå var han eller hon befinner sig, har varit och kan navigera sig. Om det finns flera menyer är det nödvändigt att kopplingen mellan dem är tydlig. En meny får inte ta för stor plats på webbplatsen, maximalt en femtedel, och det ska gå att navigera utan hjälp av datormus. Vidare är det viktigt att namnen på menyelementen är väl överensstämmande med vad de innehåller samt att man kan ta sig tillbaka till startsidan.

Interaktion Interaktionen är uppdelad i tre delar: felhantering, instruk-tioner/information och användarkontroll. Felhanteringen ska uppmärk-samma, informera och ge förslag på hur användaren kan åtgärda felet. Instruktionerna och informationen ska underlätta för användaren att an-vända webbplatsen och i möjligaste mån förhindra fel. Anan-vändaren ska ha

(35)

2.2. Designmetod 13

kontroll över vad som sker i interaktionen och bör kunna ångra val samt avbryta och stanna upp processer.

2.2.4 Vår användbarhetsmetod

Vision

Vi utgick från Lorensbergs Communications vision för hur enkätunder-sökningar ska hanteras och formulerade en vision som är specifik för den del av enkätmodulen som examensarbetet innefattar.

Operativ bild

Eftersom visionen till stor del var given fokuserade vi inte på scenarion eller storyboards. Istället fokuserade vi på gränssnittsskisser och en dyna-misk pappersprototyp som vi även utvärderade. Därefter använde vi de riktiga programmen för utvärdering.

Värdering

Vi har tidigare i ett flertal projekt använt oss av Nielsens heuristiska ut-värderingsmetod och finner visst fog för Tajakkas kritik, se stycke 2.2.3. Nielsens metod är mer generell än Tajakkas som är strikt webbanpassad och konkret.

Eftersom vi användeXPoch påbörjade programmering och

gränssnitt-design i ett tidigt skede hade vi ett fungerande användargränssnitt till vå-ra applikationer som gick att testa. Vi använde oss av MVC-arkitekturen

vilket innebär att gränssnittslagret är åtskiljt från de övriga delarna och därför med lätthet kan modifieras. Detta gjorde att en datorprototyp inte var nödvändig.

Inledningsvis testade vi gränssnitten på en pappersprototyp för att an-vändaren skulle känna sig fri att komma med åsikter och kritik. Pappers-prototypen gick snabbt att utveckla och vi trodde att testanvändarna var mer benägna att kritisera och reflektera kring designen om den inte kän-des färdig och opåverkbar. Som utvecklare är det ofta lättare att ändra designen i en pappersprototyp jämfört med i produkten.

Vid utvärderingen skulle vi även säkerställa att de användbarhetskrav som vi ställde på vår produkt i kravspecifikationen var uppfyllda genom att först användaDIN-metoden och sedan intervjua och observera

testan-vändare. När vi använde DIN-metoden gick vi igenom punkterna i den

(36)

Till vår hjälp i värderingen hade vi definitionen av användbarhet, se stycke 5.1, för att se om vår produkt var användbar. Det är dock våra krav i kravspecifikationen som var viktigast att uppfylla.

2.3 Metodkritik

Vi har förstås inte haft möjlighet att ta del av all litteratur inom området men har försökt att välja vår litteratur med omsorg. Eftersom XPförordar

att man börjar programmera direkt vid projektuppstarten trodde vi att det fanns det en risk att vi skulle börja bygga systemet med bristfälliga kun-skaper och inte vidareutveckla det på bästa sätt. Så blev det dock inte utan vi byggde om systemet i takt med att vi tillägnade oss nya kunskaper.

Vad gäller användbarhetsmetoder finns en uppsjö designparadigmer att välja bland och vi hade svårt att på förhand veta om vi valde den som är bäst lämpad för detta projekt. Detta är något som vi fortfarande inte med säkerhet kan avgöra men det tycks som om metoden har fungerat bra.

(37)

Kapitel 3

Uppgift

Inledningsvis följer en beskrivning av uppgiften i form av en kravspecifi-kation, som grundar sig på den övergripande kravspecifikation som vi fick av Lorensbergs Communication, se bilaga B. Därefter beskriver vi krav-specifikationen kortfattat.

Enkätmodulen kommer att vara en fristående del av Asynja, både på grund av prestanda- och säkerhetskäl. I enkätmodulen ska det finnas möj-lighet att publicera och svara på enkäter samt ta emot och lagra svaren.

Utvecklingen av den fristående modulen ska ta hänsyn till att delar av modulen i framtiden kan komma att integreras i det befintliga Asynjasy-stemet. Det är dock inte troligt att den del där de svarande lämnar sina enkätsvar kommer att integreras i Asynja på grund av säkerhetsskäl.

Användbarhetskraven, krav fem till elva bland de icke-funktionella kraven, är formulerade med inspiration från Jakob Nielsens användbar-hetsheuristiker [8].

3.1 Funktionella krav

1. Inloggningsmöjlighet för administratörerna som ska skapa enkät-undersökningarna ska finnas men behöver inte valideras mot någon extern källa.

2. Administratörer som är inloggade i designapplikationen ska kunna publicera enkäter genom att överföra dem till svarsapplikationen. 3. En enkätundersökning består minst av en frågesamling samt

inlogg-ningsinformation för de som ska besvara enkäten. Denna informa-tion ska finnas i svarsapplikainforma-tionen.

(38)

4. Frågesamlingarna, målgruppernas inloggningsinformation samt en-kätsvaren ska lagras i ett format som gör att informationsutbyte med andra applikationer kan ske på ett enkelt sätt.

5. Varje person i målgruppen ska ha användarnamn och lösenord för att kunna logga in och svara på en publicerad enkät.

6. En inbjudan ska skickas till alla i målgruppen med lämplig informa-tion om enkätundersökningen.

7. Enkätsvaren ska lagras krypterat i svarsapplikationen.

3.2 Icke-funktionella krav

1. De webbapplikationer som skapas ska fungera oberoende av val bland de vanligt förekommande webbläsarna1.

2. Applikationerna ska vara skrivna i Java och köras under Tomcat på en webbserver.

3. Webbservern som kör applikationerna ska inte ha några beroenden till Asynjas databas eller andra databashanterare.

4. Applikationerna ska vara plattformsoberoende.

5. Användargränssnittet ska vara lätt att förstå och använda för perso-ner med grundläggande datorvana.

6. Systemets användare ska tydligt informeras om vad som har hänt och vad som pågår i systemet.

7. Val av begrepp, koncept och metaforer ska upplevas konsekvent med användarnas verklighet.

8. Användaren ska ha möjlighet att återställa misstag.

9. Applikationerna ska förhindra fel från användarens sida i möjligaste mån genom att tydliggöra när händelser aktiveras.

10. Användaren ska inte behöva ha onödigt mycket information i hu-vudet, utan all nödvändig information ska finnas lätt tillgänglig i systemet.

(39)

3.3. Beskrivning av kravspecifikationen 17

11. Antalet interaktioner mellan användare och system för att utföra en uppgift ska minimeras, men inte på bekostnad av något annat användbarhetskrav.

3.3 Beskrivning av kravspecifikationen

3.3.1 Krav på designapplikationen

Inloggning

Användarna ska kunna logga in för att administrera enkätundersökning-arna. Användaren är i detta fall till exempel en skolsköterska eller kurator. Dessa personers inloggningsuppgifter finns redan i Asynjas databas men autentiseringen görs istället lokalt i vår applikation. Detta eftersom det i dagsläget är oklart hur pass integrerad i Asynja som denna modul kom-mer att bli.

Publicera enkäter

När Asynjas administratörer ska publicera en enkätundersökning elektro-niskt måste de välja vilken frågesamling som ska användas i enkätunder-sökningen, och vilka som ska inbjudas till att svara på enkäten.

Datat som beskriver frågesamlingarna och målgrupperna ska sparas i ett format som möjliggör att de kan tillgodogöras från andra system, ex-empelvis Asynja.

De som ska svara på enkäten behöver ett användarnamn och ett lö-senord som de kan använda vid inloggningen till enkäten.

I samband med publiceringen skickas en inbjudan med inloggnings-uppgifter, enkätensURL samt eventuellt meddelande från den som

publi-cerat enkäten, ut via e-post till de som ska svara.

Vid publicering överförs enkäten och information om målgruppen till svarsapplikationen där respondenterna loggar in för att besvara enkäten.

3.3.2 Krav på svarsapplikationen

Inloggning för att svara på enkäter

Inloggningsuppgifterna ska finnas i svarsapplikationen eftersom inget be-roende till direkt kommunikation med designapplikationen får finnas för att kunna svara på enkäter.

(40)

Ta emot och lagra enkätsvar i svarsapplikationen

Enkätsvaren ska mellanlagras i svarsapplikationen för att vid annan tid-punkt överföras till designapplikationen. Vid lagring måste känsliga da-ta krypteras eller på annat sätt göras oåtkomliga för obehöriga. Vi måste även specificera hur detta görs för att underlätta framtida importering av enkätsvar till andra system.

(41)

Kapitel 4

Översikt av befintliga

enkätsystem

Vi har studerat några befintliga enkätsystem för att hämta inspiration. Med dem som underlag är det lättare för oss att bedöma vad som är rele-vant att ha med i vår enkätmodul. Vi har inget krav på att man ska kunna skapa själva enkäten i vårt program, men vi presenterar skapade enkäter och måste därför specificera vilka element som kan ingå i en enkät.

Det finns ett mycket stort antal befintliga enkätsystem och vi har en-dast valt ut en handfull. Vi börjar med att kort beskriva Asynjas befintliga enkätsystem.

4.1 Asynjas enkäthanterare

Asynja har en befintlig enkäthanteringsdel som kan visa upp enkäter för inloggade administratörer i Asynja, samt exportera dem till enPDF-fil för

utskrift. Ett exempel på en enkät från Asynja finns i figur 4.1 på sidan 20. De frågetyper som finns är antingen-eller-frågor, flervalsfrågor, fritextfrå-gor med en eller flera rader, fråfritextfrå-gor med numeriska svar samt matriser av både antingen-eller-frågor och flervalsfrågor.

4.2 Litium Enkät

Litium Enkät är ett verktyg för att skapa webbaserade enkätundersök-ningar [11]. Vi har inte kunnat testa det men det verkar vara flexibelt och enkelt. Följande information om Litium Enkät kommer från deras

(42)
(43)

4.3. Datainstitutets Business Intelligence 21

plats [12]. Enkäterna skapas i systemet, systemet skickar e-post till respon-denterna och resultatet sammanställs i en rapport.

Enkätgeneratorn har stor flexibilitet och man kan bland annat välja språk, hur många gånger en användare ska få besvara enkäten, om man ska ha separata webbsidor för varje fråga och tid för publicering. Påmin-nelser skickas ut till respondenterna. Man kan ha en inledning till frågorna med text och bild och Litium stödjer så kallade vägvalsfrågor1. Förutom de vanligaste frågetyperna (flervals-, antingen-eller-, textrads- och textrute-frågor) finns stöd för tid, datum, personnummer, en utfällningsbar meny för antingen-eller-svar, frågor i tabellform samt skalor och rangordning.

4.3 Datainstitutets Business Intelligence

Företaget Datainstitutet2 har en grafisk Microsoft Windows-programvara med möjlighet att skapa och publicera enkäter. Informationen om denna är hämtad från deras webbplats [13]. Systemet har även en webbmodul som möjliggör administration via Internet. Programmet är inte gratis, till exempel kostar webbmodulen extra.

Det finns 17 olika frågetyper att välja bland. Utöver de vanligaste finns kombination av flervalsfrågor och fritextfält, en tabell med numeriska svarsalternativ, olika skalor med bland annat siffrorna 2–5, en samtyc-keskala och en viktskala samt möjlighet att komplettera en text med ett ord på slutet samt att i ett fritextfält associera till ett eller flera ord.

4.4 Relationwise

RelationwiseA/Sär ettIT- och konsultföretag som bland annat

tillhanda-håller en webbtjänst för att skapa och publicera enkäter. Följande informa-tion är hämtad från deras webbplats [14]. Det finns möjlighet att prova de-ras system i webbläsaren Microsoft Internet Explorer, vilket vi gjorde. För-utom de vanligaste frågetyperna finns möjlighet att lägga till ett fritextfält vid flervalsfrågor, att kombinera flera olika textfält vid till exempel inmat-ning av adressuppgifter samt till en delad antingen-eller-tabell. Det går även bra att lägga till bilder.

Utseendet kan ändras på flera olika sätt, man kan lägga till logotyper på olika ställen på enkätsidorna samt välja färger. Vi hittade endast en version på danska. En av frågetyperna är en delad antingen-eller-tabell,

1Frågor där efterföljande frågor beror på tidigare svar.

(44)

där det går att välja ett av alternativen God, Middel och Dårlig samt ett av alternativen Vigtigt och Mindre vigtigt för varje underfråga.

4.5 Netigate

Företaget Netigate är ett undersökningsföretag som har ett enkätunder-sökningsverktyg med samma namn. Tjänsten är webbaserad och har ett trevligt gränssnitt. Man kan skapa enkäter och publicera dem. Netigate stödjer bland annat start- och stoppdatum för enkäternas publicering, oli-ka språk, designteman, en e-postadress till en kontaktperson för enkäten samt välkomst- och tacktext [15]. Frågorna kan enkelt förhandsgranskas samtidigt som de skapas [15].

4.6 E-enkät

Enkäthanteraren E-enkät är utvecklad av företaget Develosys systemut-veckling. All information om E-enkät är hämtad från deras webbplats [16]. I systemet kan man skapa frågor, publicera undersökningen samt skapa rapporter av resultatet, men enkätinbjudan skickas manuellt från inbju-darens e-postprogram. Detta enkätsystem är en enklare variant med alla frågor på samma webbsida samt ett fåtal frågetyper. Bland annat finns flervalsfrågor och antingen-eller-frågor där de senare visualiseras anting-en med radioknappar eller i anting-en utfällbar manting-eny.

4.7 re:

PDF

re:PDF har en lösning där enkäterna består av PDF-sidor. Informationen

om denna är hämtad från re:PDFs webbplats [17]. Enkätmakarna skapar

sina enkäter i valfritt program och exporterar dem sedan tillPDF. Därefter

används Adobe Acrobat för att skapa fält där respondenterna kan svara. Den färdiga filen laddas upp till re:PDFs webbplats och publiceras.

Förde-lar med detta är att enkätmakaren får stor kontroll över utseendet samti-digt som han eller hon får stora möjligheter att utforma enkäten efter tycke och smak. En nackdel är att den kommersiella programvaran Adobe Acro-bat krävs för att skapa enkäten. Den svarande måste även ha möjlighet att visaPDFer med formulär och lämna svar via en installerad programvara.

(45)

4.8. Websurvey 23

4.8 Websurvey

All information om Websurvey är hämtad från deras webbplats [18]. Fö-retaget Textalk har skapat enkätsystemet Websurvey och anger själva att det är det ledande enkätverktyget för Internet. Bland kunderna finns till exempel Regeringskansliet, Volvo, Svenska Spel och Hennes & Mauritz.

Detta enkätsystem har också många olika sorters frågor och kombina-tioner av dem. Till de numeriska svaren finns en ruta till varje siffra. Vid ta-beller går det att blanda fritextfält, utfällningsbara menyer samt antingen-eller-val ganska friskt. Det går att infoga bilder till frågorna och det finns även en rangordningsmatris. Den fungerar dock inte när vi provade den i webbläsaren Mozilla Firefox, eftersom det gick att säga att flera alterna-tiv skulle vara på första plats. Man kan bifoga information om frågan som visas genom att ett nytt litet webbläsarfönster öppnas.

Det finns också en skala där användaren kan förflytta en markör med musen för att svara. Skalan kan placeras både lodrätt och vågrätt. Detta svarssätt kräver musarbete men ett textfält finns där respondenten kan skriva in sitt svar manuellt med siffror.

4.9 Tillvaratagna idéer

Efter att ha studerat de olika frågetyper som lösningarna ovan använder kom vi fram till att de som redan fanns i Asynja verkade välanpassade och heltäckande. Vi behövde exempelvis inte fält för personnummer, adress eller liknande eftersom enkätsvaren ska kopplas till en journal där sådana uppgifter finns tillgängliga.

Flera av de undersökta systemen använde sig av utfällbara menyer för att välja ett av flera alternativ. Vi valde istället att endast ha radioknappar för detta behov eftersom vi anser att dessa är mer överskådliga.

Relationwise använde en delad antingen-eller-tabell vilket verkade svårt för våra användare att förstå. Våra enkätmakare måste istället gö-ra två sepagö-rata frågor.

Business Intelligence har flera olika typer av skalor, till exempel samtycke- och viktskala. Vi kan uppnå samma funktionalitet genom att använda vår skala eller radioknappar.

Vi har använt frågetyperna i Asynja med några modifieringar. Istället för en skala med ett skjutreglage använde vi radioknappar för att öka till-gängligheten för de användare som inte använder mus.

Förutom de frågetyper som vi har valt att implementera finns det möj-lighet att utöka systemet vid behov så att nya frågetyper kan hanteras.

(46)

Flera av de utvärderade systemen använder sig av uppdelning av en-käten i flera sidor, exempelvis en sida per fråga. Det har både för- och nackdelar men är nog viktigast om man har en väldigt omfattande enkät eller använder sig av villkorsstyrda frågor.

Vissa system har alternerande bakgrundsfärg för att kunna markera antingen att en ny fråga börjar eller att man växlar mellan fråga och svars-alternativ. Men vi ansåg att det inte behövdes för att kunna särskilja frå-gorna utan problem.

Systemet som använder sig avPDFär intressant men upplägget

(47)

Kapitel 5

Teoretisk bakgrund

Detta kapitel beskriver den teoretiska bakgrunden som ligger till grund för vårt resultat. Kapitlet inleds med ett stycke om användbarheten där vi diskuterar begreppet användbarhet, vår målgrupp samt hur våra använd-barhetskrav skulle uppfyllas. Därefter följer en utredning om hur våra in-data skulle utformas, det vill säga frågesamlingarna och målgrupperna. Sedan diskuterar vi översiktligt hur personuppgifter skulle behandlas i våra program och sist följer ett större stycke om hur programmen skulle implementeras.

5.1 Användbarhet

Begreppetanvändbarhet definierades 1998 av Internationella

Standardise-ringsorganisationen, ISO1, i standardenISO 9241-11 [19] som:

Extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satis-faction in a specified context of use.

Vår översättning:

Den grad till vilken en produkt kan användas av specifika an-vändare i en given användningssituation för att uppnå specifi-ka mål på ett kraftfullt, effektivt och tillfredsställande sätt.

Enligt användbarhetsexperten Tajakka [20] kan begreppen kraftfullhet, effektivitet och tillfredsställelse i definitionen beskrivas på följande sätt:

1URL:http://www.iso.org

(48)

Kraftfullhet I vilken utsträckning ett mål eller en uppgift är uppnådd. Effektivitet Den grad av ansträngning som krävs för att slutföra och

upp-nå målet eller uppgiften. En mindre ansträngning ger högre effekti-vitet.

Tillfredsställelse Den grad av tillfredsställelse och positiva känslor som produkten frambringar då den används.

Vi avsåg att göra en produkt med god användbarhet enligt denna de-finition. Detta säkerställdes genom att produkten utvärderades enligt den metod som är beskriven i stycke 2.2.

5.1.1 Målgrupp

Användbarhetsdefinitionen kräver att det finns en specificerad målgrupp att anpassa sig till. Att veta vilka som ska använda systemet var viktigt både när vi utvecklade systemet och när vi utvärderade användbarheten.

Asynja har ingen uttalad målgrupp men är tänkt att kunna använ-das av all personal som kommer i kontakt med systemet inom företags-och skolhälsovården. Ofta är denna personal ovan att arbeta med dato-rer. Målgruppen för vår designapplikation liknar Asynjas målgrupp och är därmed även den tämligen bred. Vi kunde inte förutsätta någon större datorvana, men förmåga att utföra grundläggande operationer såsom att navigera med tangentbord och eventuellt mus eller liknande är en förut-sättning.

Eftersom vi inte kan veta något om de respondenter som kommer att använda svarsapplikationen har den mycket stora krav på användbarhet.

5.1.2 Våra användbarhetskrav

Våra krav på användbarhet var de icke-funktionella kraven nummer fem till elva, se stycke 3.2. Nedan diskuterar vi hur våra användbarhetskrav kan uppfyllas.

Alla kraven nedan samverkar för att göra produkten kraftfull, effek-tiv och tillfredsställande. Samtliga krav medför effekeffek-tivitet och framförallt krav fem, sex och nio ger tillfredsställelse.

(49)

5.1. Användbarhet 27 Krav 5: Användargränssnittet ska vara att lätt att förstå och använda för personer med grundläggande datorvana.

Arbetsflödet i designprogrammet måste vara intuitivt. Användarna måste till exempel kunna förstå att de måste sätta ihop en enkätundersökning innan den går att publicera. För detta krav krävs även att navigationssy-stemet är väl uttänkt för att främja arbetsprocessen. Det bör även finnas korta instruerande texter som berättar om den aktuella vyn eller funktio-nen.

För att alla ska kunna förstå webbplatsen snabbt och enkelt krävs ett tydligt teckensnitt samt färg och form som gör det enkelt att urskilja olika element såsom text, länkar, rubriker, formulärelement för indata, knappar att trycka på, bakgrund med mera. Vi utelämnar funktionalitet för att i våra applikationer kunna ändra teckenstorlek, eftersom detta enkelt går att göra i de webbläsare som vi avser att stödja.

Krav 6: Systemets användare ska tydligt informeras om vad som har hänt och vad som pågår i systemet.

Kravet borde öka tillfredsställelsen av produkten eftersom användaren måste få kunskap från systemet för att fatta kloka beslut. I annat fall upp-står lätt frustration.

Även för att uppnå detta krav krävs ett intuitivt arbetsflöde och ett tydligt navigationssystem så att det går att förstå var i flödet som man be-finner sig för tillfället och vart man är på väg. Textmeddelanden på webb-sidan bör underrätta användaren om systemets status.

Krav 7: Val av begrepp, koncept och metaforer ska upplevas konsekvent med användarnas verklighet.

Begrepp som enkät, målgrupp och respondenter är termer som används i enkätsammanhang medan termen enkätundersökning i vårt fall är ett samlingsord för en kombination av en enkät och en målgrupp. Detta måste kommuniceras konsekvent och tydligt genom hela applikationerna.

Om metaforer används på ett tydligt sätt kan de främja användbar-heten. Ett exempel är arkivflikmetaforen där de olika vyerna visas upp under flikar som delar i ett dokumentarkiv. Denna metafor gör det tydligt för användaren var han eller hon befinner sig i systemet.

(50)

Krav 8: Användaren ska ha möjlighet att återställa misstag.

I möjligaste mån ska man kunna redigera och ångra det man har gjort, men vissa saker är definitiva. Man kan till exempel inte ångra ett e-postutskick som redan har gått iväg. Däremot kan vi vara tydliga med att det kommer att hända, se krav nio.

Krav 9: Applikationerna ska förhindra fel från användarens sida i möj-ligaste mån genom att tydliggöra när händelser aktiveras.

Händelser som är extra viktiga och som är oåterkalleliga bör föregås av en bekräftelse så att användaren får en chans att hejda sig. Exempel på sådana tillfällen är innan enkätsvaren skickas iväg samt innan en enkät-undersökning publiceras.

Krav 10: Användaren ska inte behöva ha onödigt mycket information i huvudet, utan all nödvändig information ska finnas lätt tillgänglig i systemet.

I applikationerna ska användaren alltid kunna välja bland olika alternativ när sådana finns istället för att behöva kunna dessa utantill. När till exem-pel en enkätfil ska väljas bör användaren se vilka filer som finns att tillgå direkt i applikationen.

Krav 11: Antalet interaktioner mellan användare och systemet för att utföra en uppgift ska minimeras, men inte på bekostnad av något annat användbarhetskrav.

Webbsidorna bör upplevas snabba men det får inte gå ut över till exempel förståelsen av systemet. Vi försöker att ha funktionerna lättåtkomliga utan onödiga omvägar eller grupperingar.

5.2 Enkätutformning

Frågesamlingarna utformas inte i vår designapplikation. Enkäterna lagras i Extensible Markup Language-format (XML) vilket förenklar datautbyte

med andra system. I framtiden tänker vi oss att man i enkätmodulen även har möjlighet att skapa frågesamlingar.

Frågetyperna har utformats med tanke på hur de var uppbyggda tidi-gare i Asynja. I nuläget hanteras inte villkorsstyrda frågor, det vill säga att

(51)

5.2. Enkätutformning 29

man inte kan bestämma vilka frågor som ska besvaras beroende på tidiga-re svar. Om man till exempel svarade ja på en fråga, kanske enkätmakatidiga-ren vill ställa några följdfrågor som inte behövs vid ett nekande svar.

Dessa frågetyper förekommer:

Antingen-eller-frågor Frågor där enbart ett alternativ av flera kan väljas. Vi kallar denna frågetyp förradio.

Flervalsfrågor Frågor där flera alternativ kan väljas. Vi kallar denna frå-getyp förcheckbox.

Fritextfrågor med en rad Används för frågor där ett kort fritextsvar ska lämnas. Det går inte att byta rad och enkätmakaren bestämmer en övre gräns för hur många tecken som ska få plats. Denna typ kallar vi förtext.

Fritextfrågor med flera rader Används för frågor där ett längre fritextsvar ska lämnas. Enkätmakaren kan välja hur många ra-der som ska visas i textrutan men respondenten kan skriva flera rader. En rullist gör det möjligt att bläddra i texten. Denna typ kallar vi förtextarea.

Frågor med numeriska svar En textrad där respondenten enbart kan lämna ett heltal som svar. Enkätmakaren kan begränsa vilket inter-vall som svaret ska ligga i. Denna frågetyp kallar vinumerical.

Frågor med underfrågor Används då man vill ha flera frågor med samma svarsalternativ under samma fråga. Svarsalternativen kan antingen vara av antingen-eller- eller flervalstyp. Dessa frågetyper benämns inte med egna namn, utan benämns antingen radio eller check-box. Dessa är alltså specialfall av antingen-eller-frågor och

flervals-frågor.

Frågor med skala Används då en fråga ska besvaras med en bedömning på en skala. Enkätmakaren kan bestämma skalans numeriska värden samt etikett i början respektive slutet av skalan. Denna typ kallar vi för scale. Skalor är egentligen inte nödvändiga eftersom

radi-oknappar kan ge samma funktionalitet men vi ansåg att dessa var lämpliga eftersom de är vanliga i enkäter.

Rubrik Används för att avdela stycken i enkäten. Typen är egentligen ingen frågetyp, men är ändå en del av enkäten. Rubriker kallar vi förheading.

(52)

Alla frågor måste besvaras, förutom flervalsfrågor, eftersom man där ska få lämna valfritt antal svar.

5.3 Målgruppsutformning

Även målgruppen skapas utanför vårt program och importeras som en

XML-fil. Det designapplikationen vet om målgruppen är målgruppens

ti-tel, ett unikt namn samt varje respondents användarnamn, lösenord och e-postadress. Kopplingen mellan användarnamn och personens verkliga identitet ska inte finnas i designapplikationen. Information om vilka an-vändare som har besvarat enkäten finns i form av användarnamnet.

I en framtida version av applikationen bör man kunna konstruera mål-grupper i ett grafiskt gränssnitt.

5.4 Personuppgifter

Enligt Personuppgiftslagen (1998:204) [21] §18 får känsliga personuppgif-ter behandlas bland annat för hälso- och sjukvårdsändamål för förebyg-gande vård eller administration. Personuppgiftslagen stipulerar en rad be-stämmelser kring behandling av personuppgifter.

De personuppgifter som förekommer i våra applikationer är respon-denternas e-postadresser och det kan även tänkas att respondenterna som svar på enkäter lämnar personuppgifter i svaren. Kopplingen mellan iden-titeten och användarnamnet finns, förutom eventuellt i e-postadressen, endast där målgruppsfilen är skapad vilket inte är i någon av våra app-likationer.

Personuppgiftslagen [21] §31 säger att säkerhetsåtgärderna för be-handling av personuppgifter ska vara sådana att de står i paritet med till exempel de tekniska möjligheter som finns och hur känsliga personupp-gifterna är.

5.5 Implementationsteori

5.5.1 Givna tekniska förutsättningar

Eftersom Asynja är utvecklat som en webbapplikation i programmerings-språket Java skulle även våra applikationer skrivas i detta programme-ringsspråk (version 5.0) och vara anpassade för webben. Applikationerna

(53)

5.5. Implementationsteori 31

körs på en webbserver med Tomcat2 och användargränssnittet består av webbsidor. Vi valde därför att använda Java Servlets3 och JavaServer Pa-ges4, hädanefter benämnda servlets respektive JSP. Tomcat är gratis och har öppen källkod. Vi använder Tomcat version 5.5.9.

Utvecklarna av Asynja eftersträvar att endast skickaHTMLtill sina

kli-enter, vilket även vi gjorde. I Asynja förekommer JavaScript, bland annat för att kunna validera formulärdata på klientsidan. Därför tillät även vi oss att vid behov använda JavaScript men vi strävade efter att minimera dessa behov. Vi ville endast använda JavaScript för att tillföra funktionali-tet som man ändå kan klara sig utan om JavaScript inte används.

För utveckling av Asynja används utvecklingsmiljön Eclipse Platform. Vi använde oss av Eclipse-projektet Eclipse Web Tools Platform Project5 för att underlätta utvecklingen av våra webbapplikationer.

5.5.2 Uppdelning av webbapplikationer

Enkätmodulen består dels av en designdel och dels av en svarsdel. Dessa båda applikationer är fristående och kan köras på samma webbserver eller på två olika. Kommunikationen mellan dem sker via HyperText Transfer Protocol (HTTP) eller det säkrare så kallade HTTPS-protokollet.

5.5.3 Webbapplikationernas struktur

Det finns flera modeller för att strukturera webbapplikationer. När Sun utvecklade JSP definierade de två modeller6, Modell 1 och Modell 2, för

utveckling avJSP-baserade webbapplikationer.

Modell 1 är den enklare modellen som främst passar bra för mindre applikationer. Den innebär att logik- och presentationslagren inte är åt-skilda, utan att logiken finns i JSP-filer blandad med kod för

presentatio-nen i webbläsaren. Datalagringen är däremot fristående och använder sig avJavaBeans, så kallade bönor, för datatransport och viss lagring.

Modell 2 har samtliga lager åtskilda vilket gör att denna modell är mer flexibel och komplicerad, vilket i sin tur medför att den läm-par sig bättre för större projekt. Istället för att utföra logiska operatio-ner direkt på varje sida som visas, utförs detta i modellagret.

Koordina-2URL:http://jakarta.apache.org/tomcat/ 3URL:http://java.sun.com/products/servlet/ 4URL:http://java.sun.com/products/jsp/ 5URL:http://eclipse.org/webtools/index.html 6URL: http://java.sun.com/developer/onlineTraining/JSPIntro/ contents.html

References

Related documents

Att individerna vet om i snitt att de har ett personligt varumärke är dock intressant, eftersom vi då inte kan styrka tidigare forskning som Rampersad (2008) säger

I dessa akuta situationer berättade intervjupersonerna att det var viktigt för dem att kunna få hjälp där och då av flera olika aktörer, något som inte upplevdes som

den här lösningen är inte i linje med vad jag vill bidra med till andra människors hälsa…... Det har ett värde

ner, så kallad sammanflätning, förekommer mellan två delsystem så kan vi inte längre beskriva tillståndet för något av delsystemen som ett ket­tillstånd | ψ 〉. I

Detta är en kvalitativ studie med en hermeneutisk ansats som syftar till att undersöka, beskriva och tolka de tankar och erfarenheter som informanterna beskriver finns för

Gärningsmannen i vår studie var inte av utländskt ursprung, han var svensk, men vi kan ändå använda oss av denna studie för att jämföra med hur gärningsmannen i fallet

Den enskilda klienten, som tar sitt ansvar över sin situation, som det överliggande huvudtemat avgränsar oss till att förklara, konstrueras på underliggande

Vita huset valde tystnad, till och med efter att Kuba öppnat sitt luftrum för att minska flygtiden för USA-planen med flera timmar.. Enligt doktor García försöker Haitis