Остаточне побудова діаграми класів моделі банкомату
Для остаточного побудови діаграми класів даної моделі банкомата слід описаним вище способом додати решту класи і асоціації. а також уточняти стереотипи, атрибути і операції цих класів. З цією метою слід виконати наступні дії:
- Для класу IІнтерфейс Банку додати операцію: перевірити ідентифікатор картки (ідентифікатор картки: Integer) з квантором видимості public. В якості типу повертається результату для цієї операції слід вибрати тип Boolean (логічний), а в якості целочисленного аргументу задати ідентифікатор картки. Для завдання аргументу необхідно перейти на вкладку Detail (Детально) вікна специфікації властивостей даної операції і після додавання аргументу за допомогою операції контекстного меню Insert ввести ім'я аргументу і його тип Integer у відповідних полях введення.
- Для класу IІнтерфейс Банку додати операцію: відкрити рахунок клієнта (ідентифікатор картки: Integer) з квантором видимості public. Як целочисленного аргументу цієї операції слід задати ідентифікатор картки.
- Для класу IІнтерфейс Банку додати операцію: перевірити баланс клієнта (ідентифікатор картки: Integer, введена сума готівки: Currency) з квантором видимості public. В якості типу повертається результату для цієї операції слід вибрати тип Boolean (логічний). В якості першого целочисленного аргументу цієї операції слід задати ідентифікатор картки. а в якості другого аргументу - введена сума готівки з типом Currency (Грошовий).
- Для класу IІнтерфейс Банку додати операцію: зменшити рахунок клієнта (ідентифікатор картки: Integer, введена сума готівки: Currency) з квантором видимості public. В якості типу повертається результату для цієї операції слід вибрати тип Boolean (логічний). В якості першого целочисленного аргументу цієї операції слід задати ідентифікатор картки. а в якості другого аргументу - введена сума готівки з типом Currency (Грошовий).
- Для класу Пристрій читання картки додати операцію: прочитати ідентифікатор картки () з квантором видимості public. В якості типу повертається результату для цієї операції слід вибрати тип Integer (цілочисельний), а в секцію документації даної операції слід ввести пояснювальний текст: "Викликається після того, як кредитна картка вставлена в Пристрій читання картки".
- Для класу Пристрій читання картки додати операцію: прочитати ПІН-код () з квантором видимості public. В якості типу повертається результату для цієї операції слід вибрати тип Integer (цілочисельний), а в секцію документації даної операції слід ввести пояснювальний текст: "Викликається після того, як кредитна картка вставлена в Пристрій читання картки".
- Для класу Пристрій читання картки додати операцію: повернути кредитну картку () з квантором видимості public. У секцію документації даної операції слід ввести пояснювальний текст: "Викликається після завершення транзакції".
- Для класу Пристрій читання картки додати операцію: блокувати кредитну картку () з квантором видимості public. У секцію документації даної операції слід ввести пояснювальний текст: "Викликається після того, як встановлено факт втрати кредитної картки власником".
- Додати клас з ім'ям Екран Банкомати. для якого вибрати стереотип boundary. Даний клас також знаходиться на кордоні модельованої системи, на що і вказує цей стереотип. У секцію документації даного класу слід ввести пояснювальний текст: "Встановлюється на банкоматі".
- Для класу Екран Банкомату додати операцію: показати меню опцій () з квантором видимості public.
- Для класу Екран Банкомату додати операцію: показати меню зняття суми () з квантором видимості public.
- Додати клас з ім'ям Клавіатура Банкомати. для якого вибрати стереотип boundary. У секцію документації даного класу слід ввести пояснювальний текст: "Встановлюється на банкоматі".
- Для класу Клавіатура Банкомату додати операцію: ввести ПІН-код () з квантором видимості public. В якості типу повертається результату для цієї операції слід вибрати тип Integer. а в секцію документації даної операції слід ввести пояснювальний текст: "Викликається після того, як клієнт ввів значення ПІН-коду з клавіатури".
- Для класу Клавіатура Банкомату додати операцію: ввести тип транзакції () з квантором видимості public. В якості типу повертається результату для цієї операції слід вибрати тип Boolean (логічний), а в секцію документації даної операції слід ввести пояснювальний текст: "Повертає значення Істина. Якщо клієнт вибирає зняття готівки, і значення Брехня. Якщо клієнт вибирає отримання довідки про стан рахунку ".
- Для класу Клавіатура Банкомату додати операцію: ввести суму зняття готівки () з квантором видимості public. В якості типу повертається результату для цієї операції слід вибрати тип Currency (Грошовий), а в секцію документації даної операції слід ввести пояснювальний текст: "Викликається після того, як клієнт ввів значення суми, що знімається з клавіатури".
- Додати клас з ім'ям Пристрій видачі готівки. для якого вибрати стереотип boundary. У секцію документації даного класу слід ввести пояснювальний текст: "Встановлюється на банкоматі".
- Для класу Пристрій видачі готівки додати операцію: видати готівку () з квантором видимості public. У секцію документації даної операції слід ввести пояснювальний текст: "Викликається після того, як виконано зняття запитаної клієнтом суми з рахунку".
- Додати клас з ім'ям Принтер Банкомати. для якого вибрати стереотип boundary. У секцію документації даного класу слід ввести пояснювальний текст: "Встановлюється на банкоматі".
- Для класу Принтер Банкомату додати операцію: роздрукувати чек () з квантором видимості public. У секцію документації даної операції слід ввести пояснювальний текст: "Викликається по додатковому запиту клієнта".
- Додати спрямовану асоціацію від класу Контролер Банкомату до класу Пристрій читання картки. Як кратності решт цієї асоціації встановити значення 1.
- Додати спрямовану асоціацію від класу Контролер Банкомату до класу Принтер Банкомати. Як кратності решт цієї асоціації встановити значення 1.
- Додати спрямовану асоціацію від класу Контролер Банкомату до класу Клавіатура Банкомати. Як кратності решт цієї асоціації встановити значення 1.
- Додати спрямовану асоціацію від класу Контролер Банкомату до класу Пристрій видачі готівки. Як кратності решт цієї асоціації встановити значення 1.
- Додати спрямовану асоціацію від класу Контролер Банкомату до класу Екран Банкомати. Як кратності решт цієї асоціації встановити значення 1.
- Додати спрямовану асоціацію від класу Контролер Банкомату до класу IКонтроллер Банку. Як кратності кінця цієї асоціації для першого класу встановити значення 0..n, а кратності кінця асоціації для другого класу встановити значення 1. В якості стереотипу даної асоціації вибрати з вкладеного списку значення <
>. Застосування даного стереотипу означає, що між цими класами повинна існувати фізична взаємозв'язок.
Виконати ці дії пропонується читачам самостійно. Побудована в результаті зазначених дій діаграма класів матиме такий вигляд (рис. 6.7).
Мал. 6.7. Остаточний вигляд діаграми класів для розроблюваної моделі банкомату