UML on visuaalne modeleerimis0keel, mis aitab tarkvaraarenduses nii kliendile, arendajale endile
kui ka erinevatele muudele isikutele protsessi juures kuvada täpsemalt milline arendatava toote sisemine
struktuur erinevatel tasanditel olema peaks, UML on aga ka haruskeel, ehk teisisõnu on erinevaid
diagrammiliike nende erinevate tasandite kuvamise jaoks väga palju. UML defineerib ära nende erinevate
tasandite diagrammide notatsioonid, keskendudes siis nende spetsiifilistel tasemetel vajamineva
kirjeldusele. Tarkvaratoote käitumise kirjeldamiseks on näiteks käitumisdiagramm, Andmestruktuuri
kirleldamiseks on näiteks olemdiagramm (ERD). Ja nii, erinevate aspektide kohta. UMLe kasutatakse
nii uue arendustöö kirjeldamiseks, kui ka olemasoleva dokumenteerimiseks.
UML tekkis vajadusest kujutada objektorienteeritud programmeerimise jaoks ühtset keelt, mis kuvaks
protsessi ilma koodita. Algselttekkis see kui Grady Booch ja James Rumbaugh ühendasid oma diagrammi
keeled kuhu siis aja jooksul tekkis teisi harusid juurde. UML ise on akronüüm ingliskeelsest terminist
"Unified modeling Language"
Erinevaid UML liike on palju, näiteks: