Diagramy UML: Charakteristiky, diagramy a typy
โก Chytrรฉ shrnutรญ
Diagramy UML poskytujรญ standardizovanรฝ vizuรกlnรญ jazyk pro modelovรกnรญ softwarovรฝch systรฉmลฏ, helpping Vรฝvojovรฉ tรฝmy dokumentujรญ objektovฤ orientovanรฉ nรกvrhy, jasnฤ komunikujรญ sloลพitรก architektonickรก rozhodnutรญ a pลed zahรกjenรญm implementace sladรญ jednรกnรญ vลกech zรบฤastnฤnรฝch stran projektu.

Softwarovรฉ systรฉmy se rychle stรกvajรญ sloลพitฤjลกรญmi a tรฝmy, kterรฉ si nedokรกลพou vizualizovat architekturu, majรญ potรญลพe s komunikacรญ nรกvrhovรฝch rozhodnutรญ. UML poskytuje sdรญlenou vizuรกlnรญ notaci jeลกtฤ pลed napsรกnรญm jakรฉhokoli kรณdu.
Proฤ pouลพรญvat UML? Kompletnรญ historie
Devadesรกtรก lรฉta byla รฉrou rozvoje objektovฤ orientovanรฝch jazykลฏ jako napล C++. Tyto objektovฤ orientovanรฉ jazyky byly pouลพity k vytvoลenรญ sloลพitรฝch, ale pลฏsobivรฝch systรฉmลฏ.
Vzhledem k tomu, ลพe vyvinutรฉ systรฉmy byly komplikovanรฉ na pochopenรญ, vedlo to k problรฉmลฏm s nรกvrhem a analรฝzou, kterรฉ se vyskytly po nasazenรญ systรฉmu. Bylo tฤลพkรฉ systรฉm vysvฤtlit ostatnรญm.
Jakmile bylo UML zavedeno, bylo provedeno mnoho experimentลฏ a pลรญstupลฏ, kterรฉ zmฤnily hru, pro zjednoduลกenรญ tak obtรญลพnรฝch รบloh analรฝzy systรฉmu.
UML je objektovฤ orientovanรฝ jednotnรฝ modelovacรญ jazyk. Vynalezli jej brilantnรญ softwarovรญ inลพenรฝลi Grady Booch, Ivar Jacobson a James Rumbaugh ze softwaru Rational v letech 1994 a 1995. Vรฝvoj byl do roku 1996.
Kaลพdรฝ z vynรกlezcลฏ UML, tedy Grady Booch, Ivar Jacobson a James Rumbaugh, mฤl fantastickรฝ nรกpad na nรกvrh jazyka, kterรฝ by zjednoduลกil jeho pouลพรญvรกnรญ.
- Boochova metoda byla velmi flexibilnรญ pลi prรกci s designem a konstrukcรญ objektลฏ.
- Jacobsonova metoda poskytla skvฤlรฝ zpลฏsob, jak obejรญt pลรญpady pouลพitรญ. Mรก takรฉ vรฝkonnรฝ pลรญstup pro design na vysokรฉ รบrovni.
- Rumbaughova metoda se ukรกzala jako velmi uลพiteฤnรก pลi manipulaci s citlivรฝmi systรฉmy.
Later v UML byly zavedeny modely chovรกnรญ a stavovรฉ diagramy, kterรฉ vynalezl David Harel.
UML bylo uznรกno jako standard Object Management Group (OMG) v roce 1997. Object Management Group je zodpovฤdnรก za sprรกvu UML od doby, kdy byl pลijat jako standard.
V roce 2005 schvรกlila Mezinรกrodnรญ organizace pro normalizaci UML jako normu ISO. Pouลพรญvรก se v rลฏznรฝch prลฏmyslovรฝch odvฤtvรญch pro vytvรกลenรญ objektovฤ orientovanรฝch modelลฏ.
Nejnovฤjลกรญ verze UML je 2.5.1, kterรก byla vydรกna v prosinci 2017.
UML verze
| Datum | Verze | O nรกs |
|---|---|---|
| listopad 1997 | 1.1 | UML pลevzala Object Management Group. Toto byla prvnรญ verze UML. |
| Bลezen 2000 | 1.3 | Byl proveden menลกรญ upgrade stรกvajรญcรญho modelu s vรฝraznรฝmi zmฤnami v sรฉmantice, zรกpisya meta-modely UML. |
| zรกลรญ 2001 | 1.4 | To bylo obdobรญ velkรฉ aktualizace UML. ล kรกlovalo UML poskytovรกnรญm rลฏznรฝch rozลกรญลenรญ. V diagramech byla zavedena viditelnost, artefakt, stereotypy. |
| Bลezen 2003 | 1.5 | Do UML byly pลidรกny funkce, jako jsou procedury, mechanismus toku dat. |
| Leden 2005 | 1.4.2 | UML byl pลijat jako standard ISO. |
| Srpen 2005 | 2.0 | Do UML byly pลidรกny novรฉ diagramy, jako je objekt, balรญฤek, naฤasovรกnรญ, interakce. Do diagramลฏ aktivit a sekvencรญ byly pลidรกny novรฉ funkce. Diagram spoluprรกce byl pลejmenovรกn na diagram komunikace. Do stรกvajรญcรญch diagramลฏ bylo zavedeno nฤkolik funkcรญ a zmฤn. |
| dubna 2006 | 2.1 | Byly provedeny opravy v UML 2.0. |
| รบnor 2007 | 2.1.1 | Upgradebyly pลedstaveny v UML 2.1. |
| listopad 2007 | 2.1.2 | UML 2.1.1 bylo pลedefinovรกno. |
| รบnor 2009 | 2.2 | Chyby UML 2.1.2 byly opraveny. |
| mลฏลพe 2010 | 2.3 | UML 2.2 byl revidovรกn a byly provedeny drobnรฉ zmฤny v diagramech komponent. |
| Srpen 2011 | 2.4.1 | Byly provedeny zmฤny tลรญd, balรญฤkลฏ a stereotypลฏ. UML 2.3 bylo revidovรกno s funkcemi vylepลกenรญ. |
| ฤervna 2015 | 2.5 | UML 2.4.1 byl revidovรกn s drobnรฝmi zmฤnami. UML byl zjednoduลกen oproti pลedchozรญmu stavu. Byla zavedena rychlรก funkฤnost a generovรกnรญ efektivnฤjลกรญch modelลฏ. Zastaralรฉ funkce byly odstranฤny. Modely a ลกablony byly odstranฤny jako pomocnรฉ konstrukty. |
Charakteristika UML
- Je to zobecnฤnรฝ modelovacรญ jazyk.
- Liลกรญ se od softwarovรฝch programovacรญch jazykลฏ jako napล Python, C, C++, Etc.
- Je to obrรกzkovรฝ jazyk, kterรฝ lze pouลพรญt ke generovรกnรญ vรฝkonnรฝch prvkลฏ modelovรกnรญ.
- Tรฝkรก se objektovฤ orientovanรฝch nรกvrhลฏ a analรฝz.
- Mรก neomezenรฉ aplikace i mimo softwarovรฝ prลฏmysl. Lze jej pouลพรญt k vizualizaci pracovnรญho postupu tovรกrny.
Konceptuรกlnรญ model
Neลพ zaฤneme s konceptem UML, musรญme pochopit zรกklady konceptuรกlnรญho modelu.
Koncepฤnรญ model se sklรกdรก z rลฏznรฝch pojmลฏ, kterรฉ spolu souvisรญ. Pomรกhรก nรกm to pochopit
- Jakรฉ jsou pลedmฤty?
- Jak probรญhรก interakce pลi provรกdฤnรญ procesu?
V UML je vyลพadovรกn koncepฤnรญ model. Pลed samotnรฝm modelovรกnรญm systรฉmu musรญte porozumฤt entitรกm a vztahลฏm mezi nimi.
Pro zaฤรกtek s UML jsou vyลพadovรกny nรกsledujรญcรญ objektovฤ orientovanรฉ koncepty:
- ObjektJe to entita reรกlnรฉho svฤta. V rรกmci jednoho systรฉmu je k dispozici vรญce objektลฏ. Je to zรกkladnรญ stavebnรญ kรกmen UML.
- TลรญdaTลรญda nenรญ nic jinรฉho neลพ kontejner, kde se uchovรกvajรญ objekty a jejich vztahy.
- Abstracvรกnรญ: Je to mechanismus reprezentace entity bez zobrazenรญ podrobnostรญ implementace. Pouลพรญvรก se k vizualizaci chovรกnรญ objektu.
- Dฤdictvรญ: Je to mechanismus rozลกรญลenรญ existujรญcรญ tลรญdy za รบฤelem vytvoลenรญ novรฉ tลรญdy.
- Polymorfismus: Je to mechanismus reprezentujรญcรญ objekt, kterรฝ mรก vรญce forem, kterรฉ se pouลพรญvajรญ pro rลฏznรฉ รบฤely.
- Zapouzdลenรญ: Je to metoda spojenรญ objektu a dat dohromady jako jeden celek. Zajiลกลฅuje tฤsnรฉ spojenรญ mezi objektem a daty.
Vรฝลกe uvedenรฉ jsou takรฉ nazรฝvรกny jako zรกkladnรญ stavebnรญ kameny UML.
Co je diagram UML?
UML diagramy jsou vรฝstupem Unified Modeling Language. Je to obrazovรก reprezentace tลรญd, objektลฏ a vztahลฏ mezi nimi. UML diagram je model, kterรฝ popisuje ฤรกst systรฉmu. Pouลพรญvรก se k definovรกnรญ funkฤnosti nebo designu systรฉmu. Schรฉma musรญ bรฝt jasnรฉ a vรฝstiลพnรฉ, aby jej divรกk snadno pochopil.
UML diagramy jsou rozdฤleny do tลรญ rลฏznรฝch kategoriรญ, napล.
- Strukturรกlnรญ diagram
- Diagram chovรกnรญ
- Interakฤnรญ diagram
Strukturรกlnรญ diagramy v UML
Strukturรกlnรญ diagramy se pouลพรญvajรญ k reprezentaci statickรฉho pohledu na systรฉm. Pลedstavuje ฤรกst systรฉmu, kterรก tvoลรญ strukturu systรฉmu. Strukturรกlnรญ diagram ukazuje rลฏznรฉ objekty v systรฉmu.
Nรญลพe jsou uvedeny rลฏznรฉ strukturรกlnรญ diagramy v UML:
- Diagram tลรญd
- Schรฉma objektu
- Schรฉma balรญฤku
- Schรฉma souฤรกsti
- Schรฉma nasazenรญ
Diagramy chovรกnรญ v UML
Jakรฝkoli systรฉm reรกlnรฉho svฤta mลฏลพe bรฝt reprezentovรกn buฤ ve statickรฉ formฤ, nebo v dynamickรฉ formฤ. Systรฉm je povaลพovรกn za รบplnรฝ, pokud je vyjรกdลen jak statickรฝm, tak dynamickรฝm zpลฏsobem. Diagram chovรกnรญ pลedstavuje fungovรกnรญ systรฉmu.
UML diagramy, kterรฉ se zabรฝvajรญ statickou ฤรกstรญ systรฉmu, se nazรฝvajรญ strukturรกlnรญ diagramy. Diagramy UML, kterรฉ se zabรฝvajรญ pohyblivรฝmi nebo dynamickรฝmi ฤรกstmi systรฉmu, se nazรฝvajรญ diagramy chovรกnรญ.
Nรญลพe jsou uvedeny rลฏznรฉ diagramy chovรกnรญ v UML:
- Diagram aktivity
- Diagram pลรญpadu pouลพitรญ
- Schรฉma stรกtnรญho stroje
Interakฤnรญ diagramy v UML
Interakฤnรญ diagram nenรญ nic jinรฉho neลพ podmnoลพina diagramลฏ chovรกnรญ. Pouลพรญvรก se k vizualizaci toku mezi rลฏznรฝmi prvky pลรญpadu uลพitรญ systรฉmu. Interakฤnรญ diagramy se pouลพรญvajรญ k zobrazenรญ interakce mezi dvฤma entitami a toho, jak v nich proudรญ data.
Nรญลพe jsou uvedeny rลฏznรฉ diagramy interakcรญ v UML:
- ฤasovรฝ diagram
- Sekvenฤnรญ diagram
- Diagram spoluprรกce
Podrobnรฉ vysvฤtlenรญ vรฝลกe uvedenรฝch diagramลฏ je vysvฤtleno v dalลกรญch tutoriรกlech.
Strukturรกlnรญ vs. behaviorรกlnรญ diagramy UML
Nรญลพe uvedenรก tabulka porovnรกvรก dvฤ kategorie diagramลฏ UML, aby pomohla tรฝmลฏm vybrat ten sprรกvnรฝ typ.
| Atribut | Strukturรกlnรญ diagramy | Behaviorรกlnรญ diagramy |
|---|---|---|
| Zobrazit | statickรฝ | Dynamickรฝ |
| Soustลedit | Komponenty a jejich vztahy | Akce a interakce systรฉmu |
| Pลรญklady | Tลรญda, objekt, balรญฤek, komponenta, nasazenรญ | Aktivita, Pลรญpad uลพitรญ, Stavovรฝ automat |
| Primรกrnรญ pouลพitรญ | Archinรกvrh struktury a databรกzรญ | Pracovnรญ postup, cesty uลพivatelลฏ, pลechody mezi stavy |
| Vytvoลeno, kdyลพ | Definovรกnรญ struktury systรฉmu pลedem | Modelovรกnรญ chovรกnรญ za bฤhu a obchodnรญ logiky |
Nรกstroje UML
Na trhu je k dispozici mnoho nรกstrojลฏ pro generovรกnรญ diagramลฏ UML. Nฤkterรฉ jsou zaloลพeny na poฤรญtaฤi, zatรญmco jinรฉ lze pouลพรญvat online. Nรกsleduje pลehlednรฝ seznam nรกstrojลฏ, kterรฉ lze pouลพรญt pro tvorbu modelลฏ UML:
- Edraw Max:- Kliknฤte zde
- Moqups:- Kliknฤte zde
- Visio: - Kliknฤte zde
- ConceptDraw:- Kliknฤte zde
- StarUML:- Kliknฤte zde
- Deลกtnรญk:- Kliknฤte zde
- Nรกstroj UML Designer Tool:- Kliknฤte zde
Budeme pouลพรญvat StarUML aplikace pro generovรกnรญ UML diagramลฏ.
Postup instalace: Otevลete odkaz: http://staruml.io/download
Podle specifikacรญ vaลกeho PC. Stรกhnฤte si libovolnou verzi aplikace. Zde vybereme moลพnost okna.
Jakmile je aplikace staลพena, nainstalujte ji se vลกemi vรฝchozรญmi moลพnostmi. Po instalaci spusลฅte StarUML aplikace ve vaลกem PC.
Uvidรญte nรกsledujรญcรญ okno,
Nynรญ mลฏลพete zaฤรญt vytvรกลet diagramy UML.


