Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 1701 Лабораторна робота 9 на тему Діаграми пакетів, компонентів і розміщення з курсу Управління вимогами в ІТ проектах

Лабораторна робота 9 на тему Діаграми пакетів, компонентів і розміщення з курсу Управління вимогами в ІТ проектах

« Назад

Лабораторна робота №9
Діаграми пакетів, компонентів і розміщення

Мета роботи:

  • вивчення діаграм пакетів, діаграми компонентів і діаграми розміщення,

  • вивчення їх застосування у процесі проектування.

1. Діаграми пакетів (package diagrams)

Одне з найважливіших питань методології створення програмного забезпечення – як розбити велику систему на невеликі підсистеми? Саме з цієї точки зору зміни, пов'язані з переходом від структурного підходу до об'єктно-орієнтованого, є найбільш помітними. Одна з ідей полягає в групуванні класів у компоненти більш високого рівня. У UML такий механізм груповання носить назву пакетів (package).

Діаграмою пакетів є діаграма, що містить пакети класів і залежності між ними. Строго кажучи, пакети та залежності є елементами діаграми класів, тобто діаграма пакетів – це всього лише форма діаграми класів. Однак на практиці причини побудови таких діаграм різні.

Залежність між двома елементами має місце в тому випадку, якщо зміни у визначенні одного елемента можуть спричинити за собою зміну в іншому. Що стосується класів, то причини залежностей можуть бути дуже різними: один клас посилає повідомлення іншому; один клас включає частину даних іншого класу; один клас посилається на інший як на параметр операції. Якщо клас змінює свій інтерфейс, то будь-яке повідомлення, яке він посилає, може стати неправильним.

В ідеальному випадку тільки зміни в інтерфейсі класу повинні впливати на інші класи. Мистецтво проектування великих систем включає в себе мінімізацію залежностей, яка знижує вплив змін і вимагає менше зусиль на їх внесення.

На рис. 14.1 ми маємо справу з класами предметної області, що імітують діяльність організації і згруповані у два пакети: «Клієнти» і «Замовлення».

«Додаток збору замовлень» має залежності з обома пакетами предметної області. «Інтерфейс збору замовлень» має залежності з «Додатку збору замовлень» і «Бібліотекою GUI».

Залежність між двома пакетами існує в тому випадку, якщо є яка-небудь залежність між будь-якими двома класами у пакетах. Наприклад, якщо будь-який клас у пакеті «Список розсилки» залежить від будь-якого класу в пакеті «Клієнти», то між відповідними пакетами існує залежність.

Пакети є життєво необхідним засобом для великих проектів. Їх слід використовувати в тих випадках, коли діаграма класів, що охоплює всю систему в цілому і розміщена на єдиному аркуші паперу формату А4, стає складною для розуміння.

Пакети не дають відповіді на питання, яким чином можна зменшити кількість залежностей в системі, що розробляється, проте вони допомагають виділити ці залежності. Зведення до мінімуму кількості залежностей дозволяє знизити зв'язаність компонентів системи. Але евристичний підхід до цього процесу далекий від ідеалу.

Пакети особливо корисні при тестуванні. Кожен пакет при тестуванні може містити один або кілька тестових класів, за допомогою яких перевіряється поведінка пакета.

 

2. Діаграми компонентів (component diagrams)

Компоненти на діаграмі компонентів являють собою фізичні модулі програмного коду (рис. 14.2). Зазвичай вони в точності відповідають пакетам на діаграмі пакетів (див. рис. 14.1); таким чином, діаграма компонентів відображає виконання кожного пакету в системі.

Залежності між компонентами повинні збігатися з залежностями між пакетами. Ці залежності показують, яким чином одні компоненти взаємодіють з іншими. Напрямок даної залежності показує рівень обізнаності про комунікації. 

Таблиця 14.1

Описання кнопок панелі інструментів діаграми компонентів Rational Rose

Кнопка

Описання

Назва

 

Вибір елемента моделі

Selection Tool

 

Ввід тексту

Text Box

 

Коментар

Note

 

Зв'язок коментаря з елементом

Anchor Note to Item

 

Компонента

Component

 

Пакет

Package

 

Залежність

Dependency

 

Специфікація підпрограми

Specification Subprogram

 

Тіло підпрограми

