- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Rational Rose 2000 и UML Визуальное моделирование - Терри Кватрани
Шрифт:
Интервал:
Закладка:
Рис. A.7. Окно Log в программе Rational Rose
Возвратное проектирование с использованием анализатора кода С++Этап 1. Создание проекта
Проект в анализаторе кода С++ (Rational Rose С++ Analyzer) содержит информацию, необходимую для получения элементов проектирования по исходному коду в файлах. В проекте анализатора указываются следующие сведения:
□ заголовок (Caption) — информационное описание проекта;
□ каталоги (Directories) — список каталогов, используемых анализатором. Каталоги, содержащие файлы с исходным кодом и сопутствующие файлы, должны быть включены в список каталогов;
□ расширения (Extensions) — список расширений, распознаваемых анализатором;
□ файлы (Files) — список файлов, которые требуется проанализировать;
□ определенные символы (Defined Symbols) и неопределенные символы (Undefined Symbols) — список символов препроцессора и их расширений;
□ категории (Categories) — список пакетов, которым могут присваиваться классы и пакеты;
□ подсистемы (Subsystems) — список пакетов, которым могут присваиваться компоненты и пакеты;
□ базы (Bases) — список базовых проектов, требующийся для разрешения ссылок в исходном коде;
□ контекст типа 2 (Туре 2 Context) — директивы препроцессора, требующиеся зависимым от контекста файлам исходного кода;
□ параметры экспорта (Export Options) — список информации, которая экспортируется для создания или обновления модели в Rational Rose.
После создания проект сохраняется в файле с расширением. pjt.
Для создания проекта в анализаторе кода С++:
1. Выберите команду меню Tools => С++ => Reverse Engineering (Сервис => С++ => Возвратное проектирование) для запуска анализатора кода С++.
2. Выберите команду меню File => New (Файл => Новый).
Окно проекта в анализаторе кода С++ показано на рис. А.8.
Рис. A.8. Окно проекта в анализаторе кода С++
Этап 2. Добавление заголовка проекта
Проект анализатора, так же как код, содержит описание. Каждый проект должен иметь заголовок — общие сведения о проекте (его название и назначение). Такая информация потребуется разработчикам для определения возможности повторного использования проекта.
Для добавления заголовка проекта в анализаторе кода С++:
1. Щелкните по кнопке Caption (Заголовок), чтобы открыть одноименное диалоговое окно (см. рис. А.9).
Рис. А.9. Диалоговое окно Caption
2. Введите в нем необходимую информацию.
3. Щелкните по кнопке ОК, чтобы закрыть диалоговое окно.
Этап 3. Добавление связанных библиотек и базовых проектов
В список каталогов проекта включены каталоги, используемые анализатором. Каталоги, содержащие анализируемые и сопутствующие файлы, должны быть включены в список каталогов проекта.
Создание списка каталогов проекта в анализаторе кода С++ предусматривает выполнение следующих действий:
1. Щелкните по кнопке Directories (Каталоги), чтобы открыть диалоговое окно Project Directory List (Список каталогов проекта) — см. рис. А.10.
Рис. A.10. Диалоговое окно Project Directory List
2. Выберите нужный каталог в списке Directory Structure (Структура каталогов).
3. Щелкните по кнопке Add Current (Добавить текущий), чтобы добавить в список каталогов текущий каталог.
4. Щелкните по кнопке Add Subdirs (Добавить подкаталоги), чтобы добавить в список каталогов текущий каталог и его непосредственные подкаталоги.
5. Щелкните по кнопке Add Hierarchy (Добавить иерархию), чтобы добавить в список каталогов текущий каталог и все вложенные подкаталоги.
Проект анализатора может содержать информацию из другого проекта, называемого базовым. Обычно он включает информацию о файлах заголовков для дополнительных библиотек, на основе которых построена программа.
Вместо того чтобы анализировать эту информацию в каждом проекте, где используются библиотеки, создается один базовый проект, который может использоваться в любом другом проекте. Базовый проект вносится в список базовых проектов.
Если анализатор не находит нужного файла в каталогах из списка каталогов проекта, он ищет его в базовом проекте. Если базовых проектов несколько, они просматриваются в порядке включения в список.
Для добавления базового проекта в анализаторе кода С++:
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
При указании параметров экспорта определяются элементы, которые должны быть смоделированы и отображены в экспортируемом файле. Например, класс может быть смоделирован и отображен, комментарии — добавлены, ассоциативные связи — смоделированы и отображены, отношения зависимости — смоделированы. Если элемент смоделирован и отображен, он будет виден в созданной или обновленной модели Rational Rose. Если элемент смоделирован, он может быть отображен средствами программы Rational Rose после создания или обновления модели.

