Rational Rose для разработчиков и ради разработчиков


Часть 1 - часть 3


При сохранении изменений возможно указать новое имя шаблона или перезаписать уже существующее, что позволит при частом использовании обратного проектирования не терять времени на установку нужного пункта. Как и все под этим небом, выбор соответствующего пункта обязательно сказывается на скорости анализа, чем больше - тем дольше. Еще хочется отметить такую особенность модуля Analyzer: после анализа создается не только модель но и лог файл с сообщениями, возникшими в результате сканирования программы. Лог может содержать как предупреждения так и ошибки. А особенность генерации модели состоит в том, что она состоится несмотря ни на что, то есть, невзирая на ошибки в тексте программы. Естественно никакой речи нет о какой-либо правильной модели! Эту особенность следует учитывать и внимательно анализировать файл отчета после генерации модели.

Еще одна немаловажная ремарка. Как правило обратному проектированию подвергается полноценный проектный файл, содержащий в себе и директивы #INCLUDE для определений, и комментарии... а также прочие сопроводительные инструкции. И естественно разработчику хочется иметь такой инструмент, который адекватно будет реагировать на все составляющие. Спешу обрадовать: модуль Analyzer в режиме (DetailedAnalysis) обеспечивает следующее:

  • Анализ и преобразование в визуальную модель классов и структур
  • Генерацию связей в модели (между классами или структурами)
  • Нахождение в исходном тексте комментариев и перенос их в качестве атрибутов компонентов модели. То есть если исходный текст снабжен комментариями, то они все перейдут в виде атрибутов, соответствующему элементу (переменной, массиву... итд).
  • Способен закачать в проект все заголовочные файлы (по цепочке один за другим)

Теперь от общих фраз перейдем к практике (как говаривал незабвенный сын турцкоподданого: "ближе к телу... сведения будут оплачены..."). Для начала попытаемся проделать обратное проектирование с языка С без использования объектов. Нашей целью будет получение графической модели из структуры на языке программирования.


- Начало -  - Назад -  - Вперед -



Книжный магазин