SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
Caso Utente Sodalia:
software factory a oggetti
Giorgio Marras
2
L'esperienza di una società specializzata
nello sviluppo di applicazioni per gestire
reti e servizi di tlc, nell'adottare
l'approccio a oggetti in un'efficace
produzione per componenti.
L'adozione di un approccio ad oggetti per sviluppare componenti applicative in modo
efficace e produttivo è un obiettivo a cui molte aziende guardano con interesse.
Il paradigma Object Oriented si sta affermando come uno standard di riferimento per lo
sviluppo dei sistemi informativi. Lo testimoniano alcuni fatti: da un lato l'interesse con
cui società del calibro di Microsoft, Oracle, IBM ed altri hanno collaborato per proporre
la versione 1.1 di UML, lo Unified Modeling Language nato dalla convergenza dei metodi
di Booch, Jacobson e Rumbaugh, dall'altro la tendenza in atto verso uno sviluppo del
software per componenti. Lo sviluppo per componenti, coniugato inevitabilmente
all'approccio OO, si pone come soluzione alternativa rispetto alle due possibilità make or
buy, sviluppo di software ad hoc secondo criteri tradizionali piuttosto che acquisto di
soluzioni generalizzate (tra l'altro tale soluzione è già ampiamente adottata anche da
parte dei fornitori di soluzioni ERP). Tuttavia adattare il proprio processo di sviluppo e
manutenzione del software ai metodi ed alle tecnologie OO comporta risvolti
organizzativi e metodologici che non possono essere ignorati. In alcune aziende
l'introduzione del metodo OO avviene in modo graduale. In qualche caso si parla di
approccio object based, vale a dire un approccio in cui si fondono peculiarità dei metodi
sia strutturati che Object Oriented.
Tra le aziende che hanno impostato il processo di sviluppo e manutenzione del SW
secondo criteri OO si distingue Sodalia, una società fondata nel maggio '92 quale joint
venture tra Bell Atlantic Corporation ed il Gruppo STET (ora Telecom Italia), con
l'obiettivo di sviluppare software per le telecomunicazioni. La scelta è stata, sin
dall'inizio, quella di impostare il processo di sviluppo e manutenzione del software
secondo criteri Object Oriented, adottando il metodo OMT (Object Modeling Technique)
proposto da James Rumbaugh. Sodalia, che ha ottenuto la certificazione secondo le
norme ISO9001 e SEI/CMM Level 3, si appresta oggi a rivisitare le proprie scelte, sia sotto
il profilo organizzativo che tecnologico, anche alla luce dei nuovi standard emersi con
UML. ZeroUno ha tracciato un bilancio a consuntivo di questi primi anni di attività di
Sodalia, con l'obiettivo di fornire ai propri lettori un quadro di riferimento probante per
valutare implicazioni e benefici connessi con l'adozione del paradigma e della tecnologia
OO.
Chi è Sodalia
Paolo Tiribelli, Amministratore Delegato di Sodalia ed uno dei promotori di questa
interessante realtà, spiega che "Sodalia è una software factory specializzata nello
3
sviluppo di applicazioni informatiche per la gestione delle reti e dei servizi di
telecomunicazione. I principali prodotti realizzati nel corso di questi anni sono installati
presso i network operation center di due dei maggiori operatori (a livello mondiale)
nell'ambito dei servizi di telecomunicazione. Oggi l'Azienda ha un organico di 300
persone, di cui 250 tecnici guidati da manager di lunga esperienza sia nell'industria e nei
servizi tlc, sia in quella del software".
I motivi dell'approccio OO
La scelta del metodo object-oriented (maturata in Sodalia nel "lontano" 1992) è scaturita
da valutazioni, per molti versi ancora attuali, che vedevano al centro il contesto
aziendale e la consapevolezza del ruolo strategico svolto dalle tecnologie delle
informazioni per il conseguimento dei target aziendali. "Nel campo delle
telecomunicazioni", spiega Tiribelli "la domanda di servizi viene sostenuta oggi da
bisogni sempre più urgenti, ma non del tutto assestati e, in genere, quasi mai
programmati. Questo tipo di domanda impone al fornitore dei servizi di TLC di
minimizzare i tempi di risposta, di privilegiare soluzioni "personalizzate" e di breve
momento, sollecitando, in una parola, il massimo di flessibilità. Questa situazione è
amplificata dagli effetti di una delle tendenze macroeconomiche più evidenti e non
meno discussa: quella della cosiddetta globalizzazione del mercato delle TLC. Un
processo che spinge il gestore di tali servizi ad operare in un contesto sempre più
competitivo in cui le tradizionali rendite di posizione sono inesorabilmente destinate a
sparire.
Per le software factory che gravitano intorno ai colossi delle telecomunicazioni (e
Sodalia, come abbiamo visto, è una di queste), la situazione non è meno difficile
dovendo fornire soluzioni rapide ed efficaci ad utilizzatori che si dibattono tra l'urgenza
di soddisfare i propri bisogni e le oggettive difficoltà di poterli definire con sufficiente
esattezza.
Da ciò scaturisce, imprescindibile, l'esigenza di una nuova e diversa metodologia di
sviluppo delle applicazioni informatiche che superi le difficoltà ed i limiti delle tecniche
tradizionali".
Un approccio iterativo e incrementale allo sviluppo del software
"L'approccio iterativo", prosegue Mambella" prende atto, per così dire, dello stato delle
cose, della situazione reale in cui operano Cliente e Fornitore, e cerca di forzarla
facendo leva proprio sulle difficoltà oggettive che essa pone. Ciò mediante il
frazionamento dell'applicazione che viene, così, realizzata per rilasci (ed accrescimenti)
successivi, a cominciare dal segmento che risponde ai bisogni più urgenti e che,
pertanto, l'utente, si spera, dovrebbe poter definire con maggiore precisione.
Tale approccio, diversamente da quella tradizionale, favorisce lo sviluppo graduale
dell'applicazione, a partire dall'eventuale prototipo iniziale.
Lo sviluppo iterativo delle applicazioni presenta qualche ulteriore vantaggio rispetto al
più tradizionale waterfall model, in quanto:
 favorisce l'adozione di un approccio architecture driven, in cui l'architettura del
sistema viene rivisitata ed aggiornata ad ogni iterazione, mediante la ripetizione
di una sequenza di "passi" predefiniti;
4
 migliora le relazioni e stimola la cooperazione con l'utilizzatore;
 motiva sia il cliente sia il fornitore dell'applicazione mediante il rilascio di
prodotti intermedi che espandono l'ambito applicativo arricchendolo
gradualmente di nuove funzionalità;
 facilita ed incoraggia l'impiego di prototipi".
Il paradigma Object-Oriented
Il paradigma OO è il naturale complemento all'approccio iterativo e incrementale. Gli
stessi autori di UML hanno in mente un processo di sviluppo di questo tipo quando
pensano all'ambito organizzativo più idoneo per applicare i metodi OO. Secondo Tiribelli
vi sono due principali motivi per sostenere questa tesi:
 la flessibilità del costrutto progettuale (object model, functional model e
dynamic model) che può essere completato e perfezionato per aggiunte e
modifiche, senza pregiudizio per il lavoro già svolto;
 l'idoneità all'impiego di tecniche di progettazione basate sulla riutilizzazione del
software (design for reuse e design with reuse, di cui parleremo nella seconda
parte di questo articolo).
Un memorabile colloquio con Rumbaugh
"All'epoca della scelta", prosegue Mambella, " valutammo attentamente i punti di
debolezza connessi con l'adozione di un nuovo (e per molti versi innovativo) approccio
metodologico. Oltre ai rischi generalmente associati all'impiego di una nuova
metodologia furono evidenziati:
 l'assenza di metriche per la stima della dimensione e della complessità del
software da sviluppare;
 la carenza di personale esperto.
Due ulteriori punti negativi della metodologia object-oriented furono attentamente
valutati da Sodalia, attesa la sua rilevanza per la produzione di applicazioni destinate al
mondo delle telecomunicazioni:
 l'asserita, ma non comprovata, scarsa capacità di modellazione di soluzioni di
cuncurrent processing
 la presunta inadeguatezza della metodologia per applicazioni di grandi
