Un pachet ( eng. package ) în limbajul de modelare UML este principala entitate de grupare care organizează decizii specifice de proiectare în cadrul modelului UML utilizat. Pachetul UML este conceput pentru a grupa un număr mare de entități structurale, comportamentale și de altă natură într-un singur întreg; afișat ca un folder stilizat cu un marcaj, care poate avea propriul nume [1] [2]
Pachetul UML este reprezentat de o imagine dreptunghi mare cu o filă în colțul din stânga sus; în interiorul dreptunghiului, puteți plasa conținutul acestui pachet [3] . Dependența dintre pachete este exprimată folosind diagrama pachetului , care poartă informații despre gestionarea modelului și este de fapt un fel de diagramă de clasă [4] .
Introducerea pachetelor UML vă permite să distribuiți diferite elemente individuale ale proiectului creat în blocuri care sunt convenabile pentru scalare, care pot fi ulterior manipulate ca un fel de unități independente. De regulă, pachetele sunt folosite pentru a stoca elemente de model de nivel superior: clase și relațiile lor, grafice de caz de utilizare , mașini de stare etc. [5] Elementele pachetului pot avea vizibilitate diferită din exterior, adică unele funcționalități ale pachetului pot fi încapsulat din punctul de vedere al utilizatorului extern. În acest sens, un pachet funcționează ca un spațiu de nume separat , ai cărui membri pot fi fie publici, fie privați [6] . Un pachet bine structurat ar trebui să combine elemente legate semantic și funcțional care tind să co-evolueze în timpul dezvoltării [2] .
Specificația UML nu impune restricții stricte asupra modului în care este ambalat un model, există multe modalități de organizare în funcție de funcționalitate, tip de model sau orice alt atribut. Imbricarea ierarhică a unor pachete UML în altele este de asemenea permisă [7] [8] , în timp ce pachetul imbricat are acces deplin la conținutul containerului său și este considerat parte a acestuia [6] . Când se folosește imbricarea, modelul trebuie să aibă un pachet rădăcină inițial [7] , de obicei doar unul [9] . Pentru a simplifica notațiile de text, este posibil și importarea elementelor vizibile dintr-un pachet în altul și completarea spațiilor de nume locale cu acestea, totuși, elementul importat devine vizibil sub numele care i-a fost atribuit în timpul importului [10] .
Numele pachetului trebuie să-l distingă de alte pachete, de regulă este prezentat ca un șir de text care conține litere din alfabetul latin , cifre și unele semne de punctuație. Specificatorul este folosit pentru a separa numele de imbricare ierarhică a pachetelor ::. În cadrul unui pachet container, numele subpachet ales trebuie să fie unic [11] .
Limbajul de modelare unificat | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
| |||||||||||
|