Modello di dominio

Un modello di dominio è il modello più importante poiché illustra i concetti significativi di un dominio. Può fungere da sorgente di ispirazione per la progettazione di alcuni oggetti software. In questa argomentazione vedremo anche la notazione UML, le cui convenzioni di "scrittura/disegno" sono banali, ma per costruire un modello utile è necessario seguire delle linee guida di modellazione molto sottili; sperimentarle può richiedere settimane o mesi. Questo capitolo esamina le capacità di base nella realizzazione di modelli di dominio.

Pasted image 20230502101712.png
Questo diagramma mostra gli step che vengono eseguiti, in ordine (non rigido):

  • si parte dal testo dei casi d'uso
  • si comincia ad implementare il modello di dominio
  • si scrivono i contratti delle operazioni
  • si aggiorna il glossario
  • si modella il progetto

Questi step, come abbiamo già detto, non hanno un ordine rigido, ma sono flessibili. Trattandosi di un metodo evolutivo, essi cambiano nel corso del tempo, e vengono aggiornati di volta in volta, poiché alcuni dettagli vengono fuori solo in alcuni di questi punti ed è in quel momento che vanno rivisti tutti i modelli precedenti e che riguardano quella determinata sezione così da perfezionarla e renderla coerente con tutti gli altri elaborati.

Esempio
...

Pasted image 20230502102107.png
Questo sopra è un modello di dominio (incompleto), disegnato con notazioni delle classi di UML. In questo dominio, classi concettuali significative sono: Sale (Vendita), CashPayment (Pagamento in contanti); mostra anche che un CashPayment è correlato ad una Sale in modo significativo e che una Sale ha una data e un orario, attributi informativi che è importante conoscere.

Il concetto di domino è indicato come intestazioni dei rettangoli.
Le associazioni come delle linee senza frecce.
Le cardinalità sono indicate alle estremità delle associazioni.
Un titolo sul collegamento (e un freccia) sopra le associazioni ne indicano il nome e il verso.

Nota

Un modello di dominio non sarà mai né completo, né corretto. Bisogna non concentrarsi troppo sulla modellazione dei concetti per non cadere nella paralisi da analisi.

Cos'è un modello di dominio
...

Una visuale rappresentata mediante classi concettuali o di oggetti del mondo reale da non confondere con la rappresentazioni a oggetti di un linguaggio orientato agli oggetti come Java o C++. Un modello di dominio rappresenta in modo completamente dissociato dalla progettazione con un linguaggio elementi del mondo reale. NON SI TRATTA DI OGGETTI SOFTWARE.

Un modello di dominio è incentrato su un solo dominio, come per esempio tutto ciò che riguarda il POS.
Un modello di dominio mostra i seguenti elementi:

  • classi concettuali od oggetti di dominio
  • associazioni tra classi concettuali
  • attributi di classi concettuali
    Una classe concettuale rappresenta una cosa o un concetto del dominio, ovvero un insieme di cose o oggetti con caratteristiche simili. Un'associazione rappresenta una relazione fra gli oggetti di due classi. Un attributo rappresenta una proprietà elementare (un dato) degli oggetti di una classe.
    Si noti che un modello di dominio è un modo particolare di utilizzare un diagramma delle classi di UML.

Il modello di dominio è un "dizionario visuale"
...

Il modello di dominio mostra un'astrazione del dominio di interesse, poiché gli oggetti delle classi sono astrazioni di oggetti del mondo reale, ma anche perché ci sono molte altre informazioni che si potrebbero comunicare in merito ai registratori di cassa, alle vendite e così via. Tramite l'astrazione si estrapola un gruppo di informazioni che sono importanti per lo sviluppo del sistema e si trascurano tutte le altre non necessarie per lo stesso fine. Le informazioni che mostra la figura sopra, potevano essere mostrate allo stesso modo mediante del testo (nel Glossario di UP), tuttavia il linguaggio visuale permette di comprendere meglio i termini e le relazioni tra di essi.

Navigazione:

Il modello di dominio è corretto?

No. I modelli sono approssimazioni della realtà che si sta cercando di comprendere.

Prossimo argomento: Diagrammi degli oggetti.