Progettazione orientata agli oggetti

La progettazione orientata agli oggetti (in inglese object-oriented design, abbreviato in OOD) è un approccio alla progettazione di sistemi software fondata sul paradigma a oggetti. La progettazione a oggetti può (ma non necessariamente deve) accompagnarsi all'analisi a oggetti, alla…

La progettazione orientata agli oggetti (in inglese object-oriented design, abbreviato in OOD) è un approccio alla progettazione di sistemi software fondata sul paradigma a oggetti. La progettazione a oggetti può (ma non necessariamente deve) accompagnarsi all'analisi a oggetti, alla programmazione a oggetti e alla modellazione a oggetti.

Descrizione

Nel paradigma a oggetti, un oggetto è un componente software che rappresenta una entità, raggruppando e incapsulando i dati che rappresentano lo stato di tale entità e le procedure che ne rappresentano il comportamento. Il concetto di incapsulamento implica una netta separazione fra la struttura interna dell'oggetto (la sua implementazione) e l'interfaccia che esso espone, ovvero le modalità con cui il resto del sistema può interagire con l'oggetto. Oggetti dotati della stessa implementazione e della stessa interfaccia appartengono alla stessa classe. Altri concetti del paradigma a oggetti che possono o meno venire applicati nella progettazione a oggetti includono l'ereditarietà, il polimorfismo, il binding dinamico e la programmazione generica.

La progettazione a oggetti applica questi concetti alla progettazione di un sistema software, che viene descritto da un modello a oggetti, ovvero come sistema di oggetti interconnessi e interagenti l'uno con l'altro. Obiettivo principale della progettazione è identificare un sistema di oggetti la cui interazione complessiva porti a soddisfare i requisiti del sistema software.

Relazione con altri metodi orientati agli oggetti

L'analisi a oggetti è un approccio all'analisi dei requisiti di un sistema software fondata sui concetti della programmazione a oggetti. Tale analisi comprende tipicamente un'analisi del dominio il cui scopo è quello di descrivere in termini orientati agli oggetti le entità che costituiscono il dominio applicativo in cui il sistema deve operare. Questa operazione produce un modello a oggetti del dominio applicativo. Se l'analisi a oggetti è seguita dalla progettazione a oggetti, il modello prodotto in fase di analisi può solitamente essere utilizzato come modello di partenza anche per la fase di progettazione, che può procedere raffinando tale modello e arricchendolo di dettagli di livello più implementativo. Molti strumenti di modellazione a oggetti (per esempio UML) prevedono esplicitamente la creazione di modelli di analisi e di modelli di progetto integrati e correlati l'uno con l'altro.

La progettazione a oggetti, analogamente, può costituire un punto di partenza vantaggioso per la programmazione a oggetti, poiché il modello di progetto può essere interpretato come prima bozza della struttura di dettaglio del codice dal punto di vista della suddivisione in classi e oggetti e dell'organizzazione del sistema di relazioni e interazioni fra diverse classi e diversi oggetti. Un modello di progetto a oggetti sviluppato con una notazione formale (per esempio UML) può essere usato per generare automaticamente parte del codice a oggetti dell'implementazione, per esempio in linguaggio Java o C++.

Servizi correlati

Altre voci

D

DevOps

DevOps (dalla contrazione inglese di development, "sviluppo", e operations, qui simile a "messa in produzione" o "deployment") è una metodologia di sviluppo del software utilizzata in informatica che punta alla comunicazione, collaborazione e integrazione tra sviluppatori e addetti alle…

Leggi la voce →
Applicazione (informatica)A

Applicazione (informatica)

Una applicazione, in informatica, è un software (installato oppure erogato in SaaS) o una serie di software, in fase di esecuzione, che ha lo scopo e il risultato di rendere possibili funzionalità, servizi o strumenti utili e selezionabili su richiesta dall'utente tramite interfaccia utente,…

Leggi la voce →
G

Gruppo Maggioli

Il Gruppo Maggioli è un'azienda italiana che opera nel mercato dell'ICT e della produzione di software gestionali, con particolar riguardo verso la Pubblica Amministrazione. Opera anche nell'editoria, nella formazione, nella consulenza e nel supporto operativo a vari enti.

Leggi la voce →
M

Modellazione orientata agli oggetti

La modellazione orientata agli oggetti è un approccio alla modellazione di un'applicazione che viene utilizzato all'inizio del ciclo di vita del software quando si utilizza un approccio orientato agli oggetti per lo sviluppo di esso.

Leggi la voce →
Pair programmingP

Pair programming

La programmazione in coppia, meglio nota come pair programming, è una metodologia di sviluppo del software di tipologia agile nella quale due programmatori lavorano insieme sulla stessa postazione di lavoro. I due solitamente hanno due ruoli distinti che possono scambiarsi: uno, detto…

Leggi la voce →
T

Trello

Trello è un software gestionale in stile Kanban basato sul web. Originariamente prodotto da Fog Creek Software nel 2011, è stato trasferito ad una società separata nel 2014, per essere successivamente venduto ad Atlassian nel gennaio 2017. La società ha sede a New York.

Leggi la voce →