UML on visuaalne modelleerimiskeel, mis aitab tarkvaraarenduses nii kliendile, arendajale endale 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 nendel spetsiifilistel tasemetel vajamineva
kirjeldusele. Tarkvaratoote käitumise kirjeldamiseks on näiteks käitumisdiagramm, andmestruktuuri
kirjeldamiseks on näiteks olemidiagramm (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. Algselt tekkis see kui Grady Booch ja James Rumbaugh ühendasid oma diagrammikeeled,
kuhu siis aja jooksul tekkiski teisi harusid juurde. UML ise on akronüüm ingliskeelsest terminist
"Unified Modeling Language".
Erinevaid UML liike on palju, näiteks:
Lühikirjeldus: Näitab süsteemi aktoreid (kasutajad, süsteemid) ja nende toiminguid.
Kujundite/joonte seletus: Aktor on tulpikujuline inimene, süsteem on ristkülik, seosed näidatud joonega, mis võib olla nool või lihtjoon.
Näidisjoonis:
Lühikirjeldus: Näitab süsteemi klasse, atribuute, meetodeid ja seoseid klasside vahel.
Kujundite/joonte seletus: Klass on ristkülik, jagatud kolmeks osaks (nimi, atribuudid, meetodid), seosed võivad olla assotsiatsioonid, pärilikkus või kompositsioon.
Näidisjoonis:
Lühikirjeldus: Näitab objektide vahelisi sõnumeid ajas, kuidas nad suhtlevad.
Kujundite/joonte seletus: Objektid on horisontaalselt üleval ristkülikutena, sõnumid on vertikaalsed nooled ajateljel.
Näidisjoonis:
Lühikirjeldus: Näitab objekti olekuid ja nende vahelisi üleminekuid.
Kujundite/joonte seletus: Olek on ovaal, algus ja lõpp on täisringid, üleminekud on nooled koos sündmustega.
Näidisjoonis:
Lühikirjeldus: Näitab tegevuste voogu, otsuseid ja paralleelset tegevust.
Kujundite/joonte seletus: Tegevus on ristkülik, otsus on romb, voog on nool.
Näidisjoonis: