L'Approccio Procedurale

Prima di addentrarci nelapproccio a oggetti, diamo un'occhiata all'approccio tradizionale alla costruzione di software.

Costruire sistemi software significa costruire modelli del mondo reale. Questi modelli devono essere semplici e precisi, in modo che un computer possa interpretarli.

Ecco esempi di situazioni reali di cui potremmo costruire una versione informatica:

Qual è l' approccio tradizionale alla costruzione di modelli informatici?

Da una parte si considerano i DATI che il sistema deve manteneer sugli elementi del dominio. Per trattare i dati, potremmo usare le struture dati e le varibili di linguaggi come il C o il COBOL o sistemi di basi di dati dedicati. Per visualizzare la struttura dei dati, potremmo per esempio disegnare un diagrmma di modello dei dati.

Dall'altra parte costruiamo un modello che descrive come il sistema deve svolgere i compiti del dominio che il sistema modella, es. il COMPORTAMENTO del sistema. Tale modello è realizzato come sequenze di istruzioni di un linguaggio di programmazione. Istruzioni logicamente correlate vengono raggruppate insieme in funzioni o subroutine.

Questo approccio allo sviluppo di software è chiamato approccio

Un problema con questo approccio si presenta quando i dati ed il comportamento del sistema diventano complessi:

Modifiche alla struttura dei dati possono influenzare molte delle funzioni (e viceversa). Non è ovvio allo sviluppatore del software quali funzioni sono influenzate e come.

Il problema è che abbiamo costruito due modelli di una singola realtà, e questi modelli separati devono essere mantenuti consistenti durante le modifiche ed estensioni del sistema.

Inoltre, l'approccio predominante per strutturare le funzioni è di formare gerarchie di funzioni usando la decomposizione funzionale (o astrazione funzionale, se vista nel verso opposto). Ci&ogreave; conduce ad un sistema strutturato intorno alla sequenza in cui i vari compiti vengono svolti. Tuttavia, in molti casi questo non risulta essere molto stabile nel tempo.


previous | next | start | contents | dictionary | help | evaluation

© Ericsson Telecom AB, 1995, Stockholm, Sweden