I diagrammi di robustezza vengono scritti dopo i casi d'uso e prima dei diagrammi di classe. Aiutano a identificare i ruoli delle fasi del caso d'uso. Puoi usarli per assicurarti che i tuoi casi d'uso siano sufficientemente solidi da rappresentare i requisiti di utilizzo per il sistema che stai creando.
Coinvolgono:
- Attori
- Casi d'uso
- Entità
- Confini
- Controlli
Mentre il pattern Model-View-Controller viene utilizzato per le interfacce utente, il modello Entity-Control-Boundary (ECB) viene utilizzato per i sistemi. I seguenti aspetti di ECB possono essere paragonati a una versione astratta di MVC, se utile:
Entità (modello)
Oggetti che rappresentano i dati di sistema, spesso dal modello di dominio.
Boundaries (view / service collaborator)
Oggetti che si interfacciano con gli attori del sistema (es. Un utente o un servizio esterno ). Finestre, schermate e menu sono esempi di confini che si interfacciano con gli utenti.
Controlli (controller)
Oggetti che mediano tra confini ed entità. Questi fungono da collante tra elementi di confine ed elementi di entità, implementando la logica necessaria per gestire i vari elementi e le loro interazioni. È importante capire che potresti decidere di implementare i controller all'interno del tuo progetto come qualcosa di diverso dagli oggetti: molti controller sono abbastanza semplici da essere implementati come metodo di un'entità o di una classe limite, ad esempio.
Quattro regole si applicano alla loro comunicazione:
- Gli attori possono parlare solo con oggetti di confine.
- Gli oggetti limite possono parlare solo con controllori e attori.
- Gli oggetti entità possono parlare solo con i controller.
- I controller possono parlare con oggetti limite e oggetti entità e con altri controller, ma non con gli attori
Comunicazione consentita:
Entity Boundary Control
Entity X X
Boundary X
Control X X X