
- •3 Інженерія вимог
- •3.1 Інженерія вимог як процес
- •3.2 Концептуальне моделювання проблеми
- •3.2.1 Мета
- •3.2.2 Онтологія домену
- •3.2.3 Моделі динамічних явищ домену
- •3.2.4 Модель алгоритмів
- •3.3 Об’єктно-орієнтована інженерія вимог
- •3.4 Метод інженерії вимог с. Шлеєр та с. Меллора
- •3.4.1 Інформаційна модель або онтологія домену. Пошук об’єктів
- •3.4.2 Модель станів
- •3.4.3 Модель процесів
- •3.4.4 Продукти інженерії вимог за методом с. Шлеєр та с. Меллора
- •3.5 Метод інженерії вимог і. Джекобсона
- •3.5.1 Концепція моделі сценаріїв для складання вимог
- •3.5.2 Модель аналізу вимог. Визначення об’єктів
- •3.5.3 Продукти інженерії вимог за методом і. Джекобсона
- •5.2 Діаграми класів
- •5.3 Діаграми сценаріїв
- •5.4 Діаграми моделювання поведінки системи
- •5.5 Діаграми послідовності
- •5.6 Діаграми співробітництва
- •5.7 Діаграми діяльності
- •5.8 Діаграми станів
- •5.9 Діаграми реалізації
- •5.9.1 Діаграми компонент
- •5.9.2 Діаграми розміщення
- •5.10 Пакети в uml
- •Література
- •Глосарій
5.9 Діаграми реалізації
5.9.1 Діаграми компонент
Призначенням діаграми компонент є відображення структур системи як композиції компонент і зв’язків між ними так, як їх уявляє собі програміст. Це граф, вузлами якого є компоненти, а дуги відображають відношення залежності. Серед видів компонент особливого обговорення заслуговує пакет (див. п. 5.10).
5.9.2 Діаграми розміщення
Призначенням даної діаграми є визначення складу фізичних ресурсів системи (що позначаються як вузли системи) та відношень між ними. Системи реального часу в багатьох випадках базуються на різних платформах замовника. Інженер повинен розробити не лише програмну частину, а й визначити необхідні апаратні пристрої. Ці пристрої мають органічно взаємодіяти з програмними компонентами. Іконка програмної компоненти зображається як прямокутник з двома невеличкими прямокутниками, вузол обладнання - як прямокутник зі спеціальною рамкою. На рис. 5.14 показано розміщення компонент на вузлах системи.
Для діаграми зазвичай використовуються фіксовані стереотипи: <<процесор>>, <<пристрій>>, <<дисплей>>, <<пам’ять>>, <<диск>> тощо.
5.10 Пакети в uml
В UML передбачено загальний механізм організації деяких елементів (об’єктів, класів, підсистем тощо) в групи. Групування можливе, починаючи від системи в цілому і до підсистем різних рівнів деталізації, аж до класів. Результат групування названо пакетом (package).
Пакет визначає назву простору, який займають елементи, що входять до його складу і є засобом посилання на цей простір; це особливо важливо для великих систем, котрі налічують сотні, а інколи й тисячі елементів, і тому вимагають ієрархічного структурування.
Рисунок 5.14 - Діаграма розміщення
Підсистема в UML розглядається як різновид пакета, який має самостійну функцію.
Групування в пакети може бути вкладеним, тобто складовими пакетів можуть бути класи, інші пакети та підсистеми.
Об’єднання елементів у пакети (так зване пакетування) може відбуватися з різних міркувань, наприклад, якщо вони використовуються сумісно або створені одним автором, або стосуються певного аспекту розгляду, як-от інтерфейс з користувачем, пристрої введення/ виведення і под. На стадії реалізації до одного пакета може бути віднесено всі підсистеми, що в діаграмі розміщення (розглянуто вище) віднесено до одного вузла.
Призначення пакета - бути елементом конфігурації, тобто елементом, який можна включати як визначену складову композиції в побудові певної системи. На пакет можна посилатися у різних діаграмах, котрі можуть розробляти окремі команди спеціалістів. Терміном конфігурація (configuration) будемо позначати отримання програмної системи шляхом добору окремих екземплярів модулів з визначеного наперед складу їхніх варіантів. Так, наприклад, операційна система може мати у своєму складі конфігурацію модулів, що дозволяють взаємодію з різними пристроями, але лише окремі з них приєднані до даного комп’ютера, для якого створюється версія операційної системи як конкретна конфігурація з визначеної множини; система керування польотом літака має у своєму складі конфігурацію модулів, що забезпечують введення показників приладів конкретного борту літака.
Пакет часто може передбачати кілька версій конфігурації його складових.
Нотація для пакета в UML подає його зображення у формі прямокутника, що містить елементи, які він включає.
Пакет, який є підсистемою або системою, зображається прямокутником з закругленими кутами.
Над прямокутником ліворуч зверху розміщується менший за розміром прямокутник, в якому подається стереотип пакета та його назва. Якщо елементи, включені до пакета, не показують, його назва розміщується у великому прямокутнику. На рис. 5.15 показано пакет, названий А 1, до котрого включено пакет В 1, клас К 1 та підсистему С 1.
Рисунок 5.15 - Пакет UML
Серед фіксованих стереотипів для позначення різновидів пакета введено такі: <<система>>, <<прикладна система>>, <<підсистема>>, <<елемент конфігурації>>, <<складова системи>>, <<охоплююча система>>, <<фасад>> (facade — пакет, який є інтерфейсом іншого пакета), <<каркас>> (framework — типовий зразок взаємодії об’єктів, детальніше див. п. 7.3.8.), <<заглушка>> (stub — позначення пакета, який буде описано пізніше) тощо.
Між пакетами може бути встановлено відношення з відповідними стереотипами. Наприклад, відношення А «імпортує» Б означає, що визначені в пакеті Б класи можна використовувати в класах пакета А.
Нагадаємо, що дозволяється виділяти власні категорії стереотипів, в тому числі і для різновидів пакетів, котрі відповідають власним смакам чи потребам. Наприклад, стереотип «успадковано» може додаватися до назви пакета, який є елементом застарілої версії системи, і без перероблення його включено до нової версії системи.
Пакет може належати до різних етапів життєвого циклу розроблення системи - аналізу вимог, проектування, реалізації або кодування, про що може бути зазначено у відповідному стереотипі.
Контрольні запитання і завдання
1. Які з елементів моделювання UML дозволяють визначити головні складові концептуального моделювання проблеми, а саме:
а) онтологію домену;
б) модель поведінки об’єктів;
в) модель процесів?
2. Метод UML пропонує різні нотації (графічні діаграми) для різних аспектів опису проблеми. Чому не єдину?
3. Аналоги яких діаграм UML Вам зустрічалися:
а) у методі С. Шлеєр та С. Меллора;
б) у методі Джекобсона?
4. Чи дозволяє діаграма класів UML відобразити відношення:
а) між класами об’єктів;
б) між екземплярами класів?
5. Які значення може мати атрибут видимості класів та що вони означають?
6. Які відношення позначаються в діаграмі класів UML спеціальними графічними символами?
7. Які відношення пов’язують сценарії системи?
8. Які діаграми UML доцільно застосовувати для аналізу вимог? З якої діаграми доцільно починати?
9. Які діаграми відображають обмін повідомленнями як єдиний засіб взаємодії об’єктів?
10. Які діаграми зручно застосовувати:
а) на стадії проектування;
б) на стадії реалізації?
Чи можна застосувати ті самі діаграми для кількох стадій розроблення?
11. Яка роль стереотипів у нотаціях UML?
12. Які засоби групування елементів моделювання?