25
SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software engineering perspective. Addison-Wesley, 2005. Fra kapitel 12. Kontrakter: Soren Lauesen: IT-kontrakter for it-folk. http://www.itu.dk/people/slauesen/Papers/Kontraktintro.pdf Ekstra: Nye slides som ikke har noget sidestykke i bøgerne. © 2005, Pearson Education retains the copyright to the slides from the books, but allows restricted copying for teaching purposes only. It is a condition that the source and copyright notice is preserved on all the material.

SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

Embed Size (px)

Citation preview

Page 1: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

SANSekstra

Fra usability-krav til brugergrænseflade

User support

Uddrag af Robinson & Robinson

Kilder

UID: Soren Lauesen: User interface design - A software engineering perspective. Addison-Wesley, 2005. Fra kapitel 12.

Kontrakter: Soren Lauesen: IT-kontrakter for it-folk. http://www.itu.dk/people/slauesen/Papers/Kontraktintro.pdf

Ekstra: Nye slides som ikke har noget sidestykke i bøgerne.

© 2005, Pearson Education retains the copyright to the slides from the books, but allows restricted copying for teaching purposes only. It is a condition that the source and copyright notice is preserved on all the material.

Page 2: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

Basis for brugergrænseflade: Piagets objektkonstanslov:

Når vi har set en ting, tror vi den eksisterer- også når vi ikke ser den

2. Ekstra: Fra usability-krav til brugergrænseflade

Designprincip: Bevar illusionen

Trin 1: Virtuelle vinduer - hvad brugeren skal tro

Trin 2: Gå tasks igennem og tilføj knapper

Trin 3: Prototype og usability test

Trin 4: Konstruer og programmer

Page 3: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

3. Trin 1: Virtuelle vinduer

T1.1 BookT1.2 Check in . . .

Stay Stay#: 714

Guest: John SimpsonAddress: 456 Orange Grove

Victoria 3745Payment: Visa

Item persons22/9 Room 12, sgl 1 60$23/9 Breakf. rest 1 4$23/9 Room 11, dbl 2 80$24/9 Breakf. room 2 12$

24/9 Room 11, dbl 2 80$

Rooms Prices 22/9 23/9 24/9 25/911 Double Bath 80 60 O B12 Single Toil 60 O O B B13 Double Toil 60 50 B B B

T1.1 Book, T1.2 Check in . . .

Datapræsentation

Ingen "knapper"

Få vinduer

Genbrug vinduer

Ting ikke handlinger

Overblik

Skal støtte alle tasks

Forståelsestestmed brugere

Page 4: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

4. Hotelsystem: Alle de virtuelle vinduer

Breakfast 23/9

In InRoom rest room

11 212 113 1 1

Service prices

Breakf. rest. 4Breakf. room 6. . .

Stay Stay#: 714

Guest: John SimpsonAddress: 456 Orange Grove

Victoria 3745Payment: Visa

Item persons22/9 Room 12, sgl 1 60$23/9 Breakf. rest 1 4$23/9 Room 11, dbl 2 80$24/9 Breakf. room 2 12$

24/9 Room 11, dbl 2 80$

Find guest Stay# (any)

Name (any) Room# (any)

Phone (any)

Date 23-09-2001

Guest Arrival Room# Stay#John Simpson, 456 Orange Grove 22-09-2001 12, 11 714Lise Hansen, Dyssegaardsvej 57 23-09-2001 12 753Yun Chen, Kirchgasse 6 23-09-2001 13, 14 749

Search F3

Room Prices 22/9 23/9 24/9 25/911 Double Bath 80 60 O B12 Single Toil 60 O O B B13 Double Toil 60 50 B B B

RoomsFree from 23/9 Type (any)Departure 25/9 Room#Nights 2

Search F3

T1.1 Book, T1.2 Check in . . ., T1.6 Price change

T1.1 Book, T1.2 Check in . . .

T1.6 Price change

T1.5 Record breakfast list

T1.1 Book, T1.2 Check in . . .

Page 5: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

5. Trin 2: Gå tasks igennem og tilføj funktioner/knapper

Breakfast 23/9

In InRoom rest room

11 212 113 1 1

Service prices

Breakf. rest. 4Breakf. room 6. . .

Stay Stay#: 714

Guest: John SimpsonAddress: 456 Orange Grove

