
- •Лабораторна робота №1. Розробка діаграми класів і редагування їх властивостей Особливості розробки діаграм класів у середовищі іbm Ratіonal Rose
- •Додавання класу на діаграму класів і редагування його свойств
- •Стереотипи класів і їхнє графічне подання
- •Додавання і редагування атрибутів класів
- •Додавання і редагування операцій класів
- •Специфікація атрибутів і операцій для класу Транзакція Банкомату
- •Додавання асоціації на діаграму класів і редагування її властивостей
- •Додавання стосунків агрегації і композиції на діаграму класів і редагування їх властивостей
- •Мал. 6.3. Діалогове вікно специфікації властивостей асоціації
- •Додавання відношення узагальнення на діаграму класів і редагування її властивостей
- •Мал. 6.6. Діалогове вікно специфікації властивостей відношення узагальнення
- •Остаточна побудова діаграми класів моделі банкомату
- •Мал. 6.7. Остаточний вигляд діаграми класів для моделі банкомату, що розробляється
Додавання стосунків агрегації і композиції на діаграму класів і редагування їх властивостей
Додати на діаграму відношення агрегації між двома класами можна наступними способами:
Клацнути на кнопці із зображенням відношення агрегації на спеціальній панелі інструментів і провести лінію агрегації від одного класу до іншого.
Провести лінію асоціації між вибраними класами і змінити її властивості так, щоб перетворити цю асоціацію на агрегацію.
У першому випадку може виявитися, що за замовчуванням на спеціальній панелі інструментів діаграми класів відсутня кнопка з піктограмою агрегації. В цьому випадку необхідно заздалегідь додати її на панель інструментів одним з описаних раніше способів. У другому випадку слід відкрити вікно специфікації властивостей асоціації Association Specification і на вкладці деталей відповідного кінця асоціації виставити відмітку в рядку вибору Aggregate (Агрегація).
В якості прикладу змінимо тип створеної раніше асоціації і зробимо її агрегацією. Змістовно це означатиме, що клас Контролер Банкомата <прізвище та ініціали> включатиме в якості складової частини клас Транзакція Банкомата <прізвище та ініціали>; при цьому знищення будь-якого об'єкту класу Контролер Банкомата <прізвище та ініціали> не повинно привести до знищення асоційованих з ним об'єктів класу Транзакція Банкомата<прізвище та ініціали>. З цією метою на вкладці Role B Detail деталей кінця асоціації класу Контролер Банкомата <прізвище та ініціали> слід виставити відмітку в рядку вибору Aggregate(мал. 6.3).
Мал. 6.3. Діалогове вікно специфікації властивостей асоціації
Відповідний фрагмент діаграми класів після зміни асоціації між класами Контролер Банкомата <прізвище та ініціали> і Транзакція Банкомата <прізвище та ініціали> на відношення агрегації матиме наступний вигляд (мал. 6.4).
Рис.
6.4. Фрагмент
діаграми класів моделі банкомату після
додавання на неї стосунки агрегації
Для зображення відношення композиції можна також спочатку зображувати звичайну асоціацію, після чого, відкривши вікно її властивостей на вкладці деталей відповідного кінця асоціації, (мал. 6.3) виставити відмітку в рядку вибору Aggregate (Агрегація) і в секції Containment (Локалізація) вибрати опцію By Value (За значенням). За замовчуванням ця опція не специфікована, тобто виставлена відмітка опції Unspecified.
Додавання відношення узагальнення на діаграму класів і редагування її властивостей
Додавання на діаграму відношення узагальнення між двома класами виконується таким чином. На спеціальній панелі інструментів необхідно натиснути кнопку із зображенням піктограми узагальнення і відпустити ліву кнопку миші. Далі на діаграмі класів потрібно виділити перший елемент узагальнення або нащадок, від якого виходить стрілка, і, не відпускаючи натиснуту ліву кнопку миші, перемістити її покажчик до другого елементу відношення або предок, до якого спрямована стрілка. Після переміщення до другого елементу кнопку миші слід відпустити, внаслідок чого на діаграму класів буде додана лінія узагальнення з ім'ям Untitled між двома вибраними класами.
Продовжуючи розробку діаграми класів моделі банкомату, додамо на неї описаним способом спрямовану асоціацію між класом Контролер Банкомата <прізвище та ініціали> і додатково створеним абстрактним класом Контролер <прізвище та ініціали> (мал. 6.5). Останній клас може бути призначений для специфікації системних атрибутів і операцій, необхідних при виконанні відповідної програми. Нагадаємо, що на абстрактний характер класу вказує написання курсивом його імені, а для специфікації цієї властивості класу необхідно на вкладці Detail (Детально) вікна специфікації властивостей класу Контролер <прізвище та ініціали> виставити відмітку в рядку вибору Abstract.
Рис.
6.5. Діаграма
класів моделі банкомату після додавання
на неї стосунку
узагальнення
Змінимо ім'я відношення узагальнення, запропоноване середовищем за умовчанням. Це можна виконати за допомогою вікна специфікації властивостей узагальнення. Доступ до діалогового вікна специфікації властивостей відношення узагальнення Generalize Specification можна отримати після виділення лінії узагальнення на діаграмі класів або в браузері проекту і подвійного клацання на ній лівої кнопки миші (мал. 6.6).