UML on visuaalne modelleerimiskeel, 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 diagrammite 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 Rumbauh ühendasid oma diagrammikeeled
kuhu siis aja jooksul tekkiski teisi harusid juurde. UML ise on akronüüm inglisekeelsest terminist
"Unified Modeling Language"
Erinevaid UML liike on palju, näiteks:
Kasutuslooskeem kirjeldab, mida süsteem teeb kasutaja vaatenurgast. See näitab süsteemi funktsionaalsust ja suhtlust väliste osapooltega.
Klassidiagramm kirjeldab süsteemi staatilist struktuuri, millistest klassidest süsteem koosneb ja kuidas need on omavahel seotud.
Jadaskeem kirjeldab süsteemi käitumist ja suhtlust objektide vahel ajas. See näitab, kuidas objektid suhtlevad üksteisega ja millise järjekorraga tegevused toimuvad.
Olekuskeem kirjeldab objekti elukorda ja selle olekute vahelist suhtlust. See näitab, kuidas objekt muudab oma olekut vastavalt sündmustele.
Tegevusdiagramm kirjeldab protsessi või tegevuste voogu samm-sammult. See näitab, millises järjekorras tegevused toimuvad, kus tehakse otsuseid ning
millised tegevused võivad toimuda paralleelselt. Tegevusdiagrammi kasutatakse äriprotsesside ja süsteemi tööloogika visualiseerimiseks.
Alguspunkt täidetud must ring, näitab protsessi algust
Tegevus ümardatud ristkülik, kirjeldab ühte tegevust
Nooled näitavad tegevuste kulgemise suunda
Otsus / tingimus romb, jagab voo vastavalt tingimustele (näiteks jah/ei)
Paralleeltegevuste algus/lõpp paks horisontaalne või vertikaalne joon
Lõpp-punkt must ring valge äärega, näitab protsessi lõppu