
- •Лабораторна робота №1. Розробка діаграми класів і редагування їх властивостей Особливості розробки діаграм класів у середовищі іbm Ratіonal Rose
- •Додавання класу на діаграму класів і редагування його свойств
- •Стереотипи класів і їхнє графічне подання
- •Додавання і редагування атрибутів класів
- •Додавання і редагування операцій класів
- •Специфікація атрибутів і операцій для класу Транзакція Банкомату
- •Додавання асоціації на діаграму класів і редагування її властивостей
- •Додавання стосунків агрегації і композиції на діаграму класів і редагування їх властивостей
- •Мал. 6.3. Діалогове вікно специфікації властивостей асоціації
- •Додавання відношення узагальнення на діаграму класів і редагування її властивостей
- •Мал. 6.6. Діалогове вікно специфікації властивостей відношення узагальнення
- •Остаточна побудова діаграми класів моделі банкомату
- •Мал. 6.7. Остаточний вигляд діаграми класів для моделі банкомату, що розробляється
Додавання і редагування операцій класів
Функціонування банкомату засноване на виконанні окремими його пристроями тих або інших дій. У моделі структури банкомату усі дії представляються за допомогою операцій класів. Таким чином, наступний етап розробки діаграми класів пов'язаний із специфікацією операцій класів.
Додати операцію до створеного раніше класу можна одним з наступних способів :
За допомогою операції контекстного меню New Operation (Нова операція) для класу, виділеного на діаграмі класів. В цьому випадку активізується курсор введення в області графічного зображення класу на діаграмі.
За допомогою операції контекстного меню : New Operation (Нова Операція) для класу, виділеного в браузері проекту. В цьому випадку активізується курсор введення в області ієрархічного представлення класу в браузері під ім'ям відповідного класу.
За допомогою операції контекстного меню Insert (Вставити), викликаного при позиціонуванні курсора в області відкритої вкладки операцій в діалоговому вікні властивостей Class Specification відповідного класу.
Після додавання операції до класу за умовчанням їй привласнюється ім'я opname і деякий квантор видимості. Видимість операцій на діаграмі класів також зображається у формі спеціальних піктограм або прикрас. Використовувані піктограми видимості зображаються перед ім'ям відповідної операції і мають наступний сенс (таблиця. 5.2).
Таблиця 5.2. Піктограми видимості операцій класів
Графічне зображення
|
Текстовий аналог
|
Призначення піктограми
|
|
Public
|
Загальнодоступний або відкритий. У нотації мови UML такому атрибуту відповідає знак "+"
|
|
Protected
|
Захищений. У нотації мови UML такому атрибуту відповідає знак "#"
|
|
Private
|
Закритий. У нотації мови UML такому атрибуту відповідає знак "-"
|
|
Implementation
|
Реалізація. У нотації мови UML такому атрибуту відповідає знак "∼"
|
У контексті даної моделі банкомату в якості імені першої операції для класу Транзакція Банкомата <прізвище та ініціали> слід задати: створити нову транзакцію <прізвище та ініціали>. При цьому дужки при завданні імені операції не записуються, оскільки програма IBM Rational Rose 2003 додає їх автоматично. Проте, наслідуючи правила іменування операцій в мові UML, в тексті лекції імена операцій вказуватимуться з дужками.
Кожна з операцій класів має власне діалогове вікно специфікації властивостей Operation Specification, яке може бути відкрите по подвійному клацанню на імені операції на відповідній вкладці специфікації класу або на імені цієї операції в браузері проекту. Для операції створити нову транзакцію <прізвище та ініціали> в якості квантора видимості слід вибрати з вкладеного списку квантор public. У секцію документації цієї операції класу можна ввести пояснюючий текст: "Викликається після того, як кредитна картка вставлена у Пристрій зчитування картки <прізвище та ініціали>" і натиснути кнопку Apply або OK, щоб зберегти результати редагування властивостей цієї операції. Відповідне вікно специфікації властивостей операції створити нову транзакцію <прізвище та ініціали> після редагування її властивостей матиме наступний вигляд (мал. 5.4).
Рис.
5.4. Діалогове
вікно специфікації властивостей операції
створити нову транзакцію ()
Для операцій класів окрім квантора видимості можна також задати: аргументи і їх тип, тип повертаного результату, стереотип операції, а також визначити протокол і розмір, задати виняткові ситуації, специфікувати передумови і постумови і цілий ряд інших властивостей. Для окремої операції ці додаткові властивості доступні для редагування на вкладці Detail (Детально) діалогового вікна специфікації властивостей вибраної операції (мал. 5.5).
Рис.
5.5. Діалогове
вікно специфікації властивостей операції
створити нову транзакцію <прізвище
та ініціали>
(), відкрите на вкладці Detail (Детально)
На вкладці Detail в багатосторінковому полі Arguments (Аргументи) можна визначити аргументи редагованої операції. Для цього слід виконати операцію контекстного меню Insert (Вставити). Після цього в цьому полі з'явиться аргумент цієї операції з ім'ям за умовчанням argname. Для редагування властивостей аргументу призначено спеціальне вікно властивостей аргументу.
На вкладці Detail в поле Protocol (Протокол) можна специфікувати порядок виконання операцій класу, наприклад, вказати, що одна операція не може бути викликана раніше іншої. Відповідний текст в це поле вводиться з клавіатури і потрапляє в генерований код у формі коментаря. У полі Qualification (Кваліфікація) можна уточнити деталі реалізації операції, пов'язані з конкретною мовою програмування. Відповідний текст також вводиться в це поле з клавіатури і потрапляє в генерований код у формі коментаря.
Далі на цій же вкладці в полях Size (Розмір) і Time (Час) можна специфікувати передбачуваний об'єм пам'яті і час, необхідний для виконання операції. Відповідна інформація потрапляє в генерований код у формі коментаря.
У групі вибору Concurrency (Паралельність) можна специфікувати умови на можливість паралельного виконання цієї операції. Для вибору можуть бути використані наступні властивості:
Sequential (Послідовна) - властивість за умовчанням, яке означає, що ця операція класу може бути виконана тільки за наявності одного потоку управління, т. е. відповідна операція класу повинна виконуватися послідовно. За наявності декількох потоків управління виконання цієї операції класу не гарантується.
Guarded (Безпечна) - означає, що за наявності декількох потоків управління виконання цієї операції класу гарантується тільки у тому випадку, коли забезпечена взаємодія об'єктів один з одним в різних потоках.
Synchronous (Синхронна) - означає, що виконання цієї операції класу гарантується за наявності декількох потоків управління. При цьому немає необхідності у взаємодії об'єктів в різних потоках управління, оскільки ця операція класу виконуватиметься в окремому потоці управління аж до свого завершення.
Стосовно даної моделі для операції створити нову транзакцію <прізвище та ініціали> () слід вибрати властивість Sequential, а поля усіх інших властивостей залишити порожніми.