[[File:UMLPackage.PNG|thumb|Esempio di Package UML]]
Un '''package''' (o pacchetto) nell'[[Unified Modeling Language]] è usato "per raggruppare elementi e fornire un [[namespace]] per gli elementi raggruppati".<ref>{{en}}[http://www.omg.org/spec/UML/2.1.2/Infrastructure/PDF OMG Unified Modeling Language (OMG UML), Infrastructure, V2.1.1] p.158.</ref> Un pacchettopackage può contenere altri pacchettipackage, fornendo così un'organizzazione gerarchica dei pacchettipackage.
Praticamente tutti gli elementi UML possono essere raggruppati in package. Così [[Classe (informatica)|classi]], [[Oggetto (informatica)|oggetti]], [[Use Case Diagram|casiuse d'usicase]], [[Component Diagram|componenti]], [[Deployment Diagram|nodi]], istanze di nodi, ecc. possono essere tutti organizzati come pacchettipackage, consentendo così una maneggevole organizzazione delle miriadi di elementi che un modello UML comporta.
== Utilizzo ==
Quando si organizzano modelli funzionali (casiuse d'usocase, flussi di lavoroworkflow, ecc.) si usano i pacchettipackage per modellare la struttura modulare del sistema da applicare nel mondo reale. Quando si organizza il codice sorgente, si usano i package per rappresentare i differenti strati di un codice sorgente. Per esempio:
* [[logica di presentazione]]
* controller layer di controllo
* data access layer
* layer dei dati di accesso
* integration layer
* layer di integrazione
* business services layer
* layer dei servizi business
La gestione dei layers[[Layers]] è legata alloal [[Design pattern#Pattern architetturali|schemapattern architetturale]] che ne prende il nome.
Quando si organizzano i [[Component Diagram|modelli di componenticomponent]], si usano i package per raggruppare i componenti in base alla proprietà (possesso) e/o alle possibilità di riuso. Per esempio:
* [[COTS|commercial-off-the-shelf products]]
* componenti framework [[Open source]]
* componenti applicazione "custom-built"
Quando si organizzano [[Deplyment Diagram|modelli deployment]], si usano i package per rappresentare i differenti tipi di ambienti di distribuzione (ambienti deploymentdeplyment) che si modelleranno. Per esempio:
* ambiente di produzione
* ambiente di pre-produzione
|