Unified Modeling Language

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

UML, Unified Modeling Language je v softwarovém inženýrství grafický jazyk pro vizualizaci, specifikaci, navrhování a dokumentaci programových systémů. UML nabízí standardní způsob zápisu jak návrhů systému včetně konceptuálních prvků jako jsou business procesy a systémové funkce, tak konkrétních prvků jako jsou příkazy programovacího jazyka, databázová schémata a znovupoužitelné programové komponenty.

UML podporuje objektově orientovaný přístup k analýze, návrhu a popisu programových systémů. UML neobsahuje způsob, jak se má používat, ani neobsahuje metodiku(y), jak analyzovat, specifikovat či navrhovat programové systémy.

Standard UML definuje standardizační skupina Object Management Group (OMG).

Způsoby použití UML[editovat | editovat zdroj]

Kreslení konceptu
UML diagramy

Při tomto použití je UML podpůrným nástrojem pro komunikaci mezi vývojáři a pro zaznamenání myšlenek a návrhů. Do diagramů se kreslí pouze věci podstatné pro grafické vyjádření návrhu, části návrhu před tím, než se začne programovat.

Důležitá je srozumitelnost, rychlost nakreslení a snadnost změny či navržení alternativ řešení.

Kreslení detailních návrhů

Cílem je zaznamenat kompletní návrh či kompletní realizaci. Při kreslení návrhu by měl analytik obsáhnout všechny prvky tak, aby programátor byl schopen vytvořit program bez velkého přemýšlení nad věcnou oblastí (pro programátora by neměla vzniknout potřeba konzultace s uživatelem). Při kreslení detailních návrhů se obvykle používají specializované programy (CASE), které jsou schopny sdílet informace mezi jednotlivými modely a kontrolovat konzistenci návrhu. Při dokumentaci programu se často používání nástroje pro generování diagramů z vlastního kódu aplikace.

UML jako programovací jazyk

Při tomto použití vývojář nakreslí UML diagramy, ze kterých se vygeneruje přímo spustitelný kód. Toto vyžaduje specializované nástroje a velmi přesné vyjadřování v UML diagramech. V této souvislosti se velmi často používá pojem Model Driven Architecture (MDA), což je další standard skupiny OMG, který se snaží standardizovat použití UML jako programovacího jazyka.

Metamodel

Tento pohled používají autoři UML a autoři CASE nástrojů - nedívají se na UML jako na diagramy, pro ně je základem UML metamodel (diagramy jsou pouze grafickou reprezentací metamodelu). Při tomto přístupu se často používá pojem model místo pojmu diagram, např. místo diagramu tříd se používá pojem model tříd. Metamodel se popisuje pomocí Meta-Object-Facility (MOF) - abstraktního jazyka pro specifikaci, vytváření a správu metamodelů (další standard OMG). Pro výměnu metamodelů se používá XMI - na XML založený standard (součást standardu UML).

Součásti UML[editovat | editovat zdroj]

Standard ve verzi 2.0 se skládá ze čtyř částí:

  • UML 2.0 SuperStructure – popis UML z hlediska uživatele (analytik/programátor). Tato část popisuje jednotlivé diagramy.
  • UML 2.0 Infrastructure – metamodel stojící v pozadí za UML, specifikovaný pomocí Meta-Object Facility (MOF).
  • UML 2.0 Object Constraint Language (OCL) – jazyk pro specifikaci vstupních a výstupních podmínek, invariantů v jednotlivých diagramech.
  • UML 2.0 Diagram Interchange – popis XML struktur pro výměnu konkrétních modelů mezi jednotlivými modelovacími nástroji.

Vedle vlastního standardu existují UML profily – přizpůsobení UML pro 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 též začínají vznikat různé dialekty – modelovací jazyky pro určité oblasti, které přebírají část UML, kterou modifikují a doplní o prvky specifické pro konkrétní oblast. Příkladem může být jazyk Systems Modeling Language (SysML), určený pro specifikaci, analýzu, návrh, verifikaci a validaci různých systémů (technické, programové, informační, procesní, zabezpečovací, …).

Též většina metodik pro analýzu a návrh systémů upřednostňuje části z UML a doplňuje je o další prvky.

Diagramy[editovat | editovat zdroj]

Ukázka diagramu tříd (generalizace)
UML diagramy
Strukturní diagramy
Diagram tříd
Diagram komponent
Diagram složené struktury
Diagram nasazení
Diagram objektů
Diagram balíčků
Diagram profilů
Diagramy chování
Diagram aktivit
Stavový diagram
Diagram užití
Diagramy interakce
Diagram komunikace
Diagram interakcí
Sekvenční diagram
Diagram časování
UML

Diagramy jsou nejznámější a nejpoužívanější částí standardu. Následuje přehled diagramů v UML 2.0 včetně jejich rozčlenění do skupin:

Historie UML[editovat | editovat zdroj]

Vývoj UML začal v roce 1994, kdy Grady Booch a Jim Rumbaugh začali ve firmě Rational Software (nyní součást firmy IBM) spojovat své metodiky – Booch a OMT (Object Modeling Technique). V září 1996 do firmy Rational Software vstoupil Ivar Jacobson se svojí metodologii OMSE (Object-Managed Software Engineering).

Výsledkem jejich práce byl návrh UML (verze 0.9) a metodika RUP (Rational Unified Process). Standardizační organizace OMG v roce 1997 přijala jako standard UML verze 1.1 ve které byly začleněny prvky z dalších metodik (označení UML 1.0 se používá pro návrh, který poslala firma Rational Rose standardizační komisi). Postupně se upřesňovala specifikace a vznikaly další verze 1.2 (1998), 1.3 (1999), 1.4 (2001) a 1.5 (2002). Větší změny byly začleněny do verze 1.3.

Od roku 2001 OMG připravuje verzi 2.0, která přináší podstatná rozšíření.

Text první části (SuperStructure) byl schválen na podzim 2004, ale ještě není dokončena formální úprava dokumentu.[kdy?] Další části specifikace UML jsou připraveny k závěrečnému hlasování.[kdy?]

Začala se již připravovat revize 2.1.[kdy?]

Externí odkazy[editovat | editovat zdroj]