Читаем Rational Rose 2000 и UML Визуальное моделирование полностью

Вместо того чтобы анализировать эту информацию в каждом проекте, где используются библиотеки, создается один базовый проект, который может использоваться в любом другом проекте. Базовый проект вносится в список базовых проектов.

Если анализатор не находит нужного файла в каталогах из списка каталогов проекта, он ищет его в базовом проекте. Если базовых проектов несколько, они просматриваются в порядке включения в список.

Для добавления базового проекта в анализаторе кода С++:

1. Щелкните по кнопке Base (Базовый проект), чтобы открыть диалоговое окно Base Project (Базовый проект) — см. рис. А.11.

Рис. A.11. Диалоговое окно Base Project

2. Найдите каталог с нужным базовым проектом.

3. Щелкните по файлу проекта в списке файлов.

4. Щелкните по кнопке Add (Добавить), чтобы добавить проект в список базовых проектов.

Этап 4. Установка типа файлов и анализ файлов

Анализатор классифицирует файлы по трем типам — тип 1, тип 2 и тип 3. Когда файл добавляется в список файлов проекта, он относится к категории первого типа. Файлы этого типа являются семантически завершенными и независимыми от контекста. То есть файл включает список завершенных деклараций на языке С++ и либо содержит в себе всю необходимую информацию, либо получает информацию из директив #include. Файлы второго типа являются семантически завершенными, но зависимыми от контекста. То есть файл включает список завершенных деклараций на языке С++, но при этом содержит символы, определяемые по контексту, в который включен файл. Файлы третьего типа — семантически незавершенные и всегда обрабатываются в том случае, когда встречаются.

Изменение типа анализа в анализаторе кода С++ осуществляется следующим образом:

1. Из списка файлов выберите файл, щелкнув по нему мышью.

2. Выберите нужный тип файла в меню Action => Set Туре (Действие => Установить тип).

Анализатор кода С++ может обрабатывать один файл или группу файлов. Он создает и хранит информацию об анализе в отдельном файле данных для каждого обработанного файла. Эти данные используются при очередном анализе исходного файла. После обработки статус файла в списке файлов обновляется. Файлу могут присваиваться следующие статусы:

Неизвестный (Unknown): файл не обрабатывался анализатором;

Устаревшие данные (Stale Data): файл содержит потенциально устаревшие данные;

Проанализирован (Analyzed): файл успешно обработан анализатором. Этот статус присваивается только исходным файлам первого и второго типа;

С циклическим кодом (CodeCycled): файл успешно обработан анализатором и содержит сведения, защищающие информацию в коде от перезаписи. Этот статус присваивается только исходным файлам первого и второго типа;

Исключен (Excluded): это файл третьего типа, который анализируется каждый раз, когда встречается в другом файле;

Содержит ошибки (Has Errors): при анализе файла обнаружены ошибки в исходном коде;

Отсутствует (No Source): невозможно найти файл в файловой системе;

Не проанализирован (Unanalyzed): для этого файла невозможно найти файл данных.

Чтобы проанализировать файлы в анализаторе кода С++:

1. Укажите тип для каждого анализируемого файла.

2. Выделите файлы в списке файлов.

3. Выберите команду меню Action => Analyze (Действие => Анализировать) для анализа файлов или команду Action => CodeCycle (Действие => Анализировать с циклическим кодом) для анализа с внесением сведений для Rational Rose.

Окно анализатора с информацией о состоянии анализа показано на рис. А.12.

Рис. А. 12. Статус анализа

Этап 5. Оценка ошибок

Анализатор выводит все ошибки в окне Log (Журнал). Их также можно просмотреть, если дважды щелкнуть мышью по файлу в списке файлов. Каждую ошибку нужно оценить по степени важности. Приведу некоторые типичные ошибки:

Неразрешенная ссылка (Unresolved reference): анализатор не смог найти исходный файл, на который указывает ссылка. Для устранения такой ошибки в список каталогов проекта необходимо добавить каталог с файлом, указанным в ссылке;

Незнакомое расширение языка (Missing language extension): расширение языка не опознано анализатором. Для устранения этой ошибки расширение языка должно быть определено в проекте как символ;

Контекстно-зависимый исходный файл (Context-sensitive source file): используется код из других каталогов, не включенный в данный файл. Для устранения ошибки измените файл на второй или третий тип.

Окно анализатора со списком ошибок, выявленных при анализе, показано па рис. А.13.

Рис. A.13. Ошибки анализа

Этап 6. Настройка параметров экспорта и экспорт в Rational Rose

Перейти на страницу:

Похожие книги

Возвышение Меркурия. Книга 12 (СИ)
Возвышение Меркурия. Книга 12 (СИ)

Я был римским божеством и правил миром. А потом нам ударили в спину те, кому мы великодушно сохранили жизнь. Теперь я здесь - в новом варварском мире, где все носят штаны вместо тоги, а люди ездят в стальных коробках. Слабая смертная плоть позволила сохранить лишь часть моей силы. Но я Меркурий - покровитель торговцев, воров и путников. Значит, обязательно разберусь, куда исчезли все боги этого мира и почему люди присвоили себе нашу силу. Что? Кто это сказал? Ограничить себя во всём и прорубаться к цели? Не совсем мой стиль, господа. Как говорил мой брат Марс - даже на поле самой жестокой битвы найдётся время для отдыха. К тому же, вы посмотрите - вокруг столько прекрасных женщин, которым никто не уделяет внимания.

Александр Кронос

Фантастика / Аниме / Героическая фантастика / Попаданцы / Бояръ-Аниме