Concetto: Prototipi
Un prototipo è una versione iniziale ridotta della soluzione del sistema o di una parte di essa costruita in breve tempo e migliorata in diverse iterazioni per testare e valutare l'efficacia della progettazione globale utilizzata per risolvere un particolare problema.
Relazioni
Descrizione principale

Utilizzo

I prototipi vengono utilizzati in un modo diretto per ridurre i rischi. I prototipi possono ridurre le incertezze dell'organizzazione circostante:

  • L'attuabilità commerciale di un prodotto in via di sviluppo
  • La stabilità o le prestazioni di tecnologie chiave
  • Impegno o consolidamento del progetto: creando un piccolo prototipo a prova di concetto
  • La comprensione dei requisiti
  • L'aspetto del prodotto, la relativa utilizzabilità.

Un prototipo può aiutare la creazione di un supporto per il prodotto mostrando qualcosa di concreto ed eseguibile agli utenti, ai clienti ed ai responsabili.

E' tuttavia necessario che la natura e l'obiettivo del prototipo restino chiari per tutto il ciclo di vita. Se non si prevede di far evolvere il prototipo nel prodotto reale, è bene non supporre che poiché il prototipo funziona diverrà il prodotto finale. Un prototipo di esplorazione, comportamentale inteso a collaudare molto rapidamente alcune interfacce utenti, raramente evolve in un prodotto forte, versatile.

Tipi di prototipi

E' possibile visualizzare i prototipi in due modi: per quello che esplorano e per come evolvono o in base ai risultati.

nel contesto della prima vista - per quello che esplorano - esistono due tipi di prototipi:

  • Un prototipo di comportamento, che si focalizza sull'esplorazione del comportamento specifico del sistema.
  • Un prototipo strutturale, che esplora alcuni concetti tecnologici e strutturali.

Nel contesto della seconda vista - i risultati - esistono anche qui due tipi di prototipi:

  • Un prototipo di esplorazione,che viene eliminato una volta utilizzato, denominato anche prototipo di eliminazione.
  • Un prototipo evolutivo, che evolve gradualmente per divenire il sistema reale.

Prototipi di esplorazione

Un prototipo di esplorazione viene progettato per essere un piccolo"esperimento" per verificare alcune ipotesi chiave relative al progetto, alla funzionalità, alla tecnologia o a entrambe. Potrebbe essere semplicemente formato da poche centinaia di righe di codice, create per verificare le prestazioni di un componente chiave software o hardware. Oppure potrebbe essere un modo di chiarire i requisiti, un piccolo prototipo sviluppato per verificare se lo sviluppatore comprende un requisito particolare tecnico o di comportamento.

I prototipi di esplorazione vengono di solito "eliminati" intenzionalmente e la verifica tende ad essere informale. La progettazione di prototipi di esplorazione tende ad essere molto informale ed è il lavoro al massimo di uno o due sviluppatori.

Prototipi evolutivi

I prototipi evolutivi, come implica il nome, evolvono da un'iterazione all'altra. Mentre inizialmente non qualità di produzione, il relativo codice tende ad essere rielaborato con l'evoluzione del prodotto. Per mantenere la rilavorazione maneggevole, tendono ad essere progettati più formalmente piuttosto che verificati formalmente anche nelle prime fasi. Con l'evoluzione del prodotto, la verifica viene formalizzata, come di solito nella progettazione.

prototipi di comportamento

i prototipi di comportamento tendono ad essere prototipi di esplorazione; no n tentano di riprodurre l'architettura del sistema da sviluppare ma invece si focalizzano sulle azioni del sistema come per gli utenti ("interfaccia"). Frequentemente, questo tipo di prototipo è "veloce e sporco," non creato per gli standard del progetto. Ad esempio, è possibile utilizzare Visual Basic come linguaggio prototipo, mentre C++ sarà il progetto di sviluppo. I prototipi esplorativi sono temporanei, vengono creati con il minimo impegno lavorativo e vengono eliminati una volta serviti allo scopo.

Prototipi strutturali

I prototipi strutturali tendono ad essere prototipi evolutivi, è molto probabile che utilizzino l'infrastrutture del sistema definitivo, (le "ossa") e molto probabilmente evolveranno divenendo il sistema reale. Se il prototipo viene creato utilizzando l'insieme di strumenti e lingua di "produzione", vi sarà il vantaggio ulteriore di essere in grado di verificare l'ambiente di sviluppo e consentire che una parte del personale acquisti familiarità con i nuovi strumenti e le nuove procedure.