Victoria 3745Payment: Visa

Item persons22/9 Room 12, sgl 1 60$23/9 Breakf. rest 1 4$23/9 Room 11, dbl 2 80$24/9 Breakf. room 2 12$

24/9 Room 11, dbl 2 80$

Find guest Stay# (any)

Name (any) Room# (any)

Phone (any)

Date 23-09-2001

Guest Arrival Room# Stay#John Simpson, 456 Orange Grove 22-09-2001 12, 11 714Lise Hansen, Dyssegaardsvej 57 23-09-2001 12 753Yun Chen, Kirchgasse 6 23-09-2001 13, 14 749

Search F3

Room Prices 22/9 23/9 24/9 25/911 Double Bath 80 60 O B12 Single Toil 60 O O B B13 Double Toil 60 50 B B B

RoomsFree from 23/9 Type (any)Departure 25/9 Room#Nights 2

Search F3

T1.1 Book, T1.2 Check in . . ., T1.6 Price change

T1.1 Book, T1.2 Check in . . .

T1.6 Price change

T1.5 Record breakfast list

T1.1 Book, T1.2 Check in . . .

(EditData)BookPrintConfirm.

Find GuestSelect LineNewStayNewGuestResetSearch

FindRoomsChooseRoomResetSearchBook 11 funktioner til Book

30 for hele systemet

BookPrintConfirm.CheckinCheckoutAddServiceLine. . .

Find GuestFindStaySelect LineOpenStayNewStayNewGuestResetSearch

FindRoomsChooseRoomResetSearchBookCheckinRepairRoomAddRoom. . .

AddServiceDeleteServicePrintServiceList

(Update)PrintBreakfastList

Page 6: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

vwServiceList

6. Tilføj navigeringsfunktioner via tilstandsdiagram

FindGuest, FindStayNewStay, OpenStay ...

NewStay

OpenStay

Book, CheckinPrintConfirmCheckoutAddService ...

BookCheckin

DeleteStay

vwFindGuest

vwRooms

FindRooms, RepairBook, Checkin

vwStay(new)

vwStay(rec)

vwBreakfast

AddServiceDelService ...

CloseS

CloseS

Clo

seR

Ope

nRoo

ms

Page 7: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

7. Trin 3: Prototype (mockup)

Find guest

Search guest from

Name Stay No.

Phone Room No.

Date 28-08-2002

Find guest F2

Guest Phone Arrival Room# Stay#John Simpson, 456 Orange 94213700 28-08-2002 12 714Lise Hansen, Dyssegaards 39561748 28-08-2002 12 753Yun Chen, Kirchgasse 6 28-08-2002 13, 14 749

Find stay F3

Reset F4

New stay F5

New guest F6

Open stay F4

Hotel system

Rooms Breakfast Services Undo

Open service listAdd serviceDelete servicePrint service list

Mockup prototypeUsability testes

Når testen er OK har vi en design spec

Mini spec: If Name empty Then . . .

Traditionelle use cases og UML?Meste overflødigt for brugergrænsefladen

Page 8: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

8. Trin 4: Konstruer det

Black-box test cases

Page 9: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

FindGuest . . . s = "SELECT qselStays.stayID, tblGuest.guestID, tblGuest.name, " s = s & "address1 & ', ' & address2 & ', ' & address3 AS addr, " s = s & "tblGuest.phone, qselStays.arrival, qselStays.rooms,

qselStays.state AS qstate " s = s & "FROM qselStays RIGHT JOIN tblGuest ON qselStays.guestID =

tblGuest.guestID " If val <> "" Then s = s & "WHERE (" & crit & ") " If equal Then s = s & "= " & val & " " Else: s = s & "Like ('*" & val & "*') " End If End If s = s & "ORDER BY iif(qselStays.arrival is null, #1-1-2040#,

qselStays.arrival), tblGuest.name;" CurrentDb.QueryDefs!qselGuestStays.SQL = s

9. Og programmer det

White-box test, Branch test . . .2-3 gange så mange cases som i mini-spec

Page 10: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

10. Virtual Window method - overview

Data model Task descriptions

Room Prices 22/9 23/9 24/9 25/911 Double Bath 80 60 O B12 Single Toil 60 O O B B13 Double Toil 60 50 B B B