Subprogram Body

 

Головна програма

Main Program

 

Специфікація пакету

Package Specification

 

Тіло пакета

Package Body

 

Специфікація завдання

Task Specification

 

Тіло завдання

Task Body

  

3. Діаграми розміщення (deployment diagrams)

Діаграма розміщення відображає фізичні взаємозв'язки між програмними та апаратними компонентами системи. Вона є хорошим засобом для того, щоб показати маршрути переміщення об'єктів і компонентів у розподіленій системі.

Кожен вузол на діаграмі розміщення являє собою певний тип обчислювального пристрою – у більшості випадків частини апаратури. Ця апаратура може бути простим пристроєм або сенсором, а може бути і великим комп'ютером.

На рис. 14.3 зображено персональний комп'ютер (ПК), пов'язаний з UNIX-сервером за допомогою протоколу TCP / IP. З'єднання між вузлами показують комунікаційні канали, за допомогою яких здійснюються системні взаємодії.

На практиці дані діаграми застосовуються не дуже часто. У цілому ці діаграми корисно застосовувати, щоб виділити особливі фізичні етичні характеристики даної системи. У міру поширення розподілених систем важливість даних діаграм зростає.

Таблиця 14.2

Описання кнопок панелі інструментів діаграмі розміщення Rational Rose

Кнопка

Описання

Назва

 

Вибір елемента моделі

Selection Tool

 

Ввід тексту

Text Box

 

Коментар

Note

 

Зв'язок коментаря з елементом

Anchor Note to Item

 

Процесор

Processor

 

З’єднання

Connection

 

Пристрій

Device

4. Приклади

Проводити порівняння діаграм пакетів, компонентів і розміщення в загальному випадку безглуздо, так як ці діаграми не існують самі по собі, а є інтерпретацією деякої діаграми класів, для якої і доречно проводити порівняння з іншими діаграмами класів.

Діаграми пакетів містять один тип елементів – пакет і один тип зв'язків – залежність, тому чисельна оцінка для діаграми пакетів не настільки важлива, як для діаграми класів.

На рис. 14.4 зображена діаграма пакетів підсистеми «Служба зайнятості в рамках вузу» системи «Дистанційне навчання». Чисельна оцінка для неї дорівнює: 

Рис. 14.4. Діаграма пакетів

Діаграми компонентів і розміщення будуються і використовуються на етапі реалізації та супроводу, коли базова архітектура системи вже зазвичай визначена; тому вони однозначно виходять з діаграми класів і для них досить навести по одному прикладу. 

Рис. 14.5. Діаграма компонентів

На рис. 14.5 зображена діаграма компонентів, побудована на основі діаграми пакетів, зображеної на рис. 14.4. На рис. 14.6 зображена діаграма розміщення підсистеми «Служба зайнятості в рамках вузу». Оцінка для даної діаграми компонентів дорівнює, тобто дорівнює оцінці для відповідної діаграми пакетів.

Оцінка для діаграми розміщення 

Рис. 14.6. Діаграма розміщення

 

5. Завдання

1. Побудувати для модельованої системи загальну діаграму пакетів, відзначити на ній пакети з необхідними системними бібліотеками, відобразити залежності між пакетами.

2. Побудувати для даної системи діаграму компонентів, відповідну побудованій діаграмі пакетів, системні пакунки зобразити у вигляді специфікацій пакетів.

3. Побудувати для проектованої системи кілька варіантів діаграми розміщення (для архітектури «клієнт-сервер», трирівневої архітектури і т. д.), обгрунтувати кожен варіант, запропонувати найбільш оптимальний.

 

6. Контрольні питання

1. Яку проблему проектування покликані вирішити діаграми пакетів?

2. У чому відмінність діаграм пакетів від діаграм класів?

3. У чому сенс залежності між елементами діаграми пакетів?

4. Що таке інтерфейс класу?

5. За якими ознаками класи групуються в пакети?

6. Які види елементів моделі представлені на діаграмі компонентів?

7. Як пов'язані між собою діаграми пакетів і діаграми компонентів?

8. Що показує діаграма розміщення?

9. Які сутності відображаються на діаграмах розміщення?

10. У яких випадках необхідне застосування діаграм розміщення?

З повагою ІЦ "KURSOVIKS"!