Csomag (UML)

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. szeptember 15-én felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .

Egy csomag ( eng.  package ) az UML modellezési nyelvben  a fő csoportosítási entitás, amely az alkalmazott UML modell keretein belül szervezi meg a konkrét tervezési döntéseket. Az UML csomagot arra tervezték, hogy nagyszámú strukturális, viselkedési és egyéb entitást egyetlen egészbe csoportosítson; stilizált mappaként jelenik meg könyvjelzővel, amelynek saját neve is lehet [1] [2]

Az UML-csomagot egy nagy téglalap alakú kép képviseli, a bal felső sarokban egy füllel; a téglalap belsejében elhelyezheti ennek a csomagnak a tartalmát [3] . A csomagok közötti függőséget a csomagdiagram segítségével fejezzük ki , amely a modell kezelésével kapcsolatos információkat hordoz, és tulajdonképpen egyfajta osztálydiagram [4] .

Leírás

Az UML csomagok bevezetése lehetővé teszi a készülő projekt különböző egyedi elemeinek skálázásra alkalmas blokkokba való szétosztását, amelyek később valamilyen független egységként kezelhetők. A csomagok rendszerint a legfelső szintű modellelemek tárolására szolgálnak: osztályok és kapcsolataik, használati eset gráfok , állapotgépek stb. [5] A csomagelemek kívülről eltérő láthatósággal rendelkezhetnek, azaz bizonyos csomagfunkciók is használhatók. a külső felhasználó szemszögéből kapszulázva . Ebből a szempontból egy csomag külön névtérként funkcionál , amelynek tagjai lehetnek nyilvánosak vagy privátak [6] . Egy jól strukturált csomagnak szemantikailag és funkcionálisan kapcsolódó elemeket kell kombinálnia, amelyek hajlamosak együtt fejlődni a fejlesztés során [2] .

Az UML specifikáció nem ír elő szigorú korlátozásokat a modell csomagolására vonatkozóan, számos módja van a funkcionalitás, modelltípus vagy bármely más attribútum szerinti rendszerezésnek. Egyes UML-csomagok hierarchikus egymásba ágyazása is megengedett [7] [8] , míg a beágyazott csomag teljes hozzáféréssel rendelkezik tárolója tartalmához, és annak részének tekintendő [6] . Beágyazás használatakor a modellnek rendelkeznie kell egy kezdeti gyökércsomaggal [7] , általában csak egy [9] . A szöveges jelölések egyszerűsítése érdekében lehetőség van látható elemek importálásra is egyik csomagból a másikba, és ezekkel kiegészíteni a helyi névtereket, azonban az importált elem azon a néven válik láthatóvá, amelyet az importálás során hozzárendeltek [10] .

A csomag nevének meg kell különböztetnie a többi csomagtól, általában a latin ábécé betűit , számokat és néhány írásjelet tartalmazó szöveges karakterláncként jelenik meg. A specifikátor a csomagok hierarchikus egymásba ágyazásának elválasztására szolgál ::. Egy konténercsomagon belül a kiválasztott alcsomagnévnek egyedinek kell lennie [11] .

Jegyzetek

  1. Butch, Rambeau, Jacobson, 2006 , UML Building Blocks, p. 37-38.
  2. 1 2 Butch, Rambeau, Jacobson, 2006 , Packages, p. 178.
  3. Butch, Jacobson, Rambo, 2006 , csomag (csomag), p. 519.
  4. Booch, Jacobson, Rambeau, 2006 , Model Control reprezentációja, p. 62.
  5. Booch, Jacobson, Rambeau, 2006 , Csomagok, p. 122.
  6. 1 2 Booch, Jacobson, Rambeau, 2006 , Láthatóság, p. 123.
  7. 1 2 Booch, Jacobson, Rambeau, 2006 , Model Control reprezentációja, p. 61.
  8. Booch, Jacobson, Rambeau, 2006 , Csomagok, p. 121.
  9. Butch, Jacobson, Rambo, 2006 , csomag (csomag), p. 518.
  10. Booch, Jacobson, Rambeau, 2006 , Import, p. 123.
  11. Booch, Rambeau, Jacobson, 2006 , nevek, p. 180.

Irodalom