Processo logico volto a realizzare un prodotto che soddisfi in modo ottimale requisiti espliciti (relativi a obiettivi e a vincoli tecnologici, di costo, tempo, qualità) vigenti nell’intero ciclo di vita del prodotto, mediante una sequenza di scelte, qualitative e quantitative, basate sulla tecnologia disponibile. La p. si svolge in settori legati alla realizzazione e gestione di strutture organizzative (anche in ambiti non tecnologici), alla pianificazione economica o delle attività, alla gestione di risorse economiche, umane, fisiche, naturali, informative, di tempo.
Nell’ingegneria, il processo di p. è sempre stato caratterizzato dall’integrazione di due approcci: il primo di tipo funzionale, in cui vengono messi insieme progressivamente, in modo razionale e con adeguate verifiche sperimentali del risultato ottenuto, elementi tecnologici, strutturali e informativi, già disponibili in un formato che li rende utilizzabili senza eccessive attività di completamento, curandone l’integrazione fisica e funzionale in un sistema che deve soddisfare assegnati requisiti; il secondo di tipo tecnologico, in cui si cerca di ideare e realizzare componenti e aggregati di nuova concezione che si prestino meglio di quelli già disponibili all’inserimento in sistemi secondo l’approccio funzionale appena descritto. A partire dagli anni 1980, questa caratteristica della p., tipica dell’ingegneria, ha subito una profonda trasformazione, portando a una separazione dei due approcci. Tale trasformazione è legata alla rapida evoluzione dei supporti informatici e telematici, ma anche alla parallela evoluzione dei supporti concettuali di tipo modellistico e algoritmico che hanno radicalmente cambiato il processo di progettazione. Un aspetto di questa trasformazione è quello del rapporto tra realtà fisica e contenuto informativo. Al feedback esistente, anche nella p. funzionale, tra realizzazione fisica e processo logico di definizione del prodotto si è sostituito sempre più spesso un feedback tra le simulazioni del risultato via via ottenuto e il processo stesso. Aerei, automobili, navi, gli stessi calcolatori vengono ormai progettati sulla base di dati forniti da simulatori, che permettono di valutare anche parametri molto complessi, quali quelli che descrivono la rumorosità dell’abitacolo, i consumi, l’usura di parti meccaniche o dei pneumatici, il comportamento in condizioni critiche, le capacità di interconnessione, la facilità d’uso. Nell’ambito delle tecnologie elettroniche e dell’informazione vengono progettati, sulla base di opportuni pacchetti CAD, circuiti integrati, sistemi e apparati, effettuando simulazioni che emulano le specifiche condizioni operative. Il progressivo sganciamento dell’elaborazione progettuale dall’oggetto fisico, con la conseguente perdita di centralità del tradizionale laboratorio di sperimentazione, sostituito da uno o più elaboratori equipaggiati con hardware e software specifici per il supporto alla p., riduce drasticamente i tempi di sviluppo, ma pone rilevanti problemi riguardo all’attendibilità e alla sua certificazione.
Sul versante dei componenti e sottoassiemi, la p. è sempre più affidata a specialisti di settore che realizzano componenti complessi fortemente integrati con il supporto fisico, spesso dotati di intelligenza e con elevate capacità di adattamento a diverse configurazioni di sistema. Questa realizzazione avviene in modo relativamente indipendente dall’utilizzazione che si fa di tali componenti in una fase successiva di p. di tipo funzionale. Le indicazioni che giungono sono di un continuo allargamento dell’area occupata da quest’ultima, che avviene con una sempre maggiore delimitazione e standardizzazione della messa a punto dei relativi supporti fisici, grazie a meccanismi sempre più assestati di traduzione automatica dei risultati della p. funzionale in configurazioni standard hardware e software.
In questo nuovo ambiente virtuale cresce il ruolo della modellistica, tradizionalmente alla base del processo di p. nell’ingegneria, con importanti modifiche dei modelli utilizzati. I modelli classici in uso nell’ingegneria sono prevalentemente modelli analitici di realtà fisiche. I nuovi modelli cercano di includere in modo coordinato un numero sempre maggiore di elementi significativi, anche di tipo organizzativo, e sono sempre più di tipo logico-funzionale. Essi possono diventare molto complessi e si cerca quindi, per quanto possibile, di ricondurli a formati per cui siano disponibili procedure assestate di soluzione. D’altra parte, grazie al miglioramento delle tecniche algoritmiche e dei supporti informativi, la gamma di problemi reali risolvibili cresce continuamente, cosa che permette di eseguire in modo rigoroso e dettagliato passi progettuali tradizionalmente svolti in modo approssimato e aggregato.
L’evoluzione del processo di p. non ha seguito lo stesso corso in tutte le aree dell’ingegneria; in molti settori, come quello dell’elettronica, quello informatico, per vari aspetti quello industriale, nonché nei settori trasversali dell’ingegneria gestionale, dell’ingegneria biomedica e di quella dell’ambiente e del territorio, gli sviluppi sopra riportati sono più accentuati, mentre nel settore civile, tenuto anche conto dei vincoli imposti dalla programmazione, si è proceduto in maniera più tradizionale.
La programmazione. In campo civile, la p. è condizionata da vari aspetti: amministrativo, di localizzazione, ambientale, tecnico, della sicurezza, finanziario, del consenso. Per questa ragione, a monte di ogni processo di p. è necessaria una fase di programmazione che ne definisca preliminarmente tutti i contenuti (motivazioni dell’intervento, caratteristiche dell’opera, modalità di realizzazione, risorse da impiegare, fasi di attuazione, localizzazione). La programmazione in definitiva porta come risultato a uno studio di fattibilità tecnico-economica che valuta la convenienza a realizzare l’opera. Da quanto sopra deriva che la p., prosecuzione della fase di programmazione, costituisce un sistema di attività, di durata e di natura diverse, collegate da vincoli interdipendenti di logica esecutiva, che condividono un insieme limitato di risorse economiche, umane e materiali. Tre concetti caratterizzano, in sintesi, la p.: la riunione temporanea di risorse, il raggiungimento di obiettivi chiaramente definiti, i vincoli di tempo, di costo e di qualità con risorse limitate.
Fasi di progetti di opere civili. I progetti di opere civili riguardano fondamentalmente i seguenti lavori: lavori puntuali (residenze, scuole, ospedali, caserme, stazioni ferroviarie, ponti, chiese, teatri, musei); manufatti di lavori a rete (sottovia, serbatoi, pozzetti dei rifiuti solidi, parcheggi ecc.); lavori a rete (strade, ferrovie, acquedotti, fognature, metanodotti, linee elettriche, telegrafiche ecc.). L’affinamento di un progetto prevede, nell’ordine, il progetto preliminare, quello definitivo e, da ultimo, quello esecutivo. Il progetto preliminare indica il quadro delle esigenze da soddisfare ed è formato dai seguenti elaborati: la relazione generale; lo studio di inserimento ambientale; gli elaborati e gli schemi grafici; la valutazione indicativa della spesa. La relazione generale illustra in primo luogo le ragioni per cui è stata scelta una certa soluzione, con riferimento alla localizzazione e alla funzionalità, descrive i lavori per realizzare l’opera, tratta la verifica della fattibilità fisica dell’opera dal punto di vista dell’inserimento ambientale e paesaggistico, delle indagini geologiche e geognostiche, dell’idrologia e dell’idraulica, della sismica, dei vincoli di natura archeologica e paesistica; inoltre la relazione tratta la verifica della convenienza tecnico-economica dei lavori, dei benefici conseguibili e della conformità agli strumenti urbanistici, indica in modo chiaro e preciso le circostanze che i disegni non illustrano, fornendo gli indirizzi per i livelli successivi di progettazione. Lo studio di inserimento ambientale verifica, fra l’altro, se vi sia compatibilità con le previsioni delle pianificazioni territoriali, urbanistiche e di settore, approfondisce le conseguenze prevedibili dei lavori e dell’esercizio dell’opera, motiva possibili alternative di localizzazione e la scelta finale. Gli elaborati e schemi grafici, per lavori puntuali, sono formati da uno stralcio dello strumento urbanistico generale o attuativo su scala 1:10.000 e dagli schemi grafici e le tabelle con le quantità caratteristiche dei lavori. La valutazione indicativa della spesa è ottenuta applicando i costi standardizzati per il tipo di lavoro da realizzare alle quantità caratteristiche dei lavori e per la specifica area territoriale nella quale l’opera è inserita.
Sulla base del progetto preliminare approvato viene redatto il progetto definitivo, composto da: la relazione generale; le relazioni geologica, geotecnica, idrologica e sismica; le relazioni tecniche specialistiche; i rilievi planoaltimetrici e lo studio di inserimento urbanistico del lavoro; gli elaborati grafici; lo studio di impatto ambientale, ovvero lo studio di inserimento ambientale e paesaggistico; l’analisi preliminare delle strutture e degli impianti; il disciplinare descrittivo degli elementi prestazionali, tecnici ed economici; la stima sommaria dei lavori e delle espropriazioni; il quadro economico; gli elementi integrativi per l’affidamento in concessione, quando possibile. Il progetto definitivo può contenere modifiche rispetto al progetto preliminare: questa è l’unica possibilità di variazione rispetto alla rigida sequenza di p. stabilita dal legislatore. Anche il progetto definitivo ha un contenuto di pianificazione, in quanto il progettista si preoccupa dell’inserimento urbanistico dell’opera. In conclusione, il progetto definitivo è completo e ha una sua autosufficienza; nel caso dell’edilizia, esso è presentato ai fini del rilascio della concessione di costruzione e dell’accertamento di conformità ambientale, paesaggistica e urbanistica.
Il progetto esecutivo, infine, serve a definire compiutamente e in ogni parte l’opera da realizzare ed è di norma alla base dell’affidamento dei lavori. Il ciclo della p. non si esaurisce con il progetto esecutivo ma è seguito dalla fase delle verifiche della p. e della qualità del progetto.
Nel settore dell’elettronica e delle tecnologie dell’informazione, i metodi di p. di sistemi e apparati elettronici sono strettamente dipendenti dallo stato della tecnologia e, pertanto, hanno subito una notevole evoluzione. A causa della complessità dei processi realizzativi, la fase di p. è completamente separata da quella di realizzazione e produzione degli apparati. Infatti, mentre quest’ultima viene effettuata presso industrie o laboratori in grado di sviluppare i complessi processi tecnologici che danno luogo alla costruzione effettiva del circuito, la p., che consiste nel definire in modo completo tutte le caratteristiche dei sistemi da realizzare, sulla base di simulazioni effettuate con procedimenti di CAD, ha luogo presso opportuni centri di p., presenti in strutture di ricerca o laboratori industriali. La tecnologia digitale, dominante in gran parte delle applicazioni, appare come una evoluzione rispetto alle tecniche analogiche usate fino agli anni 1980. Dal punto di vista della p., i circuiti e i sistemi elettronici digitali sono più semplici da realizzare rispetto a quelli analogici, in quanto consistono essenzialmente di circuiti logici, di elevatissima complessità, nei quali però le grandezze elettriche tendono a effettuare soltanto transizioni fra pochi stati elettrici prefissati, tipicamente due. Pertanto la p. digitale è volta allo sviluppo di circuiti che realizzino le funzioni logiche di interesse sulla base delle applicazioni. La p. di un sistema analogico, invece, comporta lo studio e la caratterizzazione delle varie forme d’onda nei vari punti del circuito, le quali possono essere affette da differenti cause di degradazione, quali il rumore e le interferenze. Le tecniche analogiche sono limitate ad alcune parti degli apparati oppure a frequenze molto elevate, come quelle usate nelle microonde o nelle onde millimetriche.
La maggior parte dei progetti elettronici non si riferisce alla realizzazione di circuiti integrati finalizzati a una determinata applicazione detti ASIC (➔), in quanto tale processo comporta spese di p. e di attuazione molto onerose ed elevati tempi di messa a punto. Viceversa si utilizzano componenti e dispositivi integrati disponibili sul mercato e, quindi, un progetto elettronico riguarda in genere la realizzazione di un circuito stampato sul quale vari componenti sono disposti e collegati fra di loro. La scheda corrispondente, detta PCB (➔), possiede varie interfacce verso l’esterno. Il numero di diversi tipi di componenti e circuiti integrati standard presenti sul mercato è molto elevato; essi tendono a essere sostituiti in tempi piuttosto brevi da nuovi componenti e circuiti di caratteristiche migliori. Ciò comporta che anche un intero progetto elettronico possa essere superato molto rapidamente.
Dal punto di vista industriale, è necessario che un certo prodotto elettronico risulti disponibile sul mercato in tempi brevi, altrimenti risulta superato da altri prodotti analoghi realizzati dalla concorrenza. Ne consegue che il tempo che intercorre tra l’ideazione del dispositivo e la sua disponibilità fisica deve essere reso minimo in relazione alle esigenze di progetto e realizzazione. Tale intervallo di tempo è detto time-to-market e dipende fortemente dal tempo richiesto per la fase di p., che in genere risulta dominante. Scopo di molti prodotti CAD per p. elettronica è proprio quello di facilitare e rendere più rapide le fasi di sintesi e di verifica del dispositivo per minimizzare il time-to-market. Si consideri il caso più comune, e cioè quello della realizzazione di un PCB a componenti digitali. Le fasi della p. consistono nella scelta dei componenti, nel loro piazzamento sul circuito stampato, nella realizzazione delle connessioni elettriche, nella simulazione del dispositivo stesso. Al termine di tali fasi, effettuate tutte con mezzi CAD, viene prodotto un file (consistente in un insieme di dati che descrivono le caratteristiche fisiche e geometriche del circuito stampato), che rappresenta l’interfaccia con il costruttore. Sulla basetta del circuito stampato sono poi saldati i componenti, in modo da realizzare un prototipo sul quale sono effettuate le opportune prove e misure. Se tali prove danno esito positivo, vengono realizzati i vari esemplari che interessano per l’applicazione considerata. Il passaggio dal prototipo alla produzione in serie comporta ulteriori passi di ingegnerizzazione del prodotto. Occorre notare che, nella maggior parte dei dispositivi elettronici digitali, sono utilizzati opportuni componenti integrati appartenenti alla classe dei dispositivi logici programmabili quali, per es., le FPGA (field programmable gate array). Su tali dispositivi la struttura logica può essere programmata in modo da realizzare le funzionalità desiderate. È anche possibile cancellare e riprogrammare le FPGA, per un numero limitato di volte, al fine di correggere eventuali difetti e per altre esigenze. Pertanto, un progetto elettronico per la realizzazione di un PCB consiste di una parte relativa all’assemblaggio di componenti elettronici e circuiti (parte hardware) e di una parte relativa alla programmazione di dispositivi logici (parte software). Ovviamente, mentre non sono ammesse correzioni sulla parte hardware, una volta che il PCB è stato realizzato possono essere ancora effettuate delle correzioni sulla parte software riprogrammando i dispositivi programmabili. Questo modo di procedere rende molto più flessibile il progetto stesso, ma comporta la definizione delle due parti hardware e software in cui l’intero dispositivo è suddiviso (hardware/ software co-design). Dispositivi logici programmabili sono contenuti in quasi tutti gli apparati e sistemi digitali e sono senz’altro preferiti agli ASIC, quando questo è possibile. Le FPGA sono disponibili a basso costo e utilizzano la migliore tecnologia dei circuiti integrati. Molto spesso la piastra del PCB è, a sua volta, estremamente complessa, sia per la compattezza del posizionamento dei componenti, che possono essere disposti su entrambi i lati della piastra, sia per l’insieme delle connessioni elettriche, che non sono disposte solo sulle due facce della piastra, ma anche in un numero di strati interni, che può arrivare a più di dieci. Ciò viene effettuato per garantire la compattezza del dispositivo (il che comporta in genere un migliore comportamento in frequenza e quindi una velocità di funzionamento più elevata), per evitare gli incroci fra i vari collegamenti e per creare piani di disaccoppiamento (in genere vengono riservati piani specifici ai collegamenti di massa e di alimentazione).
Il progetto di un PCB risulta più complesso se in esso sono contenuti altri componenti, quali memorie o circuiti integrati DSP (digital signal processor, elaboratore di segnale digitale), in quanto, in questo caso, la fase di programmazione e del progetto software del dispositivo risulta molto più complessa. In ogni caso, sia il progetto sia la validazione di un circuito elettronico comportano la messa a punto di tutte le temporizzazioni dei segnali in transito. Tali temporizzazioni sono tanto più complesse quanto maggiore è la velocità di funzionamento (e quindi minori le tolleranze temporali fra le fasi di transizione dei vari segnali).
La p. di sistemi e apparati per la tecnologia dell’informazione consiste, nella maggioranza dei casi, nella realizzazione di opportuni sistemi elettronici programmabili, a partire dalle specifiche tecniche da ottenere. Anche in questo caso la suddivisione del progetto fra parte hardware e software risulta cruciale e, in ogni caso, la simulazione del dispositivo con opportuni mezzi CAD rappresenta un passo indispensabile di tutto il processo. Nella fase di simulazione vengono esaminati tutti gli aspetti operativi in cui si troverà a funzionare il sistema, per individuare eventuali carenze o malfunzionamenti.
Occorre notare che è stata realizzata ed è presente sul mercato una quantità notevole di circuiti standard con i quali è possibile realizzare molte funzioni, anche complesse, di uso comune negli apparati per telecomunicazioni o per l’informatica. Per es., malgrado la grande varietà di modelli presenti sul mercato, i circuiti interni e i chip utilizzati nei telefoni cellulari appartengono a pochissime classi di circuiti standard. Maggiore variabilità può aversi nel modo in cui essi sono programmati. Ciò vale per molti altri dispositivi, quali, per es., i personal computer o gli apparati video. Pertanto, una parte molto importante della p. dei sistemi per telecomunicazioni o per l’informatica consiste nella p. del software, ovvero nella p. dei microprogrammi residenti nel sistema. La p. del software è una delle fasi del ciclo di vita del software, costituito almeno dalle seguenti fasi: studio di fattibilità; analisi e specifica dei requisiti; p.; implementazione e test; integrazione e test; deployment; mantenimento. Con riferimento a tali fasi, con eccezione della prima e delle ultime due, le metodologie classiche utilizzate per lo sviluppo di prodotti software sono di due tipi, a cascata ed evolutiva: la prima metodologia prevede una singola esecuzione sequenziale delle fasi a differenza della seconda che prevede una serie di esecuzioni sequenziali delle fasi (cioè una serie di iterazioni), con estensione temporale prefissata, distribuendo le risorse sulle diverse fasi in funzione delle iterazioni già fatte e del numero di iterazioni stabilite per il progetto, durante le quali si può procedere in maniera incrementale ed evolutiva, arricchendo quanto prodotto nelle iterazioni precedenti e abbracciando il cambiamento. Scopo della fase di p. è quello di realizzare un progetto che soddisfi i requisiti raccolti durante la precedente fase di analisi; in particolare, si definisce l’architettura complessiva del sistema, individuandone i componenti e le relative responsabilità con le conseguenti relazioni e interazioni. Tipicamente tale fase porta alla definizione di un progetto ad alto livello, che definisce l’architettura logica del sistema, e di uno a basso livello, che definisce i componenti dell’architettura logica individuata, per la definizione dei quali ci si avvale largamente di UML (unified modeling language, linguaggio di modellazione unificato) e di strumenti CASE (computer aided software engineering, ingegnerizzazione del software assistita dal calcolatore).