Quando si scrive un
articolo, è necessario trovare un modello adatto da seguire.
Piuttosto che cercare di trovare articoli che trattano lo stesso
argomento. Bisogna trovare una struttura adatta all'argomento
trattato. In questo modo è possibile modificare il testo in modo da aggiungere frasi, informazioni e dettagli in modo logico, senza dover
alterare la struttura di tutto l'articolo. L'uso di sistemi già
esistenti per realizzare nuovi progetti è la norma piuttosto che
l'eccezione in tutte le forme di costruzione creativa. Quando è
possibile, la progettazione e la programmazione devono essere basate
su lavori precedenti. I limiti di questa libertà consente al
programmatore di basare la propria attenzione solo su pochi argomenti
alla volta. Iniziare un progetto principale, “dalla bozza su
carta” può essere divertente. Comunque spesso una descrizione più
attenta di questo fenomeno è “ubriacante” e il risultato conduce
a progetti alternativi lasciati a metà. Avere un modello non è una
costrizione e non richiede che il modello sia seguito fedelmente;
libera semplicemente il designer dal considerare un aspetto del
progetto alla volta.
L'uso dei modelli è
inevitabile, in quanto il progetto verrà sintetizzato
dall'esperienza di tutti i progettisti. Avere un modello esplicito
rende la scelta di un modello una decisione cosciente, fa assunzioni
esplicite, definisce un vocabolario comune, fornisce una struttura
iniziale per il progetto, e aumenta la probabilità dei progettisti
di ottenere un comune approccio. Naturalmente la scelta del modello
iniziale è un passo importante in fase di progettazione e spesso può
essere fatto solo dopo una ricerca di modelli potenziali e attenta
valutazione delle alternative. Inoltre in molti casi è adattabile
solo dopo una comprensione delle modifiche necessarie per adattarlo
alle idee particolari della nuova applicazione.
La progettazione del
software è complessa, bisogna cercare maggior aiuto possibile. Non
bisogna rifiutare l'uso di modelli con sdegno liquidandoli come
“imitazioni”. L'imitazione è una forma di appiattimento, ma
l'uso di modelli provenienti da precedenti lavori è d'ispirazione,
nei confini definiti dalla legge del copyright, è una tecnica
innovativa che funziona in tutte le arre di lavoro. Alcuni
definiscono questo uso di modelli come “riuso del progetto”.
E' una buona idea per il
progettista conoscere tutte le soluzioni popolari esistenti per una
cerca applicazione. Come programmatore si preferisce le soluzioni che
abbiano del codice associato ad esse come esempio concreto. Le
persone che usano delle soluzioni standard spesso usano un
vocabolario specializzato per comunicare tra loro stesse.
Sfortunatamente
questo può diventare un linguaggio privato che tende ad escludere
degli estranei dalla comprensione; è essenziale assicurare una
comunicazione adatta tra le persone coinvolte nelle diverse parti del
progetto, e anche con la comunità dei progettisti e programmatori
nell'insieme. Ogni sistema di grandi dimensioni che ha successo è la
ri-progettazione di un sistema di minori dimensioni. Non esistono
eccezioni a questa regola. L'esempio più prossimo che si possa fare
è quello di sistemi che hanno fallito e sono rimasti impanatati per
anni con grandi costi, poi eventualmente sono diventati successi
negli anni successivi alla loro data di completamento. Questi
progetti casualmente e spesso inavvertitamente, hanno dapprima
costruito una rete di sistemi non funzionanti, quindi sono stati
trasformati in un sistema funzionante, e finalmente la
ri-progettazione ha raggiunto gli scopi iniziali. Questo implica che è
una follia progettare grandi sistemi direttamente dalla bozza.
Maggiori sono le dimensioni del sistema da costruire, maggiore
importanza avrà il modello con il quale si lavora. E per sistemi di
grandi dimensioni, il solo modello accettabile deve essere un sistema
più piccolo ma funzionante e simile ad esso.
Nessun commento:
Posta un commento