3. Выберите команду меню Action => Analyze (Действие => Анализировать) для анализа файлов или команду Action => CodeCycle (Действие => Анализировать с циклическим кодом) для анализа с внесением сведений для Rational Rose.
Окно анализатора с информацией о состоянии анализа показано на рис. A.12.
Этап 5. Оценка ошибок
Анализатор выводит все ошибки в окне Log (Журнал). Их также можно просмотреть, если дважды щелкнуть мышью по файлу в списке файлов. Каждую ошибку нужно оценить по степени важности. Приведу некоторые типичные ошибки:
Неразрешенная ссылка (Unresolved reference): анализатор не смог найти исходный файл, на который указывает ссылка. Для устранения такой ошибки в список каталогов проекта необходимо добавить каталог с файлом, указанным в ссылке;
Незнакомое расширение языка (Missing language extension): расширение языка не опознано анализатором. Для устранения этой ошибки расширение языка должно быть определено в проекте как символ;
Контекстно-зависимый исходный файл (Context-sensitive source file): используется код из других каталогов, не включенный в данный файл. Для устранения ошибки измените файл на второй или третий тип.
Окно анализатора со списком ошибок, выявленных при анализе, показано па рис. A.13.
Этап 6. Настройка параметров экспорта и экспорт в Rational Rose
При указании параметров экспорта определяются элементы, которые должны быть смоделированы и отображены в экспортируемом файле. Например, класс может быть смоделирован и отображен, комментарии — добавлены, ассоциативные связи — смоделированы и отображены, отношения зависимости — смоделированы. Если элемент смоделирован и отображен, он будет виден в созданной или обновленной модели Rational Rose. Если элемент смоделирован, он может быть отображен средствами программы Rational Rose после создания или обновления модели.
В анализаторе сода C++ имеется несколько готовых наборов параметров экспорта:
Двустороннее проектирование (RoundTrip): параметры экспорта, полезные для отработки проектирования в обе стороны. Создается файл с расширением. red.
Первый взгляд (First Look): обобщенный взгляд на модель. Создается файл с расширением. mdl.
Детальный анализ (DetailedAnalysis): детальный взгляд на модель. Создается файл с расширением. mdl.
Вы можете использовать готовый набор параметров экспорта, изменить его или создать собственный.
Для экспорта параметров в анализаторе кода С++:
1. Выделите файлы для экспорта в списке файлов.
2. Выберите команду меню Action => Export То Rose (Действие => Экспортировать в Rational Rose).
3. В открывающемся списке Option Set (Набор параметров) выберите нужный набор параметров экспорта.
4. Щелкните по кнопке OK или Overwrite (Заменить) для экспорта данных в Rational Rose.
Диалоговое окно Export То Rose (Экспорт в Rational Rose) показано на рис. A.14.
Этап 7. Обновление модели в Rational Rose
После создания анализатором файла. red он используется для обновления модели в Rational Rose. При этом в программе элементы модели заменяются элементами, полученными из исходного кода, а также добавляются новые элементы, не включенные ранее в модель.
Чтобы обновить модель в Rational Rose:
1. Откройте модель, которая будет обновляться.
2. Выберите команду меню File => Update (Файл => Обновление).
3. Найдите и выделите файл. red.
4. Щелкните по кнопке OK, чтобы закрыть диалоговое окно Update Model From (Обновить модель из).
Приложение B. Генерация кода и возвратное проектирование для Visual C++ и Visual Basic
Данное приложение представляет собой подробное руководство по генерации кода для языков Visual C++ и Visual Basic и возвратному проектированию.
1. Назначение языка Visual C++ или Visual Basic компонентам.
2. Связывание классов с компонентами.
3. Установка параметров генерации кода с помощью программы Model Assistant Tool.
4. Выбор компонентов и генерация кода с помощью мастера Code Update Tool.
5. Оценка ошибок при генерации кода.
1. Возвратное проектирование по коду Visual C++ или Visual Basic с помощью мастера Model Update Tool.
2. Оценка ошибок.
Генерация кода
Этап 1. Назначение языка Visual C++ или Visual Basic компонентам
Компонентам необходимо назначить язык, который устанавливается для всех связанных с компонентом классов.
Последовательность назначения языка компоненту в программе Rational Rose:
1. Щелкните правой кнопкой мыши по компоненту в списке браузера или по диаграмме.