Unified Modeling Language .
– un linguaggio (e notazione) universale, per rappresentare
qualunque tipo di sistema software
– uno standard OMG (Object Management Group), dal
nov.1997
– gli autori:
– Grady Booch
– Ivar Jacobson
– Jim Rumbaugh
– i co-proponenti: Microsoft, IBM, Oracle, HP, Platinum,
Sterling, Unysis (e tanti altri)
Unified Modeling Language .
• Approccio Object-Oriented che consente di
rappresentare:
 Struttura statica
 Comportamento
 Interazioni tra diverse componenti del sistema
• Linguaggio semi-formale
• Notazione grafica
• Strumenti CASE a supporto della progettazione
cos'è UML (e cosa non è)
– è un linguaggio di progettazione, non un linguaggio di
programmazione (come Java, VisualBasic, C++, …)
– quindi serve a progettare un nuovo sistema, o a apportare
modifiche alla progettazione di un sistema esistente, senza
perdersi nei dettagli dei linguaggi di programmazione
– è universale, nel senso che può rappresentare sistemi molto
diversi senza differenze legate alla tecnologia: dai sistemi
web a quelli più tradizionali, dalle vecchie applicazioni Cobol
a quelle object oriented e a componenti
...cos'è UML (e cosa non è)...
– è un linguaggio, non un metodo
– definisce una notazione standard, basata su un metamodello
integrato degli “oggetti” che compongono un sistema
software
– ma non prescrive una sequenza di processo, cioè non dice
“prima bisogna fare questa attività, poi quest’altra”
– quindi può essere (ed è) utilizzato da persone e gruppi che
seguono metodi diversi (è “indipendente dai metodi”)
...cos'è UML (e cosa non è)...
– è un linguaggio non proprietario, standard
– i suoi autori (Grady Booch, Jim Rumbaugh e Ivar Jacobson)
non hanno il copyright su UML
– la versione diventata standard OMG (Object Management
Group) ha ricevuto i contributi delle più importanti società di
software mondiali
– la sua evoluzione è a carico dell’OMG, e soggetta a
procedure ben definite per ogni cambiamento
cos'è UML (e cosa non è)
– UML è un’evoluzione di modelli preesistenti,
non una rivoluzione
– Forti affinità con modelli e diagrammi molto
noti:
– Entity - Relationship
– Flow Chart
– modelli object oriented
– Innovazione dei modelli per adeguarsi alle
architetture distribuite
Viste a supporto della modellazione
Analisi con UML
•Diagrammi dei casi d’uso: modellazione dei requisiti utente.
•Diagrammi delle classi: modellazione dei requisiti informativi.
•Diagrammi di sequenza: mostra esplicitamente la sequenza di messaggi
e si rivela particolarmente adatto a
rappresentare scenari complessi.
•Diagrammi di collaborazione: mostra le relazioni tra gli oggetti ed è
particolarmente adatto per progettazioni
di tipo procedurale e per mostrare tutti
gli effetti di una interazione su un dato
oggetto.
•Diagrammi delle attività: modellazione dei requisiti di processo
(flussi di lavoro, attori…).
•Diagrammi degli stati: modellazione delle variazioni di stato che
subiscono le informazioni.
Scarica

4 – UML