Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
Interactiunea. Metode de descriere a
interactiunii om-calculator
Curs 3
Cadrul general al interactiunii
Stiluri de interactiune
• Interfete la linia de comanda (text)• Meniuri• Limbaj natural• Intrebare/raspuns si interogare• Completare de forme si foi de calcul• WIMP (Windows, Icons, Menus, Pointers)• Indica si actioneaza (point and click)• Interfete tridimensionale
Interfete la linia de comanda• Primul stil de interfete interactive• Permite transmiterea de comenzi folosind taste functionale, caractere,
abrevieri sau comenzi explicite• In anumite sisteme unica modalitate de comunicare este de acest tip (telnet
ssh)
• Avantaje: – Ofera acces direct la functionalitatile sistemului– Permit combinarea comenzilor pentru a gestiona informatiile– Sunt flexibile prin intermediul parametrilor– Pot fi aplicate asupra unui numar mare de obiecte – utile in cazul sarcinilor
repetitive• Dezavantaje:
– Dificultati in utilizare si invatare (comenzile trebuie invatate pentru ca nu existaindicii in interfata) > indicate pentru experti
• Solutie:– Folosirea de comenzi/abrevieri consistente si semnificative semantic – Comenzile ar trebui sa foloseasca comenzi din vocabularul utilizatorului, nu al
proiectantului
Meniurile
• Optiunile valabile sunt disponibile pe ecran si pot fi selectatefolosind mouse-ul, taste numerice sau alfabetice
• Nu solicita utilizatorul, bazandu-se pe recunoastere, nu amintire
• Optiunile trebuie grupate logic pentru a putea fi recunoscute
• Meniurile pot fi organizate ierarhic, iar o optiune ar putea sa nu fie vizibila la primul nivel al ierarhiei – gruparea si denumirea optiunilorsunt singurul indiciu pentru utilizator
• Pot fi meniuri pur text sau pot avea o interfata grafica
Interfete in limbaj natural
• Calculatorul ar trebui sa fie capabil sa raspunda la comenzi scrisesau rostite in limbaj natural
• Problema: ambiguitatea limbajului natural– La nivel sintactic– La nivel semantic
• Oamenii rezolva astfel de probleme bazandu-se pe context sau pecunostintele generale despre lume > greu de furnizat calculatorului
• Pot fi construite interfete care sa recunoasca submultimi restranseale limbajului (pentru un domeniu limitat) – dezambiguarea poate firealizata de catre calculator
Intrebare/raspuns, interogari• Intrebare/raspuns – mecanism simplu de a furniza intrari
sistemului intr-un domeniu specific
• Utilizatorului ii sunt adresate o serie de intrebari la care poate raspunde cu da/nu, optiuni multiple sau coduri
• Ex: chestionarele web
• Limbajele de interogare – folosite pentru a extrageinformatii din bazele de date
• Folosesc formulari similare limbajului natural, dar cu o sintaxa specifica + cunostinte despre structura bazei de date
Completare de forme• Completarea de forme – folosite pentru introducerea de date, dar si
pentru aplicatii folosite in regasirea de date
• Utilizatorului ii este pezentata o forma in care introduce valori –posibilitate de modificare a valorilor introduse si de nespecificare a altor valori
Foi de calcul• Variatiune sofisticata a completarii de forme• Cuprinde un grid de celule care contin valori sau formule• Utilizatorul are libertatea de a manipula valorile, iar
modificarile sunt prezentate instantaneu> interfataflexibila si naturala
Interfete WIMP• Windows, icons, menus and pointers/ windows, icons, mice and pull-down
menus - ex:Microsoft Windows, MacOS, sisteme X-Windows• Avantaje:
– Manipulare directa
– Actiunile fizice inlocuiesc folosirea comenzilor cu sintaxa complexa
– Actiuni reversibile rapide cu feedback imediat asupra obiectelor de interes
– Novicii invata repede modul de operare
– Erorile rare – anxietate scazuta., sentiment al controlului, incredere sporita• Dezavantaje:
– Nu toate sarcinile pot fi descrise prin obiecte si nu toate actiunile pot fi realizatedirect
– Unele persoane interpreteaza interactiunea in mod eronat
– Nu toate sarcinile sunt potrivite pt manipularea directa (spell-checking)
WIMP
Interfete bazate pe agenti• In lumea reala agentii sunt persoane care lucreaza pentru alte
persoane (agent imobiliar, agent de vanzari, etc)
• Agentii soft actioneaza in sprijinul utilizatorului
• Ex: agenti pentru filtrarea emailurilor, agenti care cauta informatii peinternet
• Agentii realizeaza sarcini repetitive, monitorizeaza si raspund la evenimente in absenta utilizatorului sau invata din actiunileutilizatorului
• Ex: Office Assistant – inteligenta intr-un domeniu bine definit – are o existenta fizica
Interfete point and click• sistemele multimedia si browserele web aproape toate operatiile
necesita un click
• Sunt strans legate de interfetele WIMP
• Interfetele point and click nu impun neaparat utilizarea mouseului, fiind folosite si in interfetele care folosesc touchscreen-uri
• Popular in paginile web
Interfete tridimensionale
http://ecodazoo.com/
Interfete 3D
http://www.infovis.net/printMag.php?num=154&lang=2
Ubiquitous computing (calculatoareomnipezente)/pervasive computing
• 1980 – cercetatorii de la Xerox PARC au initiat un proiect de transfer a interactiunii om-calculator de la birou in viata de zi cu zi, fara a o face simtita
• Analog motoarelor – in trecut largi si zgomotoase –acum incorporate in multe echipamente, fara a fi simtite
• Realizari in domeniu: automobilele, cuptoarele cu microunde, masinile de spalat, etc – continmicroprocesoare a caror existenta nu o constientizam in mod direct
Formalisme de specificare a dialogului om-calculator
• Cerințe: – Descrierea precisă a comportamentului interfeței– Absența constrângerilor de implementare
• Clasificare:– Formalisme pentru un singur fir de dialog
• Rețele de tranziție, gramatici independente de context– Formalisme pentru fire de dialog multiple
• Evenimente, diagrame ierarhizate de stări– Formalisme pentru dialoguri concurente
• Algebra proceselor, rețele Petri
Rețele de tranziție
stare tranziție
acțiuneutilizator
2: memorează primul punct3: desenează linia până la poziția curentă4: memorează al doilea punct
acțiunesistem
Probleme: descrierea devine mare, lipsa tratării situațiilor neprevăzuteAvantaj: descriere naturală, executabilitateFormal: automat modificat STN= (Q, , P, δ, γ, q0, f)
P - mulțime de acțiuni sistemγ : Q P - funcția de acțiune
Îmbunătățire: recursivitate
Rețele de tranziție extinse (ATN)• mulțime de diagrame de tranziție• regiștri
– Valori arbitrare vizibile doar încadrul componentei de dialog
• funcții– atașate arcelor din diagramă– calcule pe valorile din regiștri– evaluate la traversarea arcelor
• TRUE – se traversează arcul• FALSE – nu se traversează
arcul
• Formal: automat push-downM = (Q, , P, Γ, δ, γ, q0, Z0, f)P - mulțime de acțiuni sistemγ : Q P - funcția de acțiune
acțiunea 1 :înregistrează primul punctacțiunea 2 :desenează linia pănă la poziția curentă ;acțiunea 3 :înregistrează următorul punct ;acțiunea 4 :şterge ultimul punct ;acțiunea 5 :şterge linia poligonală ;acțiunea 6 :returnează linia poligonală.fn1 :count :=1; return (true) ;fn2 :count :=count+1 ; return (true) ;fn3 :if (count =1) then return (false)
else count:=count+1; return (true).
acțiune utilizator/acțiunesistem
funcție
Gramatici independente de context• motivația: dialogul interuman
descris de gramatici• Analiza sintactica: top-down,
bottom-up• L(G) – toate secvențele de
acțiuni utilizator acceptabile
Line button End_pointEnd_point move End_point | button.line button d1 end_pointend_point move d2 end_point | button d3d1 {memorează primulpunct}d2 {desenează linia pânăla poziția curentă}d3 {memorează al doileapunct}.
•Formal:G= (N, , R, P, S),R – mulțime finită de simboluri ce reprezintă acțiunile ataşateproducțiilor ;P – mulțimea producțiilor n γrnN, γ,(NU)*, rR;
•Surprind doar acțiunile utilizatorilor -atașarea de acțiuni sistem producțiilor
Clasificarea formalismelor pentruspecificarea dialogului om-calculator
– Formalisme pentru un singur fir de dialog
• Rețele de tranziție, gramatici independente de
context
– Formalisme pentru fire de dialog multiple
• Evenimente, diagrame ierarhizate de stări
– Formalisme pentru dialoguri concurente
• Algebra proceselor, rețele Petri
Evenimente• Handler de evenimente• Template: parametri, proceduri,
variabile locale, evenimentele pe care le tratează
• UI = mulțimea templateurilorhandlerilor de eveniment pe care îifolosește
• Surse de evenimente: componenta de prezentare și handlerii de evenimente
• Formal: EH = (m, r, Q, R, P),– m – nr de tipuri de evenimente– r – nr de registri– Q – coada de evenimente– R – multimea valorilor registrilor– P – multimea procedurilor pentru
handler (m)• configurația: (q, ),q –coada de
evenimente, - valorile din regiștri
EVENT HANDLER lineTOKEN
button Buttonmove Move
VARint state ;point first, last;
EVENT Button DO{IF state==0 THEN
first = current position;state = 1;
ELSElast = current position;deactivate(self);
ENDIF;}
EVENT Move DO{IF state==1 THEN draw line from
first to current position;ENDIF
}
INITstate = 0;
END EVENT HANDLER line;
Diagrame ierarhizate de stări
• Clusterizarea, rafinarea stărilor; independența și concurența; tranziția între niveluri de abstractizare
• Extensie a diagramelor de tranziție cu AND și XOR
XOR
AND
stare eveniment
tranzițiecondiție
Clasificarea formalismelor pentruspecificarea dialogului om-calculator
– Formalisme pentru un singur fir de dialog
• Rețele de tranziție, gramatici independente de
context
– Formalisme pentru fire de dialog multiple
• Evenimente, diagrame ierarhizate de stări
– Formalisme pentru dialoguri concurente
• Algebra proceselor, rețele Petri
Algebra proceselor• Agent = entitate ce modelează şi descrie o parte specifică a
unui sistem– acțiuni interne– acțiuni de comunicare
• P – mulțimea agenților, notați prin P, Q, R• X - mulțimea variabilelor agent, notate cu x, y;• N - mulțimea de nume pentru canalele de comunicare (a, b, c) ;• L - mulțimea de etichete pentru canalele de comunicare ; L
={a,ā | a N}• Agentul inactiv 0 – proces încheiat• Operatorul de prefixare “.”: .P • relație de tranziție pe agenți
P’P
Algebra proceselor (2)PrefixPrefixarea
.PCom1Compunerea paralelă
(P|Q)Com2
SumAdunarea(P+Q)
ResRestricția(P\L)
Com3
QPQP
PP
|'|
'
'||
'
QPQP
'|'|
''
QPQP
QaQPaP
LPLP
PP
'\\
'
LLU
''PP
PP
Iii
i
PP .
A = b.B + c.C – agentul A e capabil să execute acțiunea b și să se comporte ca agentulB sau e capabil să execute acțiunea c și să se comporte ca agentul C
îmbunătățire: transmiterea de valori: ā(v).P
Rețele Petri• <P, T, Pre, Post, M>
– P mulțimea locațiilor– T mulțimea tranzițiilor– Pre : P x T N– Post : T x P N– M : P N
P1
T1
T2
T4
T3
P2
P3
2
2
locație
tranziție
PrePost
M
•Nepotrivite pentru modelareadomeniului (structurii) rețele Petri cu obiecte
Obiect
Metoda1Metoda2Metoda3
Obiect
Metoda4Metoda5Metoda6
z=x.Metoda1(y)
<x> <y>
<x><z> <y>
T1
T2 T3
T4
Rețele Petri în obiecte
• ICO (Interactive Cooperative Objects)
– date • atribute ale obiectului
– operații• operații spontane ale obiectului +servicii• comunicarea între obiecte: C-S
– comportament (ObCS = PN)• descrie dispnibilitatea serviciilor, modul de procesare a cererilor de
servicii, operațiile pe cont propriu ale obiectului, serviciile solicitatede la alte obiecte
• fiecare serviciu e asociat cu tranziții din ObCS– prezentare
• mulțime structurată de widgets• funcția de activare : (widget, acțiune utilizator) serviciu
• Avantaje: fundamente formale solide, executabilitate, reprezentare grafică, verificare formală a modelelor
Obiect
Metoda
Metoda
Metoda
ObiectObiect
Model al interfeţei utilizatorCLG (Command Language Grammar)
CLG
• Utilizator:
– reformularea sarcinii în limbajul sarcinii asociatcalculatorului ; acţiuni fizice
– percepţia semnalelor fizice din parteacalculatorului, transformarea lor în structurisimbolice cu semnificaţie ; reformularearăspunsurilor sistemului în acord cu sarcinadelegată
CLG• Nivelul sarcinii:
– Scopul – de a analiza nevoile utilizatorului şi de a structura domeniul sarcinii astfel încât calculatorul să poată participa la realizarea ei
– Descrie structura sarcinii care îi e delegată sistemului
– Sarcina trebuie “tradusă” în operaţii pe care calculatorul le ştie executa
• Nivelul semantic:
– Descrie mulţimea de obiecte, atribute şi operaţii prin care comunică utilizatorul şi sistemul pentru îndeplinirea sarcinii ; de partea sistemului: structuri de date şi proceduri ; de parteautilizatorului : entităţi conceptuale şi operaţii asupra lor
CLG• Nivelul lexical:
– Descrie entităţile conceptuale şi operaţiile care pot fi folositeîntr-un anumit context al comenzii sau stare a sistemului şi modul în care acestea pot fi accesate (comenzi şi regulisintactice)
• Nivelul interacţiunii:
– descrie modul de translatare a numelor de comenzi şi obiectelor referite în acţiunile fizice asociate şi structurainteracţiunii (incluzând reguli de tastare şi convenţii de manipulare a mouseului şi reacţii din partea sistemului)
CLG - exempluNEW_MAIL=(A TASK (* check for new UNREAD_MESSAGES, if any,
read them)(DO (SEQ: (CHECK_FOR_NEW_MAIL)
(READ_NEW_MAIL))
)
UNREAD_MESSAGE = (AN ENTITYNAME = “ Unread_message”(*comments…)
)MESSAGE = (AN ENTITY REPRESENTS (AN UNREAD_MESSAGE)
NAME= “message”AGE = (ONE OF: OLD NEW)(*comments)
)
CLG - exempluSEM_M2 = (A SEMANTIC METHOD FOR CHECK_FOR_NEW_MAIL
DO (SEQ: (START PINE_PROGRAM)(SHOW INBOX)(LOOK IN INBOX FOR (A MESSAGE AGE = NEW))
))
SYN_M2 = ( A SYNTACTIC METHOD FOR CHECK_FOR_NEW_MAILDO (ENTER PINE/INBOX))
IA_M2 = (AN INTERACTION METHOD FOR CHECK_FOR_NEW_MAILDO(KEY:”PINE-I” RETURN)
)
Modele ale utilizatorului în proiectare
• reprezentări ale utilizatorilor în interacţiunea cu o interfaţă; modelează aspecte ale înţelegerii, cunoştinţelor, intenţiilor şi proceselor solicitate de interacţiunea cu o interfaţă.
– Modele ierarhice – sarcina şi structura de scopuri: GOMS, CCT
– Modele lingvistice – gramatica utilizator-sistem: BNF, TAG
– Modele fizice şi ale dispozitivelor – abilităţile motoriiumane:KLM
• Modelele dezvoltate de psihologi + analişti/ proiectanţi în intenţia de a-i înţelege pe utilizatori
Clasificarea modelelor• Modele de competenţă – anticipează secvenţele
comportamentale legale ale utilizatorului, fără a ţine seamadacă acestea pot fi executate în realitate (ceea ce se aşteaptăde la utilizator).
• Modele de realizare (performanţă) – descriu secvenţelecomportamentale necesare şi ceea ce e nevoie să ştie utilizatorii împreună cu modul în care aceste cunoştinţe suntfolosite în execuţia sarcinii
GOMS – Goals, Operators, Methods, Selection rules (Card, Moran, Newell)
• Cea mai utilizată şi influentă metodă de analiză a sarcinii(tehnică de descriere a dialogului bazată pe sarcină)
• Descrie paşii dintr-un dialog care sunt necesari pentru a îndeplini o sarcină cu o interfaţă specifică
• Scopul – estimarea performanţelor utilizatorului pebaza descrierii sistemului, înainte ca acesta să fie dezvoltat
GOMS
• Goals (scopuri) - stări pe care utilizatorul vrea să le atingă
• Operators (operatori) - acţiuni de bază pe care utilizatorultrebuie să le efectueze pentru a folosi sistemul ; afecteazăsistemul (apasă tasta F1) sau starea mentală a utilizatorului(citirea unei cutii de dialog)
• Methods (metode) - modalitate posibilă de a atinge un scop; conţine un număr de paşi
• Selection rules (reguli de selecţie) – stabilesc criteriile de folosire a unei metode
Operatorii• 3 tipuri:
– Externi - Percepţie şi acţiuni motorii
– Mentali
• Predefiniţi : RECALL, RETAIN, FORGET, RETRIEVE, DECIDE
• Definiţi de analişti: FIND_MENU_ITEM « Cut »
– Primitivi - derivaţi din hardul folosit (ex: mouse)
• stau la baza predicţiilor care se fac asupraperformanţelor aşteptate din partea utilizatorilor(fiecare operator are asociată o durată de execuţie)
Analiza GOMS
• Model al proceselor mentale în care utilizatorulîndeplineşte scopuri prin rezolvarea de subscopuri înmaniera divide-et-impera
• Analiza GOMS constă într-un scop de nivel înalt care este descompus într-o secvenţă de sarcini unitatecare pot fi descompuse mai departe până la nivelulde operatori de bază
Exemplu de analizăGOMS- selectare text
Selection rule set for goal: select textIf text-is word, then
Accomplish goal:select word.If text-is arbitrary, then
Accomplish goal:select arbitrary text.
Return with goal accomplished.Method for goal: select word
Step 1. Locate middle of word. (M)Step 2. Move cursor to middle of word. (P)Step 3. Verify that the correct word is located. (M)Step 4. Double click mouse button. (BB)Step 5. Verify that the correct text is selected. (M)Step 6. Return with goal accomplished.
Exemplu GOMS (continuare)
Method for goal: select arbitrary textStep 1. Locate beginning of text. (M)Step 2. Move cursor to beginning of text. (P)Step 3. Verify that the correct beginning is located.
(M)Step 4. Press mouse button down. (B)Step 5. Locate end of text. (M)Step 6. Move cursor to end of text. (P)Step 7. Verify that correct text is marked. (M)Step 8. Release mouse button. (B)Step 9. Verify that the correct text is selected. (M)Step 10. Return with goal accomplished.
Analiza GOMS
• Analiza structurii scopului din analiza GOMS oferă informaţii despre performanţă:
– Adâncimea stivei de scopuri poate da informaţiidespre cerinţele legate de memoria de scurtă durată
– 90% predicţii corecte asupra comenzilor executatede utilizatori
– Timpul de execuţie estimat cu o eroare de 33%
Deficienţe• Nivelul de granularitate al analizei
• Presupune comportament de expert, nu ia înconsiderare situaţiile de eroare
Metoda e potrivită pentru a descriemodul în care EXPERŢII efectueazăsarcini de rutină
CCT – Cognitive Complexity Theory
• implementare a modelului GOMS• 2 descrieri paralele:
– a scopurilor utilizatorilor - similar ierarhiei de scopuri din GOMS, dar sub forma de reguli de producţie de forma:
• If condition then action, unde:– Condition - propoziţie despre conţinutul memoriei de lucru
a utilizatorului ; dacă este adevărată, action se va executa– Action - constă din una sau mai multe acţiuni elementare
care pot fi schimbări în memoria de lucru sau pot fi acţiuniexterne (acţionări de taste)
– a sistemului informatic (numit dispozitiv(device)) – sub forma de diagrame stare-tranziţie
Exemplu CCT - Ştergerea unuicaracter
• (PRDELC1 IF (AND (TEST-GOAL delete character)
(NOT (TEST-GOAL move cursor to %LINE %COL)) (NOT (TEST-CURSOR %LINE %COL)))
THEN( (ADD-GOAL move cursor to %LINE %COL))
)
• (PRDELC2 IF (AND (TESTGOAL delete character)
(TESTCURSOR %LINE %COL)) THEN ( (DOKEYSTROKE DELETE)
(WAIT) (DELETEGOAL delete character) (UNBIND %LINE %COL))
)
Reţea de tranziţie
stare
tranziţie
acţiune utilizator
răspuns sistem
CCT
• Predicţii asupra timpului de execuţie a unei sarcini
• Analizând ceea ce trebuie să facă utilizatorul pentrua opera cu un anumit sistem prin intermediulreprezentării folosind reguli de producţie, se pot compara sisteme
• Reprezentarea folosind reguli de producţie poate fi folosită pentru analiza mapării sarcină-echipament, exprimând diferenţa dintre ierarhia de sarcini a utilizatorului (cum să fac) şi tranziţiile între stărilesistemului (cum funcţionează)
Modele lingvistice: BNF, TAG• BNF - Backus-Naur Form
• TAG – Task-Action Grammar
• Interacţiunea om-calculator privită ca un proces de comunicare prin intermediul unui limbaj
• Scopul modelelor : înţelegerea comportamentuluiutilizatorului şi analiza complexităţii cognitive a interfeţei
BNF
• Dialogul e privit la nivel sintactic, nivelul semantic fiind ignorat
• Metodă larg folosită pentru specificarea sintaxei limbajelor de programare
• Foloseşte două tipuri de simboluri:– Neterminale: reprezentate de litere mici – abstractizări de nivel
înalt– Terminale : reprezentate de litere mari – referă nivelul cel mai de
jos al comportamentului uman ( apăsarea unei taste, acţionareabutoanelor mouseului, mutarea mouseului)
• “::=“ ~ « se defineşte ca », « egal prin definiţie »
• Operatorii:– “|” ~ « sau »– “+” ~ « urmat de » , « şi »
Exemplu BNF – desenarea uneilinii
draw_line::= select_line+choose_points+last_pointselect_line::=position_mouse+CLICK_MOUSEchoose_points::=choose_one|choose_one+choose_pointschoose_one::=position_mouse+CLICK_MOUSElast_point::=position_mouse+DOUBLE_CLICK_MOUSEposition_mouse::=empty|MOVE_MOUSE+position_mouse
• Estimarea complexităţii interfeţei :– Numărul de reguli– Numărul de operatori « + » şi « | »– Numărul de acţiuni de bază sunt necesare îndeplinirii unei sarcini
• Reprezintă doar acţiunile utilizatorului, nu şi percepţiautilizatorului asupra răspunsului sistemului
TAG – Task-Action Grammar
• Extensie a BNF + reguli de producţie parametrizate(evidenţiază consistenţa în structura limbajului şiînglobează cunoştinţele utilizatorului despre lume(ex : « sus » este opusul lui « jos »)
• Ex: comenzile cp (copiere fişiere), mv (mutarefişiere) – Unix
• BNF:copy::= ‘cp’ + filename + filename
| ‘cp’ + filenames + directorymove::= ‘mv’ + filename + filename
| ‘mv’ + filenames + directory
Exemple TAG• TAG:
file_op[Op] := command[Op]+ filename+filename| command[Op]+filenames+directory
command[Op=copy]:=‘cp’command[Op=move]:=‘mv’
• Înglobarea cunoştinţelor despre lume – mutarea unui obiect folosind o interfaţă cu interacţiunea la nivelul liniei de comandă
movement[Direction]:=command[Direction] + distance +RETURNcommand[Direction=forward]:=‘FORWARD’command[Direction=backward]:=‘BACKWARD’command[Direction=left]:=‘LEFT’command[Direction=right]:=‘RIGHT’
• Folosirea formei “known-item” care denotă informaţie pe care utilizatorulo cunoaşte în prealabil şi pe care nu trebuie să o înveţe pentru a folosisistemul
movement[Direction]:=command[Direction] + distance +RETURNcommand[Direction]]:=known-item[Type=word, Direction]
Exemple TAG
*command[Direction=forward]:=‘FORWARD’*command[Direction=backward]:=‘BACKWARD’*command[Direction=left]:=‘LEFT’*command[Direction=right]:=‘RIGHT’
• Regulile notate cu “*” pot fi generate din a douaregulă folosind cunoştinţele despre lume ale utilizatorului şi nu sunt luate în considerare la măsurarea complexităţii interfeţei
Modele fizice – KLM (Keystroke Level Model)
• În strânsă legătură cu GOMS
• Se referă la sarcinile unitate (secvenţe de comenzisimple, precum : căutare/înlocuire, schimbareafontului unui cuvânt) a căror execuţie nu dureazămai mult de 20 secunde
• Se presupune că sarcinile complexe se descompunîn subsarcini înainte ca utilizatorul să treacă la acţiuni fizice
• Sarcina se împarte în două faze :– Achiziţia sarcinii- când utilizatorul îşi construieşte modelul
mental al sarcinii– Execuţia sarcinii - folosind facilităţile sistemului
KLM• se referă doar la a doua fază a sarcinii, cea de
execuţie
• Descompune faza de execuţie folosind 5 operatorifizico-motori, un operator mental şî un operator de răspuns al sistemului:
– K – apăsarea unei taste– B – apăsarea unui buton al mouseului– P – mutarea cursorului mouseului (sau altui dispozitiv de
pointare)– H – mutarea mâinii între tastatură şi mouse– D – desenarea de linii folosind mouseul– M – pregătirea mentală pentru o acţiune fizică– R – răspunsul sistemului ; poate fi ignorat dacă utilizatorul nu
trebuie să aştepte acest răspuns (ex : cazul copierii)
Exemplu KLM• Folosirea unui editor de texte – constatăm că un caracter a
fost scris greşit : ne poziţionăm la locul erorii, ştergemcaracterul, îl scriem corect, apoi revenim la poziţia anterioarăconstatării greşelii:
H[mouse]MPB[LEFT]6. repoziţionează-te unde ai rămas
K[char]5. scrie corecturaMK[DELETE]4. şterge caracterulH[keyboard]3. du mâna la tastatură
PB[LEFT]2. poziţionează cursorulmouseului înainte de caracterulgreşit
H[mouse]1.du mâna la mouse
T execuţie=TK+ TB + TP+ TH+ TD+ TM+ TR== 2tK+ 2tB + tP+ 3tH+ 0+ 2tM+ 0
KLM – durata operatorilor
KLM - observaţii• Cel mai dificil de estimat este M; utilizatorul e
decis asupra ceea ce are de făcut şi cum săfacă, M reprezintă doar timpul scurt în care utilizatorul îşi reaminteşte ce trebuie făcut.
• KLM - foarte bun pt a compara sisteme, chiar dacă acestea încă nu există, sau pt a compara metode în cadrul aceluiaşi sistem
• Predicţia e foarte bună (20% eroare)