dimensioni.
Un memorabile colloquio con Jim Rumbaugh, all'epoca "scientist" presso General
Electric, fu determinante per superare ogni residua perplessità e rafforzò Sodalia nella
convinzione che il rischio di partire con una metodologia tradizionale per poi sobbarcarsi
di tutti i problemi (ed i costi) tipici di un inevitabile salto tecnologico, era di gran lunga
maggiore di quelli da affrontare partendo direttamente con la nuova.
Il passo successivo fu quello di scegliere, fra i tanti metodi quello "giusto" per Sodalia. La
scelta fu guidata da una griglia di requisiti mediante la quale furono analizzati tutti i
metodi allora disponibili e valutati in modo "pesato" aspetti positivi e negativi di
5
ciascuno".
La scelta finale ricadde su OMT, l'Object Modeling Technique messo a punto da Jim
Rumbaugh, approdato poi alla Rational
SIMEP: una metodologia certificata
“Sodalia", precisa Tiribelli, "ha riconosciuto sin dall'inizio il valore dei concetti che
postulano la cosiddetta Software Factory, e li ha applicati nella pratica di lavoro
corrente. I due principi fondamentali, la riutilizzazione del software ed il miglioramento
continuo del processo di produzione, formano infatti parte costitutiva di SIMEP (Sodalia's
Integrated Management and Engineering Process), la metodologia object oriented
impiegata con successo fin dall'inizio dell'attività".
L'attestazione del livello qualitativo raggiunto, ottenuta con il riconoscimento del livello
2 del Software Engineering Institute Capability Maturity Model (SEI-CMM) nel dicembre
1995, della certificazione ISO 9001 conseguita in maggio 1996, cui ha fatto seguito, in
settembre 1997, l'assessment del livello 3, del SEI-CMM), rappresenta solo il
riconoscimento ufficiale di un'azione sistematica tesa alla gestione della qualità del
software. Ciò ha posto le premesse per la definizione di un impianto organizzativo che
consentisse l'impiego di risorse eterogenee, diverse sia per competenza che per
esperienza maturata nel campo dello sviluppo del software, garantendo un elevato
livello qualitativo del prodotto finale".
A corollario è stato predisposto un piano di formazione permanente sui temi riguardanti
aspetti organizzativi, tecnologici ed applicativi connessi con lo sviluppo del software.
Degno di nota il fatto che la certificazione ISO ha riscontrato i prescritti parametri di
qualità sia "allo sviluppo di applicazioni software innovative per la gestione delle reti e
dei servizi di telecomunicazione", sia " alle metodologie ed ai tool avanzati di ingegneria
del software impiegati nel processo di produzione".
Tale risultato è particolarmente importante se si considera che sono ancora poche le
software factory che possono vantare una metodologia certificata secondo le norme ISO.
Un primo consuntivo
"Il bilancio", prosegue Mambella, "è senz'altro positivo. I vantaggi derivanti dall'approccio
object-oriented (a parte quelli già sinteticamente esposti) emergono con maggiore
chiarezza se vengono confrontati con quelli riconosciuti al metodo di sviluppo
tradizionale, il quale:
 è orientato alla soluzione del problema;
 enfatizza la progettazione, anziché l'analisi;
 non evidenzia connessioni chiare tra il cosiddetto ambito problematico (problem
domain) e l'analisi;
Per contro, l'approccio object-oriented:
6
 è orientato al problema;
 consente connessioni chiare fra problem domain ed analisi;
 facilita l'impiego di prototipi;
 costruisce il prodotto in modo flessibile favorendone la "personalizzazione";
 facilita la riutilizzazione del software.
Due ulteriori vantaggi, infine, sono sicuramente ascrivibili al nuovo approccio:
 il miglioramento della qualità del software prodotto, riconducibile in parte alla
maggiore profondità cui viene condotta l'analisi ed in parte alla notazione rigorosa
impiegata sia nella fase di analisi, sia in quella di progettazione;
 la particolare adattabilità allo sviluppo iterativo".
Evoluzione verso UML
Ad ulteriore conferma della validità della scelta effettuata, Sodalia sta guardando con
interesse ad UML. "Il recente riconoscimento dell'Unified Modeling Language come
standard da parte dell'Object Management Group (OMG)", precisa Tiribelli, "impone
questo nuovo, unificato linguaggio di modellazione all'attenzione di quanti vogliano
trarre profitto dalle opportunità offerte dai nuovi tool per estendere il rigore della
notazione formale e dei meta-modelli alle fasi "alte" dell'attività di sviluppo, senza
sacrificare la produttività del processo.
Sodalia ha già sperimentato, con soddisfazione, mediante due separati progetti-pilota
finanziati dalla Comunità Europea, sia le tecniche di analisi di dominio sia quelle di Use
Case ed è in procinto di avviarne un terzo per introdurre l'UML in SIMEP".
Tecnet Dati s.r.l.
C.so Svizzera 185 –
10149 - Torino (TO), Italia
Tel.: +39 011 7718090 Fax.: +39 011 7718092
P.I. 05793500017 C.F. 09205650154
www.tecnetdati.com

Weitere ähnliche Inhalte

Ähnlich wie Caso Utente Sodalia software factory a oggetti

Autostrade per l'Italia: come riutilizzare 500 applicazioni COBOL in ambiente...
Autostrade per l'Italia: come riutilizzare 500 applicazioni COBOL in ambiente...Autostrade per l'Italia: come riutilizzare 500 applicazioni COBOL in ambiente...
Autostrade per l'Italia: come riutilizzare 500 applicazioni COBOL in ambiente...Microfocusitalia
 
