Rapport för Projekt Alhanko

Relevanta dokument
Specifikation för Projekt Alhanko

Preliminär specifikation av projekt

Projektet. TNMK30 - Elektronisk publicering

Projektuppgift.

Sakfrågan Preliminär specifikation

Systembeskrivning.

Palmbaserad datainsamling och databassynkronisering. Projektpresentation. 2D1954 Programutvecklingsprojekt Projektgruppen Harald

1. (3p) Inom MDI-området framhåller man att människor lär sig via metaforer. Hur menar man att detta går till?

Människa- datorinteraktion, MDI, ht 2011, anvisningar för projekt- /grupparbete

Utvärdering. Övergripande (1) Med/utan användare. Övergripande (2) Fredag 1 oktober F1. Ann Lantz - Anna Swartling -

KTH Programutvecklingsprojekt med mjukvarukonstruktion 2D1362. Projektpresentation

Berättelser Scenarios Presentationer Skisser Formella modeller Mjukvaruprototyper Kartong modeller etc.

Projekt Intelligent Indexering

Exempel på verklig projektplan

Introduktion till MySQL

Användning Dessa rollkort kan användas som stöd i produktutvecklingsprocessen. De beskriver olika yrken och vilken roll personerna med dessa yrken

Människa- datorinteraktion, MDI, vt 2012, Anvisningar för projekt- /grupparbete

Kursplan Gränssnittsdesign, 100p Läsår

Projektanvisning. Webbsideprojekt. Författare: Johan Leitet Version: 2 Datum:

GRÄNSSNITTSDESIGN. Ämnets syfte. Kurser i ämnet

Rune Tennesmed. Oskar Norling 1DV430. Individuellt Mjukvaruutvecklingsprojekt 1DV430 Webbprogrammerare H12 Oskar Norling

Exempel på verklig kravspecifikation

Utvärdering. Övergripande (1) Övergripande (2) Med/utan användare. Heuristisk utvärdering. Expertutvärdering. Måndagen den 29 september 8-10 F1

Användning Dessa rollkort kan användas som stöd i produktutvecklingsprocessen eller för sig själva. De beskriver olika yrken och vilken roll

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Presentationsprogram - Kravspecifikation. Henrik Österdahl och Jenny Melander, D mars 2002

TPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER

Inlämningsuppgifter, EDAF30, 2015

campus.borlänge Förstudie - Beslutsstöd för operativ tågtrafikstyrning

PACOM UNISON SECURITY MANAGEMENT MADE EASY

De fem gyllene reglerna. Analys. Engagera dina användare. Känn dina användare. Lär av andra. Testa och korrigera designen

Kravspecifikation. LiTH Segmentering av MR-bilder med ITK Anders Eklund Version 1.0. Status

1. Utvärdering användbarhet & användarscenarier. 2. Visning av systemet samt testinloggning

Projektpresentation. Kungliga Tekniska Högskolan 2D1954 Programutvecklingsprojekt Vårterminen 2002

Labbrapport - LEGO NXT Robot

Projektpresentation Sakfrågan

Utvärdering av gränssnitt särskilt befintliga. Hur utvecklar man användbara system? Användbarhet handlar om kvalitet

Utbildning. Anställningar. Jonathan Wahlund Topeliusvägen Bromma

Offertunderlag Webbportal NILS

Grupparbete ACSD Projektplanering för ett Patientjournalsystem

Datainsamling. Daniel Bosk. data.tex :33:45Z danbos

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Tentamen, InteraktionsDesign, 7,5 ECTS

Människa- datorinteraktion, MDI, ht 2012, Anvisningar för projekt- /grupparbete

Målet för de testförfaranden som anges i detta dokument är att erhålla ett system som är färdigt för demonstartion och kundacceptans.

Så gör Vägledningen 24-timmarswebben dig till en bättre beställare. Funda Denizhan, Statskontoret Kommits 17 november, 2005

Användning av handdatorer och trådlösa nät på föreläsningar och i labsalar. Preliminär specifikation

Labrapport över Rumbokningssytemet Grupp:1

TDDC74: Projekttitel

SKOLFS. beslutade den XXX 2017.

Granskning av gränssnitt. Mattias Arvola

Kursplan Gränssnittsdesign och Webbutveckling 1 Vårtermin 2014

Projektstatus 20 februari 2002

Vi är alla i gruppen väldigt intresserade av spel och vill lära oss mer om hur man skapar ett helt spel från idé till slutprodukt.

12 juni 2009 Projektplan Webb-baserat bokningssystem för flyg Kurs: Applikationsutveckling för internet, TFE

Webservice & ERP-Integration Rapport

Fö 4: Utvärdering. Gästföreläsning. Muddy-cards resultat. Varför och vad? Varför? Vad? Mot vad? (Krav) Hur? IMPACT

Datainsamling Hur gör man, och varför?

Design och konstruktion av grafiska gränssnitt

Projektpresentation. Uppdragsgivare: Alex Olwal

Programmering = modellering

Bild 1: Översikt över faserna i projektarbetet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Grafisk formgivning. Gränssnittet utformning skall på ett naturligt sätt stödja användarens interaktion mot programsystemet

Röna fingrar e gött o ha:) SLUTRAPPORT BUDGETSYSTEM LNU

Grupputvärdering Gängbildning

Interaktionsdesign som profession. Föreläsning Del 2

Föreläsning 4: Designprocessen

Erik Lundgren GarageLoppisen.se. Projekt i kursen Individuellt Mjukvaruutvecklingsprojekt, 1dv430

Idag. Prototyper och användbarhetsutvärdering. Vad prototyper prototypar. Olika sorters prototyper. Del 2 Prototyper Utvärdering Analytisk Empirisk

30 år av erfarenhet och branschexperts

Kravspecifikation. Crowdfunding Halland

Projektuppgift - Gymmet

SF Bio App. Repport. Test summary. 1- Syfte. 2. Produktöversikt. Författare: Zina Alhilfi Datum: Version: v1,0

Fyra i rad Javaprojekt inom TDDC32

Projektplan. LiTH Segmentering av MR-bilder med ITK Anders Eklund. Version 1.0. Status. Bilder och grafik projektkurs, CDIO MCIV LIPs

Undervisningen i ämnet mobila applikationer ska ge eleverna förutsättningar att utveckla följande:

SLUTRAPPORT WEBBPROJEKT 1

Objektorientering. Grunderna i OO

Kommentarer till MDI tentamen

Ansvarsfull Design. Inledning. Målgrupp. Bakgrundsstudie. Appen. Idéutformning

Axalon Process Navigator SP Användarhandledning

E-handel köksportalen Projektuppgift i kursen Användarcentrerad systemdesign, hösten 2003 The Usability Engineering Lifecycle av Deborah J.

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Min Vårdplan Cancer i Stöd och behandling Utvärdering av piloter , Version 3

1.2 Skapa användarfall & 1.3 Genomför ett enkelt användartest

Bruksanvisning och formalia för proben

emopluppen Installationsmanual

Prototyping. Planera och genomföra webbproduktionsprojekt. Innehåll. Fördelarna med Pappersprototyper. Lofi-prototyp. Prototyping

Decentraliserad administration av gästkonton vid Karlstads universitet

Med koppling till EmiWeb

Prototyper och användartest

Undervisningen i ämnet programmering ska ge eleverna förutsättningar att utveckla följande:

Kravspecifikation. 1. Introduktion. 2. Övergripande beskrivning. 1.1 Syfte. 1.2 Omfattning. 1.3 Definitioner och förkortningar. 1.

Metoder och användartester på Lantmäteriet

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

TDDD92 Artificiell intelligens -- projekt

Projecticon PKS. Microsoft Project och dokumenthantering

PRODUKTUTVECKLING. Ämnets syfte. Kurser i ämnet

PRODUKTUTVECKLING. Ämnets syfte

Transkript:

Rapport för Projekt Alhanko på uppdrag av Kungliga Operan i KTH-kursen 2D1954 Programutvecklingsprojekt, 2002 1

Sammanfattning...3 Projektmedlemmar...3 Uppdragsgivare...3 Kontaktperson... 3 Projektwebb...3 Projektuppgift...4 Bakgrund... 4 Problembeskrivning... 4 Syfte... 4 Krav... 4 Avgränsningar:... 4 Utvecklingsarbete...5 Ansvarsfördelning... 5 Arbetsmetod... 5 Gränssnittet... 5 Utveckling av gränssnittet... 5 Testning av gränssnittet...6 Definitioner... 6 Problemformulering / testsyfte... 6 Metoder / testdesign... 6 Utformningen av gränssnittet... 6 Test av funktionaliteten... 7 Användarprofil... 7 Testpersonerna... 7 Uppgifter i testen... 7 Testledarens roll... 8 Förväntade data... 8 Tidsaspekter... 8 Funktionalitet... 8 Tack till... 8 Resultat...9 Bilaga 1 Etikettutskrifter...10 2

Sammanfattning Denna rapport avser ett projektarbete i kursen 2D1954 Programutvecklingsprojekt vid KTH, Kungliga Tekniska Högskolan i Stockholm, våren 2002. Arbetet på Kungliga Operan (nedan kallat KO) kräver stor dokumentation över vilka inventarier, dekorer och rekvisita som tillhör vilken föreställning och vart de finns lagrade i Operans lokaler. Idag finns flera dokumentationssystem, allt från enkla papper-och-penna-skisser till avancerade CAD-ritningar i datormiljö. Vi fick till uppgift att sammanföra några av systemen till ett system med en gemensam databas där användarna kan föra samma typ av dokumentation som idag och göra sökningar och listor med datorns hjälp istället. Projektet fick namnet Alhanko (nedan kallat PA) efter prima ballerina Anneli Alhanko. Projektmedlemmar Elin Francke Joanna Kühn Daniel Myrbäck Lennart Hedlund Clara Edman Robert Trouin ef@kth.se joannak@kth.se myrback@kth.se hedlund@kth.se clarae@kth.se rtr@kth.se Projektets e-post: pr02-alhanko@nada.kth.se Uppdragsgivare Kungliga Operan AB Box 16094 103 22 Stockholm Kontaktperson Kurt Blomquist, scenchef Telefon: 08-791 44 58 E-post: kurt.blomquist@operan.se Projektwebb http://www.nada.kth.se/projects/proj02/alhanko/ 3

Projektuppgift Bakgrund KO är en repertoarteater med många olika produktioner där varje produktion innehåller mycket rekvisita och dekor. För att organisationen ska flyta smidigt gäller det att ha god översikt över alla delar. Idag har man flera olika dokumentationssystem för att åstadkomma detta. Problembeskrivning Projektgruppens, PA, uppgift är att designa och implementera en databas över KO:s rekvisita, dekorer och inventarier, här generellt kallade objekt. Databasen skall bland annat kunna ge en översikt över de objekt KO innehar, stödja bokning av objekten till föreställningar samt att visa vilka objekt som ingår i en föreställning, s.k. innehållsförteckning, alternativt vilka föreställningar som bokat ett visst objekt. Ett grafiskt lättanvänt användargränssnitt ska utvecklas som stöder ovan nämnda funktioner. Syfte Systemet ska fungera som ett enkelt verktyg och kunna ge en översikt över tillgängliga resurser vid arbetet på KO. Krav Databasen skall köras på en Linuxserver. Systemet skall kunna köras i befintligt datornätverk. Varje ansvarsområde ska ll snabbt få tillgång till, för dem, väsentlig information. Exempelvis olika typer av innehållsförteckningar och utskriftsformulär. Hantera utlåning/uthyrning av objekt Hantera inventarier (objekt med avseende på värde över ett visst belopp) Användarvänligt gränssnitt Avgränsningar: Då tiden är projektets största hot kommer PA: s primära mål att vara att designa och implementera databasen samt skapa gränssnitt och funktionalitet för att lägga in och boka upp objekt i databasen. Man skall även kunna ställa frågor såsom sökningar och listningar. Det ligger inte inom projektets ramar att propagera databasen ( fylla på databasen med verkligt data ), endast några få objekt kommer att skapas för att säkerställa funktionaliteten. 4

