Ноу Інти, лекція, додавання відносин на діаграму класів і редагування їх властивостей

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

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

  1. Для класу IІнтерфейс Банку додати операцію: перевірити ідентифікатор картки (ідентифікатор картки: Integer) з квантором видимості public. В якості типу повертається результату для цієї операції слід вибрати тип Boolean (логічний), а в якості целочисленного аргументу задати ідентифікатор картки. Для завдання аргументу необхідно перейти на вкладку Detail (Детально) вікна специфікації властивостей даної операції і після додавання аргументу за допомогою операції контекстного меню Insert ввести ім'я аргументу і його тип Integer у відповідних полях введення.
  2. Для класу IІнтерфейс Банку додати операцію: відкрити рахунок клієнта (ідентифікатор картки: Integer) з квантором видимості public. Як целочисленного аргументу цієї операції слід задати ідентифікатор картки.
  3. Для класу IІнтерфейс Банку додати операцію: перевірити баланс клієнта (ідентифікатор картки: Integer, введена сума готівки: Currency) з квантором видимості public. В якості типу повертається результату для цієї операції слід вибрати тип Boolean (логічний). В якості першого целочисленного аргументу цієї операції слід задати ідентифікатор картки. а в якості другого аргументу - введена сума готівки з типом Currency (Грошовий).
  4. Для класу IІнтерфейс Банку додати операцію: зменшити рахунок клієнта (ідентифікатор картки: Integer, введена сума готівки: Currency) з квантором видимості public. В якості типу повертається результату для цієї операції слід вибрати тип Boolean (логічний). В якості першого целочисленного аргументу цієї операції слід задати ідентифікатор картки. а в якості другого аргументу - введена сума готівки з типом Currency (Грошовий).
  5. Для класу Пристрій читання картки додати операцію: прочитати ідентифікатор картки () з квантором видимості public. В якості типу повертається результату для цієї операції слід вибрати тип Integer (цілочисельний), а в секцію документації даної операції слід ввести пояснювальний текст: "Викликається після того, як кредитна картка вставлена ​​в Пристрій читання картки".
  6. Для класу Пристрій читання картки додати операцію: прочитати ПІН-код () з квантором видимості public. В якості типу повертається результату для цієї операції слід вибрати тип Integer (цілочисельний), а в секцію документації даної операції слід ввести пояснювальний текст: "Викликається після того, як кредитна картка вставлена ​​в Пристрій читання картки".
  7. Для класу Пристрій читання картки додати операцію: повернути кредитну картку () з квантором видимості public. У секцію документації даної операції слід ввести пояснювальний текст: "Викликається після завершення транзакції".
  8. Для класу Пристрій читання картки додати операцію: блокувати кредитну картку () з квантором видимості public. У секцію документації даної операції слід ввести пояснювальний текст: "Викликається після того, як встановлено факт втрати кредитної картки власником".
  9. Додати клас з ім'ям Екран Банкомати. для якого вибрати стереотип boundary. Даний клас також знаходиться на кордоні модельованої системи, на що і вказує цей стереотип. У секцію документації даного класу слід ввести пояснювальний текст: "Встановлюється на банкоматі".
  10. Для класу Екран Банкомату додати операцію: показати меню опцій () з квантором видимості public.
  11. Для класу Екран Банкомату додати операцію: показати меню зняття суми () з квантором видимості public.
  12. Додати клас з ім'ям Клавіатура Банкомати. для якого вибрати стереотип boundary. У секцію документації даного класу слід ввести пояснювальний текст: "Встановлюється на банкоматі".
  13. Для класу Клавіатура Банкомату додати операцію: ввести ПІН-код () з квантором видимості public. В якості типу повертається результату для цієї операції слід вибрати тип Integer. а в секцію документації даної операції слід ввести пояснювальний текст: "Викликається після того, як клієнт ввів значення ПІН-коду з клавіатури".
  14. Для класу Клавіатура Банкомату додати операцію: ввести тип транзакції () з квантором видимості public. В якості типу повертається результату для цієї операції слід вибрати тип Boolean (логічний), а в секцію документації даної операції слід ввести пояснювальний текст: "Повертає значення Істина. Якщо клієнт вибирає зняття готівки, і значення Брехня. Якщо клієнт вибирає отримання довідки про стан рахунку ".
  15. Для класу Клавіатура Банкомату додати операцію: ввести суму зняття готівки () з квантором видимості public. В якості типу повертається результату для цієї операції слід вибрати тип Currency (Грошовий), а в секцію документації даної операції слід ввести пояснювальний текст: "Викликається після того, як клієнт ввів значення суми, що знімається з клавіатури".
  16. Додати клас з ім'ям Пристрій видачі готівки. для якого вибрати стереотип boundary. У секцію документації даного класу слід ввести пояснювальний текст: "Встановлюється на банкоматі".
  17. Для класу Пристрій видачі готівки додати операцію: видати готівку () з квантором видимості public. У секцію документації даної операції слід ввести пояснювальний текст: "Викликається після того, як виконано зняття запитаної клієнтом суми з рахунку".
  18. Додати клас з ім'ям Принтер Банкомати. для якого вибрати стереотип boundary. У секцію документації даного класу слід ввести пояснювальний текст: "Встановлюється на банкоматі".
  19. Для класу Принтер Банкомату додати операцію: роздрукувати чек () з квантором видимості public. У секцію документації даної операції слід ввести пояснювальний текст: "Викликається по додатковому запиту клієнта".
  20. Додати спрямовану асоціацію від класу Контролер Банкомату до класу Пристрій читання картки. Як кратності решт цієї асоціації встановити значення 1.
  21. Додати спрямовану асоціацію від класу Контролер Банкомату до класу Принтер Банкомати. Як кратності решт цієї асоціації встановити значення 1.
  22. Додати спрямовану асоціацію від класу Контролер Банкомату до класу Клавіатура Банкомати. Як кратності решт цієї асоціації встановити значення 1.
  23. Додати спрямовану асоціацію від класу Контролер Банкомату до класу Пристрій видачі готівки. Як кратності решт цієї асоціації встановити значення 1.
  24. Додати спрямовану асоціацію від класу Контролер Банкомату до класу Екран Банкомати. Як кратності решт цієї асоціації встановити значення 1.
  25. Додати спрямовану асоціацію від класу Контролер Банкомату до класу IКонтроллер Банку. Як кратності кінця цієї асоціації для першого класу встановити значення 0..n, а кратності кінця асоціації для другого класу встановити значення 1. В якості стереотипу даної асоціації вибрати з вкладеного списку значення <>. Застосування даного стереотипу означає, що між цими класами повинна існувати фізична взаємозв'язок.

Виконати ці дії пропонується читачам самостійно. Побудована в результаті зазначених дій діаграма класів матиме такий вигляд (рис. 6.7).


Мал. 6.7. Остаточний вигляд діаграми класів для розроблюваної моделі банкомату