Studio e implementazione di uno strumento di configurazione e visualizzazione...
Studio e implementazione di uno strumento di configurazione e visualizzazione...Studio e implementazione di uno strumento di configurazione e visualizzazione...
Studio e implementazione di uno strumento di configurazione e visualizzazione...Matteo Miotto
 
Reti sociali e dinamiche di collaborazione nelle PMI toscane: processi, model...
Reti sociali e dinamiche di collaborazione nelle PMI toscane: processi, model...Reti sociali e dinamiche di collaborazione nelle PMI toscane: processi, model...
Reti sociali e dinamiche di collaborazione nelle PMI toscane: processi, model...materiamedia
 
Agile vs waterfall project management
Agile vs waterfall project managementAgile vs waterfall project management
Agile vs waterfall project managementAndrea Depedri
 
Caso di studio: il CIO solitario
Caso di studio:   il CIO solitarioCaso di studio:   il CIO solitario
Caso di studio: il CIO solitarioAndrea Colleoni
 
2015 PMI Chapter Università degli Studi Roma Tre
2015 PMI Chapter Università degli Studi Roma Tre 2015 PMI Chapter Università degli Studi Roma Tre
2015 PMI Chapter Università degli Studi Roma Tre Marco Daccò
 
Intervento 10' KM Forum - Jekpot - 25 november 2005 - Siena
Intervento 10' KM Forum  - Jekpot - 25 november 2005 - SienaIntervento 10' KM Forum  - Jekpot - 25 november 2005 - Siena
Intervento 10' KM Forum - Jekpot - 25 november 2005 - SienaEpistema
 
MicroFocus White Paper - ADsurvey_marzo 2014
MicroFocus White Paper - ADsurvey_marzo 2014MicroFocus White Paper - ADsurvey_marzo 2014
MicroFocus White Paper - ADsurvey_marzo 2014Elena Vaciago
 
Abilitare le organizzazioni e le persone ad adottare con successo il Cloud
Abilitare le organizzazioni e le persone ad adottare con successo il CloudAbilitare le organizzazioni e le persone ad adottare con successo il Cloud
Abilitare le organizzazioni e le persone ad adottare con successo il CloudAmazon Web Services
 
Product Lifecycle Management
Product Lifecycle ManagementProduct Lifecycle Management
Product Lifecycle ManagementMatteo Damiani
 
Linguaggi e piattaforme per lo sviluppo di applicazioni mobile michele agos...
Linguaggi e piattaforme per lo sviluppo di applicazioni mobile   michele agos...Linguaggi e piattaforme per lo sviluppo di applicazioni mobile   michele agos...
Linguaggi e piattaforme per lo sviluppo di applicazioni mobile michele agos...Michele Agostini
 
Approccio integrato CMMI Agile
Approccio integrato CMMI AgileApproccio integrato CMMI Agile
Approccio integrato CMMI Agileinspearit Italy
 
Implementazione di una Web App per la verifica dei requisiti progettuali del ...
Implementazione di una Web App per la verifica dei requisiti progettuali del ...Implementazione di una Web App per la verifica dei requisiti progettuali del ...
Implementazione di una Web App per la verifica dei requisiti progettuali del ...Luca Dalle Vedove
 
I processi di sviluppo software: la storia
I processi di sviluppo software: la storiaI processi di sviluppo software: la storia
I processi di sviluppo software: la storiaGiulio Destri
 
B Human Progetti di Stage 2009
B Human Progetti di Stage 2009B Human Progetti di Stage 2009
B Human Progetti di Stage 2009B Human Srl
 

Ähnlich wie Caso Utente Sodalia software factory a oggetti (20)

Autostrade per l'Italia: come riutilizzare 500 applicazioni COBOL in ambiente...
Autostrade per l'Italia: come riutilizzare 500 applicazioni COBOL in ambiente...Autostrade per l'Italia: come riutilizzare 500 applicazioni COBOL in ambiente...
Autostrade per l'Italia: come riutilizzare 500 applicazioni COBOL in ambiente...
 
Studio e implementazione di uno strumento di configurazione e visualizzazione...
Studio e implementazione di uno strumento di configurazione e visualizzazione...Studio e implementazione di uno strumento di configurazione e visualizzazione...
Studio e implementazione di uno strumento di configurazione e visualizzazione...
 
Reti sociali e dinamiche di collaborazione nelle PMI toscane: processi, model...
Reti sociali e dinamiche di collaborazione nelle PMI toscane: processi, model...Reti sociali e dinamiche di collaborazione nelle PMI toscane: processi, model...
Reti sociali e dinamiche di collaborazione nelle PMI toscane: processi, model...
 
L'organizzazione digitale in cammino verso il futuro
L'organizzazione digitale in cammino verso il futuroL'organizzazione digitale in cammino verso il futuro
L'organizzazione digitale in cammino verso il futuro
 
