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.