Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТКП_iнд_Блiнковс_каМ_КБ-12-1_В2.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
73.07 Кб
Скачать
    1. Методологія об'єктного проектування на мові uml (uml-діаграми)

Уніфікована мова моделювання (Unified Modeling Language – UML) – це мова для специфицирования, візуалізації, конструювання та документування на основі об'єктно-орієнтована підходу різні види систем: програмних, апаратних, програмно-апаратних, змішаних, явно включають діяльність людей і т. д.

Крім того, мова UML застосовується для проектування реляційних БД. Для цього використовується невелика частина мови (діаграми класів), але не в повному обсязі. З точки зору проектування реляційних БД модельні можливості не надто відрізняються від можливостей ER-діаграм

Діаграмою класів у термінології UML називається діаграма, на якій показаний набір класів (і деяких інших сутностей), що не мають явного відношення до проектування БД), а також зв'язків між цими класами. Обмеження можуть неформально здаватися природною мовою або формулюватися мовою об'єктних обмежень OCL (Object Constraints Language).

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

Атрибутом класу називається іменована властивість класу, що описує безліч значень, які можуть приймати екземпляри цієї властивості. Клас може мати будь-яке число атрибутів (зокрема, не мати жодного атрибута).

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

У діаграмі класів можуть брати участь зв'язку трьох різних категорій: залежність (dependency), узагальнення (generalization) і асоціація (association).

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

Зв'язком-узагальненням називається зв'язок між загальною сутністю, званої суперкласом, або батьком, і більш спеціалізованої різновидом цієї сутності, званої підкласом, або нащадком. Узагальнення іноді називають зв'язками «is a», маючи на увазі, що клас-нащадок є окремим випадком класу-предка. Клас-нащадок успадковує всі атрибути і операції класу-предка, але в ньому можуть бути визначені додаткові атрибути та операції. Однак в UML допускається і множинне спадкування, коли один підклас визначається на основі декількох суперкласів.

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

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

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

Кратністю (multiplicity) ролі асоціації називається характеристика, яка вказує, скільки об'єктів класу з даною роллю може або повинна брати участь у кожному примірнику асоціації.

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

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