Поскольку для каждой комбинации элементов нельзя подобрать набор параметров, некоторые из них можно изменить. Это справедливо и в том случае, когда параметр является частью набора, используемого по умолчанию.
Для изменения параметра в программе Rational Rose:
1. Щелкните правой кнопкой мыши по элементу в списке браузера пли по диаграмме.
2. В появившемся контекстно-зависимом меню выберите команду Open Specification (Открыть параметры).
3. Выберите вкладку С++.
4. В открывающемся списке Set (Набор) укажите нужный набор параметров.
5. В списке параметров щелкните по значению, которое требуется изменить.
6. Введите или выберите из открывающегося списка новое значение параметра.
7. Аналогичным образом измените значения других параметров.
8. Щелкните по кнопке OK, чтобы закрыть диалоговое окно настройки параметров элемента.
Этап 6. Выбор компонентов и генерация кода
Код может быть сгенерирован для всего пакета, для компонента или набора компонентов. Название компонента используется в качестве имени файла, содержащего полученный код. Файл с кодом помещается в папку, соответствующую названию пакета в представлении компонентов.
Последовательность генерации кода в программе Rational Rose:
1. Выберите пакет, компонент или набор компонентов.
2. Выберите команду меню Tools => C++ => Code Generation (Сервис => C++ Генерация кода).
3. Процесс генерации кода будет отображаться в окне Code Generation Status (Состояние генерации кода).
Окно Code Generation Status показано на рис. A.6.
Этап 7. Оценка ошибок при генерации кода
Программа Rational Rose выводит все ошибки и предупреждения в окне Log (Журнал). Если проектирование класса частично не завершено, то будут взяты значения по умолчанию, а в журнале появится предупреждение. Это особенно важно при использовании итеративного подхода в разработке, когда класс не реализуется полностью в одной версии.
Приведу примеры предупреждений и ошибок при генерации кода:
Error: Missing attribute data type. Void is assumed. (Ошибка: He указан тип данных атрибута. Подразумевается void.);
Warning: Unspecified multiplicity/cardinality indicators. One is assumed. (Предупреждение: He задан индикатор множественности. Подразумевается единица.);
Warning: Missing operation return type. Void is assumed. (Предупреждение: He указан тип возвращаемого значения для операции. Подразумевается void.).
Окно Log показано на рис. A.7.
Возвратное проектирование с использованием анализатора кода C++
Этап 1. Создание проекта
Проект в анализаторе кода C++ (Rational Rose C++ Analyzer) содержит информацию, необходимую для получения элементов проектирования по исходному коду в файлах. В проекте анализатора указываются следующие сведения:
заголовок (Caption) — информационное описание проекта;
каталоги (Directories) — список каталогов, используемых анализатором. Каталоги, содержащие файлы с исходным кодом и сопутствующие файлы, должны быть включены в список каталогов;
расширения (Extensions) — список расширений, распознаваемых анализатором;
файлы (Files) — список файлов, которые требуется проанализировать;
определенные символы (Defined Symbols) и неопределенные символы (Undefined Symbols) — список символов препроцессора и их расширений;
категории (Categories) — список пакетов, которым могут присваиваться классы и пакеты;
подсистемы (Subsystems) — список пакетов, которым могут присваиваться компоненты и пакеты;
базы (Bases) — список базовых проектов, требующийся для разрешения ссылок в исходном коде;
контекст типа 2 (Туре 2 Context) — директивы препроцессора, требующиеся зависимым от контекста файлам исходного кода;
параметры экспорта (Export Options) — список информации, которая экспортируется для создания или обновления модели в Rational Rose.
После создания проект сохраняется в файле с расширением. pjt.
Для создания проекта в анализаторе кода С++:
1. Выберите команду меню Tools => C++ => Reverse Engineering (Сервис => C++ => Возвратное проектирование) для запуска анализатора кода С++.
2. Выберите команду меню File => New (Файл => Новый).
Окно проекта в анализаторе кода C++ показано на рис. A.8.
Этап 2. Добавление заголовка проекта
Проект анализатора, так же как код, содержит описание. Каждый проект должен иметь заголовок — общие сведения о проекте (его название и назначение). Такая информация потребуется разработчикам для определения возможности повторного использования проекта.
Для добавления заголовка проекта в анализаторе кода С++: