di Antonino Galante
(articolo pubblicato sulla rivista Bancamatica n.12, Dicembre 1995)
In questi ultimi anni, nel mondo dell'informatica sta emergendo sempre più
prepotentemente un nuovo modo di fare software che mette in discussione quello finora
adottato.
Ci riferiamo all'O.O. sigla che sta per Object Oriented e che indica le metodologie, le
tecnologie e gli strumenti che realizzano questo nuovo modo di fare software.
Le motivazioni del continuo affermarsi dell'O.O. non sono banali e alla fine si possono
ricondurre ai problemi e ai costi cui si va incontro nella produzione e manutenzione del
software.
L'Object Oriented oggi è il frutto degli studi effettuati nei due decenni precedenti.
Studi che, attraverso selezioni evolutive, hanno conquistato un numero sempre più grande
di individui e aziende e che oggi concretamente si materializzano sul mercato con un
numero crescente di prodotti O.O.
Le aspettative riposte nell'Object Oriented sono, sinteticamente, la riduzione dei tempi
di produzione del software, l'industrializzazione del suo ciclo produttivo, una maggiore
qualità ed efficienza del software così prodotto, una sua maggiore scalabilità e
facilità di manutenzione e di conseguenza la riduzione dei costi di gestione e
innovazione dei sistemi informativi e, laddove è opportuno, la salvaguardia di quelli
esistenti grazie alla proprietà di incapsulamento insita e presente nelle metodologie e
tecnologie O.O..
Il principale mito messo in crisi dall'O.O. è la metodologia cosiddetta
"waterfall" - a cascata - secondo la quale le varie fasi di realizzazione di un
progetto - analisi, sviluppo, test - vanno affrontate nella maniera più esaustiva
possibile e tenendole disgiunte le une dalle altre; secondo l'O.O. il modello waterfall va
sostituito dal modello prototipale che si basa sulla realizzazione di prototipi sempre
più evoluti e nella realizzazione dei quali è previsto un forte coinvolgimento
dell'utente finale allo scopo di verificare continuamente l'aderenza del progetto agli
obiettivi da raggiungere, mettendosi al riparo da costosi e difficilmente rimediabili
errori d'analisi.
Le eperienze condotte con le metodologie e le tecnologie O.O. sono anch'esse sempre più
numerose per cui non si può pensare di essere ancora in una fase esclusivamente
sperimentale.
La sperimentazione, se così vogliamo definirla, è piuttosto il continuo avvicinarsi a
questi temi per conoscerli e il cominciare ad usare gli strumenti che ad essi si
riconducono da parte di un crescente numero di aziende, comprese quelle bancarie.
Si possono citare pertanto situazioni in cui l'O.O. è stata ormai tranquillamente
adottata e altre in cui si è avviato il processo di avvicinamento attraverso la lettura
delle riviste specializzate o dei testi canonici, la frequenza di seminari e corsi, la
sperimentazione diretta di alcune metodologie d'analisi, la conoscenza degli strumenti
disponibili sul mercato, la realizzazione di qualche prototipo.
Nel mondo si trovano progetti O.O. avviati e conclusi sia nell'industria che nei servizi;
in Italia, limitatamente al settore bancario, la Sicilcassa ha concluso da poco, e
in poco tempo, un'esperienza molto interessante che ha visto la realizzazione di un
prototipo di sportello O.O. che nel momento in cui sarà deciso il passaggio ad un nuovo
tp di sportello concepito per i nuovi ambienti grafici (Windows, OS/2), potrà
tranquillamente costituirne il punto di partenza.
Nello scorso aprile, l'ing. Roberto Dadda, responsabile Ricerca e Tecnologie del Banco
Ambrosiano Veneto, in una conferenza sull'O.O., tenutasi a Milano, ha descritto il
progetto di tp di sportello basato su metodologie e tecnologie O.O. e denominato Bravo che
la sua azienda è in procinto di realizzare.
Sulla scia di quanto avviene in Germania presso l'azienda madre, anche in Italia la Deutsche
Bank sta conducendo esperienze analoghe a quelle della Sicilcassa e dell'Ambrosiano
Veneto.
L'interesse crescente per l'O.O. ha portato anche alla nascita di un organismo
internazionale no profits, l'Object Management Group (OMG),
finanziato dai maggiori produttori di software a livello mondiale, che promuove lo
sviluppo delle metodologie e tecnologie O.O. e la loro standardizzazione attraverso la
definizione delle specifiche CORBA (Common Object Request Broker) verso cui la
stessa Microsoft ha recentemente deciso di mostrare più attenzione.
In Italia, a Bologna, all'inizio di quest'anno è nata anche l'
Associazione Italiana Tecnologie Avanzate
Basate su concetti Orientati ad Oggetti (TABOO), che ha lo scopo di promuovere e
diffondere l'O.O. .
La Harmon Associates nel 1994 ha condotto un'indagine dalla quale è stato desunto
che le vendite mondiali dei produttori e distributori nordamericani di prodotti O.O.
effettuate nel 1993 ammontavano a 680 milioni di dollari.
L'articolo che segue vuol dare un'idea dell'attuale segmentazione del mercato dei
prodotti/strumenti O.O. ed è stato redatto adottando la classificazione proposta dal
prof. Roberto Zicari della LogOn Technology Transfer, società che
rappresenta l'OMG in Europa; l'elenco dei prodotti che in esso compaiono non è esaustivo
ma solo indicativo, vista la frequenza con cui nuovi prodotti arrivano sul mercato.
Mercato e tendenze per i prodotti di sviluppo software OO
Il mercato per i prodotti di sviluppo Object Oriented (OO) è piuttosto complesso. Una
classificazione dei prodotti di sviluppo OO disponibili sul mercato potrebbe essere la
seguente:
- Linguaggi e ambienti di programmazione OO.
- Strumenti CASE basati su metodologia OO.
- Lower CASE OO.
- Databases OO.
- Librerie di classi e frameworks OO.
- Ambienti di sviluppo OO per applicazioni distribuite.
1) Linguaggi e ambienti di programmazione OO
Questo è il segmento di mercato maggiormente rappresentativo di tutta l'Object
Technology (309 milioni di dollari; Harmon Associates 1994).
Attualmente vi è un crescente numero di produttori con offerta sia per PC che per
Workstation; la suddivisione operata vede:
1.1) Linguaggi Puri: Smalltalk, Eiffel, Simula, ecc..
1.2) Linguaggi Ibridi: C++, Objective C, Modula, Object Cobol, Prolog, ecc..
La tendenza da parte dei produttori è quella di dotare questi ambienti di risorse
proprie o di terze parti che li rendano più che semplici ambienti di tipo 4GL.
Essi tendono ad essere e vengono definiti sempre più frequentemente come Ambienti di
Sviluppo Avanzati (ADE - advanced development environment).
2) Strumenti CASE: basati su metodologia OO
Tali strumenti forniscono un ambiente di modellazione grafica basato su una metodologia OO.
Le metodologie utilizzate da tali strumenti possono essere proprietarie e pertanto
impiegate solo da un particolare produttore di tali strumenti o essere pubbliche e
impiegabili da qualsiasi produttore.
Questi strumenti si possono ulteriormente suddividere in:
2.1) Strumenti per l'analisi e la progettazione OO.
2.2) Strumenti CASE OO.
3) Lower CASE OO
Questo rappresenta il secondo segmento di mercato dell'Object Technology (216 milioni di dollari; Harmon Associates 1994).
Non tutti questi strumenti utilizzano un approccio basato su una vera e propria
metodologia OO. La suddivisione che potremmo operare è la seguente:
3.1) Strumenti OO per la costruzione di GUI. Alcuni sempi:
3.2) Strumenti 4GL/ADE OO.
Questi strumenti, per la varietà di funzionalità da cui sono contraddistinti, possono essere ulteriormente suddivisi a seconda del grado di Object
Technology che offrono:
3.2.1) Strumenti 4GL potenziati (basso grado di Object Technology).
Alcuni esempi:
3.2.2) Strumenti moderatamente OO e di facile utilizzo (medio grado di Object Technology).
Alcuni esempi:
3.2.3) Strumenti veramente OO (altissimo grado di Object Technology).
Supportano C++ e/o Smalltalk. Alcuni esempi:
3.2.4) Strumenti che uniscono OOP e programmazione a regole.
Questi strumenti in molti casi si posizionavano precedentemente come sistemi esperti o
ambienti di sviluppo basati sulla conoscenza. Alcuni esempi:
4) Databases OO
Questi sistemi (73 milioni di dollari; Harmon Associates 1994) si possono suddividere in:
4.1) Sistemi che integrano gli ambienti OOP (principalmente C++ e Smalltalk).
Attualmente questa è la categoria dominante nel segmento di mercato degli ODBMS (67,5
milioni di dollari; Harmon Associates 1994). Alcuni esempi:
4.2) Sistemi che supportano gli ambienti OO con databases relazionali (detti anche Sistemi Ibridi).
Alcuni esempi:
5) Librerie di classi e frameworks OO
Attualmente questo è il più piccolo segmento di mercato dell'Object Technology (14
milioni di dollari; Harmon Associates 1994).
La maggior parte di questi prodotti è stata progettata per supportare i lavori più
ripetitivi nella programmazione, assistere lo sviluppo d'interfacce e la registrazione e
ricerca di oggetti nei databases relazionali. Alcuni esempi:
6) Ambienti di sviluppo OO per applicazioni distribuite
Questo rappresenta un nuovo segmento di mercato dell'Object Technology.
Questi prodotti si basano sul rispetto degli standard CORBA (Common Object Request Broker)
prodotti dall' OMG (Object Management Group). Alcuni esempi:
|