Adrian Alexandrescu
Metodologie di sviluppo per i sistemi informativi d’impresa
L’inizio della collaborazione
Adrian Alexandrescu fu uno dei migliori laureati della Facoltà di Automatica dell’Università Politehnica di Bucarest, classe 1980. Dopo la laurea lavorò presso il Centro Territoriale di Costanza, dove fece parte del gruppo coinvolto nella progettazione e implementazione del sistema di gestione di basi di dati Socrates.
Dopo il 1990 si orientò verso l’industria e diresse una società commerciale che forniva computer e software, soprattutto a piccole imprese della zona di Costanza. Si occupò personalmente della progettazione e realizzazione di applicazioni software gestionali, in particolare sistemi di contabilità, in un periodo in cui l’ambiente economico romeno era ancora molto instabile e le applicazioni d’impresa dovevano essere adattate frequentemente ai cambiamenti legislativi.
Proprio questa esperienza pratica lo spinse verso la generalizzazione. Al di là delle applicazioni concrete che aveva realizzato, Adrian sentì il bisogno di modelli più stabili e di un processo di sviluppo più rigoroso, che permettesse di realizzare in modo più rapido e più sicuro sistemi informativi d’impresa. Da qui prese avvio anche il tema del suo dottorato.
La tesi di dottorato
Tesi: Contributi allo sviluppo dei sistemi informativi d’impresa (2011)
La tesi di Adrian Alexandrescu si propone di presentare una nuova metodologia per lo sviluppo dei sistemi informativi d’impresa. Essa combina elementi consolidati dell’ingegneria del software con una serie di contributi propri, derivati dalla sua lunga esperienza di sviluppatore di applicazioni gestionali.
Il lavoro persegue due obiettivi principali. Il primo è l’utilizzo di uno schema concettuale semplice, ma sufficientemente espressivo, per modellare il sistema informativo di un’impresa. Il secondo è la proposta di un processo di sviluppo sicuro, rapido e a costi ridotti per la realizzazione di un sistema informativo d’impresa.
La struttura della tesi riflette bene questi due obiettivi. Dopo i capitoli introduttivi, dedicati ai sistemi informativi d’impresa e alle metodologie di sviluppo software, segue il capitolo centrale, nel quale viene presentata la metodologia proposta. Qui sono discussi la modellazione REA, la specificazione dei requisiti, il raffinamento del modello concettuale, la progettazione dei componenti software, la generazione automatica dello schema della base di dati, la generazione automatica delle interfacce utente e l’utilizzo di un’architettura predefinita per le applicazioni.
La tesi è completata da uno studio di caso e da appendici tecniche che illustrano concretamente il codice generato automaticamente per diversi tipi di interfacce, in Microsoft Access, Visual Studio e ambiente WEB. In questo modo, il lavoro non rimane al livello di una riflessione metodologica, ma arriva fino a realizzazioni pratiche verificabili.
Le idee centrali della tesi
La modellazione concettuale semplificata dell’impresa
Un primo filo importante della tesi è l’idea che molte applicazioni d’impresa possano essere sviluppate in modo efficiente se si parte da un modello concettuale semplificato, basato su risorse, eventi e agenti. Adrian riprende la modellazione REA e la utilizza come punto di partenza per descrivere i processi economici e i concetti del dominio.
Il vantaggio di questo approccio è che offre una rappresentazione relativamente semplice e tuttavia sufficientemente espressiva per le applicazioni gestionali, soprattutto quelle orientate all’elaborazione delle transazioni e alla pianificazione delle risorse.
Il raffinamento del modello concettuale
La tesi non si ferma al modello REA classico, ma propone un raffinamento graduale delle specifiche concettuali. Vengono introdotte categorie e relazioni supplementari, come tipo, gruppo, eventoDettaglio, archivio, conseguenza, dettaglio e archiviazione, e il modello viene arricchito con attributi e cardinalità.
Da questo punto di vista, Adrian cerca di compiere il passaggio da un modello concettuale generale a uno sufficientemente preciso da sostenere la progettazione e la generazione dei componenti software.
La generazione automatica della base di dati e delle interfacce
Un’altra idea centrale è quella della generazione automatica. A partire dalle specifiche concettuali raffinate, la metodologia permette di generare lo schema della base di dati relazionale e le interfacce utente. In questo modo, una parte importante del lavoro ripetitivo di sviluppo viene trasferita agli strumenti software.
Dal punto di vista pratico, questa era un’idea molto utile per le piccole e medie imprese, che avevano bisogno di applicazioni rapide ed economiche, senza potersi permettere i costi molto elevati delle grandi suite integrate del tipo SAP.
Modelli di interfaccia e stile architetturale predefinito
La metodologia proposta si basa anche sull’utilizzo di modelli per le interfacce utente associate alle categorie concettuali, nonché su uno stile architetturale predefinito per le applicazioni. L’idea è che a ogni concetto corrisponda un’interfaccia, e che la struttura di questa possa essere derivata dalla categoria concettuale alla quale appartiene il rispettivo concetto.
Questo orientamento verso i modelli e un nucleo architetturale comune conferisce al lavoro una nota chiaramente ingegneristica. Adrian non propone soltanto una tecnica isolata, ma un intero modo di organizzare il processo di sviluppo per una famiglia di applicazioni.
Elementi di originalità
La tesi elenca esplicitamente alcuni contributi originali che le conferiscono una propria identità. Tra questi, i più importanti mi sembrano i seguenti:
- una visione estensibile della modellazione REA;
- un processo di raffinamento del modello concettuale;
- un meccanismo di generazione automatica dello schema della base di dati;
- un insieme di modelli per le interfacce utente associate alle categorie concettuali;
- un meccanismo di generazione automatica delle interfacce utente;
- uno stile architetturale originale per le applicazioni.
Nel complesso, questi contributi mostrano che Adrian ha cercato di collegare la modellazione concettuale, la progettazione e la realizzazione effettiva delle applicazioni in un unico processo coerente, orientato a costi ridotti e a tempi di realizzazione brevi.
Il mio contributo come relatore
Nel caso di Adrian, il mio contributo fu legato prima di tutto all’orientamento verso una formulazione metodologica. Egli arrivava con un’esperienza pratica molto ricca, ma il rischio era che questa esperienza rimanesse al livello di soluzioni locali o di osservazioni sparse.
Cercai di spingerlo verso la generalizzazione: a passare dalle applicazioni concrete di contabilità e gestione a una riflessione più ampia sulla modellazione dei concetti d’impresa, sul processo di sviluppo e sulla possibilità di generare automaticamente alcuni componenti software.
Allo stesso tempo, la sua tesi si inseriva naturalmente in una delle mie preoccupazioni più antiche: la ricerca di modelli e metodi capaci di portare ordine, disciplina e un maggiore grado di automazione nello sviluppo del software. Da questo punto di vista, il dottorato di Adrian fu vicino alla mia sensibilità ingegneristica.
Uno sguardo retrospettivo
Vista retrospettivamente, la tesi di Adrian Alexandrescu ha un chiaro valore applicativo. Non si propone di competere con le grandi piattaforme integrate d’impresa, ma di offrire un metodo realistico e più economico per sviluppare applicazioni specializzate, orientate alle piccole e medie imprese.
Il suo merito principale consiste nel tentativo di unire la modellazione concettuale con la generazione automatica e con il riutilizzo di modelli e strutture architetturali. Questa direzione era molto importante in un periodo in cui molte applicazioni d’impresa venivano ancora sviluppate laboriosamente, con costi elevati di manutenzione e adattamento.
La tesi di Adrian non è un lavoro teorico in senso forte, né mira a una formalizzazione radicale. La sua forza sta piuttosto nell’esperienza accumulata, nell’intelligenza pratica delle soluzioni proposte e nello sforzo di trasformare quell’esperienza in un metodo trasmissibile e riproducibile. Per questo motivo, essa rimane per me una delle tesi con il più chiaro orientamento ingegneristico tra quelle che ho coordinato.





