Unified Modeling Language: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m robot Aggiungo: sk |
Nessun oggetto della modifica |
||
Riga 1:
In [[ingegneria del software]], '''UML''' ('''''U'''nified '''M'''odeling '''L'''anguage'', "linguaggio di modellazione unificato") è un [[linguaggio di modellazione]] e [[linguaggio di specifica|specifica]] standard basato su concetti ''[[programmazione orientata agli oggetti|object-oriented]]''. Il nucleo del linguaggio fu definito nel [[1996]] da [[Grady Booch]], [[Jim Rumbaugh]] e [[Ivar Jacobson]] (detti "i tre gringos") sotto l'egida dello [[Object Management Group|OMG]], che tuttora gestisce lo standard di UML. Il linguaggio nacque con l'intento di unificare le notazioni di modellazione sviluppate in precedenza, indipendentemente, dai tre padri di UML
Il linguaggio consente di rappresentare in [[modello]] un [[sistema software]] ''object-oriented'' secondo numerosi aspetti (funzionali, strutturali, dinamici) e a diversi livelli di dettaglio, con una flessibilità sufficiente a garantire la realizzabilità di modelli accurati sia nella fase di [[analisi (ingegneria del software)|analisi]] che nelle varie fasi di [[progetto (ingegneria del software)|progetto]] a diversi livelli di raffinamento, mantenendo la [[tracciabilità]] dei concetti impiegati per modellare il sistema in queste varie fasi. Ha una [[semantica (informatica)|semantica]] molto precisa e un grande potere descrittivo; caratteristiche che ne hanno decretato il successo anche al di fuori dell'ambito in cui esso era nato. Attualmente, non sono rari i casi di sistemi software ''non object-oriented'' modellati in UML, o addirittura modelli UML di sistemi o oggetti di altra natura (per esempio sistemi [[hardware]], strutture organizzative aziendali, [[processo di business|processi di business]] e così via.
Lo standard UML, gestito da OMG, definisce una sintassi e delle regole di interpretazione; non si tratta quindi di una [[metodologia]] di progettazione e per questo motivo può essere adottato con diverse metodologie o in ambiti diversi da quello informatico.
Riga 9 ⟶ 7:
La notazione è semi-grafica e [[linguaggio formale|semi-formale]]; un modello UML è costituito da una collezione organizzata di [[diagramma|diagrammi]] correlati, costituiti da segni grafici (con significato formalmente definito), elementi testuali formali, ed elementi di testo libero.
Attualmente, l'uso di UML è estremamente diffuso. La maggior parte dei testi che trattano di analisi e progettazione ''object-oriented'' utilizzano UML per descrivere soluzioni analitiche e progettuali in modo sintetico e comprensibile a un vasto pubblico. Molti [[Integrated development environment|ambienti integrati di sviluppo]] per linguaggi a oggetti come [[Java]] o [[C++]] comprendono strumenti di modellazione in UML, eventualmente con meccanismi automatici di traduzione parziale dei diagrammi UML in [[codice sorgente|codice]]. Viceversa, sono anche disponibili ambienti software sofisticati dedicati alla modellazione in UML che consentono (solitamente attraverso opportune estensioni) di generare codice in diversi linguaggi. Fra gli ambienti più noti di quest'ultima categoria va senz'altro citato ''[[Rational Rose]]'' di [[Rational Software]] (un'organizzazione a cui appartenevano due dei tre padri di UML) e [[Together]] di [[Borland]], che può essere integrato con diversi [[IDE|ambienti di sviluppo]].
Nell'ottobre [[2004]] è stata consolidata la versione [[UML 2.0|2.0]] del linguaggio, che riorganizza molti degli elementi della versione precedente (1.5) in un quadro di riferimento ampliato e introduce molti nuovi strumenti, inclusi alcuni nuovi tipi di diagrammi. La transizione alla versione 2.0 è ancora in corso e a oggi la versione 1.5 si può considerare ancora lo standard UML ''de facto''.
==Storia==
Riga 91:
*[[Progetto (ingegneria del software)]]
*[[Progetto orientato agli oggetti]]
==Bibliografia==
* [[Grady Booch]], [[James Rumbaugh]], [[Ivar Jacobson]]: ''[[Unified Modeling Language User Guide]]'', [[Addison-Wesley]] [[1999]]
* Ivar Jacobson, Grady Booch, James Rumbaugh: ''[[Unified Software Development Process]]'', Addison-Wesley 1999
* James Rumbaugh, Ivar Jacobson, Grady Booch: ''[[Unified Modeling Language Reference Manual]]'', Addison-Wesley [[2004]] (tratta [[UML 2.0]])
* [[Martin Fowler]]: ''[[Uml Distilled : Applying the Standard Object Modeling Language]]'', Addison-Wesley [[2003]] (tratta UML 2.0)
* [[Craig Larman]]: ''[[Applying Uml and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process]]'', [[Prentice Hall]] [[2005]]
* [[Robert C. Martin]]: ''[[UML for Java Programmers]], Addison Wesley [[2003]] (UML e la programmazione in [[Java (linguaggio)|Java]]
==Collegamenti esterni==
*[http://www.uml.org Sito ufficiale dell'UML]
[[Categoria:Ingegneria del software]]
|