Corso di Interfacce Utente - A.A. 2005-2006

PROGETTO DI LABORATORIO - DOCUMENTO 3 DI 3

Vedere la pagina principale del progetto per gli altri due documenti.

Specifiche per l'interfaccia da realizzare

Generalita'

In ogni momento sono presenti in memoria:

L'insieme dei punti extra serve per contenere i punti non ancora inseriti nel / gia' eliminati dal diagramma di Voronoi durante una sessione di lavoro.
Inizialmente il diagramma di Voronoi ha solo quattro siti, posizionati negli angoli del rettangolo di riferimento, e percio' quattro regioni corrispondenti ai quattro quadranti del piano; l'insieme dei punti extra e' vuoto.

Il diagramma di Voronoi si implementa con la classe Voronoi. Per i punti extra occorre definire una propria implementazione, ricordando che Java fornisce varie classi predefinite per gestire insiemi.

Resa grafica

Per default l'interfaccia mostra i siti di Voronoi, le regioni di Voronoi e i punti extra. L'utente puo' scegliere di mostrare / nascondere ciascuna di queste tre entita'.
E' importante differenziare la resa grafica dei siti e quella dei punti extra.
A seconda dello stato dell'interfaccia, alcuni elementi possono essere evidenziati (ad esempio quelli coinvolti nell'operazione corrente) se lo si ritiene opportuno.

Accesso alle operazioni applicative

L'utente deve poter fare le seguenti operazioni.

Operazioni sull'insieme dei punti extra:

Operazioni sul diagramma di Voronoi:

L'aggiunta / eliminazione di tutti puo' essere fatta con animazione (ved. sotto).

Animazione

L'animazione consiste nell'eseguire "a passi" l'aggiunta di tutti i punti extra al diagramma di Voronoi e l'eliminazione di tutti i siti dal diagramma di Voronoi.

Un passo coincide con l'inserimento / eliminazione di un singolo punto.

L'animazione puo' essere abilitata e disabilitata dall'utente.

Se l'animazione e' abilitata, allora dopo ogni passo viene mostrato il nuovo diagramma, fino al risultato finale. Se l'animazione e' disabilitata allora viene mostrato direttamente il risultato finale.

I passi dell'animazione possono essere comandati manualmente dall'utente (compiendo un'azione per eseguire il passo successivo) oppure procedere in automatico dopo un certo intervallo di tempo. L'interfaccia permette all'utente di scegliere tale intervallo.

In qualsiasi momento l'utente puo' interrompere l'animazione. Dopo averla interrotta puo' riprendere l'esecuzione (per inserire / eliminare i punti rimanenti) oppure abortirla (rinunciando ad inserire / eliminare i punti rimanenti).

Durante la sosta l'utente puo' cambiare la modalita' di comando dell'animazione (manuale o automatica) e l'intervallo di tempo usato nella modalita' automatica.

Gradi di liberta' e raccomandazioni

Non e' specificato in che modo l'utente deve interagire (es. come si fa a selezionare il punto extra da inserire o il sito da eliminare).
E non e' specificato se non in parte il feedback da rendere all'utente (es. come si comunica all'utente l'avvenuta selezione del punto).
E non sono nemmeno specificate le sequenze di azioni necessarie per compiere le varie operazioni (es. per inserire un punto extra devo prima selezionare il punto e poi dire che lo voglio inserire oppure prima dire che voglio inserire un punto e poi selezionare quale).

Tutto quanto non specificato fa parte della liberta' che avete nel progettare l'interfaccia.

Questa liberta' va gestita tenendo in considerazione i principi generali per la progettazione di interfacce utente (buona presentazione, efficace interazione, facilita' di apprendimento, comodita' d'uso ecc.).

Questo e' un progetto di interfacce utente. Pertanto, sara' tenuto conto non solo del fatto che tutte le funzioni richieste siano presenti nell'interfaccia, ma anche e di quanto facile e gradevole risulta l'uso dell'interfaccia stessa per l'utente.