59
Interactiunea. Metode de descriere a interactiunii om-calculator Curs 3

Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

Interactiunea. Metode de descriere a

interactiunii om-calculator

Curs 3

Page 2: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

Cadrul general al interactiunii

Page 3: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 4: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 5: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 6: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 7: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 8: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 9: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 10: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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)

Page 11: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

WIMP

Page 12: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 13: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 14: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

Interfete tridimensionale

http://ecodazoo.com/

Page 15: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

Interfete 3D

http://www.infovis.net/printMag.php?num=154&lang=2

Page 16: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 17: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 18: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 19: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 20: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 21: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 22: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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;

Page 23: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 24: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 25: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 26: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

Algebra proceselor (2)PrefixPrefixarea

.PCom1Compunerea paralelă

(P|Q)Com2

SumAdunarea(P+Q)

ResRestricția(P\L)

Com3

QPQP

PP

|'|

'

'||

'

QPQP

QQ

'|'|

''

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

Page 27: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 28: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 29: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

Model al interfeţei utilizatorCLG (Command Language Grammar)

Page 30: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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ă

Page 31: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 32: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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)

Page 33: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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)

)

Page 34: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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)

)

Page 35: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 36: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 37: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 38: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 39: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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)

Page 40: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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ă

Page 41: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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.

Page 42: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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.

Page 43: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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%

Page 44: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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ă

Page 45: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 46: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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 (TEST­GOAL delete character)

(TEST­CURSOR %LINE %COL)) THEN ( (DO­KEYSTROKE DELETE)

(WAIT) (DELETE­GOAL delete character) (UNBIND %LINE %COL))

)

Page 47: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

Reţea de tranziţie

stare

tranziţie

acţiune utilizator

răspuns sistem

Page 48: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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ă)

Page 49: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 50: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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 »

Page 51: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 52: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 53: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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]

Page 54: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 55: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 56: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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)

Page 57: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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

Page 58: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

KLM – durata operatorilor

Page 59: Interactiunea. Metode de descriere a interactiunii om ...adriana/HCI/Curs3.pdf · Stiluri de interactiune • Interfete la linia de comanda (text) • Meniuri • Limbaj natural •

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)