UML

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 5. září 2018; kontroly vyžadují 24 úprav .

UML ( anglicky  Unified Modeling Language  - jednotný modelovací jazyk) je grafický popisný jazyk pro objektové modelování v oblasti vývoje softwaru , pro modelování obchodních procesů , návrh systémů a zobrazování organizačních struktur .

UML je obecný jazyk, je to otevřený standard , který používá grafickou notaci k vytvoření abstraktního modelu systému nazývaného model UML . UML byl vytvořen, aby definoval, vizualizoval, navrhoval a dokumentoval v podstatě softwarové systémy . UML není programovací jazyk , ale generování kódu je možné na základě modelů UML .

Použití

UML také umožňuje vývojářům softwaru dohodnout se na grafickém zápisu pro reprezentaci běžných pojmů (jako je třída , komponenta , zobecnění , agregace  a chování ) a zaměřit se více na design a architekturu . 

Historie

Předpoklady pro vznik modelovacího jazyka UML byly identifikovány v souvislosti s prudkým rozvojem objektově orientovaných programovacích jazyků ve druhé polovině 20. století ( Simula 67 , Smalltalk , Objective C , C++ atd.) . Vzhledem k neustálým komplikacím vytvářených softwarových produktů je potřeba při analýze, formulaci požadavků a v procesu návrhu softwarových aplikací zohledňovat stále více nových funkcí jazyků a vývojových nástrojů. Například během krátké doby od roku 1989 do roku 1994 vzrostl počet objektově orientovaných nástrojů z tuctu na více než padesát. Pro mnoho vývojářů však bylo obtížné vybrat modelovací jazyk, který by plně vyhovoval všem jejich potřebám. V důsledku toho se objevila nová generace vývojových metod, mezi nimiž si získala zvláštní oblibu metoda Booch , vytvořená Jacobson Object-Oriented Software Engineering ( OOSE ) a vyvinutá Rambaud Object Modeling Technique ( OMT ). Kromě nich existovaly další dokončené technologie, jako Fusion , Shlaer-Mellor a Coad-Yourdon , nicméně všechny měly nejen výhody, ale i značné nevýhody [1] .

Před UML 1.x

V roce 1994 Grady Booch a James Rumbaugh , pracující pro Rational Software , spojili své síly, aby vytvořili nový objektově orientovaný modelovací jazyk. Za základ jazyka vzali modelovací metody Object-Modeling Technique a Booch . OMT byl zaměřen na analýzu, zatímco Booch byl zaměřen na návrh softwarových systémů. V říjnu 1995 byla vydána předběžná verze 0.8 Unified Method .  Na podzim roku 1995 se k Rational připojil Ivar Jakobson , autor objektově orientovaného softwarového inženýrství - OOSE . OOSE poskytuje vynikající schopnosti pro specifikaci obchodních procesů a analýzu požadavků prostřednictvím případů použití . OOSE byl také integrován do jednotné metody.

V této fázi přešla hlavní role v organizaci procesu vývoje UML na konsorcium OMG (Object Management Group) . Návrhářský tým v OMG, který zahrnoval také Butche, Rambeaua a Jacobsona („tři kamarádi“), vydal specifikace UML verze 0.9 a 0.91 v červnu a říjnu 1996 .

UML 1.x

Verze Datum přijetí
1.1 listopad 1997 [2]
1.3 březen 2000 [3]
1.4 září 2001 [4]
1.4.2 července 2004 [3]
1.5 březen 2003 [5]
2,0 července 2005 [6]
2.1 formálně nepřijato [3]
2.1.1 srpen 2007 [7]
2.1.2 listopad 2007 [8]
2.2 února 2009 [9]
2.3 květen 2010 [10]
2.4 beta 2 březen 2011 [11]
2.5 června 2015 [12]
2.5.1 prosince 2017 [13]

V důsledku rostoucího zájmu o UML se společnosti jako Digital Equipment Corporation , Hewlett-Packard , i-Logix, IntelliCorp, IBM , ICON Computing, MCI Systemhouse, Microsoft , Oracle Corporation , Rational Software připojily k vývoji nových verzí jazyk v rámci konsorcia UML Partners , Texas Instruments a Unisys . Výsledkem spolupráce byla specifikace UML 1.0, která byla vydána v lednu 1997 . V listopadu téhož roku následovala verze 1.1, která obsahovala vylepšení notace a také některá sémantická rozšíření.

Následná vydání UML zahrnovala verze 1.3, 1.4 a 1.5, publikované v červnu 1999 , září 2001 , respektive březnu 2003 .

UML 1.4.2 byl přijat jako mezinárodní standard ISO / IEC 19501:2005 [12] .

UML 2.x

Formální specifikace pro UML 2.0 byla zveřejněna v srpnu 2005. Sémantika jazyka byla výrazně zpřesněna a rozšířena tak, aby podporovala metodologii Model Driven Development-MDD . Nejnovější verze UML 2.5 byla zveřejněna v červnu 2015.

UML 2.4.1 byl přijat jako mezinárodní standard ISO / IEC 19505-1, 19505-2 [12] .

Diagramy

V UML se používají následující typy diagramů (pro odstranění nejednoznačnosti je uveden i zápis v angličtině):

Strukturní diagramy:

Diagramy chování:

Strukturní schémata:

Diagramy chování:

Strukturu diagramů UML 2.3 lze znázornit v diagramu tříd UML:

Diagram tříd

Diagram tříd (Class diagram) - statický strukturní diagram, který popisuje strukturu systému, ukazuje třídy systému, jejich atributy, metody a závislosti mezi třídami.

Existují různé pohledy na konstrukci diagramů tříd v závislosti na účelu jejich použití:

Schéma komponent

Komponentní diagram (Component diagram) - statický strukturální diagram, ukazuje rozdělení softwarového systému na strukturální komponenty a vztahy (závislosti) mezi komponentami. Fyzické komponenty mohou být soubory, knihovny, moduly, spustitelné soubory, balíčky atd.

Schéma kompozitní/složené struktury

Složený strukturní diagram ( Composite structure diagram) - statický strukturní diagram, který demonstruje vnitřní strukturu tříd a pokud možno interakci prvků (částí) vnitřní struktury třídy.

Poddruhem diagramů složené struktury jsou diagramy spolupráce (diagram spolupráce, představený v UML 2.0), které ukazují role a interakce tříd v rámci spolupráce. Spolupráce je užitečná při modelování návrhových vzorů .

Diagramy složené struktury lze použít ve spojení s diagramy tříd.

Diagram nasazení

Deployment diagram ( deployment diagram) - slouží k modelování pracovních uzlů (hardware, anglicky  node ) a artefaktů na nich nasazených. UML 2 nasadil artefakty na uzly , zatímco  UML 1 nasadil komponenty na uzly. Mezi artefaktem a logickým prvkem (komponentou), který implementuje, je vytvořena závislost manifestace.

Diagram objektu

Diagram objektu – zobrazuje úplný nebo částečný snímek simulovaného systému v daném časovém okamžiku. Diagram objektů zobrazuje instance tříd (objekty) systému s aktuálními hodnotami jejich atributů a vazeb mezi objekty.

Schéma balíku

Diagram balíčku (Package diagram) - strukturální diagram, jehož hlavním obsahem jsou balíčky a vztahy mezi nimi. Mezi různými strukturálními diagramy není žádné striktní oddělení, takže tento název je nabízen pouze pro pohodlí a nemá žádný sémantický význam (balíčky a diagramy balíků se mohou objevit na jiných strukturních diagramech). Balíčkové diagramy slouží především k uspořádání prvků do skupin podle nějakého atributu za účelem zjednodušení struktury a organizace práce s modelem systému.

Diagram aktivity

Diagram aktivity - diagram, který ukazuje rozklad nějaké aktivity na její součásti. Aktivita je  specifikace spustitelného chování ve formě koordinovaného sekvenčního a paralelního provádění podřízených prvků — vnořených aktivit a samostatných akcí ( anglicky  action ), vzájemně propojených toky, které jdou z výstupů jednoho uzlu na vstupy jiného.

Diagramy činností se používají při modelování podnikových procesů, technologických procesů, sériových a paralelních výpočtů.

Obdobou diagramů aktivit jsou schémata algoritmů podle GOST 19.701-90 a schémata draků .

Schéma automatu

Automatový diagram (State machine diagram, finite state machine diagram , stavový diagram ) - diagram, který ukazuje konečný automat s jednoduchými stavy , přechody a složenými stavy.

Stavový automat je specifikace  posloupnosti stavů, kterými prochází objekt nebo interakce v reakci na události svého života, stejně jako reakce objektu na tyto události. Stavový stroj je připojen ke zdrojovému prvku ( třídě , spolupráci nebo metodě) a slouží k definování chování jeho instancí.

Obdobou automatových diagramů (stavových diagramů) jsou dračí diagramy .

Diagram případů užití (Diagram případů užití)

Diagram případů užití nebo diagram případů užití (Use case diagram) je diagram, který ukazuje vztahy, které existují mezi aktéry a případy užití .

Hlavním cílem je poskytnout jednotný nástroj, který umožní zákazníkovi, koncovému uživateli a vývojáři společně diskutovat o funkčnosti a chování systému.

Komunikační a sekvenční diagramy

Komunikační a sekvenční diagramy jsou tranzitivní , vyjadřují interakci, ale zobrazují ji různými způsoby as dostatečnou přesností je lze převádět z jednoho na druhý.

Komunikační diagram (Communication diagram, v UML 1.x - diagram spolupráce , diagram spolupráce ) - diagram, který znázorňuje interakce mezi částmi složené struktury nebo rolemi spolupráce. Na rozdíl od sekvenčního diagramu komunikační diagram explicitně ukazuje vztah mezi prvky (objekty) a nepoužívá čas jako samostatnou dimenzi (používá se volací sekvenční čísla).

Sekvenční diagram - diagram, který ukazuje interakce objektů, seřazené podle doby jejich projevu. Zobrazuje zejména objekty účastnící se interakce a sled zpráv, které si vyměňují.

Diagram spolupráce  – Tento typ diagramu umožňuje popsat interakce objektů abstrahovat od sekvence předávání zpráv. Tento typ diagramu odráží v kompaktní formě všechny přijaté a vysílané zprávy určitého objektu a typy těchto zpráv.

Protože sekvenční a kolaborační diagramy představují různé pohledy na stejné procesy, Rational Rose vám umožňuje vytvářet kolaborační diagramy ze sekvenčních diagramů a naopak a také tyto diagramy automaticky synchronizuje.

Diagram přehledu interakcí

Diagram přehledu interakcí  je typ diagramu aktivity, který zahrnuje fragmenty sekvenčního diagramu a konstrukty řídicího toku.

Tento typ diagramu zahrnuje Sequence diagram (diagramy sekvencí akcí) a Collaboration diagram (diagramy spolupráce). Tyto diagramy vám umožňují zvážit interakci objektů ve vytvářeném systému z různých úhlů pohledu.

Synchronizační diagram

Časový diagram - alternativní reprezentace sekvenčního diagramu, explicitně zobrazující změny stavu na záchranné lince s daným časovým měřítkem. Může být užitečné v aplikacích v reálném čase.

Výhody UML

Kritika

Navzdory skutečnosti, že UML je poměrně rozšířený a používaný standard, je často kritizován kvůli následujícím nedostatkům:

Viz také

Poznámky

  1. G. Butch, D. Rambeau, I. Jacobson. Stručná historie UML // Jazyk UML. Uživatelská příručka = Uživatelská příručka sjednoceného modelovacího jazyka. - 2. - M. : DMK Press, 2006. - S. 14. - 496 s. — ISBN 5-94074-334-X .
  2. Specifikace UML verze 1.1 (dokument OMG ad/97-08-11) Archivováno 18. listopadu 2018 na Wayback Machine 
  3. 1 2 3 OMG formálně vydané verze UML archivované 31. července 2010 na Wayback Machine 
  4. Dokumenty spojené s UML verze 1.4 Archivovány 10. května 2011 na Wayback Machine 
  5. Dokumenty spojené s UML verze 1.5 Archivovány 10. května 2011 na Wayback Machine 
  6. Dokumenty spojené s UML verze 2.0 Archivovány 9. ledna 2010 na Wayback Machine 
  7. Dokumenty spojené s UML verze 2.1.1 Archivovány 7. května 2011 na Wayback Machine 
  8. Dokumenty spojené s UML verze 2.1.2 Archivovány 6. června 2011 na Wayback Machine 
  9. Dokumenty spojené s UML verze 2.2 Archivovány 17. dubna 2021 na Wayback Machine 
  10. Dokumenty spojené s UML verze 2.3 Archivovány 7. června 2011 na Wayback Machine 
  11. Dokumenty spojené s UML verze 2.4 – Beta 2 Archivováno 9. června 2011 na Wayback Machine 
  12. 123 UML . _ _ Získáno 26. června 2010. Archivováno z originálu 31. července 2010.
  13. O specifikaci Unified Modeling Language verze 2.5.1 . www.omg.org. Získáno 10. září 2019. Archivováno z originálu 3. července 2019.
  14. http://www.acmqueue.com/modules.php?name=Content&pa=showpage&pid=130 Archivováno 7. prosince 2008 na Wayback Machine ACM
  15. Slashdot | Kód je design . Získáno 21. května 2022. Archivováno z originálu dne 22. dubna 2009.
  16. Code as Design: Three Essays by Jack W. Reeves by Jack W. Reeves - developer.*, Developer Dot Star . Získáno 13. února 2007. Archivováno z originálu 13. února 2007.

Literatura

Odkazy