Utvecklingsarbete Ansvarsfördelning Under förstudien gjorde vi en enkel kartläggning över vad alla hade för förkunskaper och gjorde en grov rollfördelning. Under arbetets gång har det emellertid utkristalliserats till mer formella roller. I förstudien deltog alla vid val av design och hur arbetet skulle gå till. roll: men har dessutom medverkat i: Elin projektledare gränssnitt, implementation Joanna testledare dokumentation Daniel systemarkitekt implementation Lennart kundkontakt databas, gränssnitt Clara gränssnitt gränssnitt, dokumentation Robert dokumentation databas, dokumentation Arbetsmetod Projektarbeten som detta kan styras med hjälp av ett flertal etablerade metoder. Vårt uppdrag åt Operan var tämligen fastställt, en åtskillig mängd data över rekvisita och inventarier skulle lagras i en databas. Arbetet delades upp i gruppen för att samla de olika kompetenserna. För att få ett så överskådligt system som möjligt har vi gjort en så enkel design som möjligt utan att rucka på kraven. Denna arbetsmetodik brukar kallas extreme programming. Gränssnittet För att kunna utforma och sedan utvärdera gränssnittet skapades en testplan som stöd och planering i arbetet. Den största utmaningen var att identifiera facktermer och annan Opera-specifik information för att få ett gränssnitt som i största möjliga mån talar användarnas språk. För att utvecklaren skulle få större insikt och kännedom om Operans verksamhet gjordes två besök, ett observationstillfälle hos dekoravdelningen och ett deltagande observationstillfälle 1 hos rekvisita. Utveckling av gränssnittet I ett första steg togs pappersprototyper fram för att få en generell överblick av vilka sidor som skulle behövas i gränssnittet. Tanken var att dessa sidor också skulle utgöra det första användartestet hos kunden men det blev istället så att den första presentationen skedde på whiteboardtavlor med utgångspunkt från pappersprototyperna och det var snarare ett möte av kooperativ design än ett vanligt användartest. I andra skedet skapades en mycket enkel prototyp av gränssnittet på dator vars länkar ledde till logiska händelser. På denna prototyp utfördes två expertutvärderingar och två användartester. Expertutvärderingarna gjordes av teknologer utbildade i människa-datorinteraktion efter tio heuristiker 2 och användartesterna skedde på Operan. Efter dessa resultat utvecklades då det slutgiltiga gränssnittet samt implementerades av en av gruppmedlemmarna. 1 Observation under deltagande, man följer med den man observerar; som en lärling. 2 Se separat dokument med heuristiker 5

Testning av gränssnittet Definitioner Med produkten menas hela databassystemet, där användargränssnittet är den del av produkten som användarna interagerar med. Med användare menas dels de verkliga slutanvändarna, eftersom tanken är att databasen ska användas på riktigt, men även de användare som endast ingår i syfte att testa och utvärdera produkten. Att användarna har datorkunskaper innebär att de har hanterat Microsofts Windows med Officepaketet, men de har inte programmerat eller gjort mer avancerade saker. Att surfa på Internet ingår. Med gränssnitt menas användargränssnitt, där inget annat anges. Problemformulering / testsyfte Det huvudsakliga syftet med testerna är att kontrollera att databasen och dess gränssnitt innehåller alla de funktioner och de objektegenskaper som är vitala för att systemet ska kunna användas. De frågor som testet förhoppningsvis ger svaret på är: Klarar slutanvändarna av de uppgifter som de ska kunna klara av att lösa i testen? Det vill säga, hjälper produkten användarna, eller är den bara en belastning i det dagliga arbetet på Operan. Innehåller produkten några grundläggande felaktigheter som gör att det är svårt att slutföra givna uppgifter? Tar det lång tid att lista ut hur man ska göra något, eller att hitta viss information. Olika tid krävs för olika uppgifter. Är det en lagom blandning av lättanvändbarhet kontra lättlärdhet? Upplevs systemet som komplicerat och svårt att sätta sig in i? Måste man lära om efter en tids frånvaro eller är det intuitivt, det vill säga, går det att lista ut vad som ska göras om användaren har basala datorkunskaper. Stämmer slutprodukten väl överens med slutanvändarnas konceptuella modell av systemet? Känner slutanvändarna att det som de var med och utvecklade, verkligen var det de fick i slutändan, med vissa modifikationer. Metoder / testdesign Det kommer att vara flera olika typer av tester under projektets gång. Detta för att det är ett stort projekt med ett ganska komplicerat användargränssnitt. De tester som kommer att utföras är dels ett där själva gränssnittet utformas, dels ett där det kommer att vara hela databasgränssnittets funktionalitet och användbarhet som testas. Det vill säga, kontrollera om systemet uppfyller de krav som specificerades i början av projektet. Utformningen av gränssnittet Enligt projektspecifikationen utformas gränssnittet i samarbete med användarna och efter ett skelett som projektgruppen lägger fram. Detta för att de tekniska begränsningarna ska tas med redan i planeringsstadiet, som en tidsbesparande åtgärd. 6

