Обратное проектирование - Модуль Analyzer
Для осуществления обратного проектирования в Rational Rose предусмотрен мощный модуль Analyzer, чье основное предназначение, вытекающее из названия, - анализ программ, написанных на С и C++. Данный модуль способен проанализировать имеющийся файл на одном из вышеупомянутых языков и преобразовать его в визуальную модель, присвоив выходному файлу расширение mdl. Далее файл можно спокойно открыть для модификации из Rational Rose уже в визуальном режиме. Analyzer представляет собой отдельный программный файл, вызываемый как из самой Rose, так и обычным способом. Модуль входит не во все поставки Rational Rose, а только в Enterprise, Professional и RealTime. В поставку Data Modeler данный модуль не входит, поскольку специфика поставки не предусматривает генерации кода и обратного проектирования. Для правильного преобразования кода в модель необходимо провести несколько настроек. На рис. 16.1 показан внешний вид программы в стандартных настройках и с незагроможденным экраном. Запустить Analyzer можно выбрав в меню программы Tools/C++/Reverse engineering
Рис. 16.1. Основные поля, подлежащие обязательному заполнению (на первом этапе), - это: • Caption - имя проекта. Впоследствии имя модели будет определено по имени проекта. • Directories - путь к исходящей директории. По умолчанию Rose использует для хранения исходящих модельных файлов директорию C++\Source из домашней директории, что в некоторых случаях может приносить некоторые неудобства. • Extensions - типы используемых расширений. Здесь можно настроить систему так, чтобы она распознавала только определенные виды расширений. • Bases - место сохранения текущего проекта. • Files - список из файлов, подлежащих генерации. Для проведения правильного обратного проектирования необходимо заполнить вышеописанные поля. Все файлы, подлежащие обратному проектированию, указываются в поле Files. Следует учитывать, что при этом вы получаете визуальную модель взаимодействия классов и структур; стало быть, речь не идет о том, чтобы на визуальной модели отразился существующий код системы. Далее, все нестандартные конструкции не будут выведены в модель (анализатор их просто проигнорирует); это значит, что любое отклонение от заранее известных конструкций приводит к тому, что в изначальном варианте Rose не сможет правильно проанализировать код. Этот факт не является недостатком, поскольку в арсенале Analyser есть инструменты тонкой настройки, позволяющие настроить все таким образом, чтобы специфика конкретного проекта была полностью учтена.
Читайте также:
|