Agile vs waterfall project management
Agile vs waterfall project managementAgile vs waterfall project management
Agile vs waterfall project management
 
Caso di studio: il CIO solitario
Caso di studio:   il CIO solitarioCaso di studio:   il CIO solitario
Caso di studio: il CIO solitario
 
Corso progettazione
Corso progettazioneCorso progettazione
Corso progettazione
 
2015 PMI Chapter Università degli Studi Roma Tre
2015 PMI Chapter Università degli Studi Roma Tre 2015 PMI Chapter Università degli Studi Roma Tre
2015 PMI Chapter Università degli Studi Roma Tre
 
Intervento 10' KM Forum - Jekpot - 25 november 2005 - Siena
Intervento 10' KM Forum  - Jekpot - 25 november 2005 - SienaIntervento 10' KM Forum  - Jekpot - 25 november 2005 - Siena
Intervento 10' KM Forum - Jekpot - 25 november 2005 - Siena
 
MicroFocus White Paper - ADsurvey_marzo 2014
MicroFocus White Paper - ADsurvey_marzo 2014MicroFocus White Paper - ADsurvey_marzo 2014
MicroFocus White Paper - ADsurvey_marzo 2014
 
Guida alla software selection
Guida alla software selectionGuida alla software selection
Guida alla software selection
 
Abilitare le organizzazioni e le persone ad adottare con successo il Cloud
Abilitare le organizzazioni e le persone ad adottare con successo il CloudAbilitare le organizzazioni e le persone ad adottare con successo il Cloud
Abilitare le organizzazioni e le persone ad adottare con successo il Cloud
 
Product Lifecycle Management
Product Lifecycle ManagementProduct Lifecycle Management
Product Lifecycle Management
 
Linguaggi e piattaforme per lo sviluppo di applicazioni mobile michele agos...
Linguaggi e piattaforme per lo sviluppo di applicazioni mobile   michele agos...Linguaggi e piattaforme per lo sviluppo di applicazioni mobile   michele agos...
Linguaggi e piattaforme per lo sviluppo di applicazioni mobile michele agos...
 
Approccio integrato CMMI Agile
Approccio integrato CMMI AgileApproccio integrato CMMI Agile
Approccio integrato CMMI Agile
 
Implementazione di una Web App per la verifica dei requisiti progettuali del ...
Implementazione di una Web App per la verifica dei requisiti progettuali del ...Implementazione di una Web App per la verifica dei requisiti progettuali del ...
Implementazione di una Web App per la verifica dei requisiti progettuali del ...
 
I processi di sviluppo software: la storia
I processi di sviluppo software: la storiaI processi di sviluppo software: la storia
I processi di sviluppo software: la storia
 
B Human Progetti di Stage 2009
B Human Progetti di Stage 2009B Human Progetti di Stage 2009
B Human Progetti di Stage 2009
 
Reengineering agile
Reengineering agileReengineering agile
Reengineering agile
 
Software Testing Forum 2012 - Polarion e TRS SpA
Software Testing Forum 2012 - Polarion e TRS SpASoftware Testing Forum 2012 - Polarion e TRS SpA
Software Testing Forum 2012 - Polarion e TRS SpA
 

Mehr von Marco Daccò

Fly Together the TIM DIgital Transformation
Fly Together the TIM DIgital TransformationFly Together the TIM DIgital Transformation
Fly Together the TIM DIgital TransformationMarco Daccò
 
Telecom italia oss transformation roadmap marco daccò venice 2010
Telecom italia  oss transformation roadmap   marco daccò venice 2010Telecom italia  oss transformation roadmap   marco daccò venice 2010
Telecom italia oss transformation roadmap marco daccò venice 2010Marco Daccò
 
Tmw dallas ngoss1 dacco covino
Tmw dallas ngoss1 dacco covinoTmw dallas ngoss1 dacco covino
Tmw dallas ngoss1 dacco covinoMarco Daccò
 
2005 dallas05 we bguide_final
2005 dallas05 we bguide_final2005 dallas05 we bguide_final
2005 dallas05 we bguide_finalMarco Daccò
 
SASF Sodalia Adaptive Service Fulfilment Ginevra 1999
SASF Sodalia Adaptive Service Fulfilment  Ginevra 1999SASF Sodalia Adaptive Service Fulfilment  Ginevra 1999
SASF Sodalia Adaptive Service Fulfilment Ginevra 1999Marco Daccò
 

Mehr von Marco Daccò (6)

Fly Together the TIM DIgital Transformation
Fly Together the TIM DIgital TransformationFly Together the TIM DIgital Transformation
Fly Together the TIM DIgital Transformation
 
Telecom italia oss transformation roadmap marco daccò venice 2010
Telecom italia  oss transformation roadmap   marco daccò venice 2010Telecom italia  oss transformation roadmap   marco daccò venice 2010
Telecom italia oss transformation roadmap marco daccò venice 2010
 
sodalia framework
sodalia frameworksodalia framework
sodalia framework
 
Tmw dallas ngoss1 dacco covino
Tmw dallas ngoss1 dacco covinoTmw dallas ngoss1 dacco covino
Tmw dallas ngoss1 dacco covino
 
2005 dallas05 we bguide_final
2005 dallas05 we bguide_final2005 dallas05 we bguide_final
2005 dallas05 we bguide_final
 
SASF Sodalia Adaptive Service Fulfilment Ginevra 1999
SASF Sodalia Adaptive Service Fulfilment  Ginevra 1999SASF Sodalia Adaptive Service Fulfilment  Ginevra 1999
SASF Sodalia Adaptive Service Fulfilment Ginevra 1999
 

Caso Utente Sodalia software factory a oggetti

  • 1. Caso Utente Sodalia: software factory a oggetti Giorgio Marras
  • 2. 2 L'esperienza di una società specializzata nello sviluppo di applicazioni per gestire reti e servizi di tlc, nell'adottare l'approccio a oggetti in un'efficace produzione per componenti. L'adozione di un approccio ad oggetti per sviluppare componenti applicative in modo efficace e produttivo è un obiettivo a cui molte aziende guardano con interesse. Il paradigma Object Oriented si sta affermando come uno standard di riferimento per lo sviluppo dei sistemi informativi. Lo testimoniano alcuni fatti: da un lato l'interesse con cui società del calibro di Microsoft, Oracle, IBM ed altri hanno collaborato per proporre la versione 1.1 di UML, lo Unified Modeling Language nato dalla convergenza dei metodi di Booch, Jacobson e Rumbaugh, dall'altro la tendenza in atto verso uno sviluppo del software per componenti. Lo sviluppo per componenti, coniugato inevitabilmente all'approccio OO, si pone come soluzione alternativa rispetto alle due possibilità make or buy, sviluppo di software ad hoc secondo criteri tradizionali piuttosto che acquisto di soluzioni generalizzate (tra l'altro tale soluzione è già ampiamente adottata anche da parte dei fornitori di soluzioni ERP). Tuttavia adattare il proprio processo di sviluppo e manutenzione del software ai metodi ed alle tecnologie OO comporta risvolti organizzativi e metodologici che non possono essere ignorati. In alcune aziende l'introduzione del metodo OO avviene in modo graduale. In qualche caso si parla di approccio object based, vale a dire un approccio in cui si fondono peculiarità dei metodi sia strutturati che Object Oriented. Tra le aziende che hanno impostato il processo di sviluppo e manutenzione del SW secondo criteri OO si distingue Sodalia, una società fondata nel maggio '92 quale joint venture tra Bell Atlantic Corporation ed il Gruppo STET (ora Telecom Italia), con l'obiettivo di sviluppare software per le telecomunicazioni. La scelta è stata, sin dall'inizio, quella di impostare il processo di sviluppo e manutenzione del software secondo criteri Object Oriented, adottando il metodo OMT (Object Modeling Technique) proposto da James Rumbaugh. Sodalia, che ha ottenuto la certificazione secondo le norme ISO9001 e SEI/CMM Level 3, si appresta oggi a rivisitare le proprie scelte, sia sotto il profilo organizzativo che tecnologico, anche alla luce dei nuovi standard emersi con UML. ZeroUno ha tracciato un bilancio a consuntivo di questi primi anni di attività di Sodalia, con l'obiettivo di fornire ai propri lettori un quadro di riferimento probante per valutare implicazioni e benefici connessi con l'adozione del paradigma e della tecnologia OO. Chi è Sodalia Paolo Tiribelli, Amministratore Delegato di Sodalia ed uno dei promotori di questa interessante realtà, spiega che "Sodalia è una software factory specializzata nello
  • 3. 3 sviluppo di applicazioni informatiche per la gestione delle reti e dei servizi di telecomunicazione. I principali prodotti realizzati nel corso di questi anni sono installati presso i network operation center di due dei maggiori operatori (a livello mondiale) nell'ambito dei servizi di telecomunicazione. Oggi l'Azienda ha un organico di 300 persone, di cui 250 tecnici guidati da manager di lunga esperienza sia nell'industria e nei servizi tlc, sia in quella del software". I motivi dell'approccio OO La scelta del metodo object-oriented (maturata in Sodalia nel "lontano" 1992) è scaturita da valutazioni, per molti versi ancora attuali, che vedevano al centro il contesto aziendale e la consapevolezza del ruolo strategico svolto dalle tecnologie delle informazioni per il conseguimento dei target aziendali. "Nel campo delle telecomunicazioni", spiega Tiribelli "la domanda di servizi viene sostenuta oggi da bisogni sempre più urgenti, ma non del tutto assestati e, in genere, quasi mai programmati. Questo tipo di domanda impone al fornitore dei servizi di TLC di minimizzare i tempi di risposta, di privilegiare soluzioni "personalizzate" e di breve momento, sollecitando, in una parola, il massimo di flessibilità. Questa situazione è amplificata dagli effetti di una delle tendenze macroeconomiche più evidenti e non meno discussa: quella della cosiddetta globalizzazione del mercato delle TLC. Un processo che spinge il gestore di tali servizi ad operare in un contesto sempre più competitivo in cui le tradizionali rendite di posizione sono inesorabilmente destinate a sparire. Per le software factory che gravitano intorno ai colossi delle telecomunicazioni (e Sodalia, come abbiamo visto, è una di queste), la situazione non è meno difficile dovendo fornire soluzioni rapide ed efficaci ad utilizzatori che si dibattono tra l'urgenza di soddisfare i propri bisogni e le oggettive difficoltà di poterli definire con sufficiente esattezza. Da ciò scaturisce, imprescindibile, l'esigenza di una nuova e diversa metodologia di sviluppo delle applicazioni informatiche che superi le difficoltà ed i limiti delle tecniche tradizionali". Un approccio iterativo e incrementale allo sviluppo del software "L'approccio iterativo", prosegue Mambella" prende atto, per così dire, dello stato delle cose, della situazione reale in cui operano Cliente e Fornitore, e cerca di forzarla facendo leva proprio sulle difficoltà oggettive che essa pone. Ciò mediante il frazionamento dell'applicazione che viene, così, realizzata per rilasci (ed accrescimenti) successivi, a cominciare dal segmento che risponde ai bisogni più urgenti e che, pertanto, l'utente, si spera, dovrebbe poter definire con maggiore precisione. Tale approccio, diversamente da quella tradizionale, favorisce lo sviluppo graduale dell'applicazione, a partire dall'eventuale prototipo iniziale. Lo sviluppo iterativo delle applicazioni presenta qualche ulteriore vantaggio rispetto al più tradizionale waterfall model, in quanto:  favorisce l'adozione di un approccio architecture driven, in cui l'architettura del sistema viene rivisitata ed aggiornata ad ogni iterazione, mediante la ripetizione di una sequenza di "passi" predefiniti;
  • 4. 4  migliora le relazioni e stimola la cooperazione con l'utilizzatore;  motiva sia il cliente sia il fornitore dell'applicazione mediante il rilascio di prodotti intermedi che espandono l'ambito applicativo arricchendolo gradualmente di nuove funzionalità;  facilita ed incoraggia l'impiego di prototipi". Il paradigma Object-Oriented Il paradigma OO è il naturale complemento all'approccio iterativo e incrementale. Gli stessi autori di UML hanno in mente un processo di sviluppo di questo tipo quando pensano all'ambito organizzativo più idoneo per applicare i metodi OO. Secondo Tiribelli vi sono due principali motivi per sostenere questa tesi:  la flessibilità del costrutto progettuale (object model, functional model e dynamic model) che può essere completato e perfezionato per aggiunte e modifiche, senza pregiudizio per il lavoro già svolto;  l'idoneità all'impiego di tecniche di progettazione basate sulla riutilizzazione del software (design for reuse e design with reuse, di cui parleremo nella seconda parte di questo articolo). Un memorabile colloquio con Rumbaugh "All'epoca della scelta", prosegue Mambella, " valutammo attentamente i punti di debolezza connessi con l'adozione di un nuovo (e per molti versi innovativo) approccio metodologico. Oltre ai rischi generalmente associati all'impiego di una nuova metodologia furono evidenziati:  l'assenza di metriche per la stima della dimensione e della complessità del software da sviluppare;  la carenza di personale esperto. Due ulteriori punti negativi della metodologia object-oriented furono attentamente valutati da Sodalia, attesa la sua rilevanza per la produzione di applicazioni destinate al mondo delle telecomunicazioni:  l'asserita, ma non comprovata, scarsa capacità di modellazione di soluzioni di cuncurrent processing  la presunta inadeguatezza della metodologia per applicazioni di grandi dimensioni. Un memorabile colloquio con Jim Rumbaugh, all'epoca "scientist" presso General Electric, fu determinante per superare ogni residua perplessità e rafforzò Sodalia nella convinzione che il rischio di partire con una metodologia tradizionale per poi sobbarcarsi di tutti i problemi (ed i costi) tipici di un inevitabile salto tecnologico, era di gran lunga maggiore di quelli da affrontare partendo direttamente con la nuova. Il passo successivo fu quello di scegliere, fra i tanti metodi quello "giusto" per Sodalia. La scelta fu guidata da una griglia di requisiti mediante la quale furono analizzati tutti i metodi allora disponibili e valutati in modo "pesato" aspetti positivi e negativi di
  • 5. 5 ciascuno". La scelta finale ricadde su OMT, l'Object Modeling Technique messo a punto da Jim Rumbaugh, approdato poi alla Rational SIMEP: una metodologia certificata “Sodalia", precisa Tiribelli, "ha riconosciuto sin dall'inizio il valore dei concetti che postulano la cosiddetta Software Factory, e li ha applicati nella pratica di lavoro corrente. I due principi fondamentali, la riutilizzazione del software ed il miglioramento continuo del processo di produzione, formano infatti parte costitutiva di SIMEP (Sodalia's Integrated Management and Engineering Process), la metodologia object oriented impiegata con successo fin dall'inizio dell'attività". L'attestazione del livello qualitativo raggiunto, ottenuta con il riconoscimento del livello 2 del Software Engineering Institute Capability Maturity Model (SEI-CMM) nel dicembre 1995, della certificazione ISO 9001 conseguita in maggio 1996, cui ha fatto seguito, in settembre 1997, l'assessment del livello 3, del SEI-CMM), rappresenta solo il riconoscimento ufficiale di un'azione sistematica tesa alla gestione della qualità del software. Ciò ha posto le premesse per la definizione di un impianto organizzativo che consentisse l'impiego di risorse eterogenee, diverse sia per competenza che per esperienza maturata nel campo dello sviluppo del software, garantendo un elevato livello qualitativo del prodotto finale". A corollario è stato predisposto un piano di formazione permanente sui temi riguardanti aspetti organizzativi, tecnologici ed applicativi connessi con lo sviluppo del software. Degno di nota il fatto che la certificazione ISO ha riscontrato i prescritti parametri di qualità sia "allo sviluppo di applicazioni software innovative per la gestione delle reti e dei servizi di telecomunicazione", sia " alle metodologie ed ai tool avanzati di ingegneria del software impiegati nel processo di produzione". Tale risultato è particolarmente importante se si considera che sono ancora poche le software factory che possono vantare una metodologia certificata secondo le norme ISO. Un primo consuntivo "Il bilancio", prosegue Mambella, "è senz'altro positivo. I vantaggi derivanti dall'approccio object-oriented (a parte quelli già sinteticamente esposti) emergono con maggiore chiarezza se vengono confrontati con quelli riconosciuti al metodo di sviluppo tradizionale, il quale:  è orientato alla soluzione del problema;  enfatizza la progettazione, anziché l'analisi;  non evidenzia connessioni chiare tra il cosiddetto ambito problematico (problem domain) e l'analisi; Per contro, l'approccio object-oriented:
  • 6. 6  è orientato al problema;  consente connessioni chiare fra problem domain ed analisi;  facilita l'impiego di prototipi;  costruisce il prodotto in modo flessibile favorendone la "personalizzazione";  facilita la riutilizzazione del software. Due ulteriori vantaggi, infine, sono sicuramente ascrivibili al nuovo approccio:  il miglioramento della qualità del software prodotto, riconducibile in parte alla maggiore profondità cui viene condotta l'analisi ed in parte alla notazione rigorosa impiegata sia nella fase di analisi, sia in quella di progettazione;  la particolare adattabilità allo sviluppo iterativo". Evoluzione verso UML Ad ulteriore conferma della validità della scelta effettuata, Sodalia sta guardando con interesse ad UML. "Il recente riconoscimento dell'Unified Modeling Language come standard da parte dell'Object Management Group (OMG)", precisa Tiribelli, "impone questo nuovo, unificato linguaggio di modellazione all'attenzione di quanti vogliano trarre profitto dalle opportunità offerte dai nuovi tool per estendere il rigore della notazione formale e dei meta-modelli alle fasi "alte" dell'attività di sviluppo, senza sacrificare la produttività del processo. Sodalia ha già sperimentato, con soddisfazione, mediante due separati progetti-pilota finanziati dalla Comunità Europea, sia le tecniche di analisi di dominio sia quelle di Use Case ed è in procinto di avviarne un terzo per introdurre l'UML in SIMEP".
  • 7. Tecnet Dati s.r.l. C.so Svizzera 185 – 10149 - Torino (TO), Italia Tel.: +39 011 7718090 Fax.: +39 011 7718092 P.I. 05793500017 C.F. 09205650154 www.tecnetdati.com