Den del av projektgruppen som är ansvarig för gränssnittet utformar det sedan med hjälp av heuristiker 3 och genom att gå igenom användningsfall. En expertutvärdering kommer att utföras av en, i gruppen icke delaktig, person med erfarenhet av databasimplementation och gränssnitt. Testerna görs på ett primitivt utformat gränssnitt som endast innehåller funktionalitet, utan att på något vis blivit designat. Orsaken till att redan de första testerna görs på ett implementerat gränssnitt är att de tekniska begränsningarna är ganska omfattande och därför finns det inte så stort utrymme för förändringar. Test av funktionaliteten Testet av funktionaliteten kommer att ske framför en dator, antagligen i ett använbarhetslabb, med två rum sammanlänkade av en envägsspegel. Testle - daren kommer dock att sitta med testpersonen under testet och svara på frågor. Observatörer, i detta fall utvecklarna och de som implementerat systemet, kommer att sitta i det andra rummet och iaktta och anteckna. Testet kommer även att spelas in på video för vidare analys, eventuellt i samarbete med testpersonen. Detta är en djupare analys av vad som verkligen hände. En del slutanvändare kommer att vara testpersoner och i samband med detta test kommer den sista frågan om produkten att besvaras; Stämmer slutprodukten väl överens med slutanvändarnas konceptuella modell av systemet? Detta åstadkoms genom att ha en längre intervju med slutanvändarna. Användarprofil Det kommer att vara tre användarkategorier; administratören, de som arbetar på dekor sidan och de som arbetar på rekvisita sidan. Testpersonerna Som testpersoner kommer slutanvändarna att användas, i alla fall till sluttestet. För expertutvärderingen kommer en extern person med kunskap om gränssnittsutveckling och databasdesign att användas. Den heuristiska utvärderingen av användargränssnittet, samt genomgången efter användarfall, kommer att göras av utvecklarna själva. Uppgifter i testen I den första testomgången kommer testpersonerna att få prova att söka efter föremål och lägga till föremål. De är de funktioner som alla övriga funktioner beror av, eftersom det för att boka ett föremål krävs att man kan söka efter ett föremål. Samma sak gäller för att kunna ta bort föremål. De föremål som de ska lägga till (detta är den viktigaste delen av testet eftersom det är viktigt att alla objektegenskaper som behövs verkligen har kommit med) får de själva välja, men testledaren uppmuntrar dem att ta de objekt som dels är typiska föremål för avdelningen, dels sådana som läggs in ofta, samt sådana som är mer komplexa. I det andra testfallet kommer testledaren ha utforma scenarios som ska efterföljas. I båda testfallen, utformning och funktionalitet, kommer testen att vara uppgiftsorienterade, dvs. testpersonerna kommer att få vissa uppgifter som ska lösas i samarbete med testledaren. Vilka dessa uppgifter ska vara kommer att kopplas till slutanvändarnas behov från systemet. 3 (www.useit.org) 7

Dessa uppgiftslydelser kommer att presenteras skriftligt, och kommer endast att vara åtkomliga vid testets start. Testpersonerna kommer alltså inte att få reda på sina uppgifter i god tid innan. Testledarens roll Testledaren kommer att vara en av utvecklarna, i alla fall för pilottestet och den första testomgången. Detta därför att testledaren har haft mycket kontakt med testpersonerna. Förväntade data Tidsaspekter Eftersom den mesta av inmatningen sker för hand, har det inte tagits hänsyn till hur lång tid olika operationer tar. Detta eftersom tiden för manuell inmatning skiljer sig markant mellan olika användare. Funktionalitet Det är viktigt att slutanvändarna kan använda systemet utan alltför hög inlärningströskel, därför kommer testerna att särskilt fokusera på det. Det är även viktigt att användarna inte kan påverka systemet negativt, till exempel orsaka att det kraschar, lägga till felaktiga saker och dylikt. Antalet fel kan vara relevant här, det vill säga kvantitativa data, men samtidigt är man intresserad av att få reda på vilka felen är, en kvalitativ analys. Tack till Som avslutning vill vi tacka Anna Stockhaus för hennes förslag och hjälp med att utforma och genomföra testerna. 8

Resultat Slutprodukten av detta projekt är alltså en databas som implementerats för MySQL och ett grafiskt användargränssnitt som utvecklats i Java och JSP. Det är en webbaserad systemlösning där man utnyttjar befintliga datorresurser på Operan. Hur systemet tas i drift beskrivs i systemdokumentationen där övrig teknisk beskrivning återfinns. Systembeskrivning och användarhandledning finns i separata dokument. Tillvägagångssätt för hur man löser frågan med etikett-utskrifter från en standardskrivare finns beskrivet i bilaga 3 i enlighet med specifikationen. 9

Bilaga 1 Etikettutskrifter PA och KO gjorde en begränsning för utskrifter av etiketter under mötet på Operan den 25 april 2002. Då KO inte tyckte att webbläsaren kunde uppfylla deras krav på hur etiketten skulle se ut redogjorde PA för KO att det var en alldeles för stor uppgift att lösa problemet på annat sätt. KO använder sig idag av dedikerade etikettskrivare för att skapa etiketter till främst dekorer. Istället vill man använda standardskrivare för att lösa uppgiften. Då ingen av projektmedlemmarna anser sig kunna tillräckligt om hur skrivare fungerar och hur de kommunicerar med ett datorprogram kom vi överens med KO att vi skulle försöka skriva ner hur det skulle kunna lösas och kopplas till det nya databassystemet. Detta är kort beskrivning på hur man skulle kunna göra. Till att börja med måste man bestämma sig för vilken typ av standardskrivare man skall använda och ta reda på vilket interface den har, kontrollera vilket språk den talar. Det bör vara en postscript-skrivare då det är ett bra sätt att få utskrifterna att se ut som man vill. Sidbeskrivningspråket Postscript specificerar exakt hur ett dokument ska se ut med rit-liknande kommandon, ex.vis "Flytta pennan till koordinat 23/321, använd pennbredd 2, svart färg och rita där en halvcirkel med radien 2 cm med bokstaven R i mitten. På detta sätt kan man beskriva KO:s etikett exakt och få den utskriven på skrivaren. Uppgiften blir alltså att skapa denna postscript-fil i Java-programmet och skicka filen till skrivaren. I samband med att denna fil skapas måste man också läsa avsedd data ur databasen och baka in det i filen. Ett mycket enklare sätt att lösa problemet skulle vara att man använde sig av skurna A4-etikettark i en standardskrivare och låter bygga upp en html-sida som visas direkt i webbläsaren med rutor, rader och symboler där man använder webbläsarens inbyggda utskriftsfunktion. Nackdelen är att man inte får den att se ut som den nu existerande etiketten, men det fyller säkerligen samma funktion i alla fall. Fördelen däremot är att man kan köpa etiketter i en vanlig pappershandel till en lägre pris än dagen etikett. Detta kan åstadkommas på precis samma sätt som resten av systemet är uppbyggt, Java och servlets, som kan läsas om i systemdokumentationen. 10