Interazione Uomo Macchina ha come scopo la collaborazione fra utente e computer per svolgere un certo lavoro.
Interfaccia utente o Graphical User Interface (GUI): strumento attraverso il quale il computer comunica con l'utente e viceversa, per realizzare (facilitare) questa collaborazione.
In generale interfaccia e' anche fra due strati software: da strato di basso livello verso strato di alto livello. Infatti occorre specificare: interfaccia "utente".
Per interfacce utente distinguere tra:
Come l'interfaccia si presenta visivamente e come si lascia usare dall'utente.
Attraverso l'interazione l'utente controlla il sistema o l'applicazione sottostante l'interfaccia.
L'interazione consiste in azioni dell'utente che provocano reazioni da parte dell'interfaccia.
Le azioni avvengono tramite i dispositivi di input:
Le reazioni avvengono internamente, e sono manifestate all'utente tramite i dispositivi di output (schermo, altoparlante).
Il comportamento di un programma dotato di interfaccia utente grafica e' di tipo inter-attivo.
Sono le azioni compiute dell'utente sui dispositivi di input
a determinare il flusso di esecuzione del programma.
Contrariamente ai programmi batch in cui il flusso e' predefinito
nel codice.
Compito dell'interfaccia e' raccogliere le azioni e scatenare
le reazioni corrispondenti.
+------+ azione su +------------+ +--------+ | |--(1)--> dispositivo --(2)--> evento --->| (3) | | (3bis) | | | di input |interfaccia | | | |utente| |della |<--->|appli- | | | feedback su reazione |applicazione| |cazione | | |<--(5)-- dispositivi <--(4)-- (cambio <---| | | | +------+ di output di stato) +------------+ +--------+
(1) L'utente compie azioni sui dispositivi di input (mouse, tastiera).
(2) Le azioni sono tradotte in eventi. Evento = pacchetto di informazioni che descrive che cosa e' avvenuto.
(3) L'evento viene elaborato dal codice dell'interfaccia,
per decidere che cosa fare (come reagire).
La reazione cambia lo stato dell'interfaccia (es. aumenta lo zoom
con cui viene mostrato un testo che sto editando)
e/o del programma applicativo sottostante (es. modifica il testo).
(4) La reazione (avvenuto cambio di stato) viene comunicata all'utente come feedback sui disposiviti di output (schermo, altoparlante).
(5) L'utente riceve il feedback e in base a questo
decidera' la prossima azione...
Il feedback e' molto importante!
Lo stile di interazione riguarda il modo in cui l'interfaccia
Stili fondamentali:
Tipico delle interfacce NON grafiche. Interazione da command-line.
Input dell'utente consiste in comandi alfanumerici. Output consiste in messaggi alfanumerici.
Puo' essere realizzato sia da un'interfaccia grafica che da una non grafica.
In ogni momento l'utente puo' immettere una scelta in una lista che gli viene proposta. In base alla scelta dell'utente, l'interfaccia compie un'operazione oppure propone un'altra lista di scelte (serie di menu' gerarchici, cioe' in cascata).
Puo' essere realizzato sia da un'interfaccia grafica che da una non grafica. Nelle interfacce grafiche di solito reso con finestre di dialogo.
All'utente si chiede di compilare dei campi con informazioni di tipo vario (una scelta fra alternative, un valore numerico, una stringa, un booleano...). Idea del modulo da compilare. Alcune parti possono essere pre-compilate con valori di default.
Sopperisce alla carenza dei menu' (che non sono in grado, per
esempio, di richiedere dati in input).
Spesso abbiamo voci di menu' che, se scelte, portano a una finestra
di dialogo (es. impostazioni di stampa).
Tipico delle interfacce grafiche.
Mostra un insieme di oggetti grafici sullo schermo e l'utente puo' interagire con ciascuno di essi. L'utente agisce direttamente su un oggetto attraverso il mouse. Gli oggetti sono reattivi: il loro aspetto, posizione... cambia a seconda delle azioni dell'utente.
L'interfaccia non solo deve rendere possibile all'utente utilizzare il programma sottostante, ma deve anche far si' che utilizzarlo risulti facile, efficiente e gratificante.
Esistono vari aspetti che saranno trattati fra poche lezioni dalla dott.ssa Papaleo, fra cui:
Esempio: cancellare un file.
Ogni stile ha pro e contro:
Per venire incontro alle diverse esigenze, gli stili si possono combinare tra loro.
Alcuni obiettivi di usabilita' sono raggiunti mediante consistenza (o coerenza):
Vantaggi della consistenza: