Последний шаг на стадии проектирования версии — добавление методов, необходимых каждому классу (например, конструкторов, деструкторов или копирующих конструкторов, если выбран язык программирования С++). В программе Rational Rose 2000 предусмотрены средства для формирования кода. Код генерируется на основе информации, полученной из диаграмм, спецификаций и параметров, указанных в свойствах генерации кода для всех элементов каждого типа.
На заключительном этапе реализуется содержание методов средствами выбранного языка программирования. Каждая версия должна быть протестирована и описана в документации, только после этого ее можно считать завершенной. Версия оценивается, и все неустраненные риски присваиваются следующей версии.
Приложение А. Генерация кода и возвратное проектирование для С++
В этом приложении содержится подробная информация по генерации кода на языке С++ и возвратному проектированию.
Этапы генерации кода
1. Создание необходимого набора параметров.
2. Создание компонентов для тела пакета на диаграмме компонентов.
3. Назначение языка С++ компонентам.
4. Связывание классов с компонентами.
5. Привязка наборов параметров к элементам моделирования.
6. Выбор компонентов и генерация кода.
7. Оценка ошибок при генерации кода.
Этапы возвратного проектирования
1. Создание проекта.
2. Добавление заголовка проекта.
3. Добавление связанных библиотек и базовых проектов.
4. Установка типа файлов и их анализ.
5. Оценка ошибок.
6. Настройка параметров экспорта и экспорт в Rational Rose.
7. Обновление модели в Rational Rose.
Генерация кода
Этап 1. Создание необходимого набора параметров
Для класса, роли, атрибута, операции и проекта в целом существуют параметры генерации кода. К параметрам, применяемым ко всему проекту, относятся имя файла, имя основного контейнера и место генерации кода. Параметры для класса определяют генерацию конструктора, деструктора, копирующего конструктора, операторов сравнения и методов установки/получения данных (get/set methods). Параметры для роли управляют созданием методов установки/получения данных, видимостью методов и определяют используемый класс-контейнер. Параметры операции задают тип операции (общая, виртуальная, абстрактная, статическая, дружественная) и позволяют ей стать константой. Наборы параметров могут
редактироваться. Также могут создаваться новые наборы параметров, чтобы указать особенности С++, требующиеся в проекте.
Для каждого класса создаются два файла: файл заголовка (.h) и файл спецификаций (.срр).
Обычно определением параметров генерации кода, которые использует вся команда разработчиков, занимается несколько человек. Это позволяет каждому разработчику получать нужный код компонентов. Типичные наборы параметров могут быть такими: виртуальный деструктор, виртуальная операция, абстрактная операция, статическая операция, функция, не возвращающая данные, опережающее определение.
Для создания наборов параметров в программе Rational Rose:
1. Выберите команду меню Tools => Options(Сервис => Параметры).
2. Выберите вкладку С++.
3. Укажите нужный тип набора параметров в открывающемся списке Туре (Тип).
4. Щелкните по кнопке Clone(Клонировать), чтобы открыть диалоговое окно Clone Property Set(Клонированный набор параметров).
5. Введите название нового набора параметров.
6. Щелкните по кнопке ОК,чтобы закрыть диалоговое окно.
7. В списке параметров щелкните по параметру, который требуется изменить.
8. Щелкните по значению параметра.
9. Введите или выберите из открывающегося списка новое значение параметра.
10. Аналогичным образом измените значения других параметров.
11. Щелкните по кнопке Apply(Применить), чтобы сохранить изменения.
12. Повторите выполненные действия для каждого нового набора параметров.
13. Щелкните по кнопке ОК,чтобы закрыть диалоговое окно Options(Параметры).
Набор параметров виртуальный деструктор (Virtual Destructor) показан на рис. А.1.
Рис. A. 1. Набор параметров виртуальный деструктор
Этап 2. Создание компонентов тела пакета на диаграмме компонентов
Программа Rational Rose генерирует код на основе компонентов и их стереотипов, расположенных на диаграммах. Для компонентов без стереотипов создается h-файл, содержащий определение и декларацию класса. Для компонентов со стереотипом заголовок пакета (Package Specification) создается h-файл, включающий определение класса.
Читать дальше
Конец ознакомительного отрывка
Купить книгу