Nel mondo costantemente in fermento ed in evoluzione quale e' quello
dello sviluppo di applicazioni Object Oriented, diviene sempre più
difficile costruire e gestire applicazioni di alta qualità in tempi
brevi.
Come risultato di tale difficoltà e dalla esigenza di avere un
linguaggio universale per modellare gli oggetti che potesse essere
utilizzato da ogni industria produttrice di software, fu inventato il
linguaggio UML, la cui sigla sta per Unified Modeling Language.
In termini pratici, potremmo dire che il linguaggio UML rappresenta, in qualche modo, una cianografia, un progetto di ingegneria edile, riportato nel mondo dell'Information Technology.
L'UML è, dunque, un metodo per descrivere l'architettura di un sistema
in dettaglio. Come è facile intuire, utilizzando una sorta di
cianografia sarà molto più facile costruire o manutenere un sistema e
assicurarsi che il sistema stesso si presterà senza troppe difficoltà a
futuri cambiamenti dei requisiti.
La forza dell'Unified Modeling Language consiste nel fatto che il
processo di disegno del sistema può essere effettuata in modo tale che
i clienti, gli analisti, i programmatori e chiunque altro sia coinvolto
nel sistema di sviluppo possa capire ed esaminare in modo efficiente il
sistema e prendere parte alla sua costruzione in modo attivo.
Si consideri il seguente esempio: Nessuno di noi acquisterebbe un
appartamento dando come requisito semplicemente il solo fatto che abbia
4 camere da letto, 3 bagni e che sia grande circa 180 metri quadri.
Tutti desidereremmo studiare a tavolino, magari con l'ausilio
dell'architetto, tutti i dettagli possibili (finestre, porte, ecc.)
servendoci, a tale scopo, della mappa della casa. In modo pressoché
analogo si può pensare che funzioni la "macchina" dello sviluppo di
sistemi software. Invece di leggere la piantina della casa, in questo
caso ci si servirà dei diagrammi UML che non fanno altro che
documentare in modo esauriente e a tutti i livelli le caratteristiche
tecniche che dovranno essere implementate.