RoomsFree from 23/9 Type (any)Departure 25/9 Room#Nights 2

Search F3

Stay Stay#: 714

Guest: John SimpsonAddress: 456 Orange Grove

Victoria 3745Payment: Visa

Item persons22/9 Room 12, sgl 1 60$23/9 Breakf. rest 1 4$23/9 Room 11, dbl 2 80$24/9 Breakf. room 2 12$

24/9 Room 11, dbl 2 80$

Virtualwindows

Find guest

Search guest from

Name (any) Stay No. (any)

Phone (any) Room No. (any)

Date 28-08-2002

Find guest F2

Guest Phone Arrival Room# Stay#John Simpson, 456 Orange 94213700 28-08-2002 12 714Lise Hansen, Dyssegaards 39561748 28-08-2002 12 753Yun Chen, Kirchgasse 6 28-08-2002 13, 14 749

Find stay F3

Reset F4

New guest F5

New stay F6

Open stay F4

Hotel system

Rooms Breakfast Services Undo

Open service listAdd serviceDelete servicePrint service list

Mockup

ProgrammingUsability testing

Understand-ability testing

Room Prices 22/9 23/9 24/9 25/911 Double Bath 80 60 O B12 Single Toil 60 O O B B13 Double Toil 60 50 B B B

RoomsFree from 23/9 Type (any)Departure 25/9 Room#Nights 2

Search F3

Stay Stay#: 714

Guest: John SimpsonAddress: 456 Orange Grove

Victoria 3745Payment: Visa

Item persons22/9 Room 12, sgl 1 60$23/9 Breakf. rest 1 4$23/9 Room 11, dbl 2 80$24/9 Breakf. room 2 12$

24/9 Room 11, dbl 2 80$Search, NewCheck in, Print

Functions neededon a giant screen

Open, CloseGoto, Back Navigation functions

for a real screen

FindGuest, FindStayNewStay, OpenStay ...

NewStay

OpenStayBook

Checkin

DeleteStay

vwFindGuest

vwStay(new)

vwStay(rec)

CloseS

CloseS

Page 11: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

11. Vigtigst: Virtuelle vinduer. Eks: Traditional medication screen

Classical forms and tables.Easy to develop for programmers.Hard for local designers.Much detail - little overview.

Page 12: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

EHR - Department M126

Patients Ward Reminders Undo

Medication detailsDrug: PinexStart: 22-06-09End: 01-07-09Form: 400 mg tabletDose: 3 * 400 mg

DiagnosesArthritisInfection

Notes Surgery

ErgoHome

MedicineIbumetinPicolon

PinexLab

P June July1 11 21 1 9 10 11 12 13

D. Smith010243-0999

Note: 22-06-09Auth: NCHType: SurgeryPt complains that . . .

12. Virtuelt vindue med bedre visualisering: The patient's LifeLine

Page 13: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

13. En færdig version af LifeLine med rigtigt data

Page 14: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

Data model - MyClinic (names: singular, no E4C, no caps, no "table")

ClinicalData

DrugTerminationCourse

DrugDoseHistory

ClientDrug

PrescriptionLine

MedicalRecordLineLog

MedicalRecordLine

MedicalRecord

Client

ServiceClaim

ClientDrugSideEffect

ClientDiagnosis

ClientDiagnosisLog

ClinicalMeasure

ICPC

ICD10

ClientDrugLog

ICPChokus

EdifactMessReceived

EdifactMedDisSend

ReferralReceived

ClientObjective

ClientVaccinationVaccine

ClientOperationCode

OperationCode

FamilyRelation

CompanyInfo(data area)

SpecialityReminder

ConsultationService

ReferralReceivedDiagnosis

DrugSideEffect

DrugTextDrugTextHeading

DrugMedicamentDose

DrugCaveRelation

InteractionTextInter-action

DrugFormular

DrugFormularContent

DrugBloodRestriction

PharmaCompany

DrugPreparation

DrugMedicament

DrugPacking

DrugCaveState

DrugCaveText

DrugDose

ATCcode

FormularGroup

DrugIndicationDrugMedicament

Indication

DrugForm

DrugDoseAdministration

DrugConcen-trationUnit

DrugSubsidy

DrugGenericSubstitution

ClientDiagnosisGroup

ICPCspec ClinicalDataContainer

DocuType

DocuRef Docu

DocuValue

DrugDelivery

?

?

Relation

ClinicOrganisation

Empl

Page 15: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

15. Erfaringer med virtuel-vindue-metoden

Projekter - Web og GUIProfessionel lydmåling (B & K)Intensivafdeling (Daintel Hospital system)Lokalereservation (CBS)Støtte til avisproduktionOvervågning af mobilnetværkHot-line supportCall-center supportBygningsovervågningKursusadministrationBiludlejning - back-officeRengøringsadministration (med PDA)Barselsdagpenge - alle tre parter. . .

FordeleLettere at lære systemetEffektiv støtte af arbejdsopgaverFærre skærmbilleder - mindre programmeringMindre udviklingsdokumentationProgrammering bliver atter sjovt

(brugergrænsefladen kendt fra starten)Produktet sælger bedre

FiaskoerVi skulle gøre som vi plejerVores chef designede vinduerne på sin mådeUsability test efter programmeringVirtuelle vinduer - så trin-for-trin dialog

Page 16: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

16. UID12.1 Support situations

Getting started: IT-Reluctant user: “I never figure out about this”.IT-comfortable user: “Let me give it a try”.Super user: “I should be able to figure out without the manual”.

(If not: Uses manual and/or on-line help.)

Proficiency: Learning to work fast and master the system.

Lookup - task-related: “How to pay the bill partly credit card, partly cash?”

Lookup - system-related: “If I cancel a stay and then Undo, will the guest get the same room?

Remember - task-related: “I handled a split pay once - where did I start?”

Remember - system-related: “Which discount code - 03 or 05?”“What are the parameters to DLookup?”

Page 17: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

PaperBookCardComputerOn-line helpPop-up, drop-down listsOn-screen guidesWizardAssistantHumanCourseHot-lineSuper userColleague

Documentation& support method

Potential use

17. UID12.2 Support methods vs. context

Legend: SU=suited for super users. U=suited for other users. (U)=partly suited. ?=still experimental

SU SU SU SUU U U U

? SU SU SU U(U) U UU U? U? ?

U UU U

U U U UU U U U U U

Get

ting

star

ted

Pro

ficie

ncy

Tas

k

Sys

tem

Tas

k

Sys

tem

Lookup Remember

Support situation

Page 18: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

Get

ting

star

ted

Pro

ficie

ncy

Tas

k

Sys

tem

Tas

k

Sys

tem

PaperBookCardComputerOn-line helpPop-up, drop-down listsOn-screen guidesWizardAssistantHumanCourseHot-lineSuper userColleague

SU SUU U (U) (U)

(U) U (U) U

UU U U

U U U U U U

Documentation& support method

Lookup Remember

Support situationHotel system

18. UID12.3 Support plan for hotel system

Legend: SU=suited for super users. U=suited for other users. (U)=partly suited.

Page 19: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

Hotel System - basic tasks

Check in a guest who has booked

Find the guest from name, street or phone

Or find the guest from stay number (booking number)

List of matching guests.The booking should be here. • Select it.• Use Show stay to tell the system

that the guest has arrived.

Use Find guest to see guests that match

When the guest is in the list, but not his booking:

• Try Guest history to find his stay - he may have booked for another day.

Check in without booking

When the guest has not booked or you cannot find the booking:

• Try finding the guest from name, street or phone. (Always check to see whether it is a regular guest.)

• If the guest is there: Use New stay to check him in without a booking.

• If the guest is not there at all: Use New guest to record the guest and check him in.

Finish check in

Check details with the guest

Check that the rooms are right.• Delete wrong room lines with

the menu Stays Delete room line

• Add rooms with the Room Selection window.

Use Check in to tell the system that the guest has arrived and uses the rooms

Set the period that the guest stays

Usually you want to see only free rooms

Select the room for the guest. Use Book or Check in to give the room to the guest.

Use Find room to see rooms that match

Select rooms

Selected free room

Someone is checked in 22-10

Room booked from 24-10

Open the windows you need - main menu

Open Find Guest window

Open Room Selection window

In case of mistakes:Undo the last change

In case of mistakes:Undo the last change (see the main menu)

Page 20: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

Work fast - use the keyboard - drop the mouse

Tab from field to field

Alt+L moves cursor here (because Last has underscore)

Alt+F pushes this button (Find has underscore)

F6 to enter list area. to move up or down.

Alt+ to unfold list.Enter or Tab to select.Esc to undo.

Ctrl+F6 to enter next window.

Ctrl+F4 to close window.

Alt (without other keys) to enter menu area.

to move around.Enter to select.Esc to exit menus.

Ctrl+Z to undo last change.

Menu navigation

Field navigation

Booking a guest• Use the Room Selection window to see whether there are free rooms, prices okay, etc.

• Use the Find Guest window to find the guest from name, street or phone. (Always check to see whether it is a regular guest.)

• If the guest is there: Use New stay to see a fresh booking for him. Select a room and Book it for the guest.

• If the guest is not there at all: Use New guest and record guest details. Select a room and Book it for the guest.

The system files the booking as soon as you press Book. You don’t have to close the window.

If the guest wants more than one room:

• Select the room from the Room Selection window. Use Book again to book this room too.

If the guest wants a confirmation letter: Use Print confirm.

Checking out a guest• Use the Find Guest window to find the guest’s stay. Enter the room number and night (notice:

night is not this morning, but yesterday). Use Show stay to open the stay window.

• Check with the guest that it is the right room or rooms, the right number of nights, etc.

• Check with the guest that all Services are recorded - also this morning’s breakfast and last night’s minibar in the room. Add any missing service in the star-marked line.

• You may use Draft invoice to print a draft for the guest to check.

• Make sure the pay form (Master, Visa, etc.) is correct. Then use Check out to print the real invoice.

• Receive payment.

The system records that the guest has checked out as soon as you press Check out. You don’t have to close the window.

Recording breakfast and servicesBreakfast list: When the printed breakfast list arrives from the bar, record all the servings:

• Use the main menu to open the Breakfast list window.

• Check that it is the list for the right date.

• Enter the number of servings room by room. A cross on the list indicates that nobody stayed in this room last night. There should be no servings for this room.

As soon as you have entered a number, the system records the service on the guest’s stay.

Other services: There will usually be a paper slip or voucher specifying what the guest has got,for instance drinks or sauna. Record such a service in this way:

• Use the Find Guest window to find the guest’s stay. Enter the room number and night. Use Show stay to open the stay window.

• On the Services tab, enter the service in the star-marked line.

Page 21: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

Table of contents1. Introduction? Installation?2. Tutorial - getting startedPart B. How the screens work3. Breakfast list4. Find Guest screen5. Main menu6. Room Selection screen7. Service List8. Stay screenPart C. Tasks in the hotel9. Booking10. Checking in11. Checking out12. Changing a stay13. Breakfast and other services14. Room repair15. Price changes16. Rebuilding the hotelError codes and overviews?Glossary?Index

21. UID12.5C Structure of reference manual

System-related lookups

Task-related lookups

Dubious

Critical

Maybe

Dubious

Page 22: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

22. Kravprocessen ifølge Robertson & Robertson, 1999

Page 23: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

A business event occurs: The part of the response that is done by the product is a use case.

23. Use cases ifølge Robertson & Robertson, 1999

Page 24: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

Volere shell:

24. Krav ifølge Robertson & Robertson, 1999

Requirement #: Requirement Type: Event/use case #:Description:

Rationale:

Source:Fit Criterion:

Customer Satisfaction: Customer Dissatisfaction:Dependencies: Conflicts:Supporting Materials:History:

Page 25: SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software

25. Krav ifølge Robertson & Robertson, 1999Requirement #: 9a Requirement Type: Functional and data. Event/use case #:Description: The product shall issue an alert if a weather station fails to transmit readings.

Rationale: . . . Source: . . .Fit Criterion: [Data about the failure is stored.]. . . . . .

Requirement #: 11a Requirement Type: Usability. Event/use case #:Description: The product shall be easy for 11-year old children to use.

Rationale: . . . Source: . . .Fit Criterion: [Agreed, say 90%] of a test panel of 11 year olds shall be able to successfully complete [list of tasks] within [specified time].. . .

Requirement #: 12a Requirement Type: Performance. Event/use case #:Description: Any interface between a user and the automated product must have a maximum response time of two seconds.

Rationale: . . . Source: . . .Fit Criterion: [Under conditions . . . Measure . . .].. . .