Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
1
Design och konstruktion av användargränssnitt – distanskurs 1MD113
Uppsa
la un
iversi
tet @
2005
Ett utvecklar-perspektiv
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #2Uppsala universitet @ 2005
Användbarhet vs. utvecklingVarför har så många system låg användbarhet?• Konflikter – bråk om vad som ska utvecklas• Tidsbrist – användbarhet hinns ej med• Upphandling – kan ge formella hinder• Okunskap – inte veta vad göra• Oförmåga – inte klara av att möta mål
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #3Uppsala universitet @ 2005
KonflikterHar vi egentligen konflikter mellan beställare och utvecklare? Nja, men…• olika faktorer styr när man blir nöjd• det är svårt att skilja systemutveckling från
verksamhetsutveckling (= turbulens)• svag förståelse för varann: mycket är en språk- och
intressebarriär, ej nödvändigtvis en konflikt i sig• dålig medverkan i de andras aktiviteter leder ofta till
osämja
2
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #4Uppsala universitet @ 2005
Tidsrelaterade problemProduktivitet• Avtar med antalet personer. Kompensera med
gruppuppdelning; ger ännu fler parter att hantera• Att ”öka takten” är snudd på omöjligt
Människor är inte plug & play-kompatibla
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #5Uppsala universitet @ 2005
Formella hinderDåliga odds från första början på grund av upphandling• Fast pris + låsta krav = betong
Upphandling är ofta lek i en ”låtsasvärld”• Beställaren låtsas veta alla framtida krav• Leverantören låtsas tro på det, och låtsas vidare att det
går räkna ut fix kostnad för att konstruera systemet• Utvecklarna låtsas att utveckling är statiskt och använder
metoder som tar ”fyrkanter” som indata och som producerar nya fyrkanter
• Alla blir förvånade/upprörda när systemet sedan inte håller måttet…
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #6Uppsala universitet @ 2005
Upphandling
Analys: behov
Krav
Offert
Analys: tid & pengar
KUNDEN LEVERANTÖREN
3
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #7Uppsala universitet @ 2005
FörändringarMjukvara är just mjuk; det bör gå att göra förändringarFör att nå användbarhet så måste man kunna korrigera felLösningen är att inte låsa krav, speciellt inte tidigtVad utvecklingskostnaden blir beror nästan enbart på krav (som vi ju inte vet i förväg)
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #8Uppsala universitet @ 2005
Offertvarianter
Löpande räkning
Blandformer
Fast pris
Fast pris med böter
Chans attfå kontrakt
Risk
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #9Uppsala universitet @ 2005
OkunskapDesign för användbarhet• Inget som skiljer sig från andra krav• Dock, det finns sällan konkreta
användbarhetsmål om man frågar beställare/användare/experter!
• Alltså ligger svaret troligen i hur man utvecklar, inte vad
4
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #10Uppsala universitet @ 2005
OförmågaProjektmedlemmar• Något av ett tabu: vi är olika bra (och dåliga)• Vi är dessutom individuellt olika bra/dåliga på
olika saker• Ofta saknas kompetens för nya moment och
situationerMycket hade kunnat förbättras med lite framförhållning
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #11Uppsala universitet @ 2005
Lösningen?Problemen är många så enkla lösningar finns ej tyvärr!Dock, det går lösa flera problem genom en lämplig utvecklingsmetodikAnvändbarhetsprocess!• Svaret ligger i metoden!
Om utvecklarna varit med i framtagandet av krav och prototyp så ökar chanserna att nå bra resultat
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #12Uppsala universitet @ 2005
SvaghetStor brist ligger i ”my baby”-syndromet; att man aldrig vill ändra på en egen (=vacker) lösning• Leder till 1 enda utvecklingsspår mot målet; det är ej
tillräckligt• Denna naturlag fungerar åt båda håll, men oftast är det
utvecklarna som får skäll…Finns en mängd olika strategier för att undvika just den fällanHär är 7 stycken:
5
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #13Uppsala universitet @ 2005
1. PerfektionismHela tiden leta efter den ultimata lösningen; nuvarande lösning endast temporär…Bygger på att det existerar en ”killer app” som löser alla våra problem• Inte riktigt sant• Eller…
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #14Uppsala universitet @ 2005
Verkligheten“Worse is Better” gäller tyvärr• Richard P. Gabriel vs. Nickieben Bourbaki
Good News, Bad News, How to Win Bighttp://www.dreamsongs.com/WorseIsBetter.html
• I korthet:Enkelhet i kod > enkelhet i designEnkel > korrektEnkel att bygga > enkel att använda
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #15Uppsala universitet @ 2005
2. ProjektledningArbetssätt är en fråga om inställning• Jämför hur coachning sker av målvakter i hockey och
handbollKompetens och självförtroende• Duktiga utvecklargrupper tvekar inte att slänga bort saker
som inte passar eller är bra nog. Det gäller nå denna nivå/attityd!
CoachningLedargestaltUtbildning, anställa den bästa i världenPrestigelös miljö
6
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #16Uppsala universitet @ 2005
3. MetodikArbeta på ett sätt som omöjliggör revirbevakande och rigida strukturerPrototypdriven verksamhet är sådan, med stora vinster:• I en datorvärld kommer prototyper sanningen
mycket nära• Prototyper kan dock bara ge svar på frågor; ingen
generell räddningsplanka
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #17Uppsala universitet @ 2005
Metodik, hur bäst förstöraSkapa moment som går emot allt mänskligt• Förutsätt konsekvent beteende av de som ska använda
metodenOm vi bara folk kunde vara konsekventa (och vara snälla, motionera mera, röka mindre…) så skulle det inte vara ett problem
• Förutsätt att folk ska ändra beteende ifall någon vill detIngen byter personlighet pga metod
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #18Uppsala universitet @ 2005
4. eXtreme Programming (XP)Förändringarna har förändrats• Verksamhet förändras hela tiden, alltså bör även
systemen göra detEtt nytt sätt att utveckla system• Kontinuerliga förändringar!• Testdriven process• 2 x personer = 1 dator• Inga dokument sparas• Gemensamma ståmöten• Långsiktig planering är osäker, alltså låter man bli sånt
7
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #19Uppsala universitet @ 2005
XP, del 2Gör upp med gamla ”sanningar”• Att tänka efter ger bättre kvalité än att göra nu
Fel: kvalité har med riktig användning att göra, inte planerad användning. T.ex. snabbast ta första tunnelbaneuppgången än den rätta
• Att göra rätt sak från början är billigare än att rätta i efterhand
Fel: troligtvis behövs saken inte alls, om den sedan behövs gör man det då.
• Dokumentation är viktig att sparaFel: den är så dålig att den inte är värd något
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #20Uppsala universitet @ 2005
XP, del 3• Planera noga för viktiga saker
Fel: om framtiden är oklar, och du kan fixa saker i efterhand, varför införa något som man misstänker kan vara bra?
• Välj bästa lösningenFel: välj enklaste lösningen, för den är ändå bra nog (och enklare att ändra)
• Se framåtFel: gör endast vad du vet, inget mer
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #21Uppsala universitet @ 2005
XP, del 4• Koda, testa sedan att det blev rätt
Fel: gör test först, koda sedan • Många rader kod/dag, och många funna fel i ett
test är braFel: få rader går snabbare att skriva, noll antal fel vore bättre
8
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #22Uppsala universitet @ 2005
5. DesignkriteriaJobba mot förbestämda mål• Överenskomna• Gemensamma• Styrande
Målen riskerar bli förtäckta krav(Exempel kommer i del 2)
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #23Uppsala universitet @ 2005
6. RationaleAtt arbeta enligt Design Rationale kan hjälpa utvecklingsgruppen att ompröva alla lösningarMotiverar lösningar även för andra, externa personerGer bättre kvalité på varje del-lösning, men hjälper det i det stora hela?
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #24Uppsala universitet @ 2005
7. VerktygGenom att noggrant välja verktyg kan man uppnå många positiva effekter• Inga låsningar• Visionära
Nästan samma vinst som via prototyperPapperslappar, skisser, …
9
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #25Uppsala universitet @ 2005
Verktyg, hur bäst förstöraVerktyg för kommunikation• Börja med 2 personer vid svarta tavlan• Ta bort närhet mellan personer (video)• Ta bort alla förklarande gester (telefon)• Se till att intonation inte kan användas till att förmedla vad
som är viktigt (epost)• Se till att man inte kan ställa frågor (dokument)
Detta är vad de flesta metoder rekommenderar…
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #26Uppsala universitet @ 2005
Verktyg, välj rätt
Kommunikation
Verktyg
Svarta tavlan
Epost
Formell notation
Dokument
Strukturerat dokument
Telefon
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #27Uppsala universitet @ 2005
Verktyg, välj rätt byggnad"Make sure there are whiteboards and coffee corners all over the building.” (IBM)
10
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #28Uppsala universitet @ 2005
5 vanligaste verktygenFör hand (ovanligt)Färdigt bibliotek (toolkit)Färdigt gränssnittsverktyg (builder)Modell-baserade gränssnitt (kommer starkt)
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #29Uppsala universitet @ 2005
HandgjortLigger direkt ovanpå hårdvaraHögsta möjliga kontrollHögsta möjliga prestandaSvår och arbetskrävande utveckling, oflexibelt, hög kunskapströskelGer ganska ofta låg kvalité• Tänk ’videobandspelare’
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #30Uppsala universitet @ 2005
BibliotekHög tröskel; man måste kunna alla delar i biblioteketKräver mycket kod/arbeteUtmärkta prestandaBra kontroll
11
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #31Uppsala universitet @ 2005
Hello, exempel i Java
import javax.swing.*;
class HelloWorldSwing {
public static void main(String args[]) {
JFrame mainWin = new JFrame("MainWindow");
JButton button = new JButton("Hello World");
mainWin.getContentPane().add(button);
mainWin.pack();
mainWin.show();
}
}
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #32Uppsala universitet @ 2005
Bibliotek, byggklossar
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #33Uppsala universitet @ 2005
Builder/RADVanligaste lösningen idag• Visual Basic, Visual C++, Forte, etc
Kräver fortfarande att man kan hela biblioteketFlexibel utveckling, stor frihetBilligt Hjälpsystem, underhåll, distribution, felhantering, …Ger initialt en snabb utveckling (falsk känsla dock)
12
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #34Uppsala universitet @ 2005
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #35Uppsala universitet @ 2005
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #36Uppsala universitet @ 2005
Modellbaserat gränssnittrubrik:
textfält(ej inmatning),bakgrund=vit.
varningsrubrik:rubrik,bakgrund=röd.
13
Design och konstruktion av användargränssnitt - distanskurs
Informationsteknologi | 2005-05-28 | #37Uppsala universitet @ 2005
Modellbaserat gränssnittBokabiljett:
rubrik(”Boka biljett”),dag,namn(”Ditt namn”),knapp(”Skicka beställning”).
dag:rubrik(”När vill du resa),datum.
1
Medicinsk informatik - Telemedicin
Informationsteknologi | 2005-05-28 | #1Uppsala universitet @ 2005
Exempel: Medicus
Medicinsk informatik - Telemedicin
Informationsteknologi | 2005-05-28 | #2Uppsala universitet @ 2005
MedicusDeutsche Telekom beställare.Ville skapa produkter som använder ISDN, för att kunna sälja som mervärden till den tjänsten.Specifikation:• Telekonferens.• Utbyte av bilder.
Medicinsk informatik - Telemedicin
Informationsteknologi | 2005-05-28 | #3Uppsala universitet @ 2005
Tidiga kravBeställaren om systemet:• Ska nyttja ISDN• Konferens• ”Säljande”
Medicinsk personal:• Vara som förr, fast bättre• Katastofhjälp• Se motpart
Bild + ljud
• Dela ”pekare”
2
Medicinsk informatik - Telemedicin
Informationsteknologi | 2005-05-28 | #4Uppsala universitet @ 2005
Medicinsk informatik - Telemedicin
Informationsteknologi | 2005-05-28 | #5Uppsala universitet @ 2005
Medicinsk informatik - Telemedicin
Informationsteknologi | 2005-05-28 | #6Uppsala universitet @ 2005
Medicus, design
Bag Panel Folder Panel
Work Area
Session Panel
Status Panel Quit Panel
Task Panel
3
Medicinsk informatik - Telemedicin
Informationsteknologi | 2005-05-28 | #7Uppsala universitet @ 2005
Medicus, look&feel
Medicinsk informatik - Telemedicin
Informationsteknologi | 2005-05-28 | #8Uppsala universitet @ 2005
Medicinsk informatik - Telemedicin
Informationsteknologi | 2005-05-28 | #9Uppsala universitet @ 2005
Senare kravJättestor bildStor bildFunktionalitetAnvändbarPrisvärd
4
Medicinsk informatik - Telemedicin
Informationsteknologi | 2005-05-28 | #10Uppsala universitet @ 2005
Medicinsk informatik - Telemedicin
Informationsteknologi | 2005-05-28 | #11Uppsala universitet @ 2005
Användning
Krankenhaus Salem Onkologische DiagnostikDeutsches Krebsforschungszentrum
Medicinsk informatik - Telemedicin
Informationsteknologi | 2005-05-28 | #12Uppsala universitet @ 2005
Start av applikation
0
20
40
60
80
100
120
01:00
03:00
05:00
07:00
09:00
11:00
13:00
15:00
17:00
19:00
21:00
23:00
5
Medicinsk informatik - Telemedicin
Informationsteknologi | 2005-05-28 | #13Uppsala universitet @ 2005
Konferenslängd
0
50
100
150
200
250
<1min
1-2min
2-3mins
3-4min
4-5min
5-10min
10-15min
15-20min
20-25min
> 25min
Medicinsk informatik - Telemedicin
Informationsteknologi | 2005-05-28 | #14Uppsala universitet @ 2005
Start av konferens
0100200300400500600700800900
1 000
01:00 04:00 07:00 10:00 13:00 16:00 19:00 22:00
Medicinsk informatik - Telemedicin
Informationsteknologi | 2005-05-28 | #15Uppsala universitet @ 2005
Nya idéer
6
Medicinsk informatik - Telemedicin
Informationsteknologi | 2005-05-28 | #16Uppsala universitet @ 2005
CHILI PDA, senaste