Визуальное моделирование в среде IBM Rational Rose 2003

         

Выбор класса или компонента и генерация для него программного кода


Выбор класса или компонента для генерации программного кода означает выделение соответствующего элемента модели в браузере проекта. Применительно к рассматриваемой модели системы управления банкоматом для генерации программного кода на языке ANSI C++ выберем компонент с именем MainATM.exe.

Генерация программного кода в среде IBM Rational Rose 2003 возможна для отдельного класса или компонента. Для этого нужный элемент модели предварительно следует выделить в браузере проекта и выполнить операцию контекстного меню: ANSI C++

Generate Code_ (Язык ANSI C++
Генерировать код). В результате этого будет открыто диалоговое окно с предложением выбора классов для генерации программного кода на выбранном языке программирования (рис. 14.6). После выбора соответствующих классов и нажатия кнопки OK программа IBM Rational Rose 2003 выполняет кодогенерацию.


Рис. 14.6.  Окно выбора классов для генерации программного кода

Для просмотра и редактирования созданных файлов с текстом программного кода на языке ANSI C++ предназначен встроенный текстовый редактор, который можно открыть с помощью операции контекстного меню: ANSI C++

Browse Header_ (Язык ANSI C++
Просмотреть заголовочный файл) или ANSI C++
Browse Body_
(Язык ANSI C++
Просмотреть файл реализации) для выбранного класса в браузере проекта.

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


Рис. 14.7.  Вид встроенного текстового редактора с загруженным в него заголовочным файлом ATMTransaction.h


Рис. 14.8.  Вид встроенного текстового редактора с загруженным в него заголовочным файлом ATMTransaction.cpp

Как видно из рассмотрения полученного заголовочного файла, в нем содержится объявление в соответствии с правилами синтаксиса языка ANSI C++ всех операций и атрибутов класса ATMTransaction.
При этом информация о документировании операций и атрибутов помещается в комментарии перед соответствующими элементами программы.

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

Следует заметить, что при установленной на компьютер разработчика интегрированной среды сгенерированные файлы с текстом программного кода автоматически открываются в этой среде после двойного щелчка на пиктограмме этих файлов. Тем не менее, лучше копировать содержимое этих файлов в предварительно созданные программные проекты для полного контроля в этих средах процесса программирования и отладки приложений.

Сгенерированные программой IBM Rational Rose 2003 файлы с текстом программного кода содержат минимум информации. Для включения дополнительных элементов в программный код следует изменить свойства генерации программного кода, установленные по умолчанию. Сгенерировать файлы с текстом программного кода при различных значениях свойств выбранного языка программирования предлагается читателям самостоятельно в качестве упражнения.

В заключение следует отметить, что эффект от использования средства IBM Rational Rose 2003 проявляется при разработке масштабных проектов в составе команды или проектной группы. Действительно, при рассмотрении модели системы управления банкоматом может сложиться впечатление того, что написать и отладить соответствующую программу гораздо проще непосредственно в той или иной интегрированной среде программирования.

Однако ситуация покажется не столь тривиальной, когда станет необходимо выполнить проект с несколькими десятками вариантов использования и сотней классов. Именно для подобных проектов явно выявляется преимущество использования средства IBM Rational Rose 2003 и нотации языка UML для документирования и реализации соответствующих моделей.


Содержание раздела