Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Додавання зв'язку й редагування її властивостей



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


Рис. 5.3. Діаграма кооперації після додавання зв'язку між об'єктом класу Клієнт Банкомата (актором) і об'єктом класу Пристрій читання картки

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


Рис. 5.4. Діалогове вікно редагування властивостей зв'язку

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

 

4. Додавання повідомлення й редагування його властивостей

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

Однак більше зручним представляється спосіб додавання повідомлень за допомогою діалогового вікна властивостей зв'язків. Для цього подвійним клацанням на лінії зв'язку викликається вікно її властивостей і розкривається вкладка Messages (повідомлення). Після цього варто виконати операцію контекстного меню Insert To (Вставити в напрямку), у результаті чого з'являється вкладений список із пропозицією вибрати одну з операцій цільового класу для специфікації імені повідомлення (рис. 5.5).


Рис. 5.5. Діалогове вікно додавання повідомлення для обраного зв'язку

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


Рис. 5.6. Діаграма кооперації після додавання зв'язку між об'єктом класу Клієнт Банкомата (актором) і об'єктом класу Пристрій читання картки

Крім імені повідомлення можна також задати стереотип синхронізації й частоту передачі. Для цієї мети варто скористатися діалоговим вікном специфікації властивостей повідомлень (рис. 5.7), яких можна відкрити подвійним щигликом на імені повідомлення в списку розглянутої вкладки Messages вікна специфікації властивостей зв'язку.


Рис. 5.7. Діалогове вікно специфікації властивостей повідомлення

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

Таблиця 5.2. Характеристика властивостей синхронізації повідомлень
Назва властивості Графічне зображення стрілки Призначення властивості
Simple (Простої) Дане повідомлення виконується в одному потоці керування. Ця властивість задається повідомленню, що додає на діаграму, за замовчуванням
Synchronous (Синхронне) Після передачі даного повідомлення клієнт очікує відповіді від об'єкта-приймача про результат виконання відповідної операції
Balking (З відмовою) Після передачі даного повідомлення об'єкт-приймач відмовляє клієнтові у виконанні відповідної операції, якщо він зайнятий виконанням інших операцій
Timeout (З очікуванням) Після передачі даного повідомлення об'єкт-приймач може помістити дане повідомлення в чергу з обмеженим часом очікування, якщо він зайнятий виконанням інших операцій
Procedure Call (Виклик процедури) Клієнт посилає дане повідомлення об'єкту-приймачу й, щоб продовжити свою роботу очікує, поки вся подальша вкладена послідовність повідомлень не буде оброблена приймачем
Asynchronous (Асинхронне) Клієнт посилає дане повідомлення й продовжує свою роботу, не очікуючи підтвердження від об'єкта-приймача про одержання цього повідомлення. При цьому відповідна операція може бути як виконана, так і не виконана
Return (Повернення) Дане повідомлення посилає клієнтові після закінчення виконання виклику процедури

Група властивостей Frequency (Частота) призначена для вказівки періодичного характеру передачі повідомлення. При зміні цієї властивості графічне зображення стрілки відповідного повідомлення не змінюється. Властивість Aperiodic (Аперіодичне) означає, що повідомлення посилає клієнтом нерегулярно. При цьому повідомлення може бути відправлено один або кілька разів через різні проміжки часу. Ця властивість задається для повідомлення за замовчуванням. Властивість Periodic (Періодичне) означає, що повідомлення регулярно посилає клієнтом через певні проміжки часу.

Стосовно для моделі банкомата можна залишити розглянуті властивості повідомлень без зміни, у тім виді, у якому вони визначені за замовчуванням програмою IBM Rational Rose.

 

5. Остаточна побудова діаграми кооперації для моделі банкомата

Для завершення побудови діаграми кооперації розглянутого приклада треба описаним вище способом додати об'єкти, що залишилися, зв'язки й повідомлення. Із цією метою варто виконати наступні дії:

  • Додати об'єкти класів з іменами: Контролер Банкомата, Транзакція Банкомата, Клавіатура Банкомата, Екран Банкомата, Принтер Банкомата, Пристрій видачі наявних грошей та IКонтролер Банку.
  • Додати зв'язки, що з'єднують об'єкти класів з іменами: Контролер Банкомата із Пристроєм читання картки, Контролер Банкомата із Транзакцією Банкомата, Контролер Банкомата із Клавіатурою Банкомата, Контролер Банкомата з Екраном Банкомата, Контролер Банкомата із Принтером Банкомата, Контролер Банкомата із Пристроєм видачі наявних грошей і Контролер Банкомата з IКонтролер Банку.
  • Додати повідомлення: перевірити ідентифікатор картки (Integer) , спрямоване від об'єкта класу Контролер Банкомата до об'єкта класу IКонтролер Банку. [2]
  • Додати повідомлення: ввести ПІН-код(), направлене від об'єкта класу-актора Клієнт Банкомата до об'єкта класу Клавіатура Банкомата. [3]
  • Додати повідомлення: прочитати ПІН-код(), направлене від об'єкта класу Контролер Банкомата до об'єкта класу Пристрій читання картки. [4]
  • Додати повідомлення: створити нову транзакцію(), направлене від об'єкта класу Контролер Банкомата до об'єкта класу Транзакція Банкомата. [5]
  • Додати повідомлення: перевірити правильність ПІН-коду(), направлене від об'єкта класу Контролер Банкомата до об'єкта класу Транзакція Банкомата. [6]
  • Додати повідомлення: показати меню опцій(), направлене від об'єкта класу Контролер Банкомата до об'єкта класу Екран Банкомата. [7]
  • Додати повідомлення: ввести тип транзакції(), направлене від об'єкта класу-актора Клієнт Банкомата до об'єкта класу Клавіатура Банкомата. [8]
  • Додати повідомлення: показати меню зняття суми(), направлене від об'єкта класу Контролер Банкомата до об'єкта класу Екран Банкомата. [9]
  • Додати повідомлення: ввести суму зняття наявних грошей(), направлене від об'єкта класу-актора Клієнт Банкомата до об'єкта класу Клавіатура Банкомата. [10]
  • Послідовно додати 3 повідомлення: відкрити рахунок клієнта (Integer) , перевірити баланс клієнта (Integer, Currency) і зменшити рахунок клієнта(Integer, Currency), спрямовані від об'єкта класу Контролер Банкомата до об'єкта класу IКонтролер Банку. [11-13]
  • Додати повідомлення: роздрукувати чек(), направлене від об'єкта класу Контролер Банкомата до об'єкта класу Принтер Банкомата. [14]
  • Додати повідомлення: повернути кредитну картку(), направлене від об'єкта класу Контролер Банкомата до об'єкта класу Пристрій читання картки. [15]
  • Додати повідомлення: видати наявні грошей(), направлене від об'єкта класу Контролер Банкомата до об'єкта класу Пристрій видачі наявних. [16]
  • Додати повідомлення: завершити транзакцію(), направлене від об'єкта класу Контролер Банкомата до об'єкта класу Транзакція Банкомата. [17]

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

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

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

 


Рис. 5.8. Остаточний варіант діаграми кооперації, що описує типовий хід подій варіанта використання Зняття наявних по кредитній картці

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.