Balíček ( angl. package ) v modelovacím jazyce UML je hlavní entitou seskupení, která organizuje konkrétní rozhodnutí o návrhu v rámci použitého modelu UML. Balíček UML je navržen tak, aby seskupil velké množství strukturálních, behaviorálních a dalších entit do jediného celku; zobrazí se jako stylizovaná složka se záložkou, která může mít svůj vlastní název [1] [2]
Balíček UML představuje velký obdélníkový obrázek s tabulátorem v levém horním rohu; uvnitř obdélníku můžete umístit obsah tohoto balení [3] . Závislost mezi balíčky je vyjádřena pomocí diagramu balíčku , který nese informaci o správě modelu a je vlastně jakýmsi diagramem tříd [4] .
Zavedení UML balíčků umožňuje distribuovat různé jednotlivé prvky vytvářeného projektu do bloků, které jsou vhodné pro škálování, s nimiž lze později manipulovat jako s nějakými nezávislými jednotkami. Balíčky se zpravidla používají k ukládání prvků modelu nejvyšší úrovně: tříd a jejich vztahů, grafů Use Case , stavových automatů atd. [5] Prvky balíčku mohou mít zvenčí různou viditelnost, to znamená, že některé funkce balíčku mohou být zapouzdřené z pohledu externího uživatele. V tomto ohledu balíček funguje jako samostatný jmenný prostor , jehož členové mohou být buď veřejní, nebo soukromí [6] . Dobře strukturovaný balíček by měl kombinovat sémanticky a funkčně související prvky, které mají tendenci se během vývoje společně vyvíjet [2] .
Specifikace UML neklade přísná omezení na to, jak je model zabalen, existuje mnoho způsobů organizace podle funkčnosti, typu modelu nebo jakéhokoli jiného atributu. Je povoleno i hierarchické vnořování některých UML balíčků do jiných [7] [8] , přičemž vnořený balíček má plný přístup k obsahu svého kontejneru a je považován za jeho součást [6] . Při použití vnořování musí mít model počáteční kořenový balíček [7] , obvykle pouze jeden [9] . Pro zjednodušení textových zápisů je také možné importovat viditelné prvky z jednoho balíčku do druhého a doplnit jimi lokální jmenné prostory, importovaný prvek se však zviditelní pod názvem, který mu byl přidělen při importu [10] .
Název balíčku jej musí odlišovat od ostatních balíčků, zpravidla je prezentován jako textový řetězec obsahující písmena latinské abecedy , číslice a některá interpunkční znaménka. Specifikátor se používá k oddělení názvů hierarchického vnoření balíčků ::. V rámci kontejnerového balíčku musí být vybraný název dílčího balíčku jedinečný [11] .
Unifikovaný Modelovací Jazyk | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
| |||||||||||
|