77
Utveckling av ett användargränssnitt till ett beslutsstödssystem baserat på datalager ULF THUNMAN Examensarbete Stockholm, Sverige 2004 TRITA-NA-E04164

Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Embed Size (px)

Citation preview

Page 1: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Utveckling av ett användargränssnitt till ett beslutsstödssystem

baserat på datalager

ULF THUNMAN

Examensarbete Stockholm, Sverige 2004

TRITA-NA-E04164

Page 2: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Numerisk analys och datalogi Department of Numerical Analysis KTH and Computer Science 100 44 Stockholm Royal Institute of Technology SE-100 44 Stockholm, Sweden

ULF THUNMAN

TRITA-NA-E04164

Examensarbete i människa-datorinterkation om 20 poäng vid Programmet för datateknik,

Kungliga Tekniska Högskolan år 2004 Handledare på Nada var Kai-Mikael Jää-Aro

Examinator var Lars Kjelldahl

Utveckling av ett användargränssnitt

till ett beslutsstödssystem baserat på datalager

Page 3: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

SammanfattningDenna rapport avhandlar teorier för utveckling av användargränssnitt till OLAP-verktyg (OLAP eng. OnLine Analytic Processing) Uppgiften var att göra förarbetettill utvecklingen av ett nytt användargränssnitt till OLAP-verktyget YF-Client frånDatawebhouse KB. Arbetet har omfattat sammanställning av teorier och tekniker föratt utveckla bra användargränssnitt. Resultaten består av en kortfattad samling råd attfölja vid utveckling av användargränssnitt för OLAP-verktyg. Förutom derättframma råd som ges så är det viktigt att utvecklingen innefattar en kombination avteoretiska studier och intimt arbete tillsammans med slutanvändarna. Slutanvändarnamåste alltid vara med i arbetet för att utvecklarna inte skall skapa en produkt somsaknar de funktioner som användarna efterfrågar. Utvecklarna måste inse attanvändargränssnittet inte är en fristående del av systemet. Det måste utvecklastillsammans med de underliggande delarna för att säkerställa att funktionaliteten ärden som utlovas i gränssnittet. Stor del av arbetet har således varit inriktat mot attförsöka hitta vilken funktionalitet som kan behövas i ett OLAP-verktyg. Detta arbetehar skett med hjälp av intervjuer med personer som arbetar med olika OLAP-verktyg,utvecklare, samt eget analyserande.

Abstract

Development of a user interface to a decision supportsystem based on a datawarehouseThis report is about the theories of development of a user interface for OLAP-tools(OnLine Analytic Processing). The assignment was to make the pre-study for thedevelopment of a new user interface to the OLAP-tool YF-client from DatawebhouseKB. The work has involved the combination of theories and techniques to develop agood user interface. The results consist of a compilation of advice to follow duringthe development of user interfaces for OLAP-tools. Except from the formal rules it isimportant that the development contains a combination of theoretical studies andintimate work with the end users. The end users always have to be involved in thedevelopment so that the developers will not create a product that lacks thefunctionality that the users need. The developers have to realise that the user interfaceis not a layer on top of the system but a part of the system that has to be developedwith the system to ensure that the functionality in the interface works with theunderlying system. The greater part of the work has been to find what functions areneeded in an OLAP-tool. This work has been done by interviewing people that workwith OLAP-tools and developers, and by theoretical analyses made by myself.

Page 4: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

FörordDetta examensarbete började 1998 på ett litet konsultbolag som hette DataWebhouseKB. Bolaget arbetade med att implementera datalager (på engelska datawarehouse)baserat på Microsoft standardprodukter. Mitt jobb där var att ge deras analysklient enansiktslyftning. Bolaget var rätt likt andra bolag vid den tiden i fråga om framtidstrooch personalvård, det vill säga konferensresor för personalen och ingen oro förframtiden. Bolaget gick samman med ett annat bolag som redan hade ett fungerandeklientverktyg. I och med detta svalnade Datawebhouse intresse för mittexamensarbete. När de båda strax efteråt blev uppköpta av Icon Medialab försvannden sista kontakten med dem. Jag var då nära att påbörja ett nytt examensarbete, menekonomiska skäl gjorde att jag började jobba istället. Jag har sedan dess varittvungen att göra en mer teoretisk inriktning på arbetet. Hade det inte varit för minhandledare som tjatat på mig med jämna mellanrum så hade det aldrig blivit klart. Dettjatet vill jag tack honom för, det har varit den bästa hjälpen.

Page 5: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

LäsanvisningarFör den som ej vill läsa hela repporten kan följande uppdelning göras.

För den som vill läsa om beslutsstödssystem, OLAP-verktyg och utvecklingen avanvändargränssnitt rekommenderas följande kapitel: Datalager, Kunskaps-förvaltning, Knowledge Management (KM), Beslutsstöd, System för visualiseringav affärsdata, Rekommendationer för ett användargränssnitt till ett OLAP-verktyg,Krav på funktionalitet, Arbete med YF-Client, Rekommendationer.

Är intresset mer lagt åt visualisering och presentation rekommenderas följande ka-pitel: Visualisering av data, System för visualisering av affärsdata, Olika visualise-ringstekniker och deras begränsningar, Människa-datorinteraktion och kanskestycket: Artificiell intelligens.

Om läsaren bara är ute efter information som kan hjälpa till vid utveckling av ettanvändargränssnitt föreslås att läsaren läser dessa avsnitt: Människa-Dator Inter-aktion, Användbarhet, Utveckling av ett grafiskt användargränssnitt, Riktlinjer förutveckling av ett grafiskt användargränssnitt till ett beslutsstödsystem med datalager,Utvärdering, Rekommendationer.

“I don’t know what percentage of our time on any computer-basedproject is spent getting the equipment to work right, but if I had agardener who spent as much of the time fixing her shovel as we spendfooling with our computers, I’d buy her a good shovel. At least youcan buy a good shovel.”--Erasmus Smums

Page 6: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

InnehållsförteckningInledning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1Teoridel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

Datalager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2Dimensioner, nyckeltal och brytdimensioner .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3Hierarkier, drilldown och drillacross .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4Datamining, OLAP och datalager .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

Kunskapsförvaltning, Knowledge Management (KM) . . . . . . . . . . . . . . . . . . . . .7Beslutsstöd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

Vilken information är viktig och varför? .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8Beslutsstöd för säljorganisationen ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8Beslutsstöd för kundservice .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9Beslutsstöd för företagsledningen ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

Visualisering av data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10Möjligheter, olika informationsbärare .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10Effektiv visualisering .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10Grundregler för god visualisering .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

Olika visualiseringstekniker och deras begränsningar . . . . . . . . . . . . . . . . . .122D-diagram ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

Linjediagram ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12Stapeldiagram ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12Övriga typer av 2D-diagram ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

3D-diagram ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163D Stapeldiagram ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16Iso-ytor .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173D-visualiseringar av spatiala data .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

Användning av färg .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18Olika färgskalor .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18Färgnyanser .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19Olika intensitet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19Färgkombinationer .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

Användning av form ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19Uppfattad storlek och verklig storlek .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

Användning av ljud .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20System för visualisering av affärsdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21

AVS ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21Cognos .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22SpotFire .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23

Människa-datorinteraktion (MDI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25Begränsningar .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25

Tekniska begränsningar .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25Mänskliga begränsningar .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25

Användbarhet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25Vad är användbarhet? .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25Definition av användbarhet .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26Arbetet med att skapa användbara system ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

Fönsterparadigmet, WIMP ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26Metaforparadigmet .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

Page 7: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Direktmanipulation .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26Hypertext .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27Multimodalitet och Computer-Supported CooperativeWork, CSCW .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27

Svårigheter med att mäta användbarhet .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27Metoder att mäta användbarhet .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27

Utveckling av ett grafiskt användargränssnitt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28Utveckling av användargränssnitt enligt LUCID ... . . . . . . . . . . . . . . .28Utveckling av användargränssnitt enligt GUIDE. .. . . . . . . . . . . . . . . .29

Arbetet med förstudien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33Rekommendationer för ett användargränssnitt till ett OLAP-verktyg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33Krav på funktionalitet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33

Funktionalitet som finns idag .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33Önskad ny funktionalitet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34

Krav på användargränssnittet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35Riktlinjer för utveckling av ett grafiskt användargränssnitt tillett beslutsstödsystem med datalager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36

Principer för att uppnå god användbarhet .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36Lärbarhet .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36Flexibilitet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37Robusthet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

Regler för god användargränssnittsdesign .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39Färg .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39Grafik .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40Interaktion .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40Informationstäthet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41

Arbete med YF-Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42Arbetsgång vid informationssökning .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42Brister som finns idag .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42Utvärdering .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42Hur ska hierarkier åskådliggöras? .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43Drilldown ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43

Artificiell Intelligens (AI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45Trender .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45Befintliga system ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45Regelverk i Prolog .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45

Beskrivning av koden ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45Beskrivning av dimensionerna .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46Klassificeringen av nyckeltal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46

Användarundersökningar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46Protokoll från besök på Hemliga Klädfirman......................................46Protokoll från besök på Alfa Laval..................................................47Protokoll från besök på Handelsbanken Liv.......................................47

Utvärdering av användarundersökningen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47Rekommendationer och slutsatser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49

Definiera användarna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49Definiera funktionalitetskraven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49Identifiera objekten i gränssnittet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49

Presentationsvyn ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50Dimensionsurval .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51

Page 8: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Nyckeltalsurval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51Mitt förslag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52

En liten teoretisk utvärdering .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54Rekommendationer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55

Referenser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57Informationsplatser på Internet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58Appendix A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59

Arbetsgång enligt GUIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59Definiera användarna och funktionalitetskraven . . . . . . . . . . . . . . . . . . . . . . . . . . . .59

Från detta steg skall:....................................................59Modellera användarnas arbete .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60

Från detta steg skall:....................................................61Identifiera objekten i gränssnittet....................................................61

Från detta steg skall:....................................................61Bestäm stilen på gränssnittet.........................................................61

Från detta steg skall:....................................................61Appendix B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63

Prolog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63Dimensionsbeskrivning .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63

Klass .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63Egenskap ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63Storlek .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63

Koden ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64Appendix C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67Appendix D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69

Glossary: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69

Page 9: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

InledningUppgiften var från början att göra förarbetet i utvecklingen av ett nytt användar-gränssnitt till ett OLAP-verktyg utvecklat av Datawebhouse KB. Ett OLAP-verktyg(OLAP eng. OnLine Analytic Processing) möjliggör flerdimensionell analys avinformation i datalager. Datawebhouse har sedan dess blivit uppköpt två gånger ochägs nu av ICON MediaLab. Detta har gjort att jag har tappat all kontakt med dem somuppdragsgivare. En annan svårighet ligger i att uppgifterna som de intressantaanvändarna gör är av känslig karaktär. Detta har gjort att det har varit svårt att få till-stånd att titta på system som används. Ett företag fick jag inte ens nämna vid namn.Jag har inriktat mig mer generellt på vad man bör tänka på när man utvecklar använ-dargränssnitt till beslutsstödssystem och OLAP-verktyg. Ett beslutstödssystem hjäl-per beslutsfattare att fatta bra beslut utifrån befintlig information. Det är tänkt att arbe-tet skall utmynna i några regler och tips på vad man bör tänka på. Jag hade frånbörjan även tänkt att göra någon typ av demo som förslag till Datawebhouse. Närdetta samarbete uteblev försvann även idén med att göra en demo.

Mitt mål med detta exjobb är att skapa ett underlag för utvecklande av nya använ-dargränssnitt till beslutsstödssystem kopplade till datalager. Jag har koncentrerat migpå de funktioner som rör själva datalagret och presentationen av informationen somkan utvinnas därifrån. Examensarbetet innefattar nästan ingen programmering medett litet undantag för några rader skrivna i Prolog för att visa att det är möjligt att medenkla medel bädda in en liten mängd intelligens i användargränssnittet.

Rapporten omfattar en teoridel som förklarar vad ett datalager är, samt hur det kananvändas som hjälp för beslutsfattande. Vidare ges en orientering i olika tekniker föratt visualisera data och dess koppling till mänskliga begränsningar. För att ge förstå-else för de principer som finns för att ge god användbarhet har jag gett en översikt avområdet människa-datorinteraktion. För att producera ett system som är användbartsett till funktionalitet och interaktionen mellan människan och datorn, tror jag att detär viktigt att använda en metod som går igenom alla steg i utvecklingen på ett väl de-finierat sätt. Jag har tittat översiktligt på två sådana metoder.

Under själva arbetet har jag haft en av dessa metoder som rättesnöre utan att följa denslaviskt. Jag har med metoden i bakhuvudet undersökt vad som krävs av ettanvändargränssnitt till ett beslutsstödssystem, både i form av funktionalitet ochdesign. Dessa undersökningar har jag gjort både rent teoretiskt och i form avintervjuer med användare av befintliga beslutsstödssystem.

Jag har försökt att sammanställa arbetet till ett första steg på vägen i att skapa ett nyttanvändargränssnitt till ett OLAP-verktyg och även studerat några tekniker för ut-värdering. Att utvärdera användargränssnittet under hela utvecklingen är en centraldel av arbetet med att skapa ett användbart system.

1

Page 10: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

TeoridelTeoridelen skall ge en orientering i utveckling av grafiska användar-gränssnitt samt hur detta görs så att god användbarhet uppnås.Teoridelen är den mest omfattande delen i arbetet just för att arbetet tillstor del har gått ut på att sammanställa teorier som kan vara till nytta för ut-vecklingen av användargränssnitt till ett beslutsstödssystem. Förstkommer en presentation av datalager och deras koppling till be-slutsstödssystemen. Vidare ges en översikt över vad ett besluts-stödssystem är och vad ett sådant kan innebära för en organisations olikadelar. I ett sådant system sker mycket presentation av data föranvändaren, hur detta kan ske tas upp i ett par avsnitt om visualiserings-tekniker och befintliga system för detta. Människa-Dator Interaktion ochanvändbarhet genomsyrar hela teoridelen, men den har även två explicitaavsnitt där saker som hur man mäter användbarhet tas upp. Sist ges enpresentation av två utvecklingsmetoder av grafiska användargränssnitt.

DatalagerEtt datalager är som termen antyder en samling lagrade data som beskriver en databasförändring över tiden, Peter Söderström (Söderström, 1997) använder i boken ”DataWarehouse” -–Datalager: Verksamhet Metod Teknik definitionen: ”Ett datalager är enlogiskt sammanhållen datamängd, som är avsett för analys och som speglar fleratidsperioder genom att data regelbundet hämtas från andra register.” Datalagret byggsupp genom att information från transaktionssystemet (OLTP (eng.) OnLineTransaction Processing) läses över till datalagret med jämna tidsintervall, t.ex. varjedag. Dessa intervall bestämmer granulariteten, dvs. noggrannheten i tidsupplös-ningen, i datalagret. Ur datalagret kan användaren sedan göra analyser avverksamheten utifrån gamla data. Det kan ses som ett stort statistiksystem med störremöjligheter att ställa specifika frågor. Datalagret implementeras oftast som enrelationsdatabas men med den skillnaden att istället för att normalisera data så sparasredundant och aggregerad information för att optimera databasen för snabb åtkomst istället för att optimera med avseende på storleken. Ett datalager blir snabbt ganskastort och behovet att ha korta svarstider som inte växer med datalagrets storlek ärmycket stort. Informationen förs över från OLTP-systemet med jämna intervall viden så kallad ”load”. Samtidigt sker även en kontroll av rimligheten av överförda data.Data kan vara felaktiga på många sätt och det är viktigt att inte felaktiga data smygersig in i datalagret. Denna procedur kallas för tvättning. Eftersom data kan kommafrån olika OLTP system inom företaget är ”loaden” och tvätten mycket krävandesteg. Det är mycket viktigt att dessa steg fungerar felfritt eftersom felaktiga data kangöra hela datalagret värdelöst.

2

Page 11: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Datawebhouse KB gav på sin nätplats, http://www.datawebhouse.com, följandebeskrivning av deras syn på vad ett datalager är och vad det innebär:

Visionen styr innehållet

Ett datalager är till för att ge stöd och underlag till beslut. Då ingen kan förutsäga vadsom kan komma att behövas framöver måste datalagret ge stöd till beslutsfattarnasvision om framtiden. Från denna vision kan viktiga dimensioner och nyckeltal härle-das och struktureras i form av ett datalager. Dessa för organisationen vitala begrepplagras i en metadatabas, där också förklaringen och regler hur de skall behandlaslagras. Detta innebär ofta att data från olika tidsperioder måste konverteras till ett all-mängiltigt format, ofta till nu gällande format, så kallad ”stalinistisk” historieskriv-ning.

USA 3 till 5 år före

I USA styr ofta visioner om kundens behov företagets agerande, målsättningen kanvara så enkel som ”att bli kundens bästa leverantör” vara ledande. Då krävs ocksåverktyg för att kontinuerligt analysera kundens behov, köpvanor, m.m. I Sverige ärvisionerna ofta av en mer direkt natur: - maximera lönsamheten, effektivisera lokalaenheterna, optimera distributionsnätet etc. Detta är förmodligen orsaken till att datala-ger och dataskafferier1 ännu inte är så vanliga här, man kan fortfarande styra medhjälp av de backspeglar som de operativa systemen tillhandahåller.

Datalager och operativa system

Skillnaden mellan datalager och operativa system är att användarna är direkt berördaav datalagrets databasstruktur, då de måste förstå den för att fritt kunna användaanalysverktygen. Strukturen kan inte heller härledas via systematisk analys då data-lagret byggs upp med hjälp av gjorda erfarenheter. Om användarna inte förstårstrukturen kan de inte fullt utnyttja analysmöjligheterna. Därför är det viktigt attanvändarna engageras och tar ansvar i uppbyggnaden av metadata, för att säkerställadetta har vi utarbetat en speciell arbetsmetod, yfelios. Med hjälp av yfelios byggsmetadata steg för steg och datalagret kan fyllas med hjälp av medatabasen, i principhelt automatiskt. Detta är ett rationellt sätt att bygga datalager som också innebär storakostnadsbesparingar jämfört med traditionell teknik.

Datawebhouse KB

Utdrag från Datawebhouses nätplats.

Dimensioner, nyckeltal och brytdimensionerI olika datalager finns det olika dimensioner som är olika aspekter av händelser iföretaget. Den dimension som nästan alltid finns med är tiden, alla händelser har enpunkt i tidsdimensionen knuten till sig. En händelse kan även innefatta en produkt urproduktdimensionen och en kundgrupp ur kunddimensionen. En händelse beskrivsmed olika nyckeltal. Dessa nyckeltal kan vara av monetär karaktär, kostnader och in-täkter, eller helt andra variabler som beskriver händelsen. När man sedan vill titta pådessa nyckeltal så måste man välja vilken dimension man vill bryta på. Med detta

1Dataskafferi (eng. Datamart). Datalager med information om en del av verksamheten.

3

Page 12: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

menas över vilken dimension man vill se nyckeltalet, till exempel försäljning perkommun eller intäkter per varugrupp i Stockholmsregionen. I dessa fall ärförsäljning och intäkter nyckeltal och kommun och varugrupp är brytdimensioner.Stockholmsregionen är bara en begränsning i en dimension. I exemplet från SHBLivi bild 1, ingår fyra dimensioner, säljorganisation, produkter, betalning och tid, medsina respektive underdimensioner.

Bild 1. Bild av en tabell med dimensioner och nyckeltal tillgängliga i SHB-Livsdatalager. För fullskalebild se appendix C. Tabellen används för att visa vilkanyckeltal som är applicerbara på vilka dimensioner.

Hierarkier, drilldown och drillacrossDimensioner är ofta hierarkiska med många olika nivåer där den underliggande är endelmängd av nivån över. Det finns dimensioner som avviker från detta och dessamåste behandlas med försiktighet. Det finns även dimensioner som har förgreningarav nivåerna. Tanken är att ett nyckeltal skall kunna adderas upp i dimensionshierarki-erna för att visa helheten av ett nyckeltal, se bild 2. Detta är dock inte alltid möjligt igrenade dimensioner. Tidsdimensionen kan delas upp enligt Dagar→veckor ellerdagar→månader→kvartal→år, detta för att det går ett ojämnt och olika antal veckor påen månad. Det går ej att byta gren utan att kompensera skillnaderna i grenarna. Hurdetta görs är olika för olika dimensioner och för avancerat för att tas upp här, för denintresserade se Kimball (Kimball, 1996). Nyckeltal summerade veckovis går till ex-empel ej att summera till kvartal hur som helst. Det går ju inte ett helt antal veckor perkvartal.

4

Page 13: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Säljbolag

Säljare

År

Kvartal Veckor

Månader

Dagar

Möbler

Utomhus Inomhus

Plast Trä

Bild 2. Hierarkisk framställning av några dimensioner i ett datalager.

Vid en så kallad drilldown följer man ett nyckeltal genom dimensionshierarkier ochgör snävare och snävare urval för att se mer detaljerad information, man borrar signer i informationen. Drilldown kan vara ett sätt att spåra en tillfällig avvikelse i ettnyckeltal. Det kan i det fallet vara antingen en jämn avvikelse på alla instanser idimensionen eller en kraftig förändring i en instans. Det är ofta man är ute efter attspåra orsaker till förändringar i nyckeltalen. Ibland kan det vara det omvända fallet,att man vill se helheten istället för enskilda instanser. Det kan vara vid planering avinköp och liknande.

Ibland är man intresserad att titta på ett nyckeltal från olika dimensioner men behållaett visst urval av några dimensioner. Detta för att hitta i vilken dimension enavvikelse för ett nyckeltal ligger. Detta kallas drillacross, att borra sig tvärs dimen-sionerna.

Datamining, OLAP och datalagerDatamining är en utveckling som har sina rötter i enkla rapportsystem som kundeutföra enkla operationer på nyckeltal, t.ex. summering över tiden. Utvecklingen hargått från datainsamling på 60-talet till dagens kraftfulla dataminingverktyg, se bild 3.Det stora genombrottet var OLAP-verktygen (OLAP eng. OnLine AnalyticProcessing) som lät användarna leta efter samband på ett helt annat sätt än vad etttraditionellt rapportverktyg tillåter. Med ett bra OLAP-verktyg kan ettnyckeltalsberoende av ett flertal dimensioner visas. Den stora skillnaden mellandatamining och tidigare tekniker är i vilken tidsrymd man arbetar. Datamininganvänds för att förutsäga framtiden, OLAP används för att se vad som har hänt.Visserligen kan en bra presentation av en OLAP-analys ge användaren möjlighet attextrapolera resultatet in i framtiden, men det är fortfarande inte ett datamining.

5

Page 14: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Evolutionary Step BusinessQuestion

EnablingTechnologies

ProductProviders

Characteristics

Data Collection(1960s)

What was my to-tal revenue in thelast five years?

Computers, tapes,disks

IBM, CDC Retrospective, staticdata delivery

Data Access(1980s)

What were unitsales in NewEngland lastMarch?

Relational databa-ses (RDBMS),Structured QueryLanguage (SQL),ODBC

Oracle,Sybase,Informix,IBM,Microsoft

Retrospective, dyna-mic data delivery atrecord level

Data Warehousing &Decision Support(1990s)

What were unitsales in NewEngland lastMarch? Drilldown to Boston.

On-line analyticprocessing(OLAP), multidi-mensional databa-ses, data warehou-ses

Pilot,Comshare,Arbor,Cognos,Microstrategy

Retrospective, dyna-mic data delivery atmultiple levels

Data Mining(Emerging Today)

What’s likely tohappen to Bostonunit sales nextmonth? Why?

Advanced algo-rithms, multipro-cessor computers,massive databases

Pilot,Lockheed,IBM, SGI,numerousstartups(nascent in-dustry)

Prospective, proactiveinformation delivery

Bild 3. Utvecklingen av datamining, illustrerad på : http://www.pilotsw.com

Datamining är en process där stora mängder information från ett datalager analyserasmer eller mindre automatiskt. Datamining definieras på engelska som ”the automatedextraction of hidden predictive information from databases”. Kurt Thearling ger ävenen mer beskrivande definition: ”Data mining is, in some ways, an extension ofstatistics, with a few artificial intelligence and machine learning twists thrownin.”(Thearling, 1998). Bra dataminingverktyg har, som Kurt Thearling säger, enbetydande del AI-tekniker inbyggda. Dessa tekniker kan vara till för att känna igenmönster i ett stort antal variabler. De flesta system som används för att extrahera dataur datalager är OLAP-system av olika slag. Dessa system hjälper användarna att hittainformation i de multidimensionella databaserna (datalager). Utvecklingen har gåttfrån enkla rapportverktyg till avancerade dataminingverktyg som själva kan hittasamband och göra förutsägelser om framtiden. Gemensamt för dataminingverktygenär att de skapar en modell av verkligheten utifrån de data som finns lagrade i data-lagret. Ett problem är att visualisera modellen på ett sådant sätt att användaren kantillgodogöra sig informationen. Användarna är ofta experter inom sitt område, menhar inte några omfattande kunskaper i datamodellering (Thearling, 1998). Det gällerdärför att få användaren att förstå vilken modell som har använts och hur det harpåverkat resultatet. Det är viktigt att användaren kan borra sig ner i de underliggandedata som modellen har byggts upp ifrån.

6

Page 15: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Kunskapsförvaltning, Knowledge Management (KM)Att förvalta och använda kunskapen som finns inom ett företag blir allt viktigare dåkonkurrensen ökar. Den kunskap som finns i ett företag består både av de anställdasolika kunskaper samt företagets egna kunskap om sitt förflutna i form av statistik avolika slag. Det är denna kunskap som finns i ett datalager. Svårigheten är att kunna fåut den viktiga kunskapen ur den stora kunskapsbank som ett datalager är. För att un-derlätta detta informationsletande så kombineras det underliggande datalagret med ettbeslutsstödssystem som kan fungera som ett gränssnitt mot datalagret.

Vid Sigrad 1999 (Jern , 1999) ansågs nedanstående vara viktiga egenskaper i ettKM-system:

• Väl integrerat med det underliggande datalagret.

• Användargränssnittet skall stödja arbete över nätverk med både tunna och intelli-genta klienter.

• Systemet bör vara webbaserat med komponentarkitektur2 där det behövs.

• Stöd för att dela kunskap mellan användarna. T.ex. genom att ett urval i ett data-lager kan skickas till andra medarbetare för vidare analys

Det finns ett flertal exempel på hur beslutsstödssystem med datalager har gjort attföretagen som använder dem har kunnat minska sina kostnader eller öka sinainkomster på olika sätt. Detta exempel kommer ifrån Trajectas nätplats,http://www.trajecta.com:

”A rapidly growing, national credit card issuer was in the process of identifyingmillions of potential prospects for a pre-approved offer. Narrowing margins and de-creasing response rates had become the norm. The issuer felt that this was largelydue to the fact that their segment was made up of relatively low-risk consumers thatare inundated with many similar offers each and every week. Trajecta was engagedto improve the issuer’s response rates, while also identifying the best candidates interms of profitability and risk.

Trajecta increased the issuer’s returns by 76%, by increasing response rate 500%and reducing risk exposure by 49%.”

2Teknik där man förser webbläsaren med extra funktionalitet genom att skicka med ett program, enkomponent.

7

Page 16: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

BeslutsstödDenna korta introduktion tar endast upp delar av vad som är möjligt medett beslutsstödssystem. Att helt utvärdera möjligheterna med denna typ avsystem skulle kräva långt mer än vad som ingår i ett 20 poängs examens-arbete. Det finns dock gott om litteratur inom detta område. De exempeljag tar upp här nedan är hämtade från Cognos och Datawebhouse erfa-renheter och boken ”The Multidimensional Manager” (Richard Connelly,1999) som är utgiven av Cognos. Cognos är en stor leverantör av datala-ger och beslutsstödssystem, se även sid 20.

Vilken information är viktig och varför?Data blir till information först när den har en mening. Information blir användbarförst när den tjänar ett syfte. Vad är då syftet med ett beslutsstödssystem (DSS-Decision Support System)? Om man läser ”The Multidimensional Manager” avR. Connelly m.fl. så ges en beskrivning av hur ett beslutsstödssystem kan påverkaverksamheten i ett företag. Jag har valt att titta närmare på de avsnitt som jag tyckerpassar bäst för ett tjänsteföretag. Detta för att de flesta exempel som tas upp är frånproduktionsföretag. För ett produktionsföretag handlar det mer om att kostnadsef-fektivisera tillverkning och att tillverka produkter som säljer. Ett exempel som tasupp i ”The Multidimensional Manager” är ett företag som tillverkar utomhusmöbler.Genom att ta med information om vilken färg de olika sålda produkterna hade kundeman upptäcka att olika färger sålde olika bra och då ta bort olönsamma färger ur sor-timentet. Genom att ha denna information i ett datalager kunde detta upptäckasrelativt snabbt istället för att det skulle märkas genom att lagren blev fulla av möbler ien viss färg som inte gick att sälja.

För ett tjänsteföretag handlar det mer om att ha en tjänsteportfölj med tjänster som gerbra god och kunder som ger vinst. Det stora problemet med att välja ut vilkeninformation som skall sparas, är att veta vilken information som kommer att vara tillnytta i framtiden. Bill Inmon, som brukar kallas upphovsmannen till datalager,varnade för ökade kostnader i samband med att datalagren växer. Han såg tvåorsaker till kostnadsökningar: den ena orsaken var konvertering av data som kommerfrån gamla system i olika delar av organisationen. Det andra var just att storamängder oanvända data sparades. Hans uppskattning var att i ett datalager på 400terabyte så används runt 100 gigabyte, dvs. 0,025% (Gilså, 2000)

Beslutsstöd för säljorganisationenIdag tittar de flesta säljarna på hur stor omsättningsökning en affär skulle ge. Mansäger att en affär är värd X miljoner kronor, med detta menas att kunden köper tjän-sten för X miljoner kronor. Det säger inget om hur mycket vinst som affärenkommer att ge. Det är upp till säljaren att leverera tjänsten till en så liten kostnad sommöjligt för att få ut en så stor vinst som möjligt. Det man egentligen borde titta på viden affär är hur stor vinst den kan ge. Detta kan dock vara mycket svårt att avgöra.Genom att istället titta på vilken tjänst eller produkt som ger bäst vinst på omsattkapital kan säljorganisationen inriktas på att sälja för att maximera vinsten istället föromsättningen. Detta kan endast göras om man har tillgång till exakta kostnaderna förde sålda tjänsterna och produkterna. Prissättning är dock ett svårt område sompåverkas av långt fler faktorer än vad som finns plats att ta upp här.

8

Page 17: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Beslutsstöd för kundserviceFör att kunna motverka fallande orderingång behövs tidiga indikatorer på vadmarknaden tycker om företagets tjänster/produkter. Klagomål och returer är sådanaindikatorer. En missnöjd kund återkommer inte om han inte måste, vad som är värreär att han berättar för andra om sina erfarenheter. Det är därför viktigt att snabbtkunna se samband och orsaker till klagomål för att snabbt kunna rätta till det som ärfel. Det kan även vara så att det bara är en kund eller kundgrupp som har klagomål.Då kanske det är så att de inte köper rätt varor eller tjänster. Genom att titta på antalklagomål brutet på tillverkningsställe, avdelning, kundgrupp o.s.v. så kan mansnabbt se var det går fel.

Beslutsstöd för företagsledningenFöretagsledningen skall snabbt kunna fatta övergripande beslut utifrån övergripandeinformation. De skall inte behöva titta på affärshändelser i detaljnivå, det ger inte enbild av företaget i stort. Det skall vara lätt att se aggregerade data över hur företagetgår. Det skall även finnas möjlighet att titta på mer specifik nivå genom att borra signer genom data, sk. drilldown. Detta för att kanske hitta nya marknader eller kundergenom att kunna identifiera vad som skiljer en viss affär från en annan.

En annan fråga som ligger på företagsledningen är förvaltningen av humankapital.Det kan vara mycket värdefullt att spara data som rör de anställda och deras kompe-tens. Då kan man upptäcka orsaker till problem som annars kan vara svåra att hitta.Åtgärderna kan vara enkla och billiga i jämförelse med att tappa medarbetare till kon-kurrenter.

9

Page 18: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Visualisering av dataFör att kunna ta in mer än sex till åtta olika värden i våra hjärnor behövervi organisera informationen på något sätt. Ett sådant sätt är att göra bra vi-sualiseringar. Jag går här igenom några möjligheter och några saker manbör tänka på för att kunna göra bra visualiseringar.

Möjligheter, olika informationsbärareFör att presentera information kan vi använda oss av ett flertal olika informations-bärare. Den information som jag intresserar mig för i det här fallet är kvantitativinformation. Det vanliga är att visa det man vill mäta (nyckeltalet) över en dimension,detta kan med stor framgång presenteras i ett diagram med nyckeltalet på y-axeln ochdimensionen på x-axeln. Det är dock inte alla dimensioner som passar att ordnas påen axel i ett diagram. Hur ska man till exempel ordna alla landskap på x-axeln. Är tillexempel bokstavsordning bra? Det beror på vad användaren är ute efter. Omnyckeltalet är försäljning per invånare och dimensionen är den geografiska dimensio-nen på landskapsnivå så är användaren troligtvis ute efter att hitta ett geografisktmönster i försäljningen. Presentationsformen bör då vara en karta över alla landskapmed försäljningsinformationen kodad i landskapsbilden på något sätt. För att ge enännu mer rättvis bild av verkligheten behövs kanske någon demografisk informationi datalagret, annars skulle tätbefolkade områden nästan alltid ge högre försäljning änglesbefolkade områden. Vill man dessutom se hur försäljningen varierar i tiden stöterman på nya problem. Då kanske en animering av tidsförloppet är den bästa lös-ningen.

För att informationen skall vara tydlig kan flera typer av attribut användas för attuttrycka samma sak. Ett stapeldiagram kan till exempel ha staplar som varierar ifärgmättnad med höjden på stapeln. Andra attribut som kan varieras är färgintensiteteller bara förändringar i färg. Med en variering i höjd, färgmättnad och färg på sta-peln så kan man visa tre olika variabler. Det skulle sannolikt bli helt oförståeligt, mentekniken kan användas för att visa samma variabel på olika sätt. Hur lämpar sig dessatekniker i ett datalager?

Effektiv visualiseringVisualisering av data är effektivast då användaren kan ”känna igen” sig i presenta-tionen. Användaren skall känna att hon har saker att relatera informationen till. Manbrukar säga lite felaktigt att människan inte kan lära sig något nytt, bara förfina dethon kan. Visualiseringen kan vara en karta om informationen har geografisk anknyt-ning. När man presenterar data är det oftast något som är viktigare än det andra, dåskall det inte dränkas i övrig information. Det finns olika sätt att framhäva det som ärintressant, problemet är att förutsäga vad användaren kommer att finna intressant. Iett OLAP-system rör det sig om datamängder som är genererade ur ett datalager medhjälp av t.ex. SQL frågor. Det ofta svårt för OLAP-systemet att veta vad användarenär ute efter. Det man kan göra är att leta efter avvikelser och göra användaren upp-märksam på dessa. Avvikelser kan t.ex. kodas med olika färger. Vid all användningav färg som informationsbärare bör man beakta att en ganska stor del av den manligabefolkningen har svårt att skilja på vissa färger. En annan sak att tänka på är att mangör en distinkt skillnad mellan positiva värden och negativa värden, detta för att detska gå snabbt att avgöra om variabel är positiv eller negativ utan att behöva göra nå-gon närmare undersökning.

10

Page 19: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Bild 4. Lewkowitz optimerade färg-skala.3

Bild 5. Heated object-skala. Dennafärgskala motsvarar färgerna en svart-kropp4 får vid upphettning.3

Grundregler för god visualisering• Var övertydlig. Kan något visas på flera sätt så gör det.

• Staplar kan färgas med ökande intensitet med höjden. Detta hjälper framför allttill vid 3D-presentationer då det kan vara svårt att avgöra vilken av två staplarsom är högst.

• Det är empiriskt visat att en samtidig variation i både färgnyans och ljusintensitetär bäst som komplement till ytor och mätvärden för att visualisera data (Ware,1988). Detta gäller framförallt vid 3D-visualiseringar.

• Det finns färgskalor som är utprovade för att uppfattas linjära, se bild 4 och 5.Levkowitz optimala färgskalor är ökande monotont i ljusintensitet och RGB-vär-den samtidigt som de uppfattas som linjära i sin ökning av mänskliga ögat(Rheingans, 1995).

• Undvik förvirring. En viss försiktighet måste iakttagas när man presenterar datadär färg eller färgintensitet varierar från objekt till objekt eftersom olika färgerkan få lika stora objekt att se olika stora ut.

• Generellt kan sägas att objekt med mättade färger uppfattas som större än omät-tade och objekt färgade med varma färger uppfattas som större än sådana medkalla färger. I försök (Cleveland 1983) har det visats att skillnaden inte är likapåtaglig för omättade färger som den är för mättade färger.

• Den uppfattade nyansen påverkas av färgmättnaden och bakgrundsfärg. I 3D–presentationer påverkas även djupuppfattningen av färgen på objekten.

3Dessa bilder görs sig bäst i färg, men även i det svartvita läget ser man att färgskalorna ökarmonotont i intensitet.

4En svartkropp är ett fysikaliskt objekt som ej reflekerar någon strålning, bara emitterar strålningvars våglängdsfördelning är beroende på objektets temperatur. (Halliday, 1993)

11

Page 20: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Bild 6. Objekt uppfattas olika stora beroende på färgval.

Olika visualiseringstekniker och deras begränsningarDet finns en uppsjö av tekniker för att visualisera data. Hur väl vi uppfattar infor-mationen beror helt på vår hjärna och våra sinnen. I dagens läge är det sinne som an-vänds mest synen, det finns dock inget som säger att inte hörseln kan bli ett lika vik-tigt sinne i interaktionen med datorsystem.

För att visa förändringar över fler än en dimension behövs oftast andra tekniker än devanliga 2D-graferna. Grafer med 3D-effekt kan skapas på olika sätt, oftast med hjälpav att ta bort skymda linjer och visa grafen lite snett från sidan så att alla tre planenblir synliga (Bild 8. skärmdump från Spotfire). På detta sätt skapas en illusion av ett3D-objekt. Olika tekniker kan användas för att skapa en djupkänsla i bilden. Ett annatsätt som hjärnan uppfattar djup på är med hjälp av texturgradienten (Anderson,1980). Texturgradient är när objekt som blir mindre och packas tätare ger ett intryckav djup i bilden. Ofta blir djupintrycket bättre om man använder fler tekniker för attskapa djup samtidigt.

För implementering av dessa tekniker finns det flera olika alternativ. Eftersom det ärönskvärt att användargränssnittet skall vara webbaserat för att vara plattformsobe-roende så är VRML ett bra alternativ för själva implementeringen av visualiseringen.Självklart kan någon annan bra komponentteknik användas. Den enda synpunkten påimplementeringen som jag har är att det skall vara plattformsoberoende. Om man tit-tar tillbaka bara tio år så satt nästan alla ekonomisystem på stordatorer. Hur många ärdet inte idag som har problem med blandade plattformar på arbetsplatserna?

2D-diagramLinjediagramEtt linjediagram har den begränsningen att det kan bara visa nyckeltal beroende av endimension utan att det blir rörigt. Det lämpar sig dock väl för att visa ett par nyckeltalberoende av samma dimension, så länge enheten och omfånget är det samma.

StapeldiagramStapeldiagram finns i lite olika varianter, exempelvis bild 7. Den vanliga variantenhar samma funktion som linjediagrammet. Där är bara datapunkterna i linje-diagrammet ersatta av staplar som då beskriver diskreta värden på x-axeln. Staplarnakan ha olika form. I tidningar ser man ofta stapeldiagram där staplarna har form avnågot som diagrammet beskriver, detta kan vara mycket dekorativt men även påverkaden uppfattade storleken (Tufte, 1983). Formen på staplarna är inte av någon större

12

Page 21: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

praktisk betydelse i 2D-varianten, men kan vara till stor hjälp i 3D-varianten dåstaplar kan skymma bakomliggande staplar.

Det kan även vara intressant att stapla staplarna ovanpå varandra för att se densummerade effekten. Man ser då inte lika lätt förändringar inom ett nyckeltal överdimensionen. Även möjligheten att se vilket av två nyckeltal som är störst vid en visstidpunkt försämras. Det man vinner är att man snabbt kan se den totala effekten avflera nyckeltal.

Bild 7. En typ av stapeldiagram som visar två variabler över samma dimension, detena nyckeltalet representeras på två sätt, med stapelhöjden samt färgen. De småstaplarna kan visa en annan variabel som varierar över samma dimension.Småstaplarna skulle även kunna beskriva en egenskap hos den första variabeln, t.ex.variansen.

13

Page 22: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

0

500

1000

1500

2000

2500

3000

3500

Stolar Soffor Bord Mattor Sängar0

1000

2000

3000

4000

5000

6000

7000

8000

Bild 8. Två nyckeltal med olika enheter visas i samma diagram.

Ett sätt att få fördelarna från både stapel och linjediagram är att lägga in detsummerade värdet som ett linjediagram med en egen gradering på y-axeln. Dåbetyder en punkt två olika saker beroende på vilket mätetal det är frågan om. Rentmatematiskt är det mycket fult och ologiskt, men de controllers som jag talat medtycker att det är ett bra sätt att presentera informationen på. Jag tror att det beror på attde är vana att handskas med den typen av diagram, men som matematiker är man vanvid grafer. I finansvärlden används diagram som bild 8 för att visa aktiekursersförändringar. Bild 8 skulle kunna visa en viss akties omsättning kursspannet underdagen samt slutkursen.

Övriga typer av 2D-diagramAndra användbara typer av presentationsformer som kan användas är cirkeldiagramoch polärdiagram, se bild 9 och 11. De lämpar sig väl för att visa ett nyckeltalsfördelning över en dimension. Cirkeldiagram lämpar sig för presentation av ett litetantal variabler. Dessa diagram visar variabelns relativa fördelning över dimensionenpå ett bra och tydligt sätt. Det kan dock vara svårt att göra jämförelser mellan tvåolika presentationer eftersom det rör sig om relativa värden som visas, se bild 9.Ibland kan det vara lämpligt att visa olika presentationstyper på samma sida, se bild10 och bild 13.

Sålda 00 MattorSängarSofforStolarBord

Bild 9 Cirkeldiagram med två av produkterna (bord och stolar) utbrutna för sig. Dettahar gjort att det är svårt att jämföra en av de utbrutna produkterna med någon av deandra. Det är till exempel svårt att jämföra bord med soffor.

14

Page 23: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Bild 10. Annat 2D-diagram med data visat över den geografiska dimensionen samt ettinfällt diagram med ett flertal nyckeltal visade. (www.cognos.com)

Försäljning

0

500

1000

1500

2000

2500

3000

3500Stolar

Soffor

BordMattor

Sängar

KEABStollagretSkinnfinn

Bild 11. Polärdiagram som visar försäljning av olika produkter i bolagen KEAB,Stollagret och Skinnfinn. Skärmdump från MS-Excel

3D-diagram3D StapeldiagramPå ett vanligt stapeldiagram kan man lägga till en axel och på så vis kan man visaytterligare en dimension, bild 12. I alla fall av 3D-presentation är det mer eller mindreen nödvändighet att ha möjlighet att vända och vrida på diagrammet. Detta kan dockkräva mycket processorkraft. Det bör finnas ett antal fördefinierade vyer som använ-daren kan växla mellan. Anledningen till det är att användaren lätt skall kunna kommatill vissa förutbestämda vyer och slippa rotera diagramet manuellt. Det är inte alltidlätt att presentera ett 3D-objekt på en 2D-skärm.

15

Page 24: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Bild 12. 3D Stapeldiagram som visar ett nyckeltals fördelning över två dimensioner.Den dåliga kvalitén beror på att det är en skärmdump. (www.visualizetech.com)

Iso-ytorEn iso-yta är en yta i rummet som representerar ett visst tröskelvärde på den stude-rade variabeln. Det kan till exempel visa för vilka x, y, z-värden som en variabeluppnår ett visst värde. I matematiken motsvaras det av ytan ƒ(x,y,z)=C i R3. Ettpraktiskt exempel är att visa på en karta var i atmosfären föroreningar når ett visstgränsvärde. På kartan kan då samtidigt befolkningstätheten i olika områden läggas insom ett stapeldiagram.

Bild 13. I vissa fall går det att blanda olika typer av diagram i samma presentation.(Tufte 1997)

16

Page 25: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

3D-visualiseringar av spatiala dataPresentation av stora mängder av data som har någon typ av spatial dimension, tillexempel data med geografisk anknytning, kan med fördel visualiseras som 3D-graferpå en karta över det berörda området. Det går bra att blanda olika typer av grafer föratt visa olika saker. En teknik att få in mycket information på samma skärmbild är attlåta en transparent iso-yta ligga över ett 3D-stapeldiagram för att visa ytterligare envariabel.

Användning av färgDe flesta människor kan med säkerhet särskilja runt ett tiotal (Dix 1993) olika färger,beroende på hur testerna utförs. Tränade människor kan under goda förhållandensärskilja hundrafalt fler. Dessa uppgifter skiljer sig dock lite beroende på vilkenlitteratur man tittar i och hur experimenten utförts, de flesta människor kan skilja påbetydligt fler om man ser färgerna i samma vy, det svåra blir när man skall skiljafärger åt som ej är synliga samtidigt. Man bör dock inte använda fler än ett tiotalfärger för att representera information. Det finns dock många begränsningar i vårtfärgseende som ligger i ögats och syncentrums natur. Vi har till exempel svårt atturskilja olika färgnyanser i dunkelt ljus. Det mänskliga ögat har sin sämstafärgseparation i det blå området. Detta gäller framför allt mitt i synfältet där det ärsom mest ont om de ljuskänsliga stavarna som är känsligast för blått ljus. Att tänkapå vid datavisualisering med hjälp av färgkodad information är att runt 8% av allavästerlänningar har defekt färgseende (Dix 1993), se även avsnitt Regler för godanvändargränssnittsdesign, Färg. Detta fenomen är vanligare bland män än kvinnor.Den vanligaste defekten är svårighet att uppfatta rött och grönt, dessa färgeruppträder som samma färg för dessa människor.

Färg bör därför ej vara den enda informationsbäraren, men fungerar utmärkt för attinföra redundans i visualiseringen. Sparsamhet är en dygd, det är ett talesätt somstämmer väl med användningen av färg. För mycket färger förstör mer än vad dethjälper. Färg kan även användas som dekoration. Det är minst lika viktigt att presen-tationen ser tilltalande ut och då kan färg vara ett bra hjälpmedel, men det får ej taöverhand eller störa.

Olika färgskalorFör att representera olika värden kan olika färger och nyanser användas. Det finnsspeciella färgskalor som är framtagna för att användas för att representera värden igrafer och diagram. Dessa färgskalor uppfattas som i någon mening linjära av ögatoch har en monoton ökning i RGB-värdena. Det finns egentligen ingen flerfärgadfärgskala som uppfattas som naturligt ökande, bild 14. Vilket är ”störst” av blått ochgrönt? Det finns ingen naturlig koppling till detta. Den enda färgskalan som harnågon naturlig koppling till ökning och minskning är de färger som uppstår när ettupphettat objekt går från vitglödgat till svart via olika röda nyanser, denna skalakallas för ”heated-object skalan”, se även avsnitt Effektiv visualisering. Ett bra val avfärgskala är att använda olika blå nyanser med ökad mättnad för negativa värden ochröda för positiva värden. Detta ger en klar distinktion mellan positiva värden ochnegativa värden. Ett vanligt fel vid visualisering av variabler, som kan anta värdenbåde över och under ett centralt värde, är att färgskalan är kontinuerlig övercentralvärdet. Detta gör att det ofta är svårt att se om värdet ligger strax över eller

17

Page 26: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

under centralvärdet. Se även Levkowitz5 optimala färgskalor i avsnittet Effektivvisualisering på sid 10. Bättre är då att ha en färgskala under centralvärdet och enskala över centralvärdet.

Bild 14. Olika vanligt förekommande färgskalor, hur bra är egentligen de tvåöversta? Om man läser denna rapport utskriven i gråtoner ser man direkt vad en illavald fägskala kan göra.

FärgnyanserEn färg kan varieras på olika sätt. Den kan variera i nyans, intensitet och mättnad.När variationen i färgnyans används bör man tänka på att de använda färgerna har ennaturlig eller invand koppling till det man vill visa. T.ex. är det dumt att använda enblågrön färgskala för att ange temperaturer när det finns en mer naturlig färgskala fördetta, nämligen Levkowitz heated-object skala.

Olika intensitetIntensiteten på en färg kan varieras så att färgen behåller sin nyans och mättnad, menvarierar i ljusstyrka. Den uppfattade intensiteten är dessutom beroende av vilken färgsom används. Detta beror till stor del på ögats olika känslighet för olika färger.

FärgkombinationerVal av bakgrundsfärg kan påverka hur informationen uppfattas. Olika färgkombi-nationer kan skapa olika synvillor. På grund av att ögat är olika känsligt för olika fär-ger i olika delar av synfältet så passar vissa färger bättre som bakgrundsfärg och an-dra som förgrundsfärg. Blått uppfattas naturligt som bakgrund och ger en känsla avatt det ligger längre bort än objekt i någon annan färg. Det kanske beror på att vi ärvana från naturen att saker blir blåare med ökat avstånd. En annan tänkbar faktor äratt vårt periferiseende till största delen är känsligt för blått och vi därför är vana att detsom upptar vårt intresse är inramat i blått. I fråga om färg och färgkombinationer såtror jag att dataloger har mycket att lära av konstnärer och fotografer. Dessa yrkes-grupper har stor vana av att förmedla ett budskap med hjälp av bara färg och form.

Användning av formOlika former kan användas för att framhäva olika typer av information. Det behöverinte bara vara i form av grafer och diagram. I dagspressen används ofta andra typerav former för att ge jämförande siffror en inbördes relation. Det är dock viktigt att

5Lewkowitz har tagit fram färgskalor som är mer rätt för ögat. Med rätt menas att de ökar iintensitet och färg på ett uppfattat linjärt sätt. De finns att titta på på:http://www.cs.uml.edu/~haim/ColorCenter/ColorCenterColormaps.htm

18

Page 27: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

tänka på hur man representerar värdena, olika representationer av förändringfungerar olika bra. Om till exempel en illustration av ett hus används för att beskrivaprisförändringen på fastigheter och en ökning i pris motsvaras av en ökning iillustrationens bas så kommer arean av illustrationen att öka kvadratiskt.

Uppfattad storlek och verklig storlekAtt jämföra två olika objekt och uppskatta deras storleksförhållande kan oftast varasvårt och ökningar tenderar till att bli underskattade. Det har visat sig genom experi-ment att människan uppfattar en ökning på 100 % till 80 % ±30 % (Tufte, 1983)detta gäller framför allt i fallet med 2D-presentationer. Den stora variationen gör attdet inte går att kompensera för detta. Även objektets utseende påverkar den uppfat-tade storleksändringen på olika sätt. Två datapunkter representerade av cirklar kanjämföras på två sätt, cirkelskivans area och cirkelskivans diameter. En dubblering avdiametern ger ett 4-faldigande av arean, och tvärtom. Om inte data finns i sifferformkan det vara svårt att avgöra vilket som menas, se bild 15.

Bild 15. Båda jämförelserna visar en skillnad på 1:4. Den ena i area, den andra ihöjd.

Användning av ljudLjud är en informationsbärare som kan förmedla mycket mer än varningspip av olikaslag. Det mänskliga örat kan uppfatta ljud med frekvenser från 20 Hz till 15 kHz.Den minsta hörbara skillnaden ligger på ungefär 1.5 Hz, ökande med ökandefrekvenser (Alan Dix, 1993). I segelflygplan finns det bra exempel på användning avljud som informationsbärare. Där använder man ett instrument som hjälper piloten att

19

Page 28: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

avgöra hur ”rent”, dvs. hur aerodynamiskt riktigt, denne flyger. Beroende på vilketfel piloten gör så låter instrumentet olika. Till en början uppfattas ljudet som mycketstörande men för en van pilot är det ett ovärderligt instrument. Det visar att omanvändarna vänjer sig vid nya modaliteter, som till en början kan uppfattas somstörande, kan de senare kunna ha stor nytta av dem. Fördelen med att införa ytterli-gare en modalitet är att man på det sättet kan kringgå problemet med att vi bara kan haett visst antal oberoende variabler i minnet samtidigt. Det har visat sig att den be-gränsningen ligger på varje modalitet, vilket innebär att vi inte slutar höra bara för attvi ser mycket (Anderson, 1980). En sak att tänka på är att vid läsning av text an-vänds även hörselcentrum mycket intensivt. Detta gör att det kan vara störande att geinformation via hörseln när personen läser en text.

Ett exempel på användning av ljud som informationsbärare: Man kan tänka sig endatamängd som visualiseras i en animering, säg ett stapeldiagram med en variation itiden där tiden representeras av tiden i animeringen. Man kan då tänka sig att användaljud för att representera en summering av någon variabel i varje filmruta. Man kan dåhöra en total ökning eller minskning utan att behöva titta på någon summerad varia-bel.

System för visualisering av affärsdataDet finns idag ett flertal tillverkare av datalager och tillhörande OLAP verktyg. Deflesta är stora multinationella företag som levererar allt ifrån hela affärslösningar tillbara delar av ett OLAP system. Fördelen med att köpa ett helt nytt affärssystem medintegrerat datalager och beslutstödssystem är att man slipper problemet som uppstårvid blandning av olika system. Nackdelen är att det oftast finns ett eller flera olika af-färssystem som redan används inom företaget, det kan då bli både tidsödande ochkostsamt att byta ut dessa. Alternativet är att bara införa ett datalager som knyts sam-man med de olika affärssystemen. Detta är det vanligaste sättet att arbeta på.

Program som används för att analysera och visualisera vetenskapliga data kan oftaanvändas för att analysera affärsdata. Mattison nämner i DataWarehousing (Mattison,1996) några sådana program. Några av dessa är Application Visualizer System frånAVS, Data Explorer från IBM och Khoros från Khoros. Dessa program är i förstahand gjorda för att analysera vetenskapliga data såsom flödesdata, data från aktieana-lyser och geologiska mätningar. De system som används mest är specialskrivna pro-gram för specifika uppgifter. En verksamhet som har behov av att analysera storamängder data är oljeletarbranschen på grund av de stora svårtydda datamängder sombildas vid oljeletning.

Jag har här valt att titta närmare på tre olika system, ett system som är gjort för atttitta på vetenskaplig information, ett rent affärssystem och ett system gjort för att tittapå information ur ett generellt datalager .

AVSAdvanced Visual Systems (AVS) har ett flertal olika produkter, allt ifrån färdigaprogram för visualisering av vetenskapliga data, bild 18, till hela paket med kompo-nenter som går att kombinera med egna program skrivna i C/C++ eller FORTRAN.Detta sker genom att de egna programmen hanteras som moduler på samma sätt somAVS egna moduler. Det finns moduler för det mesta inom visualisering. Det går tillexempel att låta ett rörligt plan skära genom en 3D-visualisering och visa ytterligareinformation i ett separat 2D-fönster. Ur visualiseringssynpunkt tycker jag att det ärmycket kraftfullt men i mina ögon allt för avancerat för användarna av ett be-slutsstödssystem. Det finns dock möjligheter att skapa egna användargränssnitt och

20

Page 29: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

göra databaskopplingar till de flesta större databassystemen Jag har dock inte haftmöjlighet att pröva dessa funktioner så jag vet ej hur lätt det är att skapa bra använ-dargränssnitt. Jag såg nyligen att det finns en webversion av gränssnittsverktyget.

Bild 18. Skärmdump från Gsharp från AVS.

CognosCognos (Cognos) är ett företag som har speciallicerat sig på att utveckabeslutsstödssystem och produkter rellaterade till datalager. De har ett omfattandebeslutsstödssystem i form av deras Business Intelligence Suite innehållande de treprogrammen PowerPlay, Impromptu och Scenario.

PowerPlay är ett utforskarverktyg för multidimensionella databaser som låter an-vändaren se på data ur olika dimensioner. I PowerPlay arbetar man till största delenmed tabeller. Dessa tabeller kan behandlas på olika sätt, till exempel pivoteras, för attanalysera dem och finna intressant information. Mitt intryck av PowerPlay var att detvar alldeles för svårarbetat. Som novis kunde jag inte göra mycket av intresse. Det ärantagligen en stor skillnad om man har bakomliggande kunskap om informationensom presenteras. PowerPlay kan extrahera delar av datalagret och spara informatio-nen på användarens hårddisk.

Impromptu är en rapportgenerator som kan användas tillsammans med de övrigaprodukterna eller fristående för sig själv.

21

Page 30: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Scenario är ett dataminingverktyg med möjlighet att hjälpa användaren att göraavancerade statistiska utvärderingar. Scenario har även möjlighet att själv klassificeradata i datalagret samt att hitta beroenden mellan olika variabler.

Cognos har även ett verktyg som heter 4Thought. Detta program använder artificiellaneuronnät för att göra prognoser och modeller utifrån datalagret. Jag har inte haftnågon möjlighet att titta på detta program.

Bild 16. Skärmdump från Cognos Powerplay som visar ett nyckeltal av en utvaldprodukt, i detta fall en typ av golfklubba, över den geografiska dimensionen ochtidsdimensionen.

SpotFireSpotFire är ett system för visualisering av information ur databaser, bild 17. Ijämförelse med system från Cognos och AVS framstår SpotFire mycket enkelt ochlitet. Det är kanske inte helt lämpligt att använda som beslutsstödssystem menfungerar mycket bra då man inte behöver drilldownfunktionalitet. SpotFire har en delmycket bra lösningar på olika problem. Urval av dimensioner kan göras på entallinje, där det är lämpligt, med draghandtag för markering av övre och undrebegränsning. I detta system markeras även på tallinjen i vilket intervall det finns dataatt välja med hänsyn tagen till de andra dimensionsurvalen. På detta sätt kan man

22

Page 31: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

direkt se hur begränsningar i en dimension påverkar mängden tillgängliga data i enannan. I en av exempeldatabaserna som kommer med SpotFire kan man seinformation om filmer och skådespelare. Gör man en begränsning i skådespelar-dimensionen till en skådespelare kan man se att det inte finns några data om dennaskådespelare innan och efter ett visst årtal. Min erfarenhet var att den funktionenhjälpte till att göra bra urval. På detta sätt kunde man i många fall se direkt om urvaletgav ett tomt svar.

Bild 17.Skärmdump från SpotFire. Samma data visas med olika grafer för att visaolika egenskaper i datamängden.

23

Page 32: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Människa-datorinteraktion (MDI)

BegränsningarInformationspresentation har, som jag ser det, två olika begränsande faktorer: män-niskan och mediet. Mediet är i det här fallet datorgrafiken. Datorgrafiken har en typav begränsningar och människan en annan typ av begränsningar.

Tekniska begränsningarDatorn har begränsningar av prestandakaraktär och begränsningar i modaliteter förkommunikation. Prestandaproblem kan vara sådana att det inte går att visa föränd-ringar snabbt. Bandbredd på nätverk och förmågan hos servern att ge svar på frågorkan ge långa svarstider och fungera som en begränsning. Att tänka på är att det somansågs näst intill omöjligt igår, är fullt möjligt i morgon. Utvecklingen går mycketsnabbt mot snabbare datorer och snabbare nätverk. Kommunikationen med männi-skan sker fortfarande till största delen med skärm och tangentbord. Somutvecklingen ser ut i dagsläget kommer inte det att ändras nämnvärt under dennärmaste framtiden. Vi kan alltså tillåta oss att designa ett system som kräver merprocessorkraft och bandbredd än vad som finns tillgängligt idag. Vi är dockfortfarande bundna till att förlita oss på mus och tangentbord för inmatning ochskärm och högtalare för utmatning.

Mänskliga begränsningarMänniskans utveckling är inte på något sätt lik datorns. Vi kan därför inte hoppas pånågon som helst biologisk förändring av förutsättningarna för människans förmågaatt mottaga information. Det man däremot kan se är en ökad ”datormognad” hos folk.Med denna ”mognad” menar jag till exempel hur människor har lärt sig att navigera iicke linjära texter (hyperlänkade texter) på ett sätt som skiljer sig väsentligt frånvanligt linjärt läsande. Så länge datorn bara kan presentera data på en skärm, ellermotsvarande, eller i form av ljud så är människans bandbredd mycket begränsad. Detman kan utnyttja är att människan har olika ”vägar” för olika information i hjärnan.Vissa av dessa ”vägar” är mycket snabba men kan bara bära mycket primitivinformation, samtidigt som andra ”vägar” kan bära mycket komplex information menbara lite i taget. En del modaliteter (t.ex. syn och hörsel) har två ”vägar”, både lång-sam och snabb. I ett beslutsstödssystem vill man presentera stora mängder informa-tion på ett sätt som gör att användaren får en god överblick och kan fatta beslut uti-från informationen. Det system som jag tittar på är inte på något sätt tidskritiskt såman kan kosta på sig mer komplexa presentationer.

Användbarhet

Vad är användbarhet?Användbarhet kan delas upp i olika delar som påverkar vårt intryck på olika sätt.Några delar handlar om ren arbetsergonomi och några om mer subjektiva bedöm-ningar. Det är mycket svårt att sätta en entydig definition på termen användbarhet.Det finns dock några ganska väldefinierade aspekter av ett system som bör beaktas.Det finns även standardiserade (ISO) definitioner av användbarhet.

24

Page 33: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Definition av användbarhetAv ISO har termen användbarhet i ISO 9241-11 fått definitionen: ”The extent to which a product can be used by specified users to achieve specifiedgoals with effectiveness, efficiency and satisfaction in a specified context of use.”Detta skulle då på svenska bli ungefär: ”Hur väl en produkt kan användas av en vissanvändargrupp för att uppnå specificerade mål på ett ändamålsenligt och effektivt sätttill belåtenhet i det sammanhang användarna befinner sig i.”

Ur definitionen kan man utläsa vilka faktorer som anses vara viktiga för använd-barheten av ett system. Fritt tolkat kan man säga att systemet skall vara ändamålsen-ligt, effektivt i sitt sammanhang och användargruppen skall uppnå sina mål med belå-tenhet. De faktorer som är viktiga är effektivitet och belåtenhet, alltså en objektiv del,effektiviteten, och en subjektiv del, belåtenheten. Den subjektiva bedömningen avbelåtenheten är en bedömning som kan skilja sig mycket från användare till använ-dare, detta till stor del beroende på vilken bakgrund användaren har. Med bakgrundmenas till stor del bakgrunden inom datorstött arbete, men även den sociala och kul-turella bakgrunden spelar en viss roll.

Arbetet med att skapa användbara systemI arbetet med att skapa användbara system har ett antal paradigm (arbetssätt medgemensamma regler) utvecklats och utvecklas fortfarande. Det är dessa paradigmsom har betytt mest för utvecklingen av användargränssnitt, inte vetenskapliga teorier(Dix, 1993). Några av dessa paradigm är omoderna och vissa tar vi för givna, t.ex.användningen av grafiska skärmar. De flesta moderna grafiska användargränssnittbygger dock på dessa regelverk.

Fönsterparadigmet, WIMPWindows, Icons, Menues and Pointers är det paradigm som de flesta persondator-system bygger på. De är nuförtiden nästan självklart att nya system skall bygga påfönsterparadigmet. Fördelen med detta paradigm är att det stödjer människans för-måga att tänka på olika saker samtidigt och snabbt byta fokus för sina tankar. Dettastöds genom möjligheten att snabbt kunna byta fönster till ett annat med ett annat in-nehåll. Det första system som byggde på detta kom 1981 från Xerox.

MetaforparadigmetÄven metaforparadigmet användes första gången av Xerox i deras Alto- och Star-system. Användandet av en metafor har nästan alltid två sidor. Den positiva sidan äratt användaren snabbt kommer igång och kan använda systemet på det sätt sommetaforen antyder. Baksidan är att ett datorsystem i många fall är mycket merflexibelt än vad metaforen antyder. Detta gör att avancerade användare ofta inte harlika stor användning av en metafor. Ett exempel är ordbehandlingssystem där deflesta ordbehandlarna bygger på skrivmaskinsmetaforen. Avancerade användareanvänder i större utsträckning system som TEX och LaTEX som ger större kontrollav resultatet.

DirektmanipulationDirektmanipulation kom samtidigt med de två förra paradigmen. Det första kom-mersiella systemet som användes i stor utsträckning var Apple Macintosh operativ-system som kom 1984. Direktmanipulation innebär att interaktionen med systemetger ögonblicklig och kontinuerlig återkoppling. Som exempel kan nämnas för-flyttning av filer som visas direkt i ett WIMP gränssnitt. Direktmanipulation ställernågra krav på gränssnittet.

25

Page 34: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

• Objekten av intresse skall synas.

• Handlingar skall vara reversibla.

• Alla handlingar som är möjliga att utföra skall vara syntaktiskt riktiga.

• Alla möjliga handlingar skall gå att utföra.

HypertextHypertextparadigmet har sina rötter så långt tillbaka som 1945 men började inteanvändas förrän 20 år senare. Idén är att stödja ett icke linjärt läsande och kopplaihop relaterad information i olika dokument. Hypertexten fick sitt stora genombrott ioch med www, nuförtiden är de flesta användargränssnitten avsedda just för Internetoch www. Tekniken med hypertext gör att det är lätt att lägga in förklaringar med enhyperlänk istället för att skriva en störande förklaring i arbetsfältet.

Multimodalitet och Computer-Supported Cooperative Work, CSCWFortfarande baserar sig de flesta användargränssnitt endast på ett fåtal modaliteter(sinnen). För inmatning till systemet är tangentbord och pekdon av olika slag de vik-tigaste enheterna. För utmatning används till stor del bara visuella enheter så sombildskärmar och skrivare. Känsel och hörsel ger en återkoppling vid tangent-nedtryckning. Gränssnittet kan även använda ljud för att göra användarenuppmärksam på varningar och liknande. Min uppfattning är att det finns all möjlighetatt använda fler vägar för kommunikation än de som används idag. Taligenkänningär en av dessa möjligheter som faktiskt finns i begränsad form. Apple har i sittoperativsystem, MacOS, taligenkänning och talsyntes för att styra en del funktioner.

CSCW innebär att flera människor samarbetar med hjälp av datorn. Den enklasteformen av datorstött samarbete är arbete delat med hjälp av e-post. Det finns ävenavancerade system för samarbete i en virtuell värld där man interagerar med varandrai realtid. Denna typ av interaktion är än så länge på utvecklingsstadiet men troligtvisnågot som vi kommer att få se mer av i framtiden.

Svårigheter med att mäta användbarhetEftersom användbarhet är en mycket subjektiv bedömning är det svårt att mätaanvändbarheten i olika system. Det är lättare att jämföra två system mot varandra änatt betygssätta dem var och en för sig. Användbarheten för ett system är inte baraberoende på hur systemet uppför sig, faktorer som omgivning och vem användarenär spelar lika stor roll. Ett system gjort för ovana användare med stationär utrustningkan vara helt oanvändbart för en expertanvändare utrustad med en bärbar dator i enfältmiljö. Ett användbarhetsmått måste således även kompletteras med en definitionöver förutsättningarna för måttet. Mer kan läsas i teoridelen under avsnittet använd-barhet.

Metoder att mäta användbarhetDet finns olika metoder att mäta användbarheten av ett system, alla med olika för-utsättningar, fördelar och nackdelar. De kan delas upp efter de sätt de arbetar, i enkä-ter, användarstudier och inspektionsmetoder.

Enkäter mäter användarens subjektiva uppfattning av systemet och inte hur bra an-vändaren faktiskt arbetar med systemet. Oftast används enkäter med slutna svarsalter-nativ (”kryssfrågor”), detta ger mycket bra möjlighet att behandla svaren statistiskt.Används färdiga enkäter ges även möjligheten att jämföra betyget med andra system.

26

Page 35: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Användarstudier innebär att man studerar en användare som arbetar med systemeteller en prototyp av användargränssnittet. Användarstudier kräver en större insats avtestledarna än enkätmetoder men ger användaren större möjlighet att ge konstruktivkritik om systemet.

Inspektionsmetoder är en teoretisk granskning av användargränssnittet av någon somär kunnig inom MDI området. Användargränssnittet granskas utifrån de regler ochrekommendationer som finns. Denna metod behöver inte innefatta något samarbetemed slutanvändaren.

I ”Kostnadseffektiva metoder för utvärdering av användbarhet” av Pelle Mårtensson(Mårtensson, 1999) kan man läsa mer om olika utvärderingsmetoder.

Utveckling av ett grafiskt användargränssnittUtvecklingsmetoder är till en god hjälp men de fungerar inte alltid på ett bra sätt. Attman följer en metod som visat sig bra vid tidigare tillfällen är ingen garanti att detskall fungera denna gång. Detta för att det alltid uppstår nya problem och omständig-heter som ingen har löst tidigare. Det man vinner på att använda en metod är att manfår med alla stegen i processen. Jag har valt att i korthet beskriva två utvecklings-metoder, LUCID (Shneiderman, 1987) och GUIDE (Redmond-Pyle, 1995), förgrafiska gränssnitt.

Utveckling av användargränssnitt enligt LUCIDLUCID är en utvecklingsmetod för användarcentrerad programutveckling. LUCIDinnefattar sex steg som täcker in utvecklingsprocessen av system. De olika stegen äruppdelade i tre till sex delaktiviteter.

Steg 1: Produktkoncept

Övergripande mål sätts upp. Problemet definieras och affärsmålen klargörs. Använ-darpopulationen definieras både till teknisk nivå samt intresseområde. Titta påtekniska och humanitära begränsningar och möjligheter. Sätt upp en arbetsgrupp föranvändardesignen. Fastställ arbetsplan och budget.

Steg 2: Undersökning och behovsanalys

Dela upp användarna i homogena grupper. Dela upp arbetet i små deluppgifter.Konstruera behovsanalys med hjälp av scenarion i samarbete med användarna.Skissa på arbetsflödet vid lösande av uppgifter med systemet. Identifiera övergri-pande objekt och strukturer som kommer att användas i användargränssnittet.Undersök och försök att lösa tekniska problem och andra begränsningar.

Steg 3: Designkoncept och utseendeprototyp

Skapa specifika mål för användbarheten baserat på användarbehoven. Fastställriktlinjer och övergripande utseende. Välj modell för navigering och designmetafor.Identifiera nyckelscenarion och utveckla en prototyp där dessa ingår. Utvärdera pro-totypen och utför användartester.

Steg 4: Iterativ design och förbättring

Utveckla prototypen till ett fullt system. Utför empiriska tester och verifiera syste-met. Utför fullskaletester med den fungerande prototypen. Leverera prototypen samtspecifikationer.

27

Page 36: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Steg 5: Implementation

Fastställ standarder. Utför sista minuten ändringar. Utveckla on-line hjälp, doku-mentation och övningar.

Steg 6: Driftssättande och support

Tillhandahåll hjälp och träning. Utför loggning, utvärdering och underhåll.

Utveckling av användargränssnitt enligt GUIDE.Graphical User Interface Design and Evaluation är en metod för utveckling avgrafiska användargränssnitt framtagen av LBMS. LBMS är ett multinationellt företagsom utvecklar CASE-verktyg. GUIDE har den skillnaden mot LUCID att GUIDE ärmer inriktat på det grafiska gränssnittet och säger inget om utvecklingen av systemetbakom. Jag skall försöka att utgå från GUIDE i min förundersökning för ett förslagav hur ett användargränssnitt till ett OLAP-verktyg skall se ut, se Appendix A.Nedan kommer en kort sammanfattning av de steg som beskrivs i metoden.

Definiera användarna och funktionalitetskraven

Eftersom användargränssnittet görs för användarna så måste man veta vilken typ avanvändare som kommer att använda systemet. Man behöver även veta vilka kravanvändarna kommer att ställa på systemet. Nyckelfrågorna som behöver besvaras ärföljande:

• Vilka kunskaper har användarna?

• Hur kommer användarna att använda systemet?

• Vad kommer systemet att betyda för användarna?

• Vilken funktionalitet kan ses som den minsta för att systemet skall kunna använ-das?

• Hur kan man mäta graden av funktionalitet?

Från detta steg skall:

• Olika klasser av användare kunna beskrivas.

• En specifikation på funktionalitet och hur det stöds av gränssnittet skrivas.

Modellera användarnas arbete

Målet är att förstå användarens arbete och hur den kommer att använda systemet. Vetman inte hur användarna arbetar riskerar man att göra ett gränssnitt som försvåraristället för att förenkla arbetet.

• Vad är användarnas mål?

• Hur ofta utförs olika uppgifter?

• Hur kan användarnas arbetsuppgifter delas upp i deluppgifter?

• Hur kritisk är varje deluppgift?

• Hur ser ett arbetsscenario ut för en vanlig arbetsuppgift?

Från detta steg skall:

28

Page 37: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

• Framgå vilka uppgifter som användarna kommer att utföra.

• Finnas troliga scenarion att testa prototyper på. Dessa scenarion kan användasför att mäta olika designers användbarhet mot varandra.

Identifiera objekten i gränssnittet

Användarna skall kunna forma en bra mental modell av objekten i systemet. Dennamodell ska stödjas av objekten i gränssnittet.

• Vilka är objekten i systemet?

• Vilka handlingar kan användaren utföra på de olika objekten?

• Vad är användarens kunskap om de olika objekten?

• Vad är relationerna mellan objekten?

Från detta steg skall:

• Objektmodeller (Konceptuell modell) över gränssnittet fastställas.

• Användarnas terminologi sammanfattas.

Bestäm stilen på gränssnittet

Användargränsnittet skall ha ett enhetligt utseende. Alla fönster skall ha samma ut-seende, färgsättning och en liknande organisation.

• I vilken typ av gränssnittsmiljö kommer systemet att användas?

• Vilken stil förväntar sig användarna?

• Hur kommer fönstren se ut?

• Vilka standardmenyer kommer att finnas?

• Vilken typ av interaktion kommer att användas?

Från detta steg skall:

• En stilguide skrivas. Den skall innehålla beskrivning av de standarder somgränssnittet kommer att använda.

Fastställ gränssnittsdesignen

Målet är att fastställa designen på gränssnittet enligt de riktlinjer som har kommitfram under föregående steg.

• Vilka vyer av objekten behövs?

• Hur skall dessa vyer förhålla sig till olika fönster?

• Vilken layout skall användas i fönstren?

• Hur ska användaren navigera mellan de olika fönstren?

• Vilka knappar, menyer och andra objekt behövs för att kontrollera systemet?

• Vilka funktioner har dessa knappar?

29

Page 38: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Från detta steg skall specifikationer för fönsterutseende, interaktionsbeteende ochnavigation finnas.

Gör en prototyp

En prototyp används för att undersöka användbarheten hos den föreslagna gräns-snittsdesignen. Med hjälp av prototypen kan man testa gränssnittet på slutanvändareutan att ha en färdig produkt.

• Hur kan användarna utföra de specificerade scenariona?

• Behöver några objekt fler vyer?

• Behövs fönstren göras om för att bättre stödja användaren i sitt arbete?

• Fungerar navigationen mellan fönster tillfredställande?

• Hur kan användarens arbete förenklas?

• Vilka problem möter användaren?

• Vilka förslag kommer användarna med?

En fungerande prototyp i någon form skall testas och revideras tills användarna ärnöjda.

Utvärdera användargränssnittet

Användargränssnittet skall utvärderas och testas att det stödjer användarnas arbete pådet sätt det var tänkt.

• Hur bra fungerar gränssnittet för användarna, mätt enligt de kriterier som fast-ställts tidigare?

• Vilka problem möter användarna?

• Stödjer gränssnittet alla typer av användare i alla deras uppgifter?

Som svar på dessa frågor skall ett förslag till nytt användargränssnitt göras.

Utvecklingen av ett användargränssnitt är inte så rättfram som man kan få intryck avnär man läser denna arbetsgång. Denna arbetsgång är mer tänkt som ett stöd i ut-vecklingen. Det verkliga arbetet kommer att hoppa fram och tillbaka mellan de olikastegen.

30

Page 39: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Bild 19. Arbetsgången enligt GUIDE

31

Page 40: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Arbetet med förstudienI detta kapitel presenteras teori och resultat av undersökningar som harmer med det aktuella området att göra. Det som tas upp har direkt an-knytning till utvecklingen av ett användargränssnitt för ett beslutsstöds-system. Jag börjar med att titta på funktionalitet som stödjs av gränssnittet,först vilken funktionalitet som finns i olika system och sedan vilka övrigafunktioner som kan vara önskvärda. Även här kommer en stor del avtexten att handla om principer för att uppnå god användbarhet, dennagång mer inriktat på vad jag anser är viktigast vid utveckling av ett besluts-stödssystem.En kort beskrivning av YF-client från Datawebhouse finns med som ettkort exempel på hur arbetet går till med ett sådant beslutsstödssystem.Sist följer ett exempel på hur man med några rader programkod kanbygga in en till synes stor del intelligens i systemet.

Rekommendationer för ett användargränssnitt till ettOLAP-verktygKimball ger i The Datawarehouse toolkit (Kimball, 1996) ett par bra regler för an-vändargränssnitt till OLAP-verktyg. Han säger att ”ett bra användargränssnitt baseraspå igenkänning och pekning, ej på hågkomst och skrivning.” (Originaltexten lyder”A good user interface is based on recognizing and pointing, not remembering andtyping.”). Han tar även upp saker som ”avstånd”, med avstånd menas t.ex. antalmusklick mellan två saker, mellan vanliga operationer, detta är dock inget som ärspeciellt för OLAP-verktyg. Viktiga saker som vilka dimensioner som finns, be-gränsningarna på dessa, tillgängliga nyckeltal samt status på utdata bör vara synligahela tiden. Utdata kan ha olika status ifråga om överensstämmande med urvalet.Resultatet, utdata, kanske inte ändras under en pågående urvalsproces, då skall detklart framgå att resultatet är ett resultat från ett tidigare urval. Vidare anser Kimbal,och så även jag, att det är mycket viktigt att datorn ej blir ”låst” under den tid det taratt hämta resultatet från datalagret. Det är lika viktigt att en fråga går att avbryta underden tid då resultatet hämtas. Min erfarenhet är att dessa självklara regler inte efterlevsi den utsträckning man kan önska sig. YF-client, datawebhouse OLAP-verktyg, bröttill exempel mot båda dessa regler.

Krav på funktionalitet

Funktionalitet som finns idagIdag stödjer de flesta system drilldown på olika sätt. Funktionaliteten varierar kraftigtmellan de olika systemen. Vissa är bara lite mer avancerade rapportgeneratorer, andraär avancerade Datamining-verktyg (se avsnitt OLAP och Datamining sid 5). Jag harnästan uteslutande arbetat med YF-Client från Datawebhouse. Jag har dock fåttCognos PowerSuite demonstrerat för mig och har på det sättet även fått se en del avdet verktyget. YF-Client och Cognos PowerSuite är varandras motsatser i fråga omenkelheten (ej användbarheten) i användargränssnitten. Cognos har även ettavancerat dataminingverktyg med möjlighet att ställa frågor som: Givet att allt ser utsom idag, hur kommer ett nyckeltal att påverkas av en förändring i ett annat nyckel-tal? Jag kan ej uttala mig om hur detta fungerar då jag aldrig har haft möjligheten attfå se det verktyget i användning.

32

Page 41: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Önskad ny funktionalitetSom det ser ut idag har program som används för visualisering av vetenskapliga dataett försprång i fråga om olika presentationstekniker. Självklart är det möjligt attanvända dessa system för visualisering av affärsdata, men de är oftast inte lämpadeför att göra urval ur multidimensionella databaser på samma sätt som traditionellaOLAP-verktyg. Mattison tar i DataWarehousing (Mattison, 1996) kapitel 19, uppnågra bra exempel på visualiseringar gjorda med bland annat AVS, (se mer omprodukter från AVS på sidan 21). Dessa exempel visar på ett lättfattligt sätt ett flertalolika dimensioner.

Min önskan är att det aktuella dimensionsurvalet skall framgå tydligt i samma vy somutdata för att det aldrig skall vara någon som helst tveksamhet vad för data använ-daren betraktar.

Begränsningar i dimensioner bör framgå på ett tydligt sätt. Det är även önskvärt atturvalet skall kunna ändras i samma fält som det presenteras, i enlighet med reglernaför direktmanipulation, se sidan 26.

Dimensioner som har en logisk ordning kan representeras med en tallinje meddraghandtag för att markera början och slut på urvalet. Detta sätt används mycketframgångsrikt i SpotFire, se avsnitt om SpotFire på sidan 23. Den stora nackdelenmed denna funktionalitet är att det inte fungerar för stora datalager på 10–50 Gigabyte, som är en vanlig storlek idag.

Det skulle kanske vara användbart om man kunde extrahera en del av datalagret ocharbeta med det lokalt. Om detta är en önskvärd funktion vet jag ej men det krävs intenågon större ansträngning att spara ett resultat från ett generellt urval, till exempel enprodukt ur hela sortimentet. Om svaret från detta urval är av moderat storlek så kandet sparas och användas för att göra ny urval på. Eftersom de flesta datalagerimplementeras som relationsdatabaser så får man att svaret från ett urval, en SQLfråga, är en ny tabell som man kan göra nya urval ur. Detta gör att det är så enkelt attimplementera att det inte finns någon anledning att inte göra det. Om detta görs skalldet inte vara för användaren märkbart på något annat sätt än att det dimensionsurvalsom har använts för att extrahera delmängden är förvalt och låst. Detta skulle göra attanvändarna knappt märker att de arbetar med en lokal delmängd istället för hela data-lagret. På Alfa Laval fanns möjligheten att plocka med sig en kopia på hela datalagretför att kunna bära med sig vid till exempel kundbesök. Märk väl att här var det intetal om någon utvald delmängd utan en hel kopia på alla data.

Att finna trender i data är ofta ett svårt och tidskrävande arbete. Det skulle kunnaunderlättas betydligt om systemet själv kunde utföra analyser på data och ge använda-ren förslag på vad det har kommit fram till. Jag föreslår att man tillhandahåller enuppsättning olika små agenter som kan användas för att hitta viktig information i data-lagret. Man skulle kunna tänka sig en trendagent som man ger enkla instruktionersom sedan letar igenom datalagret efter trender som uppfyller dina önskemål. Likasåkan en agent för att hitta extremvärden eller stora avvikelser användas. Jag tror att enuppsättning med agenter för olika funktioner är ett bra upplägg. Som användargräns-snitt tycker jag att man kan använda samma system som för filter i Photoshop, därvarje filter har en funktion som kan ändras lite med ett fåtal parametrar. De olikaagenterna har specifika funktioner som kan fintrimmas genom att ställa om olikaenkla parametrar. För implementering av agenterna kan olika AI-tekniker användas,se separat stycke om AI på sidan 45.

33

Page 42: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Krav på användargränssnittetAnvändargränssnittet bör utformas på ett sådant sätt att det tilltalar användarna i dentilltänkta miljön. Det kan vara så att resten av programmen som används på dentilltänkta arbetsplatsen inte använder WIMP, se teoristycke på sidan 26. I ett sådantfall bör man fundera på om det är lämpligt att införa ett system med ett användar-gränssnitt med olika fönster och knappar. I vissa fall kanske det inte ens finnsdatorer som har operativsystem som stödjer pekdon och fönstersystem. Nu är detdock så att man kan anta att de flesta användarna i målgruppen för ettbeslutsstödssystem är bekanta med hur ett fönstersystem fungerar och har datorersom stödjer det.

Utseendet bör ej kännas omodernt. Om användaren tycker att det ser gammalt ochomodernt ut så är risken att även funktionaliteten uppfattas som gammal och omo-dern.

Användargränssnittet ska ge tillgång till de vanligaste funktionerna på ett enkelt sätt.För att utföra ett ofta utfört moment skall antalet klick och förflyttningar med musenminimeras, eller om tangentbord används skall antalet knapptryckningar hållas till ettminimum. Visserligen beror det mycket på vilka sekvenser av knapptryckningar detär. Det är till exempel lättare att komma ihåg1-2-3-4-5 än r-s-l-b även fast den förstasekvensen är längre.

Vanliga moment bör även kunna utföras utan att nya fönster behövs öppnas ochstängas. Användaren bör ha full överblick över så stor del av systemet som möjligtunder hela tiden. Jag tror att det är bättre att visa så mycket som möjligt men till enlägre detaljnivå och bara visa detaljer i den del som användaren arbetar. Detta sätt attvisa information kallas fisheye-teknik (Shneiderman, 1987). Den tekniken går ut påatt det som är ur fokus visas mindre och med färre detaljer.

Bild 20. En fisheye-vy över städer i USA med fokus på St. Louis. Det visadeavståndet mellan andra städer sjunker när avståndet från fokus ökar. (Marc Brown,DEC Systems Research Center)(Shneiderman, 1987)

34

Page 43: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Riktlinjer för utveckling av ett grafiskt användargräns-snitt till ett beslutsstödsystem med datalager

Principer för att uppnå god användbarhetFör att kunna säga att ett system har god användbarhet måste vi ge en definition, elleråtminstone en bra förklaring, av vad vi menar med användbarhet. I tidigare styckeom användbarhet på sid 26 finns både definitionen enligt ISO och en mer fribeskrivning. Dessa berättar mest för oss att användbarhet är något subjektivt ochsvårbestämt. För att bestämma användbarheten på ett system i jämförelse med ettannat finns det speciella metoder, mer om dessa senare i stycket Utvärdering på sid42. I arbetet med användbarhet har ett par faktorer framkommit som påverkar gradenav användbarhet. Dessa faktorer kan sedan delas upp i mindre delar. I olika böckerges lite olika namn och betydelse åt de olika delarna och faktorerna, men helheten ärdensamma. Genom att tänka på dessa faktorer vid designen av användargränssnittetkan användbarheten höjas avsevärt. Jag har valt att presentera de faktorer som jag an-ser passa mitt arbete bäst. Informationen har jag hämtat till största del från två exa-mensarbeten på Nada skrivna av Åkerstedt (Åkerstedt, 1999) och Gottfridsson(Gottfridsson, 1996). De har samlat ihop olika användbarhetsfaktorer från ett flertalolika källor till varsin bra samling.

LärbarhetLärbarhet är hur lätt det är att lära sig att använda systemet. Det finns fler aspekter avlärbarhet, både hur snabbt en novis sätter sig in i systemet tillräckligt för att användadet, dels hur lång tid det tar innan en användare behärskar systemet totalt. Lärbarhetkan uppnås genom att beakta följande vid designen av gränssnittet.

Syntetiserbarhet

Gränssnittet skall hjälpa användaren att bygga upp en mental modell6 (Alan Dix,1993) av systemet som stämmer överens med systemets modell. Detta genom attgränssnittet visar alla tillståndsförändringar som sker i systemet. Om användaren haren bra modell av systemet kan hon förutsäga vad som kommer att hända vid olikakommandon.

Förutsägbarhet

Användaren bör genom sin mentala modell över hur systemet fungerar och tidigarekommandon till systemet kunna förutsäga vad som kommer att hända vid olikakommandon och på detta sätt snabbare lära sig att använda systemet.

Igenkänning

Användaren skall kunna känna igen arbetssättet från något tidigare arbetssätt, pro-gram eller manuellt arbete. Denna punkt anser jag vara en av de viktigare delarna avlärbarhet. Detta på grund av att de flesta människor är konservativa. Den allmännainställningen till förändringar är att de är till det sämre. Mer om detta finns att läsa ilitteratur om organisationslära (Granberg, 1994), Om användarna kan se det nyasystemet som en förbättrad version av det gamla så är mycket vunnet. Om det är ett

6Den mentala modellen är en modell som användaren har byggt upp över systemet. Denna modellbygger användaren på under hela sitt interagerande med systemet.

35

Page 44: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

nytt system som skall införas är det bra om det går att efterlikna något på arbetsplat-sen använt program.

Generaliserbarhet

Genom att användaren känner igen delar och komponenter av gränssnittet från andrasystem eller det verkliga livet kan användaren genom generalisering bilda sig enuppfattning om funktionaliteten som finns i det nya gränssnittet.

Konsekvens

Genom att sträva efter att liknande funktioner ger liknande resultat i alla situationerkan användaren lära sig att använda systemet snabbare. En viss funktion skall hasamma betydelse i alla kontexter annars uppfattas systemet som inkonsekvent ochopålitligt. Om systemet uppträder på ett konsekvent sätt så lär sig användaren att litapå systemet.

FlexibilitetMed flexibilitet avser (Dix, 1993) de olika sätt som användaren och systemet kanutbyta information. Flexibilitet är inte bara av godo. En för stor flexibilitet i in-formationsutbytet kan skapa inkonsekvens och verka förvirrande. En flexibilitet somi de flesta fall är bra är möjligheten att använda snabbkommandon som alternativ tillmenyval. Jag har tagit upp några av de delar som tas upp i litteraturen under rubrikenflexibilitet.

Dialoginitiativ

Initiativet till dialogen mellan datorn och användaren kan tas antingen av användareneller av datorn. Exempel på initiativ från datorn är formulärifyllning. Där sker dia-logen på uppmaning av systemet och användaren har oftast liten möjlighet att påverkadialogen. I en dialog, på initiativ av användaren, kan användaren styra systemet påett flexiblare sätt. I de flesta UNIX-skal är det användaren som tar initiativet till dia-logen. Användaren skriver ett kommando och systemet svarar på lämpligt sätt. Ettsystem som har en användarstyrd dialog uppfattas oftast som mer flexibelt. Jag anseratt en allt för fri dialog kan vara hämmande för ovana användare. Dix (Alan Dix,1993) anser att en användare kan glömma bort att avsluta påbörjade uppgifter. Enovan användare tror jag känner sig ofta säkrare när de blir styrda i inmatningen. Minpersonliga erfarenhet är i alla fall att jag känner mig säkrare med en viss styrning avdialogen.

Utbytbarhet

Om ett värde i ett inmatningsfält kan anges på flera olika sätt skall dettta vara möjligtoch ge samma svar. Ett värde kan t.ex. anges i absoluta värden eller i antal procentav något annat, se bild 21. När det handlar om pengar kan det vara intressant attkunna mata in värden i valfri valuta och ändå få ett korrekt svar. Utbytbarhet kanäven betyda att gränserna mellan in- och utmatningsfält suddas ut. I ett kalkylpro-gram fungerar oftast cellerna både som inmatning och utmatning med en inbördesrelation. I många grafikprogram finns det möjlighet att välja färg ur olika färgrymderoch ändo få samma resultat. I bild 21 visas samma färg när den valts ur RBG-rym-den och ur HSB-rymden. Båda sätten är utbytbara med varandra.

36

Page 45: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Bild 21. Olika sätt att välja färg som alla ger samma resultat. I den övre halvan väljsfärgen ur RGB-rymden och i den undre halvan visas samma färg vald ur HSB-rymden.

Anpassningsbarhet

Ett användargränssnitt som passar en ovan nybörjare passar ofta inte en van an-vändare. Nybörjaren behöver mer guidning och mer hjälp än den vana användaren.Den vana användaren å andra sidan vill ha snabbkommandon och snabbtillgänglighet till alla funktioner. Detta gör att användargränssnittet måste kunnaanpassas efter vilken typ av användare som använder systemet. Anpassningen kanske manuellt genom inställningar gjorda av användaren eller genom adaption. Med ett

37

Page 46: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

adaptivt gränssnitt sköter systemet om inställningarna av gränssnittet utifrån denuppfattade kunskapsnivån hos användaren.

RobusthetRobusthet är, enligt Alan Dix (Dix, 1993), ett mått på hur väl gränssnittet stödjeranvändaren i arbetet att uppfylla dennes mål. Robusthet har inte med pålitlighet attgöra, det förutsätts att systemet är pålitligt och lusfritt. För att ett system skall vararobust kan man säga att det skall vara ärligt mot användaren.

Observerbarhet

Den första aspekten av robusthet är observerbarhet. I tidigare stycke berättades detom användarens mentala modell av systemet och hur den hjälper användaren att för-utse resultaten av sina handlingar. För att användaren skall kunna bygga upp ochvidhålla en bra modell krävs att systemet visar när dess interna tillstånd ändras. Medobserverbarhet menas att användaren skall, i de fall det är praktiskt möjligt, kunnaobservera hur systemets tillstånd ändras. Hur länge ett tillståndsskifte visas är enviktig faktor. Om systemet bara ger ett kort meddelande som ej kräver kvittens frånanvändaren är risken stor att användaren missar meddelandet. Om istället ett vanligtåterkommande tillståndsskifte måste kvitteras så kommer användaren tröttna. T.ex.så vill man att användaren skall veta om en hårddisk börjar bli full, detta vill manvara säker på. Man vill ofta visa för användaren om datorn skriver eller läser påhårddisken, detta har oftast ingen betydelse för användaren och behöver därför ejkvitteras.

Ångerbarhet

När användaren gör fel är det önskvärt att detta går att åtgärda eller ångra och ändåuppnå samma mål. Ofta finns det i vanliga ritprogram möjlighet att ångra i ett flertalsteg. Oftast går det dock bara att ångra en hel sekvens kommandon bakåt, ej bara ettutvalt kommando. I många fall skulle det vara bra att kunna gå tillbaka ett antal stegoch göra endast ett kommando ogjort men låta efterföljande kommandon fortfarandeha effekt.

Svarstid

Tiden från det att användaren har gett ett kommando till det att systemet har gettväntad respons kallas svarstid. Olika kommandon ger oftast olika svarstider, iblandkan även samma kommando ge olika svarstider beroende på vilket tillstånd systemetbefinner sig i. Vid databassökningar kan svarstiderna variera mycket kraftigt. Det ärmycket störande för användarna om svarstiderna varierar för samma kommando. Detär i många fall lämpligare att fördröja svaret från systemet vid de tillfällen då svarsti-derna är kortare än vanligt, så att svarstiderna blir samma gång från gång. Om dettaär ohållbart, dvs. att variansen mellan tiderna är för stor, bör information ges om hurlång tid det är kvar innan svaret kommer. Vid denna lösning är det viktigt att denuppskattade tiden stämmer, annars tappar användaren förtroendet för systemet.

Regler för god användargränssnittsdesignFärgFärg i ett grafiskt användargränssnitt bör bara vara en redundant informationsbäraremed tanke på att 8% av den manliga och 1% av den kvinnliga befolkningen ärfärgblinda (Alan Dix, 1993), se även sidan 18. Användargränssnittet bör först desig-nas utan färg för att senare färgläggas, detta för att säkerställa att funktionaliteten inteär beroende av färgen. Innan man börjar att färgsätta sitt användargränssnitt skall

38

Page 47: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

man ha bestämt sig för vilka färger man kommer att använda och i vilka situationerde skall användas.

Ett urval av några enkla regler för god användning av färg i användargränssnitthämtade från Intrduction to computergraphics (Foley, 1994):

• Var restriktiv i användningen av färg.

• Olika enheter för utmatning behandlar färger på olika sätt.

• Hjärnan upptäcker kanter med hjälp av intensitetsskillnader, bara nyans-skillnader ger inte samma effekt.

• Undvik mättade färger då de drar till sig uppmärksamheten och är tröttande.

• Uppfattad storlek, djup och färg på ett objekt är beroende på omgivande färger.

• På små objekt kan det vara svårt att uppfatta vilken färg de har.

GrafikStilen på det grafiska utseendet avgörs till stor del av vilket operativsystem somsystemet körs på. Det är i de flesta fall direkt olämpligt att ha ett annat utseende påfönster och dylikt än det som specificeras i riktlinjerna för operativsystemet. Det somstyrs av dessa regler är utseendet på knappar, placering av menyer mm. Dessariktlinjer kan så omfattande att de omfattar ett flertal böcker med rekommendationer. Ivissa fall kan det dock vara bra att markera för användaren att ett fönster skiljer sigfrån ett annat genom att ge det ett annorlunda utseende. Detta skall dock betraktassom ett undantag. Som en begränsning av det grafiska innehållet finns alltidskärmens storlek. Idag kan man räkna med att användare har minst 15 tum med600×800 pixlar, detta är dock på väg att ändra sig mot allt större skärmar med bättreupplösning. Inom de närmaste åren kommer 17 tumsskärmar med upplösningar runt1024×768 pixlar att vara betydligt vanligare. Vid design av gränssnittet bör man intelåsa storleken på fönstren utan låta systemet utnyttja så mycket skärmyta som finns.Dekorationer är trevligt till en början, men blir snabbt irriterande då de bara tar uppskärmyta. Därför bör man utforma gränssnittet så att det ser tilltalande ut utan ut-smyckningar. I bild 22 visas ett exempel på en alltför utsmyckad knapprad.

Bild 22. Denna knapprad är mer väldekorerad med färg och grafik än lättförståelig.Taget från Compuserve's WinCim 2.0 (Isys Information Architects, 2000)

InteraktionInteraktionen som sker mellan datorn och människan sker till största del med hjälp avtangentbord, pekdon och skärm, se teoriavsnitt om Människa-Dator-Interaktion påsidan 25. Mellan användaren och datorn uppstår en klyfta i interaktionen (Redmond-Pyle, 1995). Det är användargränssnittsdesignerns uppgift att se till att denna klyftaär så liten som möjligt och att användarens intentioner kan överföras till systemet påett lätt sätt. Människan är van vid att ha mycket redundans i sitt sätt att interagera medsin omgivning. Datorn behöver oftast ingen redundans i sin kommunikation med sinomgivning. Det är därför lämpligt att ge viktig information större plats ikommunikationen mellan användaren och datorn. Detta kan göras genom att viktiga

39

Page 48: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

meddelanden har en avvikande färg som bara används för dessa typer avmeddelanden. Interaktionen mellan datorn och människan skall vara konsekvent ochske på ett förutbestämt sätt. För att uppnå detta skall även regler för interaktionensättas upp innan arbetet med användargränssnittet påbörjas. De fyra olika huvudty-perna av interaktion är: Direktmanipulation, menyval, formulär och kommandorads-gränssnitt. Jag anser att det i mitt fall är lämpligast med direktmanipulation med in-slag av menyval och formulär där det är mer lämpligt. Jag tror att det är så få använ-dare av beslutsstödssystem som skulle tycka att det är lättare och snabbare att arbetamed ett kommandoradsgränssnitt, att det inte är motiverat att implementera den möj-ligheten. Av de användare jag träffat var det inte någon som jag tror skulle föredra ettkommandoradsgränssnitt, de fick dock ej frågan explicit så jag kan inte vara säker.

Genom att placera frekventa menyval i toppen av menyer har det visat sig att an-vändarna har sparat mellan 17% och 58% tid beroende på arbetsuppgiften(Shneiderman, 1993).

InformationstäthetInformation som presenteras på systemets utmatningsenheter, oftast skärmen, är i deflesta fall något viktigt för användaren, något som denne skall komma ihåg till ettsenare tillfälle eller bearbeta på något sätt. Ett av användarens stora problem är attkomma ihåg information som inte längre syns. Därför skall man sträva efter att så liteinformation som möjligt skall finnas i fönster som blir överlappade av andra i arbetet.Lösningen är att packa så mycket som möjligt i varje fönster. Det kan till en början selite ”grötigt” ut för användarna, men det har visat sig att de snabbt lär sig att hitta deninformation som de är ute efter (Shneiderman, 1987). Den allmänna regeln är alltsåatt packa ihop så mycket information som möjligt, gärna lite mindre detaljerat, för attsedan erbjuda möjlighet att se en mer detaljerad bild vid behov. Detta enligt BenShnidermans mantra: ”Owerview first, zoom and filter, then details on demand”(Shneiderman, 1987).

40

Page 49: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Arbete med YF-ClientI detta avsnitt beskrivs hur det var att arbeta med YF-Client och vilka bris-ter som upptäcktes. Innehållet bygger på mina egna erfarenheter samt deanvändarundersökningar jag har genomfört hos företag som använderYF-Client som OLAP-verktyg.

Arbetsgång vid informationssökningVid informationssökning i ett datalager är det ett par steg som måste gås igenom.Först skall ett nyckeltal väljas ut för presentation. Nyckeltalet är den variabel vi villha presenterad, till exempel försäljning eller tillverkning. Att välja ut vilket nyckeltalsom skall presenteras vållar inga större svårigheter så länge användaren är något sånär insatt i företagets verksamhet. Det andra som skall väljas ut är på vilken dimen-sion man vill se på det valda nyckeltalet. Det bjuder på större svårigheter och kräveren bra presentation av dimensionerna. Problemet ligger bland annat i att dimensionerkan vara hierarkiska i många nivåer. Ett exempel på en sådan dimension är tid. Tidkan delas in i dagar, veckor och månader, veckor och månader är dessutom inte isamma gren av hierarkin. Det finns exempel på dimensioner som är mycket merkomplexa än så. Det gör att det behövs en bra presentation av dimensionerna och de-ras hierarkier. Nästa problem är att hitta rätt presentationsform för utdata. Det finnsmånga bra och dåliga presentationsformer, men en som alltid bör finnas med som al-ternativ är tabellformen, kanske med lite extra funktionalitet som förslagsvis möjlig-heter att utföra räkneoperationer på rader och kolumner.

Brister som finns idagIdag saknar användargränssnittet intelligens nog för att hjälpa användaren att hitta dethon söker. Det är bland annat drilldown-proceduren som behöver konstrueras om. Inuläget får man bara en fråga om vilken dimension man vill bryta på, urvalet är detsamma som tidigare, utökat med den begränsning som punkten i fråga ger. Det manoftast är ute efter är svaret på frågan ”Varför avviker denna punkt från de övriga?”.Systemet borde själv göra några jämförelser för att se var skillnaden ligger.

Funktioner för att ställa in gränsvärden för olika nyckeltal saknas även. Det voreönskvärt att kunna be systemet varna användaren om ett visst gränsvärde överskrids,detta borde ske automatiskt till exempel då systemet startas upp. En annan funktionsom saknas är möjligheten att lätt göra jämförelser och att utföra matematiska beräk-ningar på data. Det är önskvärt att kunna använda de fyra räknesätten på datapunkter.Det skulle underlätta jämförelser mellan olika datapunkter.

UtvärderingJag har här tagit upp de punkter från mia rekommendationer på sid 59 som jag anservara relevanta. Är det någon punkt som ej är behandlad innebär det att det inte finnsnågot stöd för den funktionaliteten och att det inte finns något att kommentera.

• Demografisk information kan sparas i datalagret, men det är upp till den som im-plementerar datalagret att avgöra det. Den informationen behandlas då som vilkendimension som helst.

• De grafer som används är primitiva och 3D-stödet är dåligt. Det går till exempelinte att rotera graferna interaktivt. Det finns inte heller något stöd för att användaanimationer för att få med ytterligare en dimension.

41

Page 50: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

• Graferna anpassas inte på något sätt till valet av dimensioner eller nyckeltal. Vidvisning av fler dimensioner än en har systemet inte heller någon intelligens när detgäller att välja på vilka axlar de olika dimensionerna skall visas. Skall man visa etturval av två produkter ur produktdimensionen över tiden kan systemet få för sigatt presentera produktdimensionen, med två instanser, på y-axeln och tiden i formav en stapel för varje dag per produkt.

• Användningen av färger är under all kritik. Man kan få presenterat 20, eller fler,olika staplar identifierade endast med hjälp av färgen. I svartvitt skulle dessutomde flesta färger inte gå att särskilja över huvudtaget.

• Det finns ingen möjlighet att backa eller stoppa en fråga.

• Systemet är skrivet i VisualBasic och kräver inte bara att det körs på enWindowsmaskin utan även att MS Access finns installerat.

Hur ska hierarkier åskådliggöras?Min undran är i vilken utsträckning som dimensionshierarkier behöver åskådliggö-ras. Underlättar det för användaren om de hierarkiska beroendena visas? Eller räckerdet om systemet bara grupperar ihop besläktade dimensioner? Användarna har kan-ske ingen bild av dimensionerna som en hierarkisk struktur. En del användarekanske inte har något begrepp om hur en hierarki fungerar. I dessa fall skulleantagligen en hierarkisk presentation försvåra mer än det underlättar. Det systemetkan göra är att välja att inte visa de delar i en underliggande nivå som väljs bort pågrund av ett urval högre upp i hierarkin. Jag anser inte att det behöver markeras föranvändaren att en del av dimensionen är bortvald. Det bör dock finnas möjlighet attvisa hela dimensionen, detta för att användaren kanske gör urvalet i bakvänd ordningoch det finns kvar ett urval från en tidigare analys. Man kan även tänka sig attanvändaren kan välja mellan ett par olika framställningar, där en trädstruktur kan varaen av framställningarna. Frågan är om det inte skulle räcka med att ge möjligheten attvisa hela dimensionsstrukturen i en stor vy över hela skärmen. Denna vy är då iupplysningssyfte där förklarande text om dimensionerna kan läggas in. Dennainformation skulle kunna vara vilka nyckeltal som är applicerbara för de olikadimensionerna. Detta skulle göra så att användarna slapp ha separata papper meddenna information som i fallet med SHB-Liv, se bild i Appendix C.

DrilldownSom det är nu i Datawebhouses YF-Client är drilldownproceduren begränsad till dettidigare urvalet. Eftersom det saknas möjlighet att backa så är enda utvägen att göraom urvalet i dimensionsvyn. Bättre vore att kunna välja vilka urval som skall finnaskvar och vilka som skall tillkomma. Även i denna procedur är det önskvärt med lite”intelligent” hjälp. Vid stora avvikelser i datamängden är kanske det intressant varavvikelsen kommer ifrån. Hjälp för att hitta avvikelser är då ett bra hjälpmedel. Ettexempel: Man tittar på den totala vinsten av en viss produktgrupp över tiden ochupptäcker en kraftig nedgång från en månad till en annan. Orsaken är okänd.Orsaken kan vara en, fler eller ingen av följande: Någon produkt i gruppen säljs intelängre eller bokförs under en annan grupp. Omkostnaderna har ökat på ett eller flerförsäljningsställen. Omkostnaderna har ökat för någon eller några av produkterna igruppen. Vinstmarginalen har minskat för någon eller några produkter i gruppen. Ialla ovanstående fall där det är en förändring i endast en dimensionsinstans så kansystemet själv hitta avvikelsen genom att bryta på olika dimensioner med delar av detursprungliga urvalet. Detta är dock mycket processor- och nätverkskrävande då detkräver ett flertal frågor till datalagret. Man får istället anta att användaren har en aning

42

Page 51: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

om var avvikelsen ligger. Gränssnittet skall då vara utformat så att det är lätt att göraett urval som ger svar på användarens frågor. Drilldown bör även kompletteras meddrillacross, dvs. möjligheten att behålla några delar av urvalet men förändra andra.

43

Page 52: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Artificiell Intelligens (AI)Användningen av artificiell intelligens i beslutsstödsystem kan vara till storhjälp. Här beskriver jag några användningsområden och några befintligasystem. Den intelligens som finns i dessa system kan vara allt ifrån enklabinära beslutsträd7 till avancerade artificiella neuronnät.

TrenderFör att hitta trender över en dimension kan fouriertransformering användas. Dettaskall då ge perioden på trenden och amplituden. Med hjälp av detta kan man räknabort periodiska fluktuationer från det nyckeltal man vill studera. Då ser man lättaretrender som sträcker sig över längre perioder.

Befintliga systemDet finns idag ett antal AI-paket att utnyttja. Dessa paket kan vara tilläggspaket tillnågon befintlig utvecklingsmiljö eller helt fristående system. Inom försäk-ringsbranschen används ett system baserat på XpertRule för att rådgiva skaderegle-rarna vid trafikskador. Det systemet bygger på beslutsträdsprincipen. Systemet arbe-tar inte bara enligt binär logik8 utan kan ge skadeansvaret i olika delar till de olika in-blandade. Alla Datamining-system har någon typ av artificiell intelligens inbyggd isig. I Butler Report (Butler Group, 1999) finns de flesta Knowledge Management9-system upptagna och beskrivna. Jag har tyvärr inte haft tillfälle att pröva någotDatamining-system eftersom de är ganska avancerade.

Regelverk i PrologFör att avgöra vilken typ av presentation som skall användas har jag satt upp ett re-gelverk i Prolog. I regelverket tas hänsyn till dimensionernas och nyckeltalens olikaegenskaper. Regelverket arbetar med binär logik och kan därför inte föreslå en pre-sentationsform som bättre än en annan om det finns flera kandidater. Det tar barahänsyn till de dimensioner som har valts att presenteras. I en utveckling skulle detkunna vara intressant att även titta på de dimensioner där urval har skett men som ejpresenteras i grafen. Ett sådant system skulle kunna ge förslag med mycket bättreprecision. Det regelverk som jag har skrivit är mer att se som en demonstration avprincipen. Eftersom användarna ändå i nuläget inte utnyttjar grafpresentationen tillfullo finns det ingen anledning att implementera mer än denna begränsadefunktionalitet. Jag anser att det är bättre att ha ett litet regelverk som kan ge förslag påett fåtal graftyper som används och förstås av användarna, än att ha ett regelverk somger förslag på grafer som är avancerade och oförståeliga för användarna.

Beskrivning av kodenDet regelverk jag har skrivit i Prolog har information om olika typer av nyckeltal ochdimensioner. Genom att ange vilka nyckeltal man vill studera och över vilka di-mensioner man vill studera dem kan regelverket ge förslag på lämpliga presentations-

7Ett beslutsträd är en trädgraf där varje nod utom rötterna innehåller en fråga som avgör vilken länksom skall tas till nästa nod. Genom att traversera grafen på detta sätt nås tillslut en rotnod sominnehåller någon typ av rekomendation beroende av vägvalet genom grafen.

8Allt kan mätas i sant eller falskt, inga mellanting existerar.

9Knowledge Management, förvaltning av kunskap inom en organisation.

44

Page 53: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

sätt. Regelverket tittar på saker som storlek på dimensioner, hur många dimensionerman vill studera mm.

Beskrivning av dimensionernaJag har valt att klassificera dimensionerna efter ett par enkla egenskaper som räckerför att regelverket skall fungera tillfredställande. En dimension har en egenskap, enklass och en storlek. Dessa tre egenskaper ger en ganska bra beskrivning av dimen-sionen. I en slutgiltig applikation skulle dimensionernas egenskaper hämtas från me-tadata i databasen. På så sett blir regelverket oberoende av vilka data som finns i da-tabasen och samma regelverk kan användas för olika databaser utan modifikation.För att titta på hur jag har valt att beskriva dimensionerna se Appendix Prolog.

Klassificeringen av nyckeltalNyckeltalen behöver inte beskrivas lika ingående eftersom de inte är lika komplexa.Om mer avancerade nyckeltal som Balanced Score Cards10 kommer att användaskrävs en utvidgning av beskrivningen av nyckeltal. I nuläget är de mest avanceradenyckeltalen kvoter av två andra nyckeltal.

AnvändarundersökningarFör att kunna veta hur ett OLAP-verktyg används i verkligheten har jag gjort ett parstudiebesök på olika företag. Undersökningarna har gått till så att jag har tittat på an-vändarna och deras arbete med OLAP-verktygen när de har visat hur deras arbete gårtill. Ett stort problem har varit sekretessen runt uppgifterna i datalagret. Detta hargjort att det har varit mycket svårt att få göra några större undersökningar. Mycket in-formation kommer från material från Cognos Inc. och från samtal med medarbetarepå Datawebhouse KB. Medarbetarna på Datawebhouse har stor erfarenhet av olikaanvändare av datalager och beslutsstödssystem kopplade till dessa. Vid användarun-dersökningarna har jag ställt frågor som: vad användarna saknar med de befintligasystemen samt vilka funktioner de använder sig av i systemen. Undersökningarnahar tagit mellan 30 minuter och en timme. Användarna jag har talat med representerarden mer kunniga gruppen och är tyvärr ej ett representativt underlag för alla använ-dare. Undersökningarna har sedan fungerat som underlag för att svara på frågornasom ställs i GUIDE. Jag har själv provat fyra olika OLAP-verktyg och bidragit medmina erfarenheter därifrån.

Protokoll från besök på Hemliga KlädfirmanHemliga Klädfirman (HK), som ej får nämnas vid namn, har ett väl utbyggt datala-ger som används av ca 20 användare. Datalagret innehåller information om inköp, la-ger och försäljning. Totalt innehåller datalagret runt tio dimensioner. Informationensom kan utläsas är näst intill obegränsad. Problemet är dock att många frågor somanvändarna kan ställa, ger svar som är otydbara i den levererade formen. Det kanvara en fråga efter antal levererade produkter av sommarkollektionen av alla leveran-törer. Denna fråga besvaras med ett stapeldiagram över alla leverantörer, vilket är ett50-tal, där de flesta inte har levererat något. För att behandla detta svar exporterasdata till MS Excel och bearbetas så att de tomma raderna tas bort. Detta verkar förmig som ett helt onödigt steg. Det som borde visas är endast de leverantörer somfaktiskt har levererat till den valda kollektionen.

10Balanced Score Cards (BSC) är en sammanslagning av ett flertal olika nyckeltal.Sammanslagningen kan ske på olika sätt beroende på vad man vill att BSC ska visa.

45

Page 54: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Systemet används mest för planering och inköp av kommande kollektioner. Dettagörs genom att titta på gamla inköp och försäljningar. En fara med systemet är omman använder det utan att tänka på vad man egentligen frågar efter. Vi tittade på andelav sålda varor av lager ur en viss grupp och fick bland annat ett par mycket höga vär-den, det högsta visade sig vara en försäljning på ca 50 artiklar av ett lager på 80.Detta slog igenom i försäljningen på hela länet och fick länet att framstå som etttopplän med otroliga försäljningssiffror. I detta fall hade kanske en annan typ av pre-sentation varit att föredra.Till exempel hade kanske ett staplat stapeldiagram med för-säljning och lager staplat varit att föredra, andelen hade kunnat anges som ett tal vidstapeln. Här fick man fel uppfattning av försäljningen på grund av att det saknadesinformation om hur stort det totala lagret var. En brist som påpekades var att det integick att avbryta en fråga som redan var skickad till databasen, användaren vartvungen att vänta på att få svaret från databasen för att sedan ställa en ny fråga. Dettaupplevdes som mycket störande då svarstiderna ibland uppgick till en minut.

Protokoll från besök på Alfa LavalSystemet var enkelt och snyggt. Det var var skrivet i VisualBasic och använde MSExcel som databas. Att MS Excel låg under märktes inte på något sätt förutom attfunktioner som export av data till andra MS-produkter gick mycket smidigt. Detförsta användaren mötte var en ”portal” eller startbild, där man kunde välja mellansex olika grafer som visade lite olika saker. Det fanns ingen möjlighet att välja hurman ville se data, allt var förutbestämt till de sex olika graferna. Det som visades varoftast försäljning jämfört med budgeterad försäljning och föregående års försäljning.Det enda val som kunde göras var försäljningsregion och produkt. Man kunde väljaatt titta på en produkt som ej såldes i regionen, det är en liten miss anser jag.Graferna kunde lätt exporteras till Power Point med en knapptryckning. Utskrift avgraferna vållade heller inga problem, de gav en kopia av det som fanns på skärmen.Systemet används till stöd för försäljnings och marknadsföring. Saker som kundeanalyseras var olika produkters försäljning i olika regioner. Systemet var inte ett rik-tigt OLAP-verktyg i alla dess meningar, men väl ett stöd för ekonomiska beslut.Användarna bestod av ekonomicontrollers och säljare. De som använder systemetgör det för att underlätta arbetet för dem och arbetsuppgifterna kunde lösas lika brautan systemet, med den skillnaden att det tog längre tid utan. Kompetensen (inomdatateknik) hos användarna var tämligen låg om man undantar de två som hadeskrivit systemet.

Protokoll från besök på Handelsbanken LivPå Handelsbanken Liv används ett datalager byggt av Datawebhouse med YF-Clientsom OLAP-verktyg. Användarna hade en ganska liten kunskap om OLAP-system.Systemet användes mest för att skapa rapporter om försäljning. Oftast presenteradesrapporterna i tabellform. Nästan inga av de analysmöjligheter ett OLAP-verktygerbjuder användes. Även här påpekades avsaknaden av möjligheten att avbryta enfråga som redan är ställd till databasen. Som på så många andra ställen fanns det ettpar användare med lite större intresse och kunskaper för datatekniken. Jag skulledock göra bedömningen att användarna här var lite mindre insatta i datateknik.

Utvärdering av användarundersökningenDet viktigaste är att hela tiden ta ett steg tillbaka och försöka att se den färdiga pro-dukten ur slutanvändarens ögon. För att knyta an till de metoder som finns för att ut-värdera och mäta användbarheten i ett system på sidan 26 så anser jag att alla de me-toder som jag har tagit upp har sin roll i utvärderingen. Personligen tror jag att en in-spektionsmetod är att föredra i startskedet av utvecklingsprojektet för att sedan göra

46

Page 55: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

användarstudier och senare använda enkäter för att testa den nästan färdigaprodukten. Detta är troligtvis är den billigaste arbetsgången. Förutom att det är svårtatt utföra användarstudier på prototyper är enkäterna som finns är avsedda för färdigasystem.

47

Page 56: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Rekommendationer och slutsatserI detta avsnitt presenterar jag vad jag tycker är viktigt vid utvecklingen avett användargränssnitt till ett beslutsstödssystem. Det viktigaste är dock enbra dialog med användarna, detta kan aldrig ersättas av teorier ochrekommendationer. Jag börjar med att definiera de användartyper jag harmött i mitt arbete och klassificerar dem. Därefter beskriver jag min syn påde olika objekten i användargränssnittet och deras funktioner. För att tillfullo tillgodogöra sig mina rekommendationer krävs det att man har liteerfarenhet av arbete med OLAP-verktyg, detta för att bättre relatera till deolika objekt som beskrivs. Detta kapitel skall ej läsas separat utan måsteses som en en fortsättning av det föregående kapitlet. Kapitlet kan sessom en början på steg ett och tre i utvecklingen av ett användargränssnittenligt GUIDE.

Definiera användarnaAnvändarnas kunskaper är mycket varierande både i fråga om datakunskap ochkunskap om det ekonomiska. Rent generellt kan sägas att kunskaperna om de under-liggande databaserna är helt obefintliga. Användarna har dock god vana vid siffroroch olika typer av ekonomiska redovisningar. Användarna är personer med olikapositioner inom ekonomiavdelningar och högre beslutsfattare. De finns på nästan allastörre företag som behöver kunna göra prognoser om framtiden, dvs nästan allaföretag. Medelanvändaren är ekonomicontroller med liten vana av datorer i rollensom tekniker, men medelgod vana av hantering av ordbehandlare och liknandeprogram. De användare jag, och personal på Datawebhouse KB, har haft kontaktmed kan delas in i två stora grupper, expertanvändare och genomsnittsanvändare.Expertanvändarna är ofta allmänt intresserade av datorer och har ofta kunskap inågon typ av programmering, oftast Visual Basic i MSOffice. Det finns även engrupp användare som består av dataavdelningarna som skall stå för underhållet avsystemet, jag tar ej upp dessa i fortsättningen.

Definiera funktionalitetskravenExpertanvändaren har höga krav på snabbheten och flexibiliteten i systemet. De kanutföra avancerade analyser där de vill ha möjlighet att sätta alla olika begränsningarsjälva. Expertanvändaren är ofta drivande vid utveckling av systemet och ser kanskeinte alltid de övriga användarna och deras behov.

Genomsnittsanvändaren använder systemet för att få svar på förutbestämda frågoroch köra färdiga rapportmallar. Dessa användare behöver uppmuntras att utforskadata mer på egen hand. De arbetar med systemet som ett verktyg att ta fram statistikur datalagret. De har förståelse för nyckeltalen och de enklare dimensionerna. De kanutföra och tillgodogöra sig resultatet från brytningar på en dimension eller kansketvå. Genom att visa möjligheterna på ett bättre sätt än idag skulle kanske denna grupplockas att använda verktyget på ett lite mer avancerat sätt.

Identifiera objekten i gränssnittetFrån analysen av arbetet med befintliga system kan tre stora objekt urskiljas samt attantal små objekt. De tre stora objekten är presentationen av data, urvalet av data samtett objekt som jag tycker saknas allt för ofta: en beskrivning av vad man ser ipresentationen. Analysen av de befintliga systemen har utförts genom att jag har tittat

48

Page 57: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

på användare som har använt dem samt i en del fall att jag har själv försökt att an-vända systemen.

Jag förordar ett gränssnitt med tre delar, en för varje huvudobjekt. Dessa delar ellervyer bör kunna visas var och en för sig eller i kombination med varandra, antingensom olika fönster eller olika delar i samma fönster.

Jag har inte funderat på hur eventuell utmatning på papperskopia skall se ut, klart ärdock att en normal skrivare har andra begränsningar och möjligheter än en vanligskärm. Skillnaden i upplösning gör till exempel att det är möjligt att göra mycket merkomplexa och kompakta grafer på en pappersutskrift än vad som är möjligt på envanlig skärm.

PresentationsvynPresentationsvyn är den del av gränssnittet där presentationen av data sker. Det kanske i form av en grafisk visualisering eller i tabellform, allt efter användarens önske-mål. Det kan även vara önskvärt att kunna göra en samtidig presentation av data bådei tabellform och grafisk visualisering. Om detta är lämpligt beror på skärmens storlekoch upplösning. I denna vy ingår ett antal delvyer eller delobjekt. Dessa delobjektåterspeglar de objekt som användaren interagerar med vid presentationen av utdata.

Valobjektet

Valobjektet är det objektet som föreslår och låter användaren välja vilken graftyp ellertabell som presentationen skall ske. Objektet väljer ut de presentationssätt som ärmöjliga för det aktuella urvalet. Systemet ger förslag på vilken typ av graf som ärlämplig för det aktuella urvalet. Användaren väljer från en lista där det föreslagna ärmarkerat på något sätt. Det är viktigt att ordningen i listan är densamma från gång tillgång, för att användaren snabbt skall lära sig att hitta i listan.

Beskrivningsobjektet

Beskrivningsbjektet visar i naturlig text det aktuella urvalet, bild 23. Information omgraftypen och dimensionsurvalet kombineras till en vettig beskrivning av det som vi-sas i vyn. Det är alltid bra att ge en beskrivning på det man ser, särskilt om det är såatt dimensionsurvalet ej är synligt samtidigt som presentationen. Det bästa är troligenom det går att generera en beskrivning i naturlig text. Anledningen till att man vill haen beskrivning eller summering av urvalet är att man inte vill belasta användarenskorttidsminne med att komma ihåg hela urvalet.

Försäljning av Vara A över område 1 till område 6.

Bild 23. Exempel på beskrivning med naturlig text av en graf eller tabell

Grafobjektet

Grafobjektet består av utdata presenterade på det valda sättet, bild 24. I grafen ärvarje datapunkt ett objekt som kan påverkas med olika kommandon. De kommandonsom kan utföras på datapunkter är brytningar på olika dimensioner. Även värdeax-larna bör kunna ändras genom att klicka på dem.

49

Page 58: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

01020304050607080

1 2 3 4 5 6

Bild 24. Grafobjekt

Dimensionsurval

Dimensionsobjekt

I vyn för dimensionsurval finns det en instans av dimensionsobjektet för varje di-mension som förekommer i datalagret. Dimensionerna kan vara hierarkiska med ettflertal underdimensioner. Oftast är användaren intresserad av att göra en begränsningi en eller flera av dessa underdimensioner därför bör dessa underdimensioner visasfrån början.

Begränsningsobjekt

För varje dimensionsinstans behövs det ett verktyg för att göra ett urval eller enbegränsning i dimensionen. För dimensioner som har en naturlig sekventiell ordningkan det vara lämpligt med med en tallinje (slider) med en undre och en övre begräns-ning. Det är då ett krav att begränsningarna skrivs ut i klartext i ett textfält. Dessa fältskall då även kunna fungera som inmatningsfält enligt principen för utbytbarhet. Närdimensionen inte har någon naturlig ordning återstår bara att lista alla instanser avden valda dimensionen.

Nyckeltalsurval

Nyckeltalsobjekt

Att välja ut vilket eller vilka nyckeltal man vill undersöka ställer inga höga krav påanvändaren. Det enda användaren behöver veta är vad hon vill veta mer om. Detstörsta problemet som kan uppstå är att användaren väljer att undersöka ett nyckeltalsom inte är relevant för det aktuella dimensionsurvalet. Mitt förslag är att ”skugga”nyckeltal som ej har en betydelse för det aktuella urvalet. Information måste då pånågot sätt ges om varför nyckeltalet ej kan väljas.

Nya nyckeltal bör kunna skapas utifrån matematiska operationer på de vanliganyckeltalen. Detta skulle i tabellpresentationen kunna ske på samma sätt som formlerskapas i Microsoft Excel. Det måste även gå att skapa nya nyckeltal i nyckeltalsvyn.Eftersom detta är en lite mer avancerad funktion så kan det göras så att den endast vi-sas för användare som anser sig vara mer avancerade. Dessa nya nyckeltal bör ävenkunnas sparas för att kunna användas i framtida rapporter och för andra dimensions-urval.

50

Page 59: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Mitt förslagI mitt förslag har jag samlat de olika delarna i utdragsflikar i vänsterkanten i gräns-snittet, bild 25, för att efterlikna Microsoft Internet Explorers sätt att arbeta, somantagligen de flesta användare har någon erfarenhet av. Tanken är att så fort ett valsom påverkar resultatet är gjort skall det visas att den presenterade informationen ärinaktuell, önskvärt är även att informationen uppdateras så snabbt som det är möjligt.I vissa fall kan det innebära en ögonblicklig uppdatering, men i andra fall kan det talängre tid att få svar från datalagret. Det viktiga är att själva urvalsproceduren intesaktas ned på grund av att det går iväg frågor till datalagret. Om det märks attdatalagrets prestanda försämras av många frågor som ej är relevanta så bör det finnasmöjlighet att stänga av den automatiska uppdateringen.

51

Page 60: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Bild 25. Skärmdump från prototypen till mitt förslag. Det lilla fönstret visar informa-tion om den valda datapunkten. Grafen är en bubbelgraf som visar två nyckeltal övertiden. Det skulle även gå att låta färgen på bubblorna representera ytterligare ettnyckeltal.

Vid fliken för urval av nyckeltal, se bild 25, bör det gå att få information om vilkanyckeltal som är applicerbara på olika dimensioner. Nyckeltalen bör även vara välbeskrivna så att en ovan användare snabbt kan se vad ett nyckeltal innebär.

Vid fliken märkt data är tanken att olika typer av varningar/triggers skall kunna ställasin. Det skall enkelt gå att få högsta och lägsta värden att markeras med till exempelavvikande färg. Dessa markeringar kan även kompletteras med ljudsignaler för attgöra användaren uppmärksam på avvikelsen. Inställningar för detta görs här.

Fliken märkt graf innehåller inställningar för presentationen så som vilken typ av grafsom skall användas och de olika inställningarna för dessa.

52

Page 61: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Bild 26. Ett förslag på hur en del av dimensionsurvalet kan se ut.

Vid fliken för dimensionsurval, bild 26, skall det vara möjligt att se hur enbegränsning i en dimension påverkar fördelningen av instanser i dimensionen givetdet existerande urvalet i övriga dimensioner. För att se hur det fungerarrekommenderas att titta på SpotFire, både i verkligheten och beskrivningen avsystemet på sidan 23.

En liten teoretisk utvärderingJag har försökt att genomföra en enkel teoretisk utvärdering av min föreslagnalösning. Eftersom mitt förslag ej är en heltäckande demo över hur jag har tänkt attanvändargränssnittet skall se ut så är utvärderingen inte helt rättvis eftersom mångaproblem ej är lösta.

Det är tänkt att det skall finnas både bra 3D-presentationer och stöd för att användaljud som en extra informationsbärarare.

För att välja vilken typ av presentation som skall användas så används en enkelProlog-logik. Användaren skall även själv ha möjlighet att välja vilken presentations-form hon föredrar.

Sortering av dimensionsaxlarna anges under fliken för dimensionsurval. Se bild 26.

Systemet är tänkt att göras med ett webbaserat gränssnitt och implementeras i Javaför att kunna köras oberoende av plattform.

53

Page 62: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

RekommendationerBaserat på det jag tidigare skrivit ger jag följande rekommendationer införutvecklandet av ett beslutsstödssystem baserat på datalager.

• Inkludera demografisk information i datalagret om det finns nyckeltal som kanbero på befolkningsfördelning.

• Använd 3D- och 4D-presentationer för att visa beroenden över fler dimensioner.Ge användaren möjlighet att vända och vrida på 3D-modellerna.

• Använd ljud för att göra användaren uppmärksam på extremvärden eller förut-bestämda nivåer. Se sidan 20

• Presentera informationen på ett logiskt sätt. Använd passande grafer till olika ty-per av kombinationer mellan nyckeltal och dimensioner.

• Ge möjlighet att sortera dimensionsaxlarna i presentationen på olika sätt då det ärpassande.

• Presentera mycket information på en gång. Låt användaren välja vilka detaljerhon vill se.

• Använd färgskalor för att presentera mer eller redundant information. Tänk på attanvända färgskalor som fungerar i svartvitt likväl som färg.

• Om det finns plats, presentera då informationen med redundans.

• Använd endast ett fåtal färger för att skilja objekt åt. Ge en kontrastrik ram tillobjekt som är färgade i färger som kan vara svåra att skilja från bakgrunden. Sesidan 18 och 39.

• Visa hur stort varje urval blir på varje dimension.

• Ge möjlighet att stoppa en fråga som redan är skickad till databasen om den tarlång tid.

• Ge även möjlighet att backa tillbaka till ett föregående tillstånd.

• Visa status på en presentation. Stämmer den med det aktuella urvalet eller är denunder uppdatering.

• Systemet bör vara plattformsoberoende eller i alla fall webbaserat.

• Det bör gå att arbeta med en delmängd av databasen lokalt för att vinna svarstideroch möjligheten att vara mobil.

• Användargränssnittet bör ej skilja sig allt för mycket från den övriga miljön.

• Använd direktmanipulation av objekten där det är möjligt. Se sidan 26.

54

Page 63: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

55

Page 64: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Referenser (1995). IVEE: An Information Visualization &

Exploration Enviroment, Department of Computer Science, Chalmers.

(1980). Cognitive Psychology and its Implications (4 ed.). Freeman.

(1990). Prolog, Programming for artificial intelligence (2 ed.). Addison-Wesley.

(1999). Knowledge Management. Butler Group.

(1999). The Multidimensional Manager.Cognos Inc.

(1983). A Color-Caused Optical Illusion on aStatistical Graph. The American Statistician, 37:101-105.

(1993). Human-Computer Interaction.Prentice Hall.

(1994). Introductionto computer graphics. Addison Wesley.

. (2000). Datalager, Datateknik(2), 4.

. (1996) Power to the user. Applying modern techniques forcomputer supported data navigation, visualization and manipulation. Master, KTH-Nada TRITA-NA-E9607.

(1994). PAOU (5 ed.). Natur och kultur.

(1993). Fundamentals of Physics (4 ed.). Wiley.

(1998) Ergonomic requirements for office work with display terminals (VDTs) -Part 11: Guidance on usability ISO 9241-11:1998. Genève

(1999). Visualization of Information and Knowledge. InSIGRAD 99, Stockholm:

. (1996). The Data Warehouse Toolkit. Wiley.

(1996). Data Warehousing. McGraw-Hill

(1999) Kostnadeffektiva metoder för utvärdering avanvändbarhet. Master, KTH-nada TRITA-NA-E9973.

, (1997). Grafiska användargränssnitt, några tips. CMD-UppsalaUniversitet, Rapport #60, www.hci.uu.se/papers/60 (2002-01-15)

(1995). Graphical User interface Design andEvaluation. Graphical User Interface Design and Evaluation, Prentice-Hall

. (1992). Introduction to Neurobiology. Thieme.

(1995). Perceptual Principles for EffectiveVisualizations. In Perceptual Issues in Visualization, Georges Grinstein and HaimLevkowitz, eds. Springer-Verlag, pp. 59-74

56

Page 65: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

. (1995). Beta (3 ed.). Studentlitteratur.

. (1998) Data Warehousing and Qualitative Information. Master, KTH.

(1994) Split Menus: Effectively Using SelectionFrequency to Organize Menus. TOCHI 1(1): 27-51

. (1987). Designing the user interface (3 ed.). Addison-Wesley.

. (1999). Användaren har alltid rätt. Datateknik, 4, 20-25.

(1997) Datawarehouse-Datalager: Verksamhet Metod Teknik. Lund.Studentlitteratur

(1998). Visualizing Data Mining Models. In Integration of Data Mining and DataVisualization Workshop, Springer Verlag.

(1983). The Visual Display of Quantitative Information. Graphics Press.

(1990). Envisioning Information. Graphics Press.

(1997). Visual Explanations. Graphics Press.

(1988). Color Sequences for Univariate Maps. Theory, Experiments andPrinciples. IEEE - Computer Graphics & Applications, September 1988.

. (1998). Data Visualization and the Intranet White Paper fromDimensional Insight, www.dimins.com. (1999-10-01)

(1999) Mätbar användbarhet Hur man specificerar, kvantifierar ochmäter användbarhet i datorsystem. Master, KTH-Nada TRITA-NA-E9913.

Informationsplatser på Internet.www.avs.com , Företaget Advanced Visual System nätplats (besökt 2002-01-15)

www.cognos.com, nätplats tillhörande Cognos Inc. (besökt 2001-12-15)

www.cs.umbc.edu/~rheingan/pubs/perception.html, exempel påbilder presenterade på olika sätt. (besökt 2002-01-15)

www.cs.uml.edu/~haim/ColorCenter/ColorCenterColormaps.htmLevkowitz och andras färgskalor. (besökt 2002-01-15)

www.iarchitect.com/mshame.htm: Isys Information Architects (besökt2000). Interface Hall of shame. In Isys Information Architects Inc.

www.it.bton.ac.uk/staff/rng/teaching/notes/GUIDE/home.html, nätplats som beskriver GUIDE (besökt 2002-01-15)

www.pilotsw.com, PilotSoftware, I. (1998). In www.pilotsw.com: PilotSoftware Inc. (besökt 2001-12-15)

www3.shore.net /~kht/index.html, Personlig nätplats tillhörande KurtThearling, Ph.D. med mycket bra samlingar av rapporter om Datamining. (besökt2002-01-15)

www.visualizetech.com, nätplats tillhörande Visualize, Inc(besökt 2002-01-15)

57

Page 66: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Appendix A

Arbetsgång enligt GUIDEDetta är mitt resultat av att ha applicerat GUIDE på de tre första stegen i utvecklingenav ett nytt användargränssnitt. Här har jag följt GUIDE och svarat på de frågor somtas upp i GUIDE. Detta är svar på de frågor som GUIDE ställer i de första tvåstegen. Dessa ligger till grund för mina resultat i arbetet.

Definiera användarna och funktionalitetskraven

• Vilka kunskaper har användarna?

Användarnas kunskaper är mycket varierande både i datakunskap och kunskap omdet ekonomiska. Rent generellt kan sägas att kunskaperna om de underliggande data-baserna är mycket dåliga. Användarna har dock god vana med siffror och olika typerav ekonomiska redovisningar.

• Hur kommer användarna att använda systemet?

Användarna kommer att använda systemet till ett flertal uppgifter, både som en enkelrapportgenerator samt mer adhocanalyser. Det gemensamma för alla arbetsuppgifterär att det innefattar presentation av uppgifter som redan finns i företaget.Informationen kommer sedan att användas till att planera framtiden och hitta orsakertill händelser i företaget.

• Vad kommer systemet att betyda för användarna?

Det kommer innebära att information är snabbt tillgänglig för analys. Användaren kansnabbt fatta beslut utifrån historiska data. Den största betydelsen kommer att varamöjligheten att se ett nyckeltal ur olika dimensioner för att snabbt kunna hitta mön-ster. Närheten till stora datamängder gör att beslut kan fattas snabbare och på bättregrunder.

• Vilken funktionalitet kan ses som den minsta för att systemet skall kunnaanvändas?

Den minsta funktionalitet som behövs för att systemet skall vara motiverat att användaär förmåga att presentera nyckeltal brutet på valfri dimension.

• Hur kan man mäta graden av funktionalitet?

Genom att mäta tiden det tar för en användare att få svar på någon förutbestämd fråga.Genom att se om flera användare drar samma, och rätt, slutsats utifrån en förutbe-stämd analys.

Från detta steg skall:

• Olika klasser av användare kunna beskrivas

Användarna är personer med olika positioner inom ekonomiavdelningar och högrebeslutsfattare. Medelanvändaren är ekonomicontroller med liten vana vid datorer.

• En specifikation på funktionellitet och hur det stöds av gränssnittet skrivas

De funktioner som måste fungera bra är urvalsproceduren av brytdimensioner. Dettasteg måste användaren utföra vid varje analys, det bör därför vara snabbt och inte

58

Page 67: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

kräva för mycket förflyttning av fokus, dvs ”avståndet” mellan analysläget ochurvalsläget får ej vara stort.

Modellera användarnas arbeteAtt veta vad användarna utför för arbetsgifter är det viktigaste vid designen av sys-temet. För att analysera användarnas arbetsuppgifter kan en så kallad hierarkisk upp-giftsanalys göras (HTA, Hierarchical Task Analysis). Den fungerar så att man bryterner användarens arbete i hierarkier med delmål.

En fiktiv analys av arbetsgången vid utskrift av en rapport:

Skriva ut rapport.

Starta programmet

Slå på datorn

Hitta programmet

Starta programmet

Skapa rapporten

Välj nyckeltal

Välj dimension

Gör begränsningar

Välj rapportform

Förhandsgranska rapporten.

Skriva ut rapporten på skrivaren.

Slå på skrivaren

Skriv ut.

Denna typ av analys är ett kraftfullt verktyg vid skapandet av användargränssnittet.Ur denna snabba analys kan man snabbt se att om delmomenten att välja nyckeltal,dimension och rapportform ligger i olika fönster eller på något annat sätt ”långtifrån”11 varandra så kommer arbetsuppgiften att ta längre tid än nödvändigt.

• Vad är användarnas mål?

Användarnas mål är att snabbt kunna hitta information

• Hur ofta utförs olika uppgifter?

Färdiga rapporter körs med jämna intervall, allt ifrån veckovis till årsvis, och vidförfrågan. Fria sökningar görs ett par gånger per dag och användare. Det är ingen typav fråga som är vanligare än en annan. Uppgifterna varierar även kraftigt mellan olikaföretag.

11”Avstånd” kan ibland mätas i antalet musklick eller menyval det behövs för att komma från etttillstånd till ett annat.

59

Page 68: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

• Hur kan användarnas arbetsuppgifter delas upp i deluppgifter?

För fortsatt utredning.

• Hur kritisk är varje deluppgift?

För fortsatt utredning.

• Hur ser ett arbetsscenario ut för en vanlig arbetsuppgift?

För fortsatt utredning.

Från detta steg skall:

• Det framgå vilka uppgifter som användarna kommer att utföra.

Arbetsuppgifterna med systemet består av olika typer av informationshämtning. Entyp av uppgift kan vara att planera inköp för nästa år, utifrån årets försäljning.

• Finnas troliga scenarion för att testa prototyper på Dessa scenarion kananvändas för att mäta olika designer mot varandra.

Identifiera objekten i gränssnittetFör fortsatt utredning besvara följande frågor.

• Vilka är objekten i systemet?

• Vilka handlingar kan användarna utföra på de olika objekten?

• Vad är användarens kunskap om de olika objekten?

• Vad är relationerna mellan objekten?

Från detta steg skall:

• Objektmodeller (Konceptuell modell) över gränssnittet fastställas.

• Användarnas terminologi sammanfattas.

Bestäm stilen på gränssnittetFör fortsatt utredning besvara följande frågor.

• I vilken typ av gränssnittsmiljö kommer systemet att användas?

• Vilken stil förväntar sig användarna?

• Hur kommer fönstren se ut?

• Vilka standard menyer kommer att finnas?

• Vilken typ av interaktion kommer att användas?

Från detta steg skall:

• En stilguide skrivas. Den skall innehålla beskrivning av de standarder somgränssnittet kommer att använda.

60

Page 69: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

61

Page 70: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Appendix B

PrologJag har valt att klassificera dimensionerna efter ett par enkla egenskaper som räckerför att regelverket skall fungera tillfredställande. En dimension har en egenskap, enklass och en storlek. Dessa tre egenskaper ger en ganska bra beskrivning av dimen-sionen. I en slutgiltig applikation skulle dimensionernas egenskaper hämtas från me-tadata i databasen. På så sett blir regelverket oberoende av vilka data som finns i da-tabasen och samma regelverk kan användas för olika databaser utan modifikation.

Dimensionsbeskrivning• En dimension har en nedre begränsning och en övre begränsning eller en lista.

• En dimension har en klass (time, spatial, ordnad, oordnad osv).

• En dimension har en plats i en hierarki.

KlassEgenskapen Klass kan ha värdena time, organisation, spatial eller pengar.

• time: Detta är tidsdimensionerna. I vanliga fall dagar, veckor, månader och år.

• organisation: Dimensionen beskriver något som har en plats i en organisation.

• spatial: Om dimensionen beskiver något som har en plats i rummet.

• pengar: En monetär dimension.

Egenskap• oordnad: Kan ej ordnas på något entydigt naturligt sätt.

• ordnad: Kan ordnas på ETT entydigt och naturligt sätt.

• kronologisk: Tveksamt om denna egenskap behövs.

Storlek• Storleken beskriver antal instanser av dimensioner i det aktuella urvalet. T.ex. om

dimensionen är dagar och urvalet är ett år så är storleken på dimensionen 365(366 vid skottår).

62

Page 71: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

KodenDet regelverk jag har skrivit i Prolog har information om olika typer av nyckeltal ochdimensioner. Genom att ange vilka nyckeltal man vill studera och över vilka di-mensioner man vill studera dem kan regelverket ge förslag på lämpliga presentations-sätt. Regelverket tittar på saker som storlek på dimensioner, hur många dimensionerman vill studera mm.

%diag(Antaldim,Antalnyckeltal,Dim,Nyckeltal,Graf):-

class(kontor,organisation).

class(lan,spatial).

class(bolag,organisation).%diag(1,1,D,N,stapel). class(forsaljare,organisation).

class(produktgrupp,pengar).diag(1,1,D,N,stapel):- class(kund,organisation).

egenskap(D,oordnad), %egenskaper: ordnad, oordnad, kronolo-gisk.size(D,S),

S<21. egenskap(bolag,oordnad).

egenskap(forsaljare,oordnad).

diag(1,1,D,N,linje):- egenskap(produktgrupp,oordnad).

class(D,time). egenskap(tid,kronologisk).

diag(1,1,D,N,linje):- egenskap(kontor,oordnad).

egenskap(D,ordnad). egenskap(lan,oordnad).

egenskap(kommun, oordnad).

egenskap(kund,oordnad).

diag(1,1,D,N,karta):- %size(Dimension, Antal_instanser);

class(D,spatial), size(dagar,365)

size(D,S), size(kontor,12).

S<20. size(kommun,265).

size(lan,21).

diag(1,1,D,N,paj):- size(bolag,3).

%nclass(N,pengar),size(forsaljare,25).

size(produkt,400).egenskap(D,oordnad), size(produktgrupp,7).size(D,S), size(kund,50).S<6.

diag(1,An,D,N,paj):- class(Dim,Klass):-egenskap(D,oordnad), isa(Dim, D2),An>2, class(D2,Klass).size(D,1).

%Nyckeltals klass. %class: antal, kvotdiag(2,1,[D|Ds],N,3D-stapel):- nclass(antal_anstallda,antal).

egenskap(D,oordnad), nclass(arbetstimmar, antal).size(D,S), nclass(forsaljning_kr,pengar).S<21. nclass(forsaljning_av_lager,kvot).

%Motsvarande för Ds nclass(budget,pengar).

nclass(inkomster,pengar).diag(N,1,D,N,tabell). %Fångar allaandra och rekommenderar tabell.

nclass(utgifter,pengar).

nclass(Nyckeltal,Klass):-%Dimensioner:

isa(Nyckeltal, N2),%class: time, spatial, organisation,

pengar, spatial. nclass(N2,Klass).

class(tid,time).isa(produkt,produktgrupp).

63

Page 72: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

isa(kommun,lan).

%type(Nyckeltal,Typ) Ett nyckeltal kan vara avtyperna: additiv, icke additiv och semi additiv.

type(marknadsandel,semi_additivt).

type(N,T):-

nclass(N,C),

ctype(C,T).

%Klasstyp: ctype(Nyckeltalsklass, Typ)

ctype(antal,additativ).

ctype(pengar,additativ).

ctype(kvot,icke_additativ).

isa(produkt,produktgrupp).

isa(omkostnader,utgifter).

isa(rantekostnader,utgifter).

member(X,[X|Ls]).

member(X,[A|Ls]):-

member(X,Ls).

%Försäljning för Produkt från 970909 till 990909

%beskrivning(Nyckeltal, for, Dimension1, fran,Tid1, till, Tid2):-

% class(Nyckeltal,pengar),

| ?- diag(1,1,bolag,forsaljning_kr,G).

G = stapel ?

| ?- diag(1,1,tid,forsaljning_kr,G).

G = linje ?

| ?- diag(1,1,bolag,arbetstimmar,G).

G = stapel ? ;

G = paj ? ;

|?-diag(2,1,[bolag,produktgrupp],arbetstimmar,G).

G = 3D-stapel ? ;

64

Page 73: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

65

Page 74: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Appendix C

66

Page 75: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

67

Page 76: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

Appendix D

Glossary:

Datamart—A database that is organized for one department or function is often calleda datamart rather than a data warehouse.

Datamining—Sophisticated data-search capabilities that use statistical algorithms todiscover patterns and correlations in data. While OLAP tools let you compare, say,sales revenues for two quarters, datamining technology lets you perform a searchthrough all sales data, for example, and then presents you with hypotheses to ana-lyze. The term is used loosely these days, but true datamining incorporates neuralnetworks, decision trees, rule induction, or data visualization.

Data warehouse—A database designed to support decision making in an organization.It is batch updated and structured for fast on-line queries and summaries for ma-nagers. Data warehouses can contain 100GB and more of data. The difference bet-ween a data warehouse and any operational database is that information in the datawarehouse has been through the wash-and-spin cycle: It has been prepped and for-matted so that front-end access tools can be run against it.

Decision-support system (DSS)--An information and planning system that lets usersinterrogate computers on an ad hoc basis, analyze information, and predict the impactof decisions before they are made. A DSS is a cohesive and integrated set ofprograms that share data and information. It can often retrieve industry data from ex-ternal sources, which can then be compared and used for historical and statistical pur-poses.

Executive information system (EIS)--An older technology that consolidates andsummarizes ongoing transactions within the organization. It provides managementwith information from internal and external sources. EISs provide some of the ”whatif” manipulation functions of a DSS, but no true modeling capabilities.

On-line analytical processing (OLAP)--Also called a multidimensional database, thislets users quickly analyze information that has been summarized into multidi-mensional views and hierarchies. For example, OLAP tools are used to perform trendanalysis on sales and financial information. They can enable users to drill down intomasses of sales statistics in order to isolate the products that are the most volatile.

Multidimensional OLAP (MOLAP)--Traditional OLAP products that summarizetransactions into multidimensional views ahead of time. User queries on these typesof databases are extremely fast because most of the consolidation has already beendone.

Relational OLAP (ROLAP)--Using complex SQL statements against traditional re-lational tables, these tools can extract data and create multidimensional views on thefly.

Source: Electronic Computer Glossary and Newton’s Telecom Dictionary.

68

Page 77: Utveckling av ett användargränssnitt till ... - nada.kth.se · Handledare på Nada var Kai-Mikael Jää-Aro Examinator var Lars Kjelldahl Utveckling av ett användargränssnitt

69