Operazione: Progettazione dell'interfaccia utente
Questa attività descrive in che modo eseguire la progettazione della GUI con risalto all'utilizzabilità.
Discipline: Analisi e progettazione
Scopo
  • Per progettare un modello di interfaccia utente che supporti le motivazioni sulla propria utilizzabilità e il relativo potenziamento.
Relazioni
Descrizione principale

Durante la progettazione dell'interfaccia utente, ricordarsi di eventuali Storyboard creati durante la deduzione dei requisiti, le linee guida dell'interfaccia utente nelle linee guida specifiche del progetto, così come i Prototipi dell'interfaccia utente esistenti. Se si scopre che, come risultato di questa attività, si necessita di perfezionamenti dello Storyboard, i relativi aggiornamenti verranno effettuati dall'analista di sistema (consultare Compito: Deduzione delle richieste del portatore d'interesse).

Passi
Descrizione delle caratteristiche degli utenti associati

Descrivere le caratteristiche degli utenti che interagiranno con il sistema per eseguire i requisiti presi in considerazione nell'iterazione corrente. Porre attenzione alla descrizione degli utenti principali poiché la maggior parte delle interazioni riguardano questi utenti. Queste informazioni sono fondamentali per le fasi successive riportate di seguito.

Collaborare con l'analista di sistema per stabilire se eventuali modifiche alla descrizione Attore sono necessarie per rispecchiare le descrizioni delle caratteristiche. Fare riferimento alla sezione Guida del prodotto di lavoro: Actor, caratteristiche per i dettagli.

Identificazione degli elementi principali dell'interfaccia utente

Osservando i requisiti in questione nell'iterazione corrente (specialmente tutti i  casi d'uso e/o Storyboard), identificare le principali finestre dell'interfaccia utente del sistema. Per "primario" si intendono quelle finestre con cui l'utente interagirà maggiormente (gli elementi dell'interfaccia utente fondamentali nel modello logico dell'utente del sistema). Le finestre primarie contengono dei menu e potrebbero contenere delle finestre secondarie o dei moduli. Le finestre primarie sono le finestre che l'utente impiega per spostarsi. Le finestre non primarie possono finire per essere parte di una finestra primaria.

Per finestra primaria si intende la finestra che viene aperta quando l'utente avvia l'applicazione. E' di solito sempre aperta fino a quando l'applicazione è in esecuzione ed è l'ambiente in cui l'utente spende una parte considerevole del proprio "tempo di utilizzo". Poiché questa finestra è sempre aperta e costituisce il primo contatto dell'utente con il sistema, è il mezzo più importante per applicare il modello logico dell'utente del sistema. Tale finestra primaria viene comunemente indicata come "home page".

Raggruppare gli elementi dell'interfaccia utente nella stessa finestra primaria se è necessario presentarli congiuntamente oppure in relazione spaziale con altri elementi dell'interfaccia utente. Tuttavia, ciò non è sempre possibile a causa di limitazioni dell'area dello schermo. Si noti che i volumi medi degli oggetti sono dei dati importanti in questa fase, poiché stabiliscono quanti oggetti possono essere potenzialmente mostrati contemporaneamente. L'uso di troppi oggetti potrebbe non consentirne la visualizzazione nella stessa finestra; invece, una finestra primaria può contenere una rappresentazione compatta degli oggetti e, quindi, si possono definire diverse finestre primarie per ciascuno degli oggetti (o per un insieme di oggetti).

Di seguito sono riportate alcune raccomandazioni per le finestre primarie:

  • finestre che sono fondamentali nel modello logico dell'utente del sistema
  • le finestre in cui l'utente passerà il maggior tempo
  • le finestre che forniscono l'inizializzazione dei casi di utilizzo

Da ricordare che l'obiettivo è di ridurre il numero di finestre primarie e il numero dei percorsi di navigazioni tra esse.

Definizione della mappa di navigazione

In base alla serie identificata di finestre primarie e agli Storyboard, definire la mappa di navigazione del sistema.

La mappa di navigazione deve includere gli elementi primari dell'interfaccia utente ed i relativi percorsi di navigazione. Non deve contenere tutti i percorsi possibili attraverso gli elementi dell'interfaccia utente, solo i passaggi principali. Lo scopo della mappa di navigazione è di essere impiegato come percorso guidato dell'interfaccia utente del sistema.

Un più evidente candidato del "principale" elemento di interfaccia utente nella mappa di navigazione è la finestra primaria più importante (la finestra in cui l'utente passa la maggioranza del proprio tempo di utilizzo).

La mappa di navigazione deve specificare "quanti clic" un utente deve fare per raggiungere uno schermo specifico oppure una parte di funzionalità. In genere, l'utente desidera avere le più importanti aree dell'applicazione ad "un solo clic" dalla finestra primaria. Oltre all'aggiunta di inutili interazioni in eccesso, i percorsi di navigazione troppi lunghi rendono più probabile lo "smarrimento" dell'utente nel sistema. Idealmente, dovrebbe essere possibile aprire tutte le finestre dalla principale finestra primaria, con il risultato di avere una lunghezza massima di navigazione pari a due. Sarebbe opportuno evitare una lunghezza di navigazione delle finestre maggiore di tre.

La mappa di navigazione deve essere anche subordinata e rispecchiare la metafora d'uso per l'interfaccia utente del sistema, come documentato nelle linee guida specifiche del progetto.

Possono essere utilizzate diverse rappresentazioni della mappa di navigazione. Alcuni esempi includono:

  • un diagramma "struttura ad albero" gerarchico, in cui ciascun livello del diagramma mostra il numero di clic necessario per raggiungere uno specifico elemento dell'interfaccia utente
  • grafica a formato libero con icone personalizzate
  • Diagramma classe UML in cui le classi sono utilizzate per gli elementi dell'interfaccia utente e le associazioni per i percorsi di navigazione

La selezione del tipo di rappresentazione da utilizzare è specificata nelle linee guida specifiche del progetto.

Dettaglio della progettazione degli elementi dell'interfaccia utente

A questo punto è completata la progettazione dell'interfaccia utente di livello elevato:

  • Le finestre primarie sono state identificate.
  • Gli elementi dell'interfaccia utente ed i relativi percorsi di navigazione sono stati definiti (la Mappa di navigazione).

E' ora possibile eseguire la progettazione dettagliata degli elementi dell'interfaccia utente. Di seguito sono riportati i diversi aspetti della progettazione degli elementi dell'interfaccia utente. Ciascun aspetto è descritto di seguito:

Progettazione della visualizzazione delle finestre primarie

La visualizzazione delle finestre primarie e in particolare della finestra primaria più importante avrà un impatto significativo sull'utilizzabilità del sistema. La progettazione della visualizzazione si occupa di determinare quali parti (proprietà) degli elementi dell'interfaccia utente contenuti devono essere visualizzate. E' possibile utilizzare i flussi di eventi Storyboard per assegnare una priorità alle proprietà da mostrare. Se l'utente deve consultare diverse proprietà di elementi dell'interfaccia utente, è possibile implementare svariate viste di una finestra primaria, ciascuna visualizzando una serie di proprietà diversa. La progettazione di questa visualizzazione significa anche che occorre osservare come le proprietà degli elementi dell'interfaccia utente contenuti devono essere visualizzati, mediante utilizzo di tutte le dimensioni visive. Per i dettagli, fare riferimento alla sezione "Dimensioni visive" in Linea guida: Interfaccia utente (generale).

Dov'è possibile, provare a identificare dei "denominatori comuni" tra gli elementi da visualizzare nelle finestre primarie. Con la visualizzazione di denominatori comuni in una determinata dimensione, l'utente può associare gli elementi tra loro e iniziare ad osservare i modelli. Ciò consente di aumentare notevolmente la "larghezza di banda" dell'interfaccia utente.

Esempio:

Si supponga di avere un sistema di assistenza tecnica in cui si desidera mostrare degli aspetti come:

  • i reclami e le domande del cliente nel tempo
  • quali prodotti il cliente ha acquistato nel tempo
  • l'importo che è stato fatturato al cliente nel tempo

Qui il denominatore comune è il "tempo." Pertanto, la visualizzazione dei reclami/domande, acquisti e fatture affiancati sulla stessa asse orizzontale del tempo fornirà all'utente la possibilità di osservare in che modo sono correlate queste voci.

Progettazione delle azioni utente delle finestre primarie

Con questa funzione è possibile decidere in che modo "implementare" le azioni utente che possono essere richiamate per le finestre primarie. E' comune che le azioni utente delle finestre primarie siano fornite come voci di menu in una barra menu e come alternativa e complemento mediante i menu a comparsa e la barra degli strumenti.

Per ciascuna finestra primaria, definire uno o più menu e le relative opzioni. Ad esempio, in un editor di documenti è presente un menu Modifica che raggruppa operazioni come Taglia, Copia, ecc..

Alcune azioni utente potrebbero richiedere una complessa iterazione con l'utente, giustificando pertanto una finestra secondaria autonoma. Ad esempio, in un editor di documenti, è presente una funzione Stampa di un documento che, a causa della complessa interazione, giustifica l'esistenza di una finestra di dialogo separata.

Se occorre visualizzare un elevato numero di oggetti in una finestra, potrebbe essere necessario progettare le azioni utente interessando questi oggetti. Di seguito sono riportati alcuni esempi di tali azioni utente:

  • ricerca tra più oggetti
  • ordinamento di più oggetti
  • esplorazione delle gerarchie di più oggetti
  • selezione di più oggetti

Fare riferimento alla sezione Linea guida: Interfaccia utente (generale) per maggiori dettagli.

Progettazioni di varie funzioni

Aggiungere la funzionalità dinamica richiesta all'interfaccia utente. Molte dinamiche sono fornite dalla piattaforma di destinazione, come il modello di selezione-funzionamento, con apertura mediante doppio clic, menu a comparsa sul tastino destro del mouse, ecc.. Esistono, tuttavia, alcune decisioni che occorre prendere, incluse:

  • come supportare la gestione delle finestre
  • quali informazioni sulla sessione, come la posizione del cursore di input e della barra di scorrimento, le finestre aperte, le dimensioni delle finestre, le relative posizioni delle finestre, ecc., da memorizzare tra una sessione e l'altra.
  • se supportare singole o multiple interfacce del documento (SDI o MDI) per le finestre primarie

Inoltre, valutare altre funzioni comuni che possono migliorare l'utilizzabilità, incluse le seguenti:

  • se la "guida in linea", incluse le "procedure guidate", devono essere fornite
  • la volontà di un'operazione di "annulla", per rendere il sistema sicuro per l'esplorazione
  • se fornire gli "agenti", per controllare gli eventi utente e per proporre attivamente le azioni
  • se fornire la "segnalazione dinamica", per visualizzare le associazioni
  • se devono essere supportate le "macro" definite dall'utente
  • se esistono delle aree specifiche che devono essere configurabili dall'utente

Fare riferimento alla sezione Linea guida: Interfaccia utente (generale) per maggiori dettagli.

Ulteriori informazioni