Обратное проектирование (Reverse engineering)
быть, речь не идет о том, чтобы на визуальной модели отразился суще-
ствующий код системы. Далее, все нестандартные конструкции не будут
выведены в модель (анализатор их просто проигнорирует); это значит, что
любое отклонение от заранее известных конструкций приводит к тому, что
в изначальном варианте Rose не сможет правильно проангшизировать код.
Этот факт не является недостатком, поскольку в арсенале Analyser есть
инструменты тонкой настройки, позволяющие настроить все таким обра-
зом, чтобы специфика конкретного проекта была полностью учтена.
Процесс обратного проектирования делится на два этапа: анализ и ге-
нерацию модели.
На первом этапе производятся все подготовительные операции по ана-
лизу текста программы на отсутствие синтаксических ошибок. Второй этап -
это преобразование кода в модель.
Все операции выполняются независимо, что дает больший маневр для
разработчика, который, например, хочет провести только синтаксический
разбор теста, без генерации модели.
Соответственно при отсутствии ошибок в файле можно приступить
к генерации модели. В целях оптимизации времени генерации в Rose пре-
дусмотрено три способа проведения обратного проектирования, калсдый из
которых мож:ет охватить и превосходно выполнить определенный сегмент
работ. Если пользователю по каким-либо причинам не подходит ни один
из трех предустановленных способов, то Rose допускает создание собствен-
ного способа обратного проектирования.
Поговорим подробнее о следующих трех стандартных способах:
• FirstLook - приближенная пробежка по телу программы.
• Detailed Analysis - детальный анализ проекта.
• RoundTrip - комбинация двух вышеперечисленных способов. Позво-
ляет безболезненно строить и перестраивать разрабатываемые при-
ложения по принципу круговой разработки.
Все настройки могут быть изменены по усмотрению пользователя. При
сохранении изменений возможно указать новое имя шаблона или переза-
писать уж:е существующее, что позволит при частом использовании об-
ратного проектирования не терять времени на установку нужного пункта.
Выбор соответствующего пункта обязательно сказывается на скорости ана-
лиза, чем больше - тем дольше. Еще хочется отметить такую особенность
модуля Analyzer: после анализа создается не только модель, но и лог-файл
с сообщениями, возникшими в результате сканирования программы. Лог
145