Modellazione orientata agli oggetti (Object Oriented)

Modellazione orientata agli oggetti (Object Oriented)

Una modalità alternativa di decomposizione è quella di un sistema in oggetti e classi; in questo contesto un oggetto nel sistema corrisponde generalmente ad un concetto presente nel dominio del problema o nello spazio della soluzione, mentre una classe corrisponde ad un insieme di oggetti simili. Ogni oggetto è caratterizzato da un’identità, da uno stato e da un comportamento.

I vantaggi che una decomposizione ad oggetti presenta rispetto ad una funzionale si possono così riassumere:

  • essa conduce allo sviluppo di sistemi più piccoli e semplici per ché consente di applicare meglio la filosofia di riutilizzo di componenti preesistenti;
  • consente di descrivere il sistema in un modo più comprensibile per gli utenti finali e più vicino al dominio applicativo nel quale il sistema si colloca;
  • conduce alla produzione di sistemi più resistenti alle modifiche.

La modellazione orientata agli oggetti (o modellazione Object Oriented) ha un impatto sulle diverse attività che vengono condotte nel corso dello sviluppo di un sistema (analisi, progetto e codifica). In fase di analisi le specifiche del sistema possono essere espresse in termini degli oggetti che popolano la particolare realtà (dominio di interesse) in cui si colloca il problema che il sistema intende risolvere. Nel corso del progetto il sistema da produrre può essere decomposto per mezzo di oggetti: i documenti prodotti descriveranno, utilizzando notazioni diverse, gli aspetti strutturali (classi e oggetti) e comportamentali (interazioni e stati). Infine nell’attività di codifica i moduli che compongono il sistema saranno organizzati in termini di classi di oggetti che cooperano fra di loro per svolgere un determinato compito.

Un modello orientato agli oggetti è caratterizzato dai seguenti elementi costitutivi:

  • astrazione di classificazione, la capacità di descrivere un oggetto mettendo a fuoco le caratteristiche più importanti e ignorando le altre, per mezzo del costrutto di classe;
  • incapsulamento, la possibilità di nascondere i dettagli della implementazione di un oggetto;
  • modularità, la possibilità di decomporre un sistema in un insieme di elementi caratterizzati da un basso grado di accoppiamento e da un elevata coesione interna;
  • ereditarietà, la capacità di specificare una gerarchia fra le classi definite;
  • aggregazione, la possibilità di definire un oggetto come composto da altri oggetti.

L’astrazione di classe consente di descrivere oggetti con caratteristiche simili per mezzo del costrutto di classe: una classe rappresenterà solamente le caratteristiche desiderate per gli oggetti che la compongono.

Astrazione di classe nella Modellazione orientata agli oggetti
Astrazione di classe nella Modellazione orientata agli oggetti

Un esempio ereditarietà è quella mostrata in figura fra le classi IMPIEGATO e DIRIGENTE: la seconda classe può ereditare dalla prima caratteristiche strutturali (nome , cognome, ecc.), comportamentali (la capacità di svolgere un compito assegnato) e di relazione con altre classi (entrambi fanno parte di un’organizzazione).

Mentre, la relazione esistente fra un IMPIEGATO e il GRUPPO in cui lavora costituisce un esempio di aggregazione: il gruppo risulta definito come oggetto composto da un certo numero di impiegati.

Ereditarietà e aggregazione nella Modellazione orientata agli oggetti
Ereditarietà e aggregazione nella Modellazione orientata agli oggetti

 

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *