4.Progettazione e sviluppo per prototipi successivi

36
PROGETTAZIONE E SVILUPPO PER PROTOTIPI SUCCESSIVI Corso di Interazione Uomo Macchina AA 2009-2010 Roberto Polillo Università di Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione 1 R.Polillo - 2009

description

Corso di Interazione Uomo Macchina del Prof.R.Polillo - Università di Milano Bicocca - DISCO - AA. 2009-2010 - Lezione 2 (vedi anche www.rpolillo.it)

Transcript of 4.Progettazione e sviluppo per prototipi successivi

Page 1: 4.Progettazione e sviluppo per prototipi successivi

PROGETTAZIONE E SVILUPPOPER PROTOTIPI SUCCESSIVI

Corso di Interazione Uomo MacchinaAA 2009-2010

Roberto Polillo

Università di Milano BicoccaDipartimento di Informatica, Sistemistica e Comunicazione

1R.Polillo - 2009

Page 2: 4.Progettazione e sviluppo per prototipi successivi

L’ingegneria del software

• La disciplina che si occupa de problemi tecnici e di gestione dello sviluppo dei sistemi software

• Studia, tra l’altro, i vari modelli dei processi di progettazione e sviluppo dei sistemi software

5R.Polillo - 2009

Page 3: 4.Progettazione e sviluppo per prototipi successivi

Il modello tradizionale di progettazione e sviluppo

Requisiti

Analisi e progettazione

Realizzazione

Test

Rilascio

Modello “a cascata”: dopo una decisione, non si torna indietro

6R.Polillo - 2009

Page 4: 4.Progettazione e sviluppo per prototipi successivi

TestIl termine generico di “test” denota due tipi di controlli molto diversi:

• Verifica (ingl.: verification)

controllo che il prodotto sia congruente con quanto specificato (“make the thing right”)

• Convalida (ingl.: validation)

controllo che il prodotto soddisfi effettivamente le esigenze per le quali è stato concepito (“make the right thing”).

La convalida è molto più “difficile” della verifica, e richiede il coinvolgimento dell’utente

7R.Polillo - 2009

Page 5: 4.Progettazione e sviluppo per prototipi successivi

Modello tradizionale: pro e controPRO:

• fasi logiche ben definite

• ogni fase fornisce gli input alla fase successiva

• possibilità di mettere check-point fra una fase e l’altra (“milestones”)

• processo (apparentemente) ben controllabile

CONTRO:

• il sistema prodotto si vede solo alla fine, e può non essere soddisfacente

• il modello è concettualmente sbagliato, e non funziona:– nella pratica, spesso si rivela necessario modificare le decisioni già prese nelle fasi

precedenti, e rifare lavoro già fatto (complessità del sistema, mutate esigenze, problemi evidenziati dall’uso)

– nella pratica, il processo va quindi spesso fuori controllo (allungamento dei tempi di sviluppo, aumento dei costi)

8R.Polillo - 2009

Page 6: 4.Progettazione e sviluppo per prototipi successivi

Il modello corretto (iterativo)

Sviluppo per prototipi successivi

Prototi-pazione

TestProget-tazione

Inizio

Rilascio

Requisiti

NOTA BENE: anche i requisiti

evolvono durante il processo!

9R.Polillo - 2009

Page 7: 4.Progettazione e sviluppo per prototipi successivi

Che cos’è un prototipo

Proto-typos : “primo modello”

Un modello approssimato o parziale del sistema che vogliamo sviluppare, realizzato allo scopo di valutarne alcune caratteristiche, e, se necessario, “correggere il tiro”

“A representatio of all or part of a product or system that, although limited in some way, can be used for evaluation” (ISO 13407)

10R.Polillo - 2009

Page 8: 4.Progettazione e sviluppo per prototipi successivi

Esempio

11R.Polillo - 2009

Page 9: 4.Progettazione e sviluppo per prototipi successivi

Esempio

Prototipo di cartone di iPhone

12R.Polillo - 2009

Page 10: 4.Progettazione e sviluppo per prototipi successivi

Perchè creare prototipi?

• Per avere un rapido feedback sul progetto, effettuando dei test iniziali di convalida con l’utente

• Per sperimentare design alternativi

• Per migliorare il progetto prima e durante la sua realizzazione

I test con l’utente fanno parte del processo di progettazione

13R.Polillo - 2009

Page 11: 4.Progettazione e sviluppo per prototipi successivi

In pratica, tutti i processi corrono in parallelo, sia pure con enfasi diversa nelle varie fasi:

“Unified Software Development Process”,Jacobson,Booch, Rumbaugh

tempo

Requisiti

Progettazione

Prototipazione

Test

Rilascio

sforzo

itera

zion

e 1

itera

zion

e 2

itera

zion

e 3

itera

zion

e 4

itera

zion

e 5

itera

zion

e 6

itera

tzio

ne 7

itera

zion

e 8

tempo

Requisiti

Progettazione

Prototipazione

Test

Rilascio

14R.Polillo - 2009

Page 12: 4.Progettazione e sviluppo per prototipi successivi

ISO 13407: “Human-centred design process for interactive systems”

Identifica le necessità per la progettazione

centrata sull’utente

Comprendi e specifica il

contesto d’uso

Specifica i requisiti dell’utente e

dell’organizzazioneValuta il progetto

rispetto ai requisiti

Produci soluzioni di progetto

il sistema soddisfa i requisiti dell’utente e

dell’organizzazione

15R.Polillo - 2009

Page 13: 4.Progettazione e sviluppo per prototipi successivi

Modello iterativo: pro e contro

PRO:

• Il prodotto si vede (anche se in modo parziale), fin dall’inizio e viene perfezionato per aggiustamenti successivi

• le scelte effettuate possono essere sperimentate anticipatamente: si possono scartare quelle sbagliate

• è il modello concettualmente corretto per la realizzazione di sistemi complessi

CONTRO:

• Difficoltà di stima dei costi a preventivo

• Si rischia di far divergere il processo, per troppe richieste di modifiche

• La fluidità delle specifiche rende più difficile la comunicazione fra le persone coinvolte (team di progetto, committente)

16R.Polillo - 2009

Page 14: 4.Progettazione e sviluppo per prototipi successivi

Il ciclo compito-artefatto

Artefatto

Compito

Fa nascere Modifica

17R.Polillo - 2009

Page 15: 4.Progettazione e sviluppo per prototipi successivi

L’ingegneria dell’usabilità

La disciplina che si occupa dei metodi e delle tecniche che permettano di specificare, raggiungere e verificare gli obiettivi di usabilità nella progettazione e sviluppo dei sistemi interattivi

Vari approcci, ma aspetti chiave comuni:– modello di sviluppo iterativo per prototipi successivi– coinvolgimento dell’utente durante tutto il processo– inserimento di “usability engineer” nel team di sviluppo– definizione di metriche e effettuazione di misure di usabilità

18R.Polillo - 2009

Page 16: 4.Progettazione e sviluppo per prototipi successivi

Tipi di prototipi

19R.Polillo - 2009

Page 17: 4.Progettazione e sviluppo per prototipi successivi

Classificazione dei prototipi:

I prototipi possono essere classificati sulla base delle lorocaratteristiche, per es.:

Fedeltà:

- bassa fedeltà: “assomiglia” alla lontana al prodotto finale

- alta fedeltà: “assomiglia” in tutti gli aspetti al prodotto finale

Tempo di vita:

- “usa e getta” (“throw away”): realizzato con tecnolgia provvisoria, il suo arco di vita è limitato

- evolutivo: realizzato con la tecnologia finale, e viene fatto evolvere fino al prodotto finale

Completezza funzionale:

- orizzontale: fornisce tutte le funzioni del prodotto finale, anche se in versione limitata

- verticale: fornisce solo alcune funzioni, realizzate in dettaglio

20R.Polillo - 2009

Page 18: 4.Progettazione e sviluppo per prototipi successivi

Classificazione dei prototipi (II)

Oppure (meglio) i prototipi possono essere classificati sulla base del loro scopo, per es.:

Ruolo

Implementazione

look & feel

Ruolo: ruolo del prodotto prototipato nella vita del suo utente

Look&feel: esperienza sensoriale dell’uso del prodotto

Implementatione: tecniche e componenti usati nella realizzazione del prodotto

Cfr. S.Houde, C.Hill, What do Prototypes Prototype?http://www.viktoria.se/fal/kurser/winograd-2004/Prototypes.pdf

P1

P2

22R.Polillo - 2009

Page 19: 4.Progettazione e sviluppo per prototipi successivi

I prototipi iniziali

• Sono molto utili nelle prime fasi del progetto, per esplorare e valutare diverse soluzioni possibili, a costi contenuti

• Sono molto spesso del tipo “usa e getta”, realizzati anche a costi molto bassi

• Le tecnologie usate possono essere varie, di solito molto semplici, per es.: carta, HTML, PowerPoint

24R.Polillo - 2009

Page 20: 4.Progettazione e sviluppo per prototipi successivi

L’interfaccia viene disegnata a bassa fedeltà su cartoncini mobili…

Prototipi di carta (I)

25R.Polillo - 2009

Page 21: 4.Progettazione e sviluppo per prototipi successivi

… che vengono usati per effettuare una simulazione “manuale” del sistema, con utenti-cavia …

Utente

“Computer”

Osservatori

Prototipo di carta (II)

… dopodichè l’interfaccia si corregge, e si riprova …26R.Polillo - 2009

Page 22: 4.Progettazione e sviluppo per prototipi successivi

27R.Polillo - 2009

Page 23: 4.Progettazione e sviluppo per prototipi successivi

Video

• Prototipi di carta (3’):

http://it.youtube.com/watch?v=GrV2SZuRPv0

• Prototipi di carta e scenari (3’)d’uso: un’applicazione per PDA per incontrare amici all’Università http://it.youtube.com/watch?v=c4-A-9hGn0U

28R.Polillo - 2009

Page 24: 4.Progettazione e sviluppo per prototipi successivi

Prototipi di carta

VANTAGGI:

• Velocità e basso costo di realizzazione

• Permettono di provare l’interazione in modo semplice

• Basso costo delle modifiche

SVANTAGGI:

• L’interazione è lenta e quindi innaturale, perché simulata attraverso un “mago di Oz”

• Fedeltà molto bassa per gli aspetti di layout grafico

29R.Polillo - 2009

Page 25: 4.Progettazione e sviluppo per prototipi successivi

Prototipi ipertestualiSchermate cliccabili permettono di “navigare” nell’interfaccia, simulando l’interazione

Esempi: PowerPoint, Hypercard in qualche caso: HTML, [Flash]

30R.Polillo - 2009

Page 26: 4.Progettazione e sviluppo per prototipi successivi

Prototipi PowerPoint (I)

• PowerPoint può essere usato per realizzare facilmente prototipo navigabili:– Ogni schermata è una slide Power Point– Su ogni schermata vengono realizzate aree

sensibili, con link ad altre slide– Cliccando sulle aree sensibili, l’utente “naviga”

nell’interfaccia

• NB: le slide devono contenere solo l’interfaccia, senza commenti o indicazioni

31R.Polillo - 2009

Page 27: 4.Progettazione e sviluppo per prototipi successivi

Prototipi PowerPoint (II)

VANTAGGI:

• Facili da realizzare e da modificare

• La interattività non richiede un mago di Oz

• Gli aspetti grafici possono essere definiti “abbastanza” bene

SVANTAGGI:

• Modello di interazione limitato (“point & click”)

• Limiti pratici alla complessità dell’ipertesto (oltre un centinaio di slide diventa poco gestibile)

32R.Polillo - 2009

Page 28: 4.Progettazione e sviluppo per prototipi successivi

Esempi (vedi allegati)

Applicazioni per cellulari:– Controllo elettrodomestici– Schedine

33R.Polillo - 2009

Page 29: 4.Progettazione e sviluppo per prototipi successivi

Prototipi HTML

• Vanno bene per i siti web, indipendentemente dalla tecnologia utilizzata per la realizzazione del sito finale

• Meglio non utilizzarli per altre applicazioni: – gli aspetti grafici sono poco controllabili (a basso costo)– lo strumento usato tende a influenzare le scelte di design

34R.Polillo - 2009

Page 30: 4.Progettazione e sviluppo per prototipi successivi

Esempio: Prototipo di navigazione per un sito web

Obiettivo: permettere di sperimentare e mettere a punto la struttura di navigazione di un sito web

Tecnologia: prototipo a bassa fedeltà, usa e getta, in HTML

Esempi:

- Demo sito di un negozio di chitarre

- Demo sito di un teatro

- Demo sito di una pizzeria

35R.Polillo - 2009

Page 31: 4.Progettazione e sviluppo per prototipi successivi

Suggerimenti

E’ bene evitare strumenti di prototipazione che:– pongano difficoltà tecniche nella realizzazione

(devo pensare al prototipo, non allo strumento)– possano influenzare, con le loro peculiarità, il design

del sistema prototipato(“questo non riesco a farlo, quindi cambio il design”)

Una soluzione spesso molto valida:

Prototipo di carta poi prototipo PowerPoint

36R.Polillo - 2009

Page 32: 4.Progettazione e sviluppo per prototipi successivi

Login

Benvenuto nel sistema di controllo degli elettrodomestici.

Ti preghiamo di autenticarti, inserendo il tuo nome utente e la password.

NOME UTENTE

PASSWORD

OK

michele

********

HELP

Esempio

37R.Polillo - 2009

Page 33: 4.Progettazione e sviluppo per prototipi successivi

Login

Benvenuto nel sistema di controllo degli elettrodomestici.

Ti preghiamo di autenticarti, inserendo il tuo nome utente e la password.

NOME UTENTE

PASSWORD

OK

michele

********

HELP

38R.Polillo - 2009

Page 34: 4.Progettazione e sviluppo per prototipi successivi

HELP

ElettrodomesticiSeleziona uno dei link o delle icone sottostanti per accedere alle funzionalità:

Torna al menù principale

Lavatrice

Frigorifero

Lavastoviglie

Esempio (segue)

39R.Polillo - 2009

Page 35: 4.Progettazione e sviluppo per prototipi successivi

Lavatrice

HELP

generale

Programma di lavaggio delicato a bassa temperatura in corso…

Avvia

Esecuzione lavoro (interrotto)

10% completato… (in pausa)

Riprendi

dettagli

Torna al menù elettrodomestici

1

Esempio (segue)

40R.Polillo - 2009

Page 36: 4.Progettazione e sviluppo per prototipi successivi

HELP

Lavatricedettagligenerale

Produttore: Ariston

Modello: Lavasciuga 2000

Installata il 18/07/2002.

Driver aggiornato al 16/10/2002.

Ore di funzionamento: 92.

Interventi tecnici: nessuno.

Media interventi: non disponibile.

Torna al menù elettrodomestici

2

Esempio (segue)

41R.Polillo - 2009