Пакети в мові UML
Наша взаимовыгодная связь https://banwar.org/
Пакет (package) - общецелевого механізм для організації різних елементів моделі в безліч, який реалізує системний принцип декомпозиції моделі складної системи і допускає вкладеність пакетів один в одного.
Пакет - основний спосіб організації елементів моделі в мові UML. Кожен пакет володіє всіма своїми елементами, тобто тими елементами, які включені в нього. Про відповідні елементи пакету кажуть, що вони належать пакету або входять в нього. При цьому кожен елемент може належати тільки одному пакету. У свою чергу, одні пакети можуть бути вкладені в інші.
Підпакету (subpackage) - пакет, який є складовою частиною іншого пакета.
За визначенням всі елементи підпакету належать і більш загального пакету. Тим самим для елементів моделі задається відношення вкладеності пакетів, яке представляє собою ієрархію.
Для графічного зображення пакетів на діаграмах застосовується спеціальний графічний символ - великий прямокутник з невеликим прямокутником, приєднаним до лівої частини верхньої сторони першого ( Мал. 2.2 а, б ). Можна сказати, що візуально символ пакету нагадує піктограму папки в популярному графічному інтерфейсі. Усередині великого прямокутника може записуватися інформація, що відноситься до даного пакету. Якщо такої інформації немає, то всередині великого прямокутника записується ім'я пакета, яке повинно бути унікальним в межах даної моделі ( Мал. 2.2, а ). Якщо ж така інформація є, то ім'я пакета записується в верхньому маленькому прямокутнику ( Мал. 2.2, б ).
Мал.2.2.
Графічне зображення пакетів в мові UML
Перед ім'ям пакету може міститися рядок тексту, що містить ключове слово, заздалегідь визначене в мові UML, і зване стереотипом, наприклад facade, framework, stub і topLevel. Як вміст пакета можуть виступати імена його окремих елементів і їх властивості, такі як видимість елементів за межами пакета. Більш докладно стереотипи і видимість елементів будуть розглянуті в наступних лекціях.
Одним з типів відносин між пакетами є ставлення вкладеності або включення пакетів один в одного. У мові UML це відношення може бути зображено без використання ліній простим розміщенням одного пакету -прямоугольніка всередині іншого пакета -прямоугольніка ( Мал. 2.3 ). Так, в даному випадку пакет з ім'ям Пакет_1 містить в собі два підпакету: Пакет_2 і Пакет_3.
Мал.2.3.
Графічне зображення вкладеності пакетів один в одного
Крім того, в мові UML це ж відношення може бути зображено за допомогою відрізків ліній аналогічно графічному представленню дерева. У цьому випадку найбільш загальний пакет або контейнер зображується у верхній частині малюнка, а його підпакети - рівнем нижче. Контейнер з'єднується з підпакету суцільною лінією, на кінці якої, що примикає до контейнера, зображується спеціальний символ - . Він означає, що підпакети "власність" або частина контейнера, і, крім цих підпакетів, контейнер не містить ніяких інших. Розглянутий вище приклад ( рис.2.3 ) Може бути представлений за допомогою явної візуалізації відношення включення ( Мал. 2.4 ).
Мал.2.4.
Графічне зображення мови UML для вкладеності пакетів один в одного за допомогою явної візуалізації відношення включення
Модель є підкласом пакету і являє собою абстракцію фізичної системи, яка призначена для цілком певної мети. Саме ця мета визначає ті компоненти, які повинні бути включені в модель і ті, розгляд яких не є обов'язковим. Іншими словами, модель відображає релевантні аспекти фізичної системи, які безпосередньо впливають на досягнення поставленої мети. У прикладних задачах мета зазвичай задається у формі вихідних вимог до системи, які, в свою чергу, в мові UML записуються у вигляді варіантів використання системи.
У мові UML для однієї і тієї ж фізичної системи можуть бути визначені різні моделі, кожна з яких специфікує систему з різних точок зору. Прикладами таких моделей є логічна модель, модель проектування, модель варіантів використання та інші. При цьому кожна така модель має власну точку зору на фізичну систему і свій рівень абстракції. Моделі, як і пакети, можуть бути вкладені одна в одну. Пакет може включати в себе кілька різних моделей однієї і тієї ж системи, і в цьому полягає один з найважливіших механізмів розробки моделей на мові UML. Загальна модель системи в контексті мови UML містить в собі модель аналізу і модель проектування, що явно відображає зв'язок з ООАП ( Мал. 2.5 ).
Мал.2.5.
Зображення моделі системи у вигляді пакетів моделей аналізу і проектування
Підсистема є просто угруповання елементів моделі, які специфікують найпростіше поведінку фізичної системи. При цьому елементи підсистеми поділяються на дві частини - специфікацію поведінки і його реалізацію. Для графічного представлення підсистеми застосовується спеціальна позначка - прямокутник, як у випадку пакета, але додатково розділений на три секції ( рис.2.6 ). При цьому в верхньому маленькому прямокутнику зображується символ, за своєю формою нагадує "вилку" і вказує на підсистему. Ім'я підсистеми разом з необов'язковим ключовим словом або стереотипом записується всередині великого прямокутника. Однак при наявності рядків тексту всередині великого прямокутника ім'я підсистеми може бути записано поряд з позначенням "вилки".
Мал.2.6.
Графічне зображення підсистеми в мові UML
Операції підсистеми записуються в лівій верхній секції, нижче вказуються елементи специфікації, а праворуч від вертикальної лінії - елементи реалізації. При цьому два останніх розділу позначаються відповідними знаками: "Елементи специфікації" і "Елементи реалізації". Секція операції неможливо позначається. Якщо в підсистемі відсутні ті чи інші секції, то вони не відображаються на схемі.