UML 2.0 - Panoramica
UML 2.0 è una dimensione completamente diversa nel mondo di Unified Modeling Language. È di natura più complessa ed estesa. Anche la quantità di documentazione è aumentata rispetto alla versione UML 1.5. UML 2.0 ha aggiunto nuove funzionalità in modo che il suo utilizzo possa essere più esteso.
UML 2.0 aggiunge la definizione di semantica formale e completamente definita. Questa nuova possibilità può essere utilizzata per lo sviluppo di modelli e i sistemi corrispondenti possono essere generati da questi modelli. Tuttavia, per utilizzare questa nuova dimensione, è necessario compiere uno sforzo considerevole per acquisire conoscenza.
Nuove dimensioni in UML 2.0
La struttura e la documentazione di UML sono state completamente riviste nell'ultima versione di UML 2.0. Ora sono disponibili due documenti che descrivono UML:
L'infrastruttura UML 2.0 definisce i costrutti di base del linguaggio su cui si basa UML. Questa sezione non è direttamente rilevante per gli utenti di UML. Questo è diretto maggiormente verso gli sviluppatori di strumenti di modellazione. Quest'area non rientra nell'ambito di questo tutorial.
La sovrastruttura UML 2.0 definisce i costrutti utente di UML 2.0. Significa quegli elementi di UML che gli utenti useranno a livello immediato. Questo è l'obiettivo principale per la comunità degli utenti di UML.
Questa revisione di UML è stata creata per soddisfare l'obiettivo di ristrutturare e perfezionare UML in modo da semplificare l'usabilità, l'implementazione e l'adattamento.
L'infrastruttura UML viene utilizzata per:
Fornire un nucleo meta-linguaggio riutilizzabile. Viene utilizzato per definire UML stesso.
Fornire meccanismi per regolare la lingua.
La sovrastruttura UML viene utilizzata per:
Fornire un supporto migliore per lo sviluppo basato su componenti.
Migliora i costrutti per la specifica dell'architettura.
Fornire opzioni migliori per la modellazione del comportamento.
Il punto importante da notare sono le principali divisioni descritte sopra. Queste divisioni vengono utilizzate per aumentare l'usabilità di UML e definire una chiara comprensione del suo utilizzo.
C'è un'altra dimensione che è già proposta in questa nuova versione. Si tratta di una proposta per un OCL (Object Constraint Language) e un Diagram Interchange completamente nuovi. Queste caratteristiche insieme formano il pacchetto completo UML 2.0.
Diagrammi di modellazione in UML 2.0
Interazioni di modellazione
I diagrammi di interazione descritti in UML 2.0 sono diversi dalle versioni precedenti. Tuttavia, il concetto di base rimane lo stesso della versione precedente. La differenza principale è il miglioramento e le funzionalità aggiuntive aggiunte ai diagrammi in UML 2.0.
UML 2.0 modella l'interazione con gli oggetti nei seguenti quattro modi diversi.
Sequence diagramè una visione dipendente dal tempo dell'interazione tra oggetti per raggiungere un obiettivo comportamentale del sistema. La sequenza temporale è simile alla versione precedente del diagramma di sequenza. Un'interazione può essere progettata a qualsiasi livello di astrazione all'interno della progettazione del sistema, dalle interazioni del sottosistema al livello dell'istanza.
Communication diagramè un nuovo nome aggiunto in UML 2.0. Il diagramma di comunicazione è una vista strutturale della messaggistica tra oggetti, presa dal concetto di diagramma di collaborazione di UML 1.4 e versioni precedenti. Questo può essere definito come una versione modificata del diagramma di collaborazione.
Interaction Overview diagramè anche una nuova aggiunta in UML 2.0. Un diagramma Panoramica interazione descrive una vista di alto livello di un gruppo di interazioni combinate in una sequenza logica, inclusa la logica di controllo del flusso per navigare tra le interazioni.
Timing diagramviene aggiunto anche in UML 2.0. È un diagramma opzionale progettato per specificare i vincoli di tempo sui messaggi inviati e ricevuti nel corso di un'interazione.
Dalla descrizione precedente, è importante notare che lo scopo di tutti i diagrammi è inviare / ricevere messaggi. La gestione di questi messaggi è interna agli oggetti. Quindi, gli oggetti hanno anche opzioni per ricevere e inviare messaggi, e qui arriva un altro aspetto importante chiamato interfaccia. Ora queste interfacce sono responsabili dell'accettazione e dell'invio reciproco di messaggi.
Si può quindi concludere che le interazioni in UML 2.0 sono descritte in modo diverso e questo è il motivo per cui sono entrati in scena i nuovi nomi dei diagrammi. Se analizziamo i nuovi diagrammi, è chiaro che tutti i diagrammi vengono creati sulla base dei diagrammi di interazione descritti nelle versioni precedenti. L'unica differenza sono le funzionalità aggiuntive aggiunte in UML 2.0 per rendere i diagrammi più efficienti e orientati allo scopo.
Modellazione delle collaborazioni
Come abbiamo già discusso, la collaborazione viene utilizzata per modellare interazioni comuni tra oggetti. Possiamo dire che la collaborazione è un'interazione in cui un insieme di messaggi viene gestito da un insieme di oggetti con ruoli predefiniti.
Il punto importante da notare è la differenza tra il diagramma di collaborazione nella versione precedente e nella versione UML 2.0. Per distinguerlo, il nome del diagramma di collaborazione è stato modificato in UML 2.0. In UML 2.0, è denominato comeCommunication diagram.
Di conseguenza, la collaborazione è definita come una classe con attributi (proprietà) e comportamento (operazioni). I compartimenti della classe di collaborazione possono essere definiti dall'utente e possono essere utilizzati per interazioni (diagrammi di sequenza) ed elementi strutturali (diagramma della struttura composita).
La figura seguente modella il design pattern Observer come collaborazione tra un oggetto nel ruolo di un elemento osservabile e un numero qualsiasi di oggetti come osservatori.
Comunicazione di modellazione
Il diagramma di comunicazione è leggermente diverso dai diagrammi di collaborazione delle versioni precedenti. Possiamo dire che è una versione ridotta delle versioni precedenti di UML. Il fattore distintivo del diagramma di comunicazione è il collegamento tra gli oggetti.
Questo è un collegamento visivo e manca nel diagramma di sequenza. Nel diagramma di sequenza vengono visualizzati solo i messaggi passati tra gli oggetti anche se non esiste alcun collegamento tra di loro.
Il diagramma di comunicazione viene utilizzato per impedire al modellatore di commettere questo errore utilizzando un formato del diagramma di oggetto come base per la messaggistica. Ogni oggetto in un diagramma di comunicazione è chiamato linea di vita dell'oggetto.
I tipi di messaggio in un diagramma di comunicazione sono gli stessi di un diagramma di sequenza. Il diagramma di comunicazione può modellare messaggi sincroni, asincroni, di ritorno, persi, trovati, a creazione di oggetti.
La figura seguente mostra un diagramma di oggetti con tre oggetti e due collegamenti che costituiscono la base per il diagramma di comunicazione. Ogni oggetto in un diagramma di comunicazione è chiamato linea di vita dell'oggetto.
Modellazione di una panoramica di interazione
Nell'uso pratico, un diagramma di sequenza viene utilizzato per modellare un singolo scenario. Una serie di diagrammi di sequenza vengono utilizzati per completare l'intera applicazione. Quindi, mentre si modella un singolo scenario, è possibile dimenticare il processo totale e questo può introdurre errori.
Per risolvere questo problema, il nuovo diagramma di panoramica dell'interazione combina il flusso di controllo da un diagramma di attività e le specifiche di messaggistica dal diagramma di sequenza.
Il diagramma delle attività utilizza attività e flussi di oggetti per descrivere un processo. Il diagramma Panoramica interazioni utilizza le interazioni e le occorrenze di interazione. Le linee di vita e i messaggi trovati nei diagrammi di sequenza vengono visualizzati solo all'interno delle interazioni o delle occorrenze di interazione. Tuttavia, le linee di vita (oggetti) che partecipano al diagramma Panoramica interazione possono essere elencate insieme al nome del diagramma.
La figura seguente mostra un diagramma di panoramica dell'interazione con rombi di decisione, frame e punto di terminazione.
Modellazione di un diagramma temporale
Il nome di questo diagramma stesso descrive lo scopo del diagramma. Fondamentalmente si occupa del tempo degli eventi nel suo intero ciclo di vita.
Un diagramma temporale può quindi essere definito come un diagramma di interazione per scopi speciali creato per concentrarsi sugli eventi di un oggetto nel suo tempo di vita. È fondamentalmente un misto di macchina a stati e diagramma di interazione. Il diagramma temporale utilizza le seguenti linee temporali:
Indicare la cronologia
Time line del valore generale
Una linea di vita in un diagramma temporale forma uno spazio rettangolare all'interno dell'area del contenuto di un fotogramma. Di solito è allineato orizzontalmente per leggere da sinistra a destra. Più linee vita possono essere impilate all'interno dello stesso telaio per modellare l'interazione tra di loro.
Sommario
UML 2.0 è una versione migliorata in cui vengono aggiunte nuove funzionalità per renderlo più utilizzabile ed efficiente. Ci sono due categorie principali in UML 2.0, una è la super struttura UML e un'altra è l'infrastruttura UML. Sebbene i nuovi diagrammi siano basati sui vecchi concetti, hanno ancora alcune funzionalità aggiuntive.
UML 2.0 offre quattro diagrammi di interazione, il diagramma di sequenza, il diagramma di comunicazione, il diagramma di panoramica dell'interazione e un diagramma temporale opzionale. Tutti e quattro i diagrammi utilizzano la notazione del frame per racchiudere un'interazione. L'uso dei frame supporta il riutilizzo delle interazioni come occorrenze di interazione.