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.
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
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
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 . . .
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
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
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
8. Trin 4: Konstruer det
Black-box test cases
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
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
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.
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
13. En færdig version af LifeLine med rigtigt data
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
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
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?”
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
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.
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)
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.
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
22. Kravprocessen ifølge Robertson & Robertson, 1999
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
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:
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 . . .].. . .