Unified Modeling Language

Unified Modeling Language alebo UML je v softvérovom inžinierstve grafický jazyk na vizualizáciu, špecifikáciu, navrhovanie a dokumentáciu programových systémov. UML ponúka štandardný spôsob zápisu tak návrhov systémov vrátane konceptuálnych prvkov ako sú business procesy a systémové funkcie, tak konkrétnych prvkov ako sú príkazy programovacieho jazyka, databázové schémy a znovupoužiteľné programové komponenty.
UML podporuje objektovo orientovaný prístup k analýze, návrhu a popisu programových systémov. UML neobsahuje spôsob, ako sa má používať, ani neobsahuje metodiku, ako analyzovať, špecifikovať alebo navrhovať programové systémy.
Štandard UML definuje štandardizačná skupina Object Management Group (OMG).
Spôsoby použitia UML.
Kreslenie konceptu.
Pri tomto použití je UML podporným nástrojom na komunikáciu medzi vývojármi a na zaznamenávanie myšlienok a návrhov. Do diagramov sa kreslia len veci podstatné na grafické vyjadrenie návrhu alebo časti návrhu predtým, ako sa začne programovať. Dôležitá je zrozumiteľnosť, rýchlosť nakreslenia a možnosť jednoduchej zmeny alebo alternatív riešenia.
Kreslenie detailných návrhov.
Cieľom je zaznamenať kompletný návrh alebo kompletnú realizáciu. Pri kreslení návrhu by mal analytik obsiahnuť všetky prvky tak, aby prográmator bol schopný vytvoriť program bez veľkého premýšľania nad vecnou oblasťou (pre programátora by nemala vzniknúť potreba konzultácie s užívateľom). Pri kreslení detailných návrhov sa obvykle používajú špecializované programy (CASE), ktoré sú schopné zdieľať informácie medzi jednotlivými modelmi a kontrolovať konzistenciu návrhu. Pri dokumentácii programu sa často používajú nástroje na generovanie diagramov z vlastného kódu aplikácie.
UML ako programovací jazyk.
Pri tomto použití vývojár nakreslí UML diagramy, z ktorých sa vygeneruje priamo spustiteľný kód. Toto vyžaduje špecializované nástroje a veľmi presné vyjadrovanie v UML diagramoch. V tejto súvislosti sa veľmi často používa pojem Model Driven Architecture (MDA), čo je ďalší štandard skupiny OMG, ktorý sa snaží štandardizovať použitie UML ako programovacieho jazyka.
Metamodel.
Tento pohľad používajú autori UML a autori CASE nástrojov - nepozerajú sa na UML ako na diagramy, pre nich je základom UML metamodel (diagramy sú len grafickou reprezentáciou metamodelu). Pri tomto prístupe sa často používa pojem "model" namiesto pojmu "diagram", napríklad namiesto pojmu "diagram tried" sa používa pojem "model tried". Metamodel sa popisuje pomocou Meta-Object-Facility (MOF) - abstraktného jazyka na špecifikáciu, vytváranie a správu metamodelov (ďalší štandard OMG). Na výmenu metamodelov sa používa jazyk XMI, štandard založený na XML, súčasť štandardu UML.
Súčasti UML.
Štandard vo verzii 2.0 sa skladá zo štyroch častí:
Popri vlastnom štandarde existujú UML profily - prispôsobenie UML na jednotlivé oblasti:
Z UML začínajú vznikať aj rôzne dialekty - modelovacie jazyky na určité oblasti, ktoré preberajú časť UML, ktorou modifikujú a doplnia o prvky špecifické na konkrétnu oblasť. Príkladom môže byť jazyk Systems Modeling Language (SysML), určený na špecifikáciu, analýzu, návrh, verifikáciu a validáciu rôznych systémov (technických, programových, informačných, procesných, zabezpečovacích…). Tiež väčšina metodík na analýzu a návrh systémov uprednostňuje časti z UML a dopĺňa ich o ďalšie prvky.
Diagramy.
Diagramy sú najznámejšie a najpoužívanejšie časti štandardu. Nasleduje prehľad diagramov v UML 2.0 vrátane ich rozčlenenia do skupín:
História UML.
Vývoj UML začal v roku 1994, kedy Grady Booch a Jim Rumbaugh začali vo firme Rational Software (dnes súčasť firmy IBM) spájať svoje metodiky – Booch a OMT (Object Modeling Technique). Na konci roku 1995 do firmy Rational Software vstúpil Ivar Jacobson so svojou metodológiou OOSE (Object-Oriented Software Engineering).
Výsledkom ich práce bol návrh UML (verzie 0.9) a metodika RUP (Rational Unified Process). Štandardizačná organizácia OMG v roku 1997 prijala ako štandard UML verzie 1.1, v ktorej boli začlenené prvky z ďalších metodík (označenie UML 1.0 sa používa na návrh, ktorý poslala firma Rational Rose štandardizačnej komisii). Postupne sa upresňovala špecifikácia a vznikali ďalšie verzie 1.2 (1998), 1.3 (1999), 1.4 (2001) a 1.5 (2002). Väčšie zmeny boli začlenené do verzie 1.3.
Od roku 2001 OMG pripravovala verziu 2.0, ktorá prináša podstatné rozšírenia. Text prvej časti (SuperStructure) bol schválený na jeseň 2004 a finálne schválenie bolo v októbri 2004.
Revízie UML 2.x: