Progettazione Orientata Agli Oggetti: Approccio alla progettazione di software

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++.

Altri progetti

Tags:

Lingua ingleseModellazione orientata agli oggettiProgettazione (ingegneria del software)Programmazione orientata agli oggettiSoftware

🔥 Trending searches on Wiki Italiano:

SvizzeraErling HaalandPino CorriasMadridRoss HillMatilde BrandiIl problema dei 3 corpiAlex ZanardiHamasCiaoLa battaglia di Long TanAlex GarlandFIATLeicester City Football ClubMatteo SalviniChicago Fire (serie televisiva)Elezioni politiche in Italia del 2022Clint EastwoodAlberto GilardinoFestival di Sanremo 2024CagliostroStefano PioliJoseph James DeAngeloMichelina Di CesareRomelu LukakuBayer 04 Leverkusen FußballLilli GruberRichard TysonJosip IličićFrancesco PannofinoMonica VittiLeslie GrovesBud SpencerGradi e qualifiche dell'Esercito ItalianoShōgun (miniserie televisiva 2024)Club 27Moana PozziGiulio AndreottiBrendan FletcherEpisodi di Grey's Anatomy (ventesima stagione)FaterSeconda guerra mondialeTerence HillNicolás GonzálezGlass (film 2019)Michela De RossiCity HunterEdoardo LeoStatistiche del motomondialeMaroccoRaffaella CarràFinché morte non ci separi (film 2019)Cecilia DanieliPaolo MaldiniMatteo DarmianSalvatore RiinaCarlo AcutisSilvio BerlusconiTom Holland (attore)Francesco NutiCaterina da SienaRaoul BovaFederico II di SveviaSerie BElenoire CasalegnoLaw & Order - Unità vittime specialiAndrea AgnelliElezioni amministrative in Italia del 2024AnfoteroTorre di PisaFascismoNetflixIlenia PastorelliChe Dio ci aiutiC'era una volta in AmericaGradi e qualifiche dell'Arma dei CarabinieriNight Hunter (film 2018)Young SheldonPaolo Stoppa🡆 More