
- •Лабораторна робота №1. Розробка діаграми класів і редагування їх властивостей Особливості розробки діаграм класів у середовищі іbm Ratіonal Rose
- •Додавання класу на діаграму класів і редагування його свойств
- •Стереотипи класів і їхнє графічне подання
- •Додавання і редагування атрибутів класів
- •Додавання і редагування операцій класів
- •Специфікація атрибутів і операцій для класу Транзакція Банкомату
- •Додавання асоціації на діаграму класів і редагування її властивостей
- •Додавання стосунків агрегації і композиції на діаграму класів і редагування їх властивостей
- •Мал. 6.3. Діалогове вікно специфікації властивостей асоціації
- •Додавання відношення узагальнення на діаграму класів і редагування її властивостей
- •Мал. 6.6. Діалогове вікно специфікації властивостей відношення узагальнення
- •Остаточна побудова діаграми класів моделі банкомату
- •Мал. 6.7. Остаточний вигляд діаграми класів для моделі банкомату, що розробляється
Мал. 6.6. Діалогове вікно специфікації властивостей відношення узагальнення
Для завдання імені узагальнення слід на єдиній вкладці General (Загальні) в поле введення Name (Ім'я) ввести текст його імені : Наслідує <прізвище та ініціали> і натиснути кнопку Apply або OK, щоб зберегти результати редагування імені асоціації.
Остаточна побудова діаграми класів моделі банкомату
Для остаточної побудови діаграми класів даної моделі банкомату слід описаним вище способом додати класи, що залишилися, і асоціації, а також специфікувати стереотипи, атрибути і операції цих класів. З цією метою слід виконати наступні дії:
Для класу 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. В якості стереотипу цієї асоціації вибрати з вкладеного списку значення <<communicate>>. Застосування цього стереотипу означає, що між цими класами повинен існувати фізичний взаємозв'язок.
Виконати ці дії пропонується самостійно. Побудована в результаті вказаних дій діаграма класів матиме наступний вигляд (мал. 6.7).