Balíček (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é 15. září 2018; kontroly vyžadují 2 úpravy .

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] .

Popis

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] .

Poznámky

  1. Butch, Rambeau, Jacobson, 2006 , UML Building Blocks, str. 37-38.
  2. 1 2 Butch, Rambeau, Jacobson, 2006 , Packages, str. 178.
  3. Butch, Jacobson, Rambo, 2006 , balíček (balíček), str. 519.
  4. Booch, Jacobson, Rambeau, 2006 , Representing Model Control, str. 62.
  5. Booch, Jacobson, Rambeau, 2006 , Packages, str. 122.
  6. 1 2 Booch, Jacobson, Rambeau, 2006 , Viditelnost, str. 123.
  7. 1 2 Booch, Jacobson, Rambeau, 2006 , Representing Model Control, str. 61.
  8. Booch, Jacobson, Rambeau, 2006 , Packages, str. 121.
  9. Butch, Jacobson, Rambo, 2006 , balíček (balíček), str. 518.
  10. Booch, Jacobson, Rambeau, 2006 , Import, s. 123.
  11. Booch, Rambeau, Jacobson, 2006 , Jména, str. 180.

Literatura