BeNvEntI NeL MiO BlOg

BeNvEntI NeL MiO BlOg

ciao raga...in questo blog vi scriverò cio che faremo nelle ore di scuola soprattutto in quelle di informatica...spero che venga bene e che vi piaccia...


AtTeNzIoNe tI VeDo!!!

Sign by Danasoft - Myspace Layouts and Signs

venerdì, novembre 21, 2008

Unified Modeling Language

In ingegneria del software, UML (Unified Modeling Language, "linguaggio di modellazione unificato") è un linguaggio di modellazione e specifica basato sul paradigma object-oriented. Il nucleo del linguaggio fu definito nel 1996 da Grady Booch, Jim Rumbaugh e Ivar Jacobson (detti "i tre amigos") sotto l'egida dello OMG, che tuttora gestisce lo standard di UML. Il linguaggio nacque con l'intento di unificare approcci precedenti (dovuti ai tre padri di UML e altri), raccogliendo le best practices nel settore e definendo così uno standard industriale unificato.
UML svolge un'importantissima funzione di lingua franca nella comunità della progettazione e programmazione a oggetti. Gran parte della letteratura di settore usa UML per descrivere soluzioni analitiche e progettuali in modo sintetico e comprensibile a un vasto pubblico.
L'ultima versione del linguaggio, la 2.0, è stata consolidata nel 2004 e ufficializzata da OMG nel 2005. UML 2.0 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. Sebbene OMG indichi UML 2.0 come la versione "corrente" del linguaggio, la transizione è di fatto ancora in corso; le stesse specifiche pubblicate da OMG sono ancora non completamente aggiornate e il supporto dei tool a UML 2.0 è, nella maggior parte dei casi, appena abbozzato.

Applicazioni
Di per sé, UML è solo un linguaggio di modellazione, e non definisce alcuna specifica metodologia per la creazione di modelli (o alcun processo software). UML può quindi essere utilizzato nel contesto di diversi approcci metodologici. La OMG gestisce uno standard metodologico, correlato a UML ma proposto come specifica indipendente, detto RUP.
UML consente di costruire modelli object-oriented per rappresentare domini di diverso genere. Nel contesto dell'ingegneria del software, viene usato soprattutto per descrivere il dominio applicativo di un sistema software e/o il comportamento e la struttura del sistema stesso. Il modello è strutturato secondo un insieme di viste che rappresentano diversi aspetti della cosa modellata (funzionamento, struttura, comportamento, e così via), sia a scopo di analisi che di progetto, mantenendo la tracciabilità dei concetti impiegati nelle diverse viste. Oltre che per la modellazione di sistemi software, UML viene non di rado impiegato per descrivere domini di altri tipi, come sistemi hardware, strutture organizzative aziendali, processi di business.
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. UML = FDP

Caratteristiche generali
La notazione UML è semi-grafica e semi-formale; un modello UML è costituito da una collezione organizzata di diagrammi correlati, costruiti componendo elementi grafici (con significato formalmente definito), elementi testuali formali, ed elementi di testo libero. Ha una semantica molto precisa e un grande potere descrittivo.
Il linguaggio è stato progettato con l'obiettivo esplicito di facilitare il supporto software alla costruzione di modelli e l'integrazione di questo supporto con gli ambienti integrati di sviluppo. OMG, in particolare, gestisce una famiglia di standard correlata a UML, detta Model Driven Architecture (MDA), che ha lo scopo di fornire le fondamenta concettuali e semantiche per lo sviluppo di ambienti evoluti di roundtrip engineering in cui la modellazione UML, in qualche misura, possa sostituire di fatto la programmazione tradizionale. Sebbene questo obiettivo sia ancora da raggiungere, molti IDE comprendono strumenti di modellazione in UML e forniscono meccanismi automatici di traduzione parziale dei diagrammi UML in codice e viceversa. Viceversa, molti ambienti software dedicati alla modellazione in UML consentono di generare codice in diversi linguaggi.
UML è un linguaggio di modellazione general purpose, che fornisce concetti e strumenti applicabili in tutti i contesti. Poiché particolari domini applicativi o famiglie di applicazioni potrebbero aver bisogno di concetti ulteriori e specifici, UML fornisce un meccanismo standard che consente di estendere il linguaggio. Una estensione di UML per un particolare contesto viene detta un profilo UML.

Storia
I linguaggi per la modellazione object-oriented iniziarono a svilupparsi in diversi contesti a partire dagli anni '80. Si trattava di notazioni di varia natura, che consentivano di descrivere la struttura di un sistema software a oggetti (in termini di classi e relazioni fra classi) ed eventualmente il suo comportamento dinamico. La proliferazione di queste notazioni diede luogo a quelle che furono poi battezzate "guerre dei metodi" (method wars), con diversi progettisti, o organizzazioni, che adottavano e sostenevano una particolare notazione a scapito di altre adottate altrove. Intorno alla metà degli anni '90 diversi metodi e linguaggi iniziarono a fondersi, e si iniziò a delineare la possibilità di una integrazione dei principali formalismi in una notazione universalmente accettabile.
Fra le metodologie e le notazioni più apprezzate e diffuse del periodo spiccavano OMT (Object Modeling Technique) di Jim Rumbaugh, e il cosiddetto metodo Booch di Grady Booch, entrambi ricercatori presso Rational Software. Il lavoro di unificazione iniziò con loro; in seguito si unì a questo sforzo Jacobson con la sua software house Objectory. Il primo risultato congiunto di questo team fu OOSE (Object Oriented Software Engineering).
Mentre "i tres amigos" operavano per unificare i propri approcci all'analisi e alla progettazione a oggetti, il progetto fu accolto sotto l'egida dell'OMG (Object Management Group), un consorzio fondato con l'obiettivo di creare e gestire standard nel contesto dello sviluppo del software a oggetti. Nel 1995, l'OMG raccolse tutti i principali metodologisti del settore in un incontro internazionale per discutere della notazione unificata. Nel 1996 l'OMG emise una RFP (Request for Proposal) per tale notazione. Nello stesso anno, Booch, Rumbaugh e Jacobson misero a punto le release 0.9 e 0.91 di UML. Il progetto fu ben accolto dalla comunità internazionale e innumerevoli grandi organizzazioni si unirono a Rational per proseguirlo (per esempio Digital, Hewlett-Packard, IBM, Microsoft, Oracle e Unisys). Questo gruppo esteso realizzò, nel 1997, UML 1.0, che fu sottoposto alla OMG come risposta alla RFP dell'anno precedente.
La release 1.1 di UML contribuì a consolidare la semantica del linguaggio e incluse elementi tratti da una proposta avanzata indipendentemente all'OMG da un gruppo composto da IBM, ObjectTime, Ptech e altre.

Nessun commento:

play list


VideoPlaylist
I made this video playlist at myflashfetish.com