# Vista (UML)

Nella terminologia del linguaggio di modellazione object-oriented Unified Modeling Language, una vista è una porzione di un modello orientata alla rappresentazione di un particolare aspetto di un sistema software.

## Definizione

Il concetto di vista non è definito in modo formale dalle specifiche UML, che di conseguenza non forniscono nemmeno indicazioni su quali particolari viste debbano o possano essere fornite da chi realizza un modello software. Tuttavia, il concetto di vista è stato storicamente utilizzato dalla maggior parte degli ambienti software di modellazione UML, incluso Rational Rose (prodotto che ha contribuito in buona misura alla definizione dello standard). Di conseguenza, la definizione di viste di un modello UML in viste si può considerare una prassi che costituisce uno standard de facto. Riferimenti al concetto di viste si trovano anche in documenti ufficiali legati a UML; nella UML User Guide di Grady Booch, per esempio, compare la seguente definizione:
«Vista: una proiezione di un modello, visto da una certa prospettiva o punto d'osservazione, in cui si omettono le entità non rilevanti per tale prospettiva.»

## Viste standard

I due principali approcci alla suddivisione in viste di un modello UML sono quello utilizzato da Rational Rose (e prodotti derivati) e il cosiddetto "modello 4+1".

### Viste nell'approccio Rational

Il modello Rational tradizionale (introdotto con Rational Rose 98) distingue quattro viste:
* la Use Case View (vista dei casi d'uso) descrive i requisiti del sistema in termini di servizi offerti. La vista è basata sui diagrammi dei casi d'uso, e può comprendere altri diagrammi utilizzati per dettagliare i casi d'uso (soprattutto diagrammi di sequenza e diagrammi di collaborazione);
* la Logical View (vista logica) descrive il sistema in termini degli oggetti logici di cui è composto e del loro comportamento. Questa vista può comprendere sia elementi tradizionalmente considerati di analisi (come il modello del dominio) che altri considerati di progetto (architettura del sistema). Vengono impiegati in questa vista soprattutto diagrammi delle classi, diagrammi degli oggetti e diagrammi degli stati;
* la Component View (vista dei componenti) descrive la struttura concreta del software che compone il sistema (processi, moduli, librerie, ecc.), attraverso diagrammi dei componenti;
* la Deployment View (vista di deployment) descrive la struttura di deployment del sistema, attraverso diagrammi di deployment.

### Modello 4+1

Il modello 4+1 distingue cinque viste:
* la Use Case View (vista dei casi d'uso) descrive i requisiti del sistema in termini di servizi offerti. La vista comprende principalmente o esclusivamente diagrammi dei casi d'uso;
* la Logical o Design View (vista logica, o di progetto) descrive la struttura logica del sistema, principalmente per mezzo di diagrammi delle classi e degli oggetti;
* la Process View (vista dei processi) descrive il comportamento dinamico del sistema, e comprende soprattutto diagrammi degli stati, delle attività, di sequenza e di collaborazione;
* la Component View (vista dei componenti) corrisponde all'omonima vista del modello Rational;
* la Deployment o Physical View (vista di deployment, o fisica) corrisponde all'omonima vista del modello Rational.