Diciamo che voglio modellare un'applicazione che consente agli utenti di modellare diagrammi di classe. Il caso d'uso di alto livello può essere modellato come UC1: Model Class Diagram, che si raffina in UC11: Model Class, UC12: Model Connection, UC13: Model Composition, ecc.
Poiché UC11, 12, 13 fanno parte di UC 1, ho utilizzato l'associazione include. Sfortunatamente, le specifiche UML dicono che i casi d'uso inclusi sono parti essenziali e se si lascia uno di questi il comportamento di alto livello non potrebbe essere più raggiunto.
Ma in questo esempio è possibile creare un diagramma di classe valido senza modellare una connessione o una composizione, quindi questi casi d'uso sono facoltativi.
Per ridurlo a un'essenza: in che modo è possibile modellare i casi di utilizzo facoltativi in UML fornendo al contempo un meccanismo di riutilizzo (come l'associazione include)?