- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Rational Rose 2000 и UML Визуальное моделирование - Терри Кватрани
Шрифт:
Интервал:
Закладка:
Обычно определением параметров генерации кода, которые использует вся команда разработчиков, занимается несколько человек. Это позволяет каждому разработчику получать нужный код компонентов. Типичные наборы параметров могут быть такими: виртуальный деструктор, виртуальная операция, абстрактная операция, статическая операция, функция, не возвращающая данные, опережающее определение.
Для создания наборов параметров в программе Rational Rose:
1. Выберите команду меню Tools => Options (Сервис => Параметры).
2. Выберите вкладку С++.
3. Укажите нужный тип набора параметров в открывающемся списке Туре (Тип).
4. Щелкните по кнопке Clone (Клонировать), чтобы открыть диалоговое окно Clone Property Set (Клонированный набор параметров).
5. Введите название нового набора параметров.
6. Щелкните по кнопке ОК, чтобы закрыть диалоговое окно.
7. В списке параметров щелкните по параметру, который требуется изменить.
8. Щелкните по значению параметра.
9. Введите или выберите из открывающегося списка новое значение параметра.
10. Аналогичным образом измените значения других параметров.
11. Щелкните по кнопке Apply (Применить), чтобы сохранить изменения.
12. Повторите выполненные действия для каждого нового набора параметров.
13. Щелкните по кнопке ОК, чтобы закрыть диалоговое окно Options (Параметры).
Набор параметров виртуальный деструктор (Virtual Destructor) показан на рис. А.1.
Рис. A. 1. Набор параметров виртуальный деструктор
Этап 2. Создание компонентов тела пакета на диаграмме компонентов
Программа Rational Rose генерирует код на основе компонентов и их стереотипов, расположенных на диаграммах. Для компонентов без стереотипов создается h-файл, содержащий определение и декларацию класса. Для компонентов со стереотипом заголовок пакета (Package Specification) создается h-файл, включающий определение класса.
Если существует компонент со стереотипом тело пакета (Package Body), то для него создается файл срр, содержащий декларацию класса.
Последовательность указания стереотипов для компонентов в программе Rational Rose:
1. Дважды щелкните по диаграмме компонентов, чтобы открыть ее.
2. Щелкните правой кнопкой мыши по компоненту на диаграмме.
3. В появившемся контекстно-зависимом меню выберите команду Open Specification (Открыть параметры).
4. Выберите или введите нужный стереотип в открывающемся списке Stereotype (Стереотип).
5. Щелкните по кнопке ОК, чтобы закрыть диалоговое окно настройки параметров компонента.
Диалоговое окно настройки параметров компонента показано на рис. А.2.
Рис. А.2. Диалоговое окно настройки параметров компонента
Для создания заголовка и тела компонентов в программе Rational Rose:
1. Дважды щелкните по диаграмме компонентов, чтобы открыть ее.
2. Щелкните правой кнопкой мыши по компоненту на диаграмме.
3. В появившемся контекстно-зависимом меню выберите команду Open Specification (Открыть параметры).
4. Для файла заголовка выберите стереотип Package Specification (Заголовок пакета) в открывающемся списке Stereotype.
5. Для тела компонента выберите стереотип Package Body (Тело пакета) в открывающемся списке Stereotype.
6. Щелкните по кнопке ОК, чтобы закрыть диалоговое окно настройки параметров компонента.
Обновленная диаграмма с компонентами для h- и срр-файлов С++ показана на рис. А.3.
Рис. А.З. Обновленная диаграмма компонентов
Этап 3. Назначение языка С++ компонентам
После создания компонентов для заголовка и тела им необходимо назначить язык С++. Если для модели по умолчанию выбран язык С++ (устанавливается на вкладке Notation (Нотация) диалогового окна настройки параметров, вызываемого командой меню Tools => Options (Сервис => Параметры)), программа Rational Rose автоматически назначит его всем компонентам модели.
Последовательность назначения языка компоненту в программе Rational Rose:
1. Щелкните правой кнопкой мыши по компоненту в списке браузера или по диаграмме.
2. В появившемся контекстно-зависимом меню выберите команду Open Specification (Открыть параметры).
3. В открывающемся списке Language (Язык) выберите С++.
4. Щелкните по кнопке ОК, чтобы закрыть диалоговое окно настройки параметров компонента.
Параметры компонента для класса предмет (Course) показаны на рис. А.4.
Рис. A.4. Назначение языка компоненту
Этап 4. Связывание классов с компонентами
После создания компонентов устанавливается связь классов с компонентами, представляющими файлы заголовков.
Чтобы связать классы с компонентами в программе Rational Rose:
1. Дважды щелкните по диаграмме компонентов, содержащей компоненты для h- и срр-файлов, чтобы открыть ее.
2. В списке браузера щелкните по классу и перетащите его на компонент, представляющий h-файл.
Этап 5. Привязка наборов параметров к элементам моделирования
Каждый элемент моделирования (класс, атрибут или роль) изучаются на предмет особенностей генерации кода. Если для элемента требуется набор параметров, отличный от используемого по умолчанию, то он привязывается к элементу моделирования.
Привязка набора параметров к выбранному элементу в программе Rational Rose предусматривает выполнение следующих действий:
1. Щелкните правой кнопкой мыши по элементу в списке браузера или по диаграмме.
2. В появившемся контекстно-зависимом меню выберите команду Open Specification (Открыть параметры).
3. Выберите вкладку С++.
4. В открывающемся списке Set (Набор) укажите нужный набор параметров.
5. Щелкните по кнопке ОК, чтобы закрыть диалоговое окно настройки параметров элемента.
Набор параметров виртуальный деструктор (Virtual Destructor) привязан к классу пользователь (RegistrationUser) — см. рис. А.5.
Рис. А.5. Привязка набора параметров
Поскольку для каждой комбинации элементов нельзя подобрать набор параметров, некоторые из них можно изменить. Это справедливо и в том случае, когда параметр является частью набора, используемого по умолчанию.
Для изменения параметра в программе Rational Rose:
1. Щелкните правой кнопкой мыши по элементу в списке браузера пли по диаграмме.
2. В появившемся контекстно-зависимом меню выберите команду Open Specification (Открыть параметры).
3. Выберите вкладку С++.
4. В открывающемся списке Set (Набор) укажите нужный набор параметров.
5. В списке параметров щелкните по значению, которое требуется изменить.
6. Введите или выберите из открывающегося списка новое значение параметра.
7. Аналогичным образом измените значения других параметров.
8. Щелкните по кнопке ОК, чтобы закрыть диалоговое окно настройки параметров элемента.
Этап 6. Выбор компонентов и генерация кода
Код может быть сгенерирован для всего пакета, для компонента или набора компонентов. Название компонента используется в качестве имени файла, содержащего полученный код. Файл с кодом помещается в папку, соответствующую названию пакета в представлении компонентов.
Последовательность генерации кода в программе Rational Rose:
1. Выберите пакет, компонент или набор компонентов.
2. Выберите команду меню Tools => С++ => Code Generation (Сервис => С++ Генерация кода).
3. Процесс генерации кода будет отображаться в окне Code Generation Status (Состояние генерации кода).
Окно Code Generation Status показано на рис. А.6.
Рис. A.6. Окно Code Generation Status
Этап 7. Оценка ошибок при генерации кода
Программа Rational Rose выводит все ошибки и предупреждения в окне Log (Журнал). Если проектирование класса частично не завершено, то будут взяты значения по умолчанию, а в журнале появится предупреждение. Это особенно важно при использовании итеративного подхода в разработке, когда класс не реализуется полностью в одной версии.
Приведу примеры предупреждений и ошибок при генерации кода:
□ Error: Missing attribute data type. Void is assumed. (Ошибка: He указан тип данных атрибута. Подразумевается void.);
□ Warning: Unspecified multiplicity/cardinality indicators. One is assumed. (Предупреждение: He задан индикатор множественности. Подразумевается единица.);
□ Warning: Missing operation return type. Void is assumed. (Предупреждение: He указан тип возвращаемого значения для операции. Подразумевается void.).
Окно Log показано на рис. А.7.
Рис. A.7. Окно Log в программе Rational Rose

