Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектування інформаційних систем.doc
Скачиваний:
95
Добавлен:
21.09.2019
Размер:
28.77 Mб
Скачать

24.1. Компоненти

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

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

Рис. 24.1. Графічне зображення компонент в мові UML

Так, в першому випадку (рис. 24.1, а) з компонентом рівня екземпляра зв'язується тільки його ім'я, а в другому (рис. 24.1, б) – додаткове ім'я пакету і помічене значення.

Примітка

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

24.1.1. Ім'я компоненту

Ім'я компоненту підкоряється загальним правилам іменування елементів моделі в мові UML і може складатися з будь-якої кількості букв, цифр і деяких розділових знаків. Окремий компонент може бути поданий на рівні типу або на рівні екземпляру. Хоча його графічне зображення в обидвох випадках однакове, правила запису імені компоненту декілька відрізняються. Якщо компонент представляється на рівні типу, то в якості його імені записується тільки ім'я типу із заголовної букви.

Якщо ж компонент представляється на рівні екземпляра, то його ім'я записується <ім'я компоненту ':' ім'я типу>. При цьому весь рядок імені підкреслюється.

Примітка

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

В якості простих імен прийнято використовувати імена виконуваних файлів (з вказівкою розширення ехе після крапки-роздільника), імена динамічних бібліотек (розширення dll), імена Web-сторінок (розширення html), імена текстових файлів (розширення txt або doc) або файлів довідки (hlp), імена файлів баз даних (db) або імена файлів з початковими текстами програм (розширення h, cpp для мови C++, розширення Java для мови Java), скрипти (php, asp) та ін.

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

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