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.
Il ciclo di vita del software è tipicamente diviso in stadi che vanno da una descrizione astratta del progetto alla programmazione e infine al suo utilizzo. La modellazione viene eseguita all'inizio del processo. Le ragioni per modellare un sistema prima di scrivere il codice sono:
- Comunicazione. Normalmente gli utenti non capiscono il linguaggio di programmazione utilizzato. Dei diagrammi possono essere più comprensibili e permettono agli utenti di dare dei feedback agli sviluppatori sulla struttura del sistema. Uno degli obiettivi della modellazione orientata agli oggetti è di diminuire il "divario semantico" tra il sistema e la realtà, per avere un sistema costruito sulla terminologia utilizzata dagli utenti.
- Astrazione. Un obiettivo della maggior parte delle metodologie di software è quello di prima riflettere su quali siano gli obiettivi e le funzionalità del software e poi capire come realizzare questa descrizione astratta, considerando alcuni vincoli come la tecnologia a propria disposizione e il budget. La modellazione consente questa valutazione, permettendo descrizioni astratte di processi e oggetti che definiscono la loro struttura e il comportamento fondamentale.
La modellazione orientata agli oggetti è in genere eseguita tramite casi d'uso (use cases) e definizioni astratte degli oggetti più importanti. Il linguaggio più comune utilizzato per la modellazione orientata agli oggetti è l'Object Management Group Unified Modeling Language (UML).[1]