Presentation on theme: "SANSekstra Fra usability-krav til brugergrænseflade User support Uddrag af Robinson & Robinson Kilder UID: Soren Lauesen: User interface design - A software."— Presentation transcript:
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 Book T1.2 Check in... Stay Stay#: 714 Guest:John Simpson Address:456 Orange Grove Victoria 3745 Payment:Visa Itempersons 22/9Room 12, sgl160$ 23/9Breakf. rest14$ 23/9Room 11, dbl280$ 24/9Breakf. room212$ 24/9Room 11, dbl280$ Rooms Prices22/923/924/925/9 11DoubleBath8060OB 12SingleToil60OOBB 13DoubleToil6050BBB 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åelsestest med brugere
4. Hotelsystem: Alle de virtuelle vinduer Service prices Breakf. rest.4 Breakf. room6... Stay Stay#: 714 Guest:John Simpson Address:456 Orange Grove Victoria 3745 Payment:Visa Itempersons 22/9Room 12, sgl160$ 23/9Breakf. rest14$ 23/9Room 11, dbl280$ 24/9Breakf. room212$ 24/9Room 11, dbl280$ 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 Service prices Breakf. rest.4 Breakf. room6... Stay Stay#: 714 Guest:John Simpson Address:456 Orange Grove Victoria 3745 Payment:Visa Itempersons 22/9Room 12, sgl160$ 23/9Breakf. rest14$ 23/9Room 11, dbl280$ 24/9Breakf. room212$ 24/9Room 11, dbl280$ 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) Book PrintConfirm. Find Guest Select Line NewStay NewGuest ResetSearch FindRooms ChooseRoom ResetSearch Book 11 funktioner til Book 30 for hele systemet Book PrintConfirm. Checkin Checkout AddServiceLine... Find Guest FindStay Select Line OpenStay NewStay NewGuest ResetSearch FindRooms ChooseRoom ResetSearch Book Checkin RepairRoom AddRoom... AddService DeleteService PrintServiceList (Update) PrintBreakfastList
7. Trin 3: Prototype (mockup) Find guest Search guest from NameStay No. PhoneRoom No. Date28-08-2002 Find guestF2 GuestPhoneArrivalRoom#Stay# John Simpson, 456 Orange9421370028-08-200212714 Lise Hansen, Dyssegaards3956174828-08-200212753 Yun Chen, Kirchgasse 628-08-200213, 14749 Find stayF3 ResetF4 New stayF5 New guestF6 Open stayF4 Hotel system Rooms Breakfast Services Undo Open service list Add service Delete service Print service list Mockup prototype Usability 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
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 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 modelTask descriptions Virtual windows Mockup Programming Usability testing Understand- ability testing Search, New Check in, Print Functions needed on a giant screen Open, Close Goto, Back Navigation functions for a real screen
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 details Drug:Pinex Start:22-06-09 End:01-07-09 Form:400 mg tablet Dose:3 * 400 mg Diagnoses Arthritis Infection Notes Surgery Ergo Home Medicine Ibumetin Picolon Pinex Lab PJuneJuly 111211910111213 D. Smith 010243-0999 Note:22-06-09 Auth:NCH Type:Surgery Pt 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 DrugTermination Course DrugDose History ClientDrug PrescriptionLine MedicalRecord LineLog MedicalRecord Line MedicalRecord Client ServiceClaim ClientDrug SideEffect Client Diagnosis ClientDiagnosis Log Clinical Measure ICPC ICD10 ClientDrug Log ICPChokus Edifact MessReceived Edifact MedDisSend ReferralReceived ClientObjective ClientVaccinationVaccine ClientOperation Code OperationCode Family Relation CompanyInfo (data area) Speciality Reminder Consultation Service ReferralReceived Diagnosis DrugSideEffect DrugText Heading DrugMedicament Dose DrugCave Relation InteractionText Inter- action DrugFormular Content DrugBlood Restriction PharmaCompany DrugPreparation DrugMedicament DrugPacking DrugCave State DrugCave Text DrugDose ATCcode FormularGroup DrugIndication DrugMedicament Indication DrugForm DrugDose Administration DrugConcen- trationUnit DrugSubsidy DrugGeneric Substitution ClientDiagnosis Group ICPCspec ClinicalData Container DocuType DocuRefDocu DocuValue DrugDelivery ? ? Relation Clinic Organisation Empl
15. Erfaringer med virtuel-vindue-metoden Projekter - Web og GUI Professionel lydmåling (B & K) Intensivafdeling (Daintel Hospital system) Lokalereservation (CBS) Støtte til avisproduktion Overvågning af mobilnetværk Hot-line support Call-center support Bygningsovervågning Kursusadministration Biludlejning - back-office Rengøringsadministration (med PDA) Barselsdagpenge - alle tre parter... Fordele Lettere at lære systemet Effektiv støtte af arbejdsopgaver Færre skærmbilleder - mindre programmering Mindre udviklingsdokumentation Programmering bliver atter sjovt (brugergrænsefladen kendt fra starten) Produktet sælger bedre Fiaskoer Vi skulle gøre som vi plejer Vores chef designede vinduerne på sin måde Usability test efter programmering Virtuelle 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?”
Paper Book Card Computer On-line help Pop-up, drop-down lists On-screen guides Wizard Assistant Human Course Hot-line Super user Colleague 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 SUSUSUSU UUUU ?SUSUSUU (U)UUU ?U?UU UUUU UUUUUU Getting started Proficiency Task System Task System LookupRemember Support situation
Getting started Proficiency Task System Task System Paper Book Card Computer On-line help Pop-up, drop-down lists On-screen guides Wizard Assistant Human Course Hot-line Super user ColleagueSU UU(U)(U) (U)U(U)U U UUU UUUUUU Documentation & support method LookupRemember Support situation Hotel 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 services Breakfast 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 contents 1.Introduction? Installation? 2.Tutorial - getting started Part B. How the screens work 3.Breakfast list 4.Find Guest screen 5.Main menu 6.Room Selection screen 7.Service List 8.Stay screen Part C. Tasks in the hotel 9.Booking 10.Checking in 11.Checking out 12.Changing a stay 13.Breakfast and other services 14.Room repair 15.Price changes 16.Rebuilding the hotel Error codes and overviews? Glossary? Index 21. UID12.5C Structure of reference manual System-related lookups Task-related lookups Dubious Critical Maybe Dubious
25. Krav ifølge Robertson & Robertson, 1999 Requirement #: 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...]....