Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_роб_12.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
251.9 Кб
Скачать

4. Вибір класу або компонента й генерація для нього програмного коду

Вибір класу або компонента для генерації програмного коду означає виділення відповідного елемента моделі в браузері проекту. Стосовно до розглянутої моделі системи керування банкоматом для генерації програмного коду мовою ANSI C++ виберемо компонент із ім'ям MainATM.exe.

Генерація програмного коду в середовищі IBM Rational Rose можлива для окремого класу або компонента. Для цього потрібний елемент моделі попередньо варто виділити в браузері проекту й виконати операцію контекстного меню: ANSI C++ Generate Code (Мова ANSI C++ Генерувати код). У результаті цього буде відкрите діалогове вікно із пропозицією вибору класів для генерації програмного коду обраною мовою програмування (рис. 7). Після вибору відповідних класів і натискання кнопки OK програма IBM Rational Rose виконує генерацію коду.

Рис. 7.  Вікно вибору класів для генерації програмного коду

Для перегляду редагування створених файлів з текстом програмного коду мовою ANSI C++ призначений убудований текстовий редактор, якому можна відкрити за допомогою операції контекстного меню: ANSI C++ Browse Header (Мова ANSI C++ Переглянути заголовний файл) або ANSI C++ Browse Body (Мова ANSI C++ Переглянути файл реалізації) для обраного класу в браузері проекту.

Після генерації програмного коду для компонента MainATM.exe кожному класу, реалізованому в даному компоненті, буде відповідати 2 файли з текстом коду мовою ANSI C++. Так, наприклад, для класу ATMTransaction буде згенеровано заголовний файл із розширенням «h» (рис. 7) і файл реалізації з розширенням «cpp» (рис. 8).

#ifndef ATMTRANSACTION_H_HEADER_INCLUDED_B9F068FC

#define ATMTRANSACTION_H_HEADER_INCLUDED_B9F068FC

// Використається для збереження інформації про виконаний банкоматом

// транзакціях

//##ModelId=45D8F9AD00EA

class ATMTransaction

{

public:

// Викликається після того, як кредитна картка вставлена в Пристрій читання

// картки

//##ModelId=45D90D5303D8

createNewTransction();

// Викликається після того, як клієнтом уведено значення ПІН-коду із

// клавіатури банкомата

//##ModelId=45D91244007D

bool checkPinCod();

// Викликається після завершення всіх дій банкомата по обслуговуванню

// клієнта

//##ModelId=45D912BD03D8

completeTransction();

// Пристрій читання картки зчитує значення цього атрибута із кредитної

// картки клієнта

//##ModelId=45D908840138

int valueIDCard;

// Пристрій читання картки зчитує значення цього атрибута із кредитної

// картки клієнта

//##ModelId=45D910B9000F

int valuePINCard;

// Значення цього атрибута вводиться клієнтом із клавіатури банкомата

//##ModelId=45D911580290

int inputPINCard;

// Значення цього атрибута вводиться клієнтом із клавіатури банкомата

//##ModelId=45D911A201B5

float inputSumma;

};

#endif /* ATMTRANSACTION_H_HEADER_INCLUDED_B9F068FC */

Рис. 8.  Вигляд вбудованого текстового редактора із завантаженим у нього заголовним файлом ATMTransaction.h

#include "ATMTransaction.h"

//##ModelId=45D90D5303D8

ATMTransaction::createNewTransction()

{

}

//##ModelId=45D91244007D

bool ATMTransaction::checkPinCod()

{

}

//##ModelId=45D912BD03D8

ATMTransaction::completeTransction()

{

}

Рис. 9.  Вигляд убудованого текстового редактора із завантаженим у нього заголовним файлом ATMTransaction.cpp

Як видно з розгляду отриманого заголовного файлу, у ньому міститься оголошення відповідно до правил синтаксису мови ANSI C++ всіх операцій й атрибутів класу ATMTransaction. При цьому інформація про документування операцій й атрибутів міститься в коментарі перед відповідними елементами програми.

В файлі реалізації міститься заготівка для реалізації всіх операцій класу ATMTransaction відповідно до правил синтаксису мови ANSI C++. При цьому кожна з операцій має порожнє тіло реалізації, яке варто написати додатково, виходячи з функціональних вимог моделі й синтаксису мови програмування ANSI C++. Дану роботу зручніше виконувати в обраному інтегрованому середовищі програмування, наприклад, MS Visual C++ або Borland C++. При використанні інтегрованого середовища крім компіляції, налагодження й тестування вихідних модулів програми розроблювач одержує можливість доповнити додаток графічним інтерфейсом, необхідним для взаємодії з користувачем.

Варто помітити, що при встановленому на комп'ютер розроблювача інтегрованого середовища згенеровні файли з текстом програмного коду автоматично відкриваються в цьому середовищі після подвійного клацанні на піктограмі цих файлів. Проте, краще копіювати вміст цих файлів у попередньо створені програмні проекти для повного контролю в цих середовищах процесу програмування й налагодження додатків.

Згенеровані програмою IBM Rational Rose файли з текстом програмного коду містять мінімум інформації. Для включення додаткових елементів у програмний код варто змінити властивості генерації програмного коду, установлені за замовчуванням. Згенерувати файли з текстом програмного коду при різних значеннях властивостей обраної мови програмування пропонується читачам самостійно як вправа.

Слід зазначити, що ефект від використання засобу IBM Rational Rose проявляється при розробці масштабних проектів у складі команди або проектної групи. Дійсно, при розгляді моделі системи керування банкоматом може зложитися враження того, що написати й налагодити відповідну програму набагато простіше безпосередньо в тієї або іншому інтегрованому середовищі програмування.

Однак ситуація здасться не настільки тривіальною, коли стане необхідно виконати проект із декількома десятками варіантів використання й сотнею класів. Саме для подібних проектів явно виявляється перевага використання засобу IBM Rational Rose і нотації мови UML для документування й реалізації відповідних моделей.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]