UML Unified Modelling Language Linguaggio per la modellazione unificato.
La storia In ingegneria del software, UML (unified modelling language, "linguaggio di modellizzazione unificato") è un linguaggio di modellizzazione e specifica basato sul paradigma orientato agli oggetti.ingegneria del softwarelinguaggio di modellizzazionespecificaparadigma orientato agli oggetti Il nucleo del linguaggio fu definito nel 1996 daGrady Booch, Jim Rumbaugh e Ivar Jacobson (detti "i tre amigos") sotto l'egida dell'Object Management Group, consorzio che tuttora gestisce lo standard UML.1996Grady BoochJim RumbaughIvar JacobsonObject Management Group (wikipedia)
La Storia 1991 Nascono le metodologie Object – Oriented (Booch, Rumbaugh, Jacobson) 1994 Booch e Rumbaugh si uniscono a Rational Software 1995 Nasce Unified Metod versione 0, UM versione 0,8 diventa UML 0, UML 1,0 in partnership con Microsoft, Oracle, HP, Digital, TI. OMG spinge per un framework che consenta interoperabilità tra analisi e disegno.
La Storia 1999 UML 1, UML 1, UML 2, UML 2,3
La Storia Gray Booch, Ivar Jacobson, Jim Rumbaugh avevano sviluppato propri metodi per disegnare e progettare il software e successivamente cominciarono a collaborare. Presto le principali case di informatica, che avevano il problema che non esisteva un metodo unificato per progettare software, decisero di aiutare i tre studiosi. Nel 1997 nasce UML 1.0 riconosciuto da OMG.
La Storia UML ha lo scopo di aiutare i progettisti nel Disegno del nuovo sistema software. Utilizzando un linguaggio universale Documentando il sistema
4 fasi del UML Nella metodologia UML le fasi sono 4 (ricalcano le fasi del ciclo di vita del software) 1 – Analisi. 2 – Progettazione di sistema. 3 – Progettazione degli oggetti. 4 – Implementazione.
1 - Analisi Si costruisce un modello della realtà (es. una libreria) Viene determinato COSA il sistema deve fare e non COME deve essere fatto (gestione libreria, prestiti, acquisti, giacenze). Si individuano quali sono: Gli oggetti su cui lavora il software (libri, ordini, prestiti) Gli esperti che utilizzeranno il software (bibliotecari, lettori).
2 - Progettazione del sistema Si definisce per bene, ma in maniera «astratta» cioè in modo progettuale, non dettagliato, quello che il sistema software deve fare. Si divide il sistema software in sottosistemi che poi saranno realizzati separatamente in modo da dar vita ad un lavoro modulare.
3 - Progettazione degli oggetti Si progettano come saranno gli oggetti del software (libri, ordini, prestiti….) Si progettano le strutture dati. Si progettano gli algoritmi. Si individuano le classi su cui lavorare
4 - Implementazione È la fase di codifica. Si usa uno specifico linguaggio di programmazione. Le classi prima individuate vengono realizzate. Le scelte importanti sono già state fatte. Si devono seguire i principi della buona realizzazione del software.
Diagrammi UML UML mette a disposizione molteplici tipi di diagrammi utili per descrivere un po’ tutto: Dati e archivi usati. Funzione da implementare Tempo ed evoluzione temporale Stati e transizioni.
Diagrammi UML In particolare ci sono per la: Modellazione ad oggetti: diagramma delle classi. Modellazione funzionale: diagramma dei casi d’uso. Modellazione dinamica: diagrammi di stato, di sequenza, di attività. Ogni modello che si fa ci descrive e CHIARISCE un aspetto specifico del sistema in modo da non avere incertezze e confusioni. I modelli sono però collegati tra loro.
Paradigma OO (Object Oriented) La programmazione orientata agli oggetti OOP è un tipo (paradigma) di programmazione con la quale si realizzano degli «oggetti software» in grado di interagire tra loro scambiando informazioni (messaggi). In una zona precisa del codice sorgente si dichiara una struttura dati con cui si definisce la «classe» e le procedure che operano su esse (metodi). Il codice è organizzato in «classi» così che si favorisce la modularità ed il riuso.
Paradigma OO (Object Oriented) 1.Le classi quindi costituiscono dei modelli astratti che al momento di esecuzione vengono invocate generando una «istanza» cioè un «oggetto» software. 2.Classi ed oggetti che le appartengono sono dotate di attributi e metodi cioè di dati e procedure specifiche.
Paradigma OO (Object Oriented) Ricordiamo i due concetti base del paradigma OO. 1.Incapsulamento: dati e procedure costituiscono l’oggetto. 2.Information hiding: si può accedere all’oggetto solo attraverso le procedure attivate che sono l’interfaccia dell’oggetto.