In questo esercizio verranno identificati gli oggetti principali che costituiscono il sistema di online banking PiggyBank. E' possibile descrivere tali oggetti come classi, poiché le classi UML forniscono un esempio appropriato per la descrizione degli attributi e relazioni di un oggetto. E' possibile scoprire gli oggetti PiggyBank principali analizzando la documentazione dei requisiti del progetto ed evidenziando tutti i nomi. E' possibile raggruppare i nomi comuni in un elenco, quindi identificarli come entità, unità di controllo o classi di tipo limite. Queste classi creano i digrammi di dominio, che quindi formano la base del modello di progetto.
Un output importante del modello di analisi è il modello di dominio. Il modello di dominio tenta di modellare la struttura statica dell'applicazione modellando gli actor principali e le entità che partecipano alle attività funzionali. Il modello di dominio è costituito da uno o più diagrammi di classi di base che descrivono il nome della classe e uno o due attributi principali che ne descrivono il comportamento. I diagrammi di dominio sono i programmi allo stato embrionale per il sistema sistema.
Prima di creare il diagramma di dominio, è necessario identificare le classi principali del sistema di online banking PiggyBank descritte nella documentazione del caso di utilizzo del progetto. In genere, questo passo è iterativo in quanto può essere difficile identificare e modellare la struttura appropriata di un sistema prima di comprendere il modo in cui interagiscono tra loro le parti del sistema. Creare l'elenco di oggetti durante il passo di analisi della documentazione del caso di utilizzo, quindi modificare l'elenco aggiungendo, rimuovendo o riorganizzando le classi quando si crea il modello dinamico del sistema. In questo supporto didattico, vengono identificate le classi principali descritte nei documenti dei requisiti.
Per identificare gli oggetti principali PiggyBank, è necessario analizzare prima la documentazione del caso di utilizzo, quindi elencare tutti i nomi presenti. Questo elenco fornisce la base per gli elementi limite, le entità e le unità di controllo compresi nel diagramma di dominio. L'elenco di seguito riportato contiene tutti i nomi descritti nella documentazione del caso di utilizzo PiggyBank:
E' possibile raffinare l'elenco eliminando i nomi che rappresentano istanze di oggetti, oggetti che sono attributi di altri oggetti, oggetti duplicati o correlati e altri oggetti che rappresentano una parte insignificante del sistema. Questo è un processo iterativo. In una situazione reale, è possibile raffinare questo elenco una volta completato il modello di dominio quando si inizia a modellare gli elementi dinamici del modello di analisi. In questo supporto didattico, di seguito viene riportato l'elenco raffinato delle classi candidate:
Queste quattro classi formano la base del modello di dominio. E' probabile che questo elenco raffinato di oggetti rappresenti delle classi di entità, poiché tali classi sono spesso le più semplici da scoprire. Le classi restanti, che sono istanze o attributi di tali classi, descrivono i dettagli delle classi principali e forniscono informazioni sulle relazioni che esistono tra loro.
Una volta identificate l'elenco di classi, è possibile organizzarle in base al relativo comportamento applicando gli stereotipi. Gli stereotipi generalizzano gli oggetti organizzandoli in base alle caratteristiche comuni di funzionalità. Gli stereotipi di analisi RUP® descrivono il comportamento della classe classificandola in uno dei tre stereotipi: entità, limite o unità di controllo. E' possibile utilizzare queste classi stereotipate per creare diagrammi di dominio per il sistema. La tabella di seguito riportata descrive gli elementi di analisi RUP:
Elemento | Descrizione |
---|---|
![]() |
Le classi limite descrivono le interfacce tra il sistema e gli actor. Se gli actor sono costituiti da individui, le classi limite spesso descrivono le interfacce software o hardware che accedono al sistema. Se gli actor sono costituiti da sistemi, come ad esempio computer o altre applicazioni software, le classi limite spesso rappresentano le interfacce software, come ad esempio gli API. |
![]() |
Le classi di controllo contengono l'implementazione delle regole aziendali e logiche. Le classi di controllo sono volontariamente astratte dall'utente ed è possibile accedervi solo mediante le classi limite. Le classi di controllo interagiscono con una o più classi di entità. |
![]() |
Le classi di entità catturano i dati del sistema. |
E' possibile comprendere meglio la struttura e le funzioni di un sistema applicando gli stereotipi di base all'elenco di classi. Quando si organizzano le classi in base alle funzioni, è possibile iniziare a effettuare una distinzione tra il dominio del sistema e i dettagli dell'implementazione. E' possibile utilizzare gli stereotipi per creare i diagrammi di domino e di sequenza negli esercizi di seguito riportati.
Per continuare, procedere con l'Esercizio 2.3: Creazione del diagramma del modello di domino PiggyBank.