Лабораторна робота 8. Структура та архітектура ПЗ.
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Мета: Навчитися формувати діаграми компонентів і діаграми розгортання для формування фізичної моделі процесу в рамках якого буде функціонувати проектоване програмний засіб.

 

Теоретична частина

Повний проект програмної системи являє собою сукупність моделей логічного і фізичного уявлень, які повинні бути узгоджені між собою. У мові UML для фізичного представлення моделей систем використовуються так звані діаграми реалізації (implementation diagrams), які включають в себе дві окремі канонічні діаграми: діаграму компонентів і діаграму розгортання.

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

Для представлення фізичних сутностей в мові UML застосовується спеціальний термін – компонент (component). Компонент реалізує деякий набір інтерфейсів і служить для загального позначення елементів фізичного представлення моделі. Для графічного представлення компонента може використовуватися спеціальний символ – прямокутник зі вставленими зліва двома більш дрібними прямокутниками (рис. 8.1).

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

Рисунок 8.1 Графічне зображення компонента з додатковою інформацією про реалізованих їм класах

 

Наступним елементом діаграми компонентів є інтерфейси. В загальному випадку інтерфейс графічно зображується колом, яка з'єднується з компонентом відрізком лінії без стрілок (рис.8.2, а). При цьому ім'я інтерфейсу, яке обов’язковим повинно починатися з великої літери "I", записується поряд з колом. Семантично лінія означає реалізацію інтерфейсу, а наявність інтерфейсів у компоненту означає, що даний компонент реалізує відповідний набір інтерфейсів.

Рисунок 8.2 Графічне зображення інтерфейсів

 

Іншим способом представлення інтерфейсу на діаграмі компонентів є його зображення у вигляді прямокутника класу зі стереотипом «інтерфейс» і можливими секціями атрибутів і операцій (рис. 8.2, б). Як правило, цей варіант позначення використовується для представлення внутрішньої структури інтерфейсу, яка може бути важлива для реалізації.

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

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

Рисунок 8.3 Фрагмент діаграми компонентів із відношенням залежності

 

Іншим випадком відносини залежності на діаграмі компонентів є відношення між різними видами компонентів (рис. 8.4). Наявність подібної залежності означає, що внесення змін до вихідні тексти програм або динамічні бібліотеки призводить до змін самого компонента. При цьому характер змін може бути відзначений додатково.

Рисунок 8.4 Графічне зображення відношення залежності між компонентами

 

Нарешті, на діаграмі компонентів можуть бути представлені відносини залежності між компонентами і реалізованими в них класами (рис.8.5). Ця інформація має важливе значення для забезпечення узгодження логічного і фізичного представлень моделі системи. Зрозуміло, зміни в структурі описів класів можуть привести до зміни компонента. Нижче приводиться фрагмент залежності подібного роду, коли деякий компонент залежить від відповідних класів.

Рисунок 8.5 Графічне зображення залежності між компонентом і класами

 

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

Рисунок 8.6 Графічне зображення компонента рівня екземпляра, що реалізує окремі об'єкти

Діаграма розгортання призначена для візуалізації елементів і компонентів програми, що існують лише на етапі її виконання (runtime). При цьому представляються тільки компоненти-екземпляри програми, що є здійсненними чи файлами динамічними бібліотеками. Ті компоненти, що не використовуються на етапі виконання, на діаграмі розгортання не показуються. Так, компоненти з вихідними текстами програм можуть бути присутнім тільки на діаграмі компонентів. На діаграмі розгортання вони не вказуються.

Діаграма розгортання містить графічні зображення процесорів, пристроїв, процесів і зв'язків між ними. На відміну від діаграм логічного представлення, діаграма розгортання є єдиної для системи в цілому, оскільки повинна цілком відбивати особливості її реалізації. Ця діаграма, по суті, завершує процес ООАП для конкретної програмної системи і її розробка, як правило, є останнім етапом специфікації моделі.

Елементи, з яких складаються діаграми розгортання.

Вузол (node) являє собою деякий фізично існуючий елемент системи, що володіє деяким обчислювальним ресурсом. Як обчислювальний ресурс вузла може розглядатися наявність щонайменше деякого обсягу електронної чи магнітооптичної пам'яті і/чи процесора. В останній версії мови UML поняття вузла розширене і може містити в собі не тільки обчислювальні пристрої (процесори), але й інші механічні чи електронні пристрої, такі як датчики, принтери, модеми, цифрові камери, сканери і маніпулятори.

Графічно на діаграмі розгортання вузол зображується у формі тривимірного куба (строго говорячи, псевдотрьохмірного прямокутного паралелепіпеда). Вузол має власне ім'я, що вказується усередині цього графічного символу. Самі вузли можуть представлятися як типи (рис. 8.7 а), так і як екземпляри (рис. 8.7, б).

Рисунок 8.7 Графічне зображення вузла на діаграмі розгортання

 

У першому випадку ім'я вузла записується без підкреслення і починається з заголовної букви. В другому ім'я вузла-екземпляра записується у виді <ім'я вузла ':' ім'я типу вузла>. Ім'я типу вузла вказує на деякий різновид вузлів, що є присутнім у моделі системи.

Наприклад, апаратна частина системи може складатися з декількох персональних комп'ютерів, кожний з який відповідає окремому вузлу-екземпляру в моделі. Однак усі ці вузли-екземпляри відносяться до одного типу вузлів, а саме вузлу з ім'ям типу "Персональний комп'ютер". Так, на представленому вище малюнку (рис. 8.7, а) вузол з ім'ям "Сервер" відноситься до загального типу і ніяк не конкретизується. Другий же вузол (рис. 8.7, б) є анонімним вузлом-екземпляром конкретної моделі принтера.

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

Сполуки є різновидом асоціації і зображуються відрізками ліній без стрілок. Наявність такої лінії вказує на необхідність організації фізичного каналу для обміну інформацією між відповідними вузлами. Характер з'єднання може бути додатково специфікований приміткою, поміченим значенням або обмеженням. На представленому нижче фрагменті діаграми розгортання (рис. 8.8) визначені не тільки вимоги до швидкості передачі даних по локальній мережі за допомогою поміченого значення, а й рекомендації з технології фізичної реалізації сполук у формі примітки.

Рисунок 8.8 Фрагмент діаграми розгортання із з’єднанням між вузлами

Порядок виконання роботи

1. Вивчити теоретичну частину.

2. Здійснити аналіз ПЗ обраної теми.

3. Побудувати діаграму послідовності.

4. Визначити компоненти та відношення для діаграм компонентів та розгортання.

5. Побудувати діаграму компонентів за обраною тематикою.

6. Побудувати діаграму розгортання на основі діаграми компонентів.

7. Винести у звіт завдання п.2-5.

 

1. Система управління фінансами.

2. Система веб-сайта

3. Будова корпоративної мережі.

4. Система віддаленого обслуговування клієнта банком

5. Система управління транспортною платформою.

6. Система інфраструктури навчального закладу (розміщення комп’ютерної техніки).

7. Модель домофонної системи

8. Система відділу кадрів навчального закладу.

9. Система закупівлі товару магазину у різних виробників.

10. Система електронного документообігу.


 


Дата: 2016-10-02, просмотров: 713.