Unified Modeling Language

programovací jazyk
(Presmerované z UML)

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 logo
UML logo

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 upraviť

Kreslenie konceptu upraviť

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 upraviť

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 upraviť

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 upraviť

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 upraviť

Štandard vo verzii 2.0 sa skladá zo štyroch častí:

  • UML 2.0 SuperStructure – popis UML z hľadiska užívateľa (analytik/programátor). Táto časť popisuje jednotlivé diagramy.
  • UML 2.0 Infrastructure – metamodel stojaci v pozadí za UML, špecifikovaný pomocou Meta-Object Facility (MOF).
  • UML 2.0 Object Constraint Language (OCL) – jazyk na špecifikáciu vstupných a výstupných podmienok, invariantov v jednotlivých diagramoch.
  • UML 2.0 Diagram Interchange – popis XML štruktúr na výmenu konkrétnych modelov medzi jednotlivými modelovacími nástrojmi.

Popri vlastnom štandarde existujú UML profily - prispôsobenie UML na jednotlivé oblasti:

  • UML Profile for CORBA®
  • UML Profile for CORBA Component Model (CCM)
  • UML Profile for Enterprise Application Integration (EAI)
  • UML Profile for Enterprise Distributed Object Computing (EDOC)
  • UML Profile for QoS and Fault Tolerance
  • UML Profile for Schedulability, Performance, and Time
  • UML Testing Profile

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.

 
Hierarchia diagramov UML 2.0, zobrazená ako diagram tried

Diagramy upraviť

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 upraviť

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:

  • 2.1.1, 2.1.2 - 2007
  • 2.2 - február 2009
  • 2.3 - máj 2010
  • 2.4 - august 2011

Iné projekty upraviť

  •   Commons ponúka multimediálne súbory na tému UML

Externé odkazy upraviť