- •Лабораторна робота №12 Тема. Особливості генерації програмного коду в середовищі ibm Rational Rose
- •1. Підготовка моделі для генерації програмного коду
- •2. Перевірка моделі незалежно від вибору мови генерації коду
- •3. Створення компонентів для реалізації класів і відображення класів на компоненти
- •4. Вибір мови програмування й редагування властивостей генерації програмного коду
- •4. Вибір класу або компонента й генерація для нього програмного коду
2. Перевірка моделі незалежно від вибору мови генерації коду
У загальному випадку перевірка моделі може виконуватися на будь-якому етапі роботи над проектом. Однак після завершення розробки графічних діаграм вона є обов'язковою, оскільки дозволяє виявити цілий ряд помилок розроблювача. До числа таких помилок і попереджень відносяться, наприклад, не використовувані асоціації й класи, що залишилися після видалення окремих графічних елементів з діаграм, а також операції, що не є іменами повідомлень на діаграмах взаємодії.
Для перевірки
моделі варто виконати операцію головного
меню: Tools
Check
Model
(Інструменти
Перевірити модель). Результати перевірки
розробленої моделі на наявність помилок
відображаються у вікні журналу. Перш
ніж приступити до генерації тексту
програмного коду розроблювачеві варто
домогтися усунення всіх помилок і
попереджень, про що повинне свідчити
чисте вікно журналу (рис. 2).
Рис.
2. Вигляд журналу при відсутності
помилок за результатами перевірки
моделі
3. Створення компонентів для реалізації класів і відображення класів на компоненти
Власне кажучи дані етапи виконуються в ході розробки діаграми компонентів. Хоча програма IBM Rational Rose дозволяє генерувати програмний код мовою ANSI C++ для кожного класу моделі без попередньої побудови діаграми компонентів, має сенс скористатися розробленою раніше діаграмою компонентів. Стосовно до проекту, що розробляється бажано перейменувати компоненти, задавши їм англомовні імена. Заміни здійснюємо, як логічному приставлені, а Пристрій банкомату – ATMDevices. У цьому випадку відповідна діаграма компонентів моделі банкомату буде мати вигляд, представлений на рис. 3.
Рис.
3. Діаграма компонентів моделі
банкомату після перетворення імен
компонентів
Для відображення класів на компоненти можна скористатися вікном специфікації властивостей компонента, відкритого на вкладці Realizes(Реалізує). Для включення реалізації класу в даний компонент варто виділити необхідний клас на цій вкладці й виконати для нього операцію контекстного меню Assign (Призначити). У результаті перед ім'ям класу на цій вкладці з'явиться спеціальна оцінка.
Стосовно до моделі банкомату для компонента MainATM.exe виберемо для генерації програмного коду класи ATMTransaction та ATMController (рис. 4).
Рис.
4. Діалогове вікно настроювання
властивостей реалізації класів у
компоненті MainATM.exe
Подібна операція повинна бути виконана для всіх класів моделі, які передбачається реалізовувати обраною мовою програмування. Також інший спосіб установлення реалізації класів на компоненті. А саме, можна просто виділити клас у браузері проекту та перетягнути його на потрібний компонент діаграми компонентів.
4. Вибір мови програмування й редагування властивостей генерації програмного коду
Для вибору мови ANSI C++ як мови реалізації моделі варто виконати операцію головного меню: Tools Options (Інструменти Параметри), у результаті чого буде викликане діалогове вікно настроювання параметрів моделі. Далі на вкладці Notation (Нотація) у рядку Default Language (Мова за замовчуванням) із вкладеного списку варто вибрати мову - ANSI C++.
Якщо з якоїсь причини мови ANSI C++ не виявилося у вкладеному списку, те варто переконатися в тім, що ця мова програмування встановлена як розширення IBM Rational Rose. Для цього варто відкрити вікно встановлених розширень, виконавши операцію головного меню: Add-Ins Add-In Manager (Розширення Менеджер розширень), і переконатися в тому, що виставлено оцінку в рядку з ім'ям мови ANSI C++. Якщо її ні, то її варто додати, після чого з'явиться група доступних операцій ANSI C++ у головному меню Tools.
Після вибору мови програмування за замовчуванням варто змінити мова реалізації кожного з компонентів моделі. Із цією метою варто змінити мова в рядку Language (Мова) на вкладці General (Загальні) вікна специфікації властивостей компонента, для чого із вкладеного списку варто вибрати мова - ANSI C++ (рис. 5).
Рис.
5. Вікно специфікації властивостей
компонента MainATM.exe при виборі мови його
реалізації
Варто помітити, що після вибору мови програмування варто привести у відповідність типи атрибутів, типи аргументів і значень операцій, що повертають. Із цією метою потрібно переглянути всі класи діаграми класів і змінити ті типи даних, які не є синтаксично припустимими в обраній мові програмування. Стосовно до мови ANSI C++ варто замінити тип Integer на int, Boolean на bool, Currency на float. У противному випадку відповідні виправлення прийде виконувати вручну після генерації програмного коду.
Рис. 6. Вікно специфікації властивостей функцій класу при виборі мови його реалізації
Редагування загальних властивостей генерації програмного коду можливо в спеціальному діалоговому вікні, що може бути відкрито в результаті виконання операції головного меню: Tools ANSI C++ Open ANSI C++ Specification (Інструменти Мова ANSI C++ Відкрити специфікацію мови ANSI C++). Додаткові властивості генерації програмного коду окремого класу можна специфікувати у діалоговому вікні, що може бути відкрито в результаті виконання операції контекстного меню: ANSI C++ Class Customization (Мова ANSI C++ Настроювання властивостей класу). При цьому відповідний клас повинен бути виділений у браузері проекту.
При генерації програмного коду мовою ANSI C++ для моделі банкомата значення властивостей, пропонованих середовищем IBM Rational Rose за замовчуванням, спочатку можна залишити без зміни.
