system
Răspunde în limba română, în stilul Wikipedia, cat mai corect gramatical.
user
Ce aspecte principale ale [Titlu] poți să-mi împărUnified Modeling Language?
assistant
Unified Modeling Language (prescurtat UML) este un limbaj standard pentru descrierea de modele și specificații pentru software. Limbajul a fost creat de către consorțiul Object Management Group (OMG) care a mai produs printre altele și standardul de schimb de mesaje intre sisteme CORBA. UML a fost la bază dezvoltat pentru reprezentarea complexității programelor orientate pe obiect, al căror fundament este structurarea programelor pe clase, și instanțele acestora (numite și obiecte). Cu toate acestea, datorită eficienței și clarității în reprezentarea unor elemente abstracte, UML este utilizat dincolo de domeniul IT. Așa se face că există aplicații ale UML-ului pentru management de proiecte, pentru business Process Design etc.

Istoric

Prima versiune de UML, UML 1.0, a apărut în anul 1990 ca reacție a numeroaselor limbaje de modelare propuse pe piață. UML îi are ca fondatori pe Grady Booch, Ivar Jacobson și James Rumbaugh, așa numiții „cei trei Amigos”. Ei au dezvoltat limbajul bazându-se inclusiv pe limbaje de modelare deja existente, însă incomplete ca gamă de funcționalități. Printre acestea se numără și OOSE, RDD, OMT, OBA, OODA, SOMA, MOSES și OPEN/OML.

UML 2.x
Dezvoltarea versiunii 2 a UML a început în anul 1999 atunci când OMG a publicat un request for information referitor la UML 2. De atunci, UML s-a aflat într-un continuu ciclu de îmbunătățire, astăzi ajungând la varianta UML 2.4.1 (publicată în august 2011).

Tipuri de diagrame 
UML oferă o largă gamă de diagrame pentru modelarea diferitelor situații în cadrul unui proiect de dezvoltare software.

Diagramă de activitate 
Așa cum și numele sugerează, acest tip de diagrame UML este folosit pentru reprezentarea desfășurării unei activități în rularea programului.

Diagramă de componente 
Sunt diagrame ce se utilizează în cadrul proiectării unei arhitecturi de sistem, atunci când diferite componente ale sistemului software (numite și subsisteme) interacționează între ele prin intermediul unor interfețe.

Diagramă de clasă 

Este folosită pentru reprezentarea vizuală a claselor și a interdependențelor, taxonomiei și a relațiilor de multiplicitate dintre ele. Diagramele de clasă sunt folosite și pentru reprezentarea concretă a unor instanțe de clasă, așadar obiecte, și a legăturilor concrete dintre acestea.

Diagramă package 
Este folosită pentru reprezentarea interdependențelor și a relațiilor dintre pachete ce formează un program. (Pachetele reprezintă în acest sens containerele ce conțin clase și sunt o caracteristică a unor limbaje de programare ca Java sau C Sharp)

Diagramă de secvență 

Este utilizată în special în timpul dezvoltării de subsisteme, și ajută la identificarea relațiilor dintre obiecte pe parcursul efectuării unei anumite operații (de exemplu relația dintre obiectul client Ion și obiectul comandă numărul 1234 în timpul operației de finalizare a unei comenzi).

Diagramă use case 
Datorită simplității ei este utilizată în special în discuțiile dintre firma dezvoltatoare de software și clienți sau utilizatori. Diagramele use case reprezintă interacțiunea dintre elementele exterioare unui sistem (numite și actori) și sistem. În cazul acestor diagrame se prezintă acțiunea desfășurată de sistem la interacțiunea actorului, însă modul în care sistemul desfășoare acea acțiune nu trebuie să fie reprezentat într-o astfel de diagramă (conceptul blackBox).

Diagramă deployment 
Este folosită în cadrul proiectării arhitecturii de sistem, având scopul reprezentării repartizării fizice a diferitelor elemente ale sistemului (de exemplu repartizarea unui sistem ce este compus dintr-un server, routere și alte componente exterioare, inclusiv software).

Note

Legături externe 
 uml.org Situl oficial al Object Management Group

Limbaje de programare