FAQ пo Rose 98
Общие вопросы о Rose 98
COM
UML
Add-ins
Интеграция с MS Repository;
Интеграция с SCC
Визуальные Различия и Объединение
Вопросы, специфические для
используемых языков
C++
Java
Visual Basic
Редактирование Диаграмм and VB Классов
Генерация Visual Basic Кода
Обратное Проектирование (Reverse Engineering) Visual Basic Кода
-
Каким образом можно добавить существующие программные
компоненты в мою модель?
-
ActiveX компоненты, которые мне нужны для выполнения
обратного проектирования не отображаются на Selection of Project Items
странице мастера Reverse Engineering Wizard.
-
Некоторые методы и данные, члены классов, которые я получил
обратным проектированием не отображаются в модели. Почему?
-
При обратном проектировании моего проекта, декларации
типа enum не отображаются в модели, при том, что некоторые компоненты в
той же самой обратно-спроектированной модели содержат классы со стереотипом
"enum". Почему?
-
При обратном проектировании модуля класса, все комментарии
в коде, даже те, которые не относятся к модели, отображаются в поле Documentation
сгенерированных элементов модели. Что нужно сделать, чтобы этого не случалось?
или
При обратном проектировании модуля класса, комментарии
в коде не отображаются в поле Documentation сгенерированных элементов модели.
В чем ошибка?
-
Каким образом можно совместно использовать исходный код
для компоненты (например DLL) в двух моделях без воздействия на модельные
IDs в компоненте при ее обратном проектировании?
-
При обратном проектировании нового collection класса,
Rational Rose не создает никаких связей в модели с содержащимися в нем
классами. Почему?
Интеграция Visual Basic
Вопрос: Проблемы с использованием Rational Rose C++ Analyzer?
Программа "Rational Rose C++ Analyzer" 4.5.8163.3, поставляемая вместе
с Rational Rose 98 Enterprise Evaluation Edition, содержит проекты и модели
для Visual C++ 5.0. Это в папке \Rational\Rational Rose 98 Evaluation Edition\c++\projects
файлы atl50.pjt, mfc50.pjt, mfc50app.pjt, msvc50.pjt ..., и в папке \Rational\Rational
Rose 98 Evaluation Edition\c++\designs файлы atl50.mdl, mfc50.mdl и stdlib50.mdl.
Попытка сделать на их основе модели и проекты для шестой версии Visual
C++ потерпели неудачу.
Ответ: Рекомендуется использовать новую версию
Rose98i, ознакомительную
версию которой можно получить в компании Интерфейс Ltd. Эта версия плотно
и бесшовно интегрирована с MS Visual Studio 6.0, включая удобную (безмаркерную)
генерацию VC++ кода.
Обратное проектирование в Rose98i проводится сразу из среды Visual Studio
6.0 (VC++) без использования Rational Rose C++ Analyzer.
Вопрос: Как получить практические навыки работы с Rational Rose98?
Есть: (конкретное) большое желание получить практические навыки по работе
с case-Rational Rose (например 98), (и общее) изучить технологию создания
программных продуктов по схеме OOA->OOD->OOP
Вопрос: какие могут быть, достаточно реальные, варианты достижения исполнения
желаний ?
Ответ: Ваше желание получить практические навыки работы с Rational Rose98
выполнимо. Есть несколько вариантов. Для получения навыков практической
работы с Rational Rose Вы можете
-
пройти обучение в Учебно-консалтинговом Центре "Интерфейс Ltd." по курсу,
посвященному этому продукту.
-
скачать с сайта www.interface.ru оценочную версию продукта и начать работу
с ним. Rose98 имеет подробные подсказки (правда, на английском языке).
-
для "изучения технологии создания программных продуктов по схеме OOA->OOD->OOP"
можно рекомендовать переведенную на русский язык книгу Гради Буча "Объектно-ориентированное
проектирование ИС", в которой прекрасно изложены преимущества этого подхода.
Вопрос: Может ли Rational Rose 98i поддерживать проекты, разрабатываемые
на Borland Delphi 4.0
Ответ: В мае 1999 Компания Ensemble Systems (www.ensemble.com)
объявила о выпуске своей новой версии интеграционного продукта между Rational Rose98i
и Borland Delphi 4. В продукт добавлены новые возможности, которые улучшают и упрощают генерацию
и обратное проектирование кода Object Pascal между объектными моделями
Rational Rose 98i и проектами Delphi. Оценочную копию продукта Rose Delphi
link загрузить с сайта нашего сайта .
Вопрос: Можно ли в Rational Rose 98i проводить моделирование бизнес-процессов?
Ответ: Да, можно. На UML, который поддерживается в Rational Rose 98i, для
моделирования бизнес-процессов используются, например, диаграммы прецедентов
(use case) и диаграммы активностей (activity). Методология такого моделирования
подробно описана в Rational Unified Process (RUP) фирмы Rational Software.
Кроме этого, для бизнес моделирования можно использовать продукт Ensemble
Streams фирмы Ensemble Systems Inc (www.ensemble-systems.com). С Ensemble
Streams Вы можете:
- Моделировать, анализировать и проводить улучшение бизнес-процессов на основе использования интуитивно понятной среды
- Документировать ваши модельные элементы, используя окно документации.
- Определять термины глоссария в вашей документации.
- Динамически представьте процессы (workflow), выделяя их цветом на диаграммах.
- Использовать Диаграммы Действия (Activity Diagrams) UML для взаимодействия с вашей группой программной разработки.
Вопрос: Где можно подробно узнать об особенностях использовании UML в
Rational Rose 98i?
Ответ: Фирма Rational Software выпускает на эту тему (на английском языке)
специальный журнал "Rose Architect", электронная версия которого доступна
по адресу: http://www.rosearchitect.com
Вопрос: Существуют ли специальные средства для работы Rational Rose 98i
с сервером реляционных БД фирмы Microsoft - MS SQL Server ?
Ответ: Такое средство поставляет фирма Blueprint Technologies, Inc.
( http://www.blueprint-technologies.com), которое называется Rose dB
Translator. Rose dB Translator позволяет проводить прямое проектирование
(forward engineering) моделей Rational Rose, переводя классы модели и их
атрибуты в базу данных Microsoft Access или базу данных SQL Server. Кроме
этого, возможно перепроектирование (reverse engineering) Microsoft Access
или SQL Server таблиц и столбцов баз данных в существующую или новую модель
Rational Rose.
Вопрос: Поддерживет ли Rational Rose 98i использование шаблонов (patterns/frameworks)?
Ответ: Framework - это набор заранее предопределенных классов, которые
могут использоваться при создании новых моделей. Существуют следующие стандартные
шаблоны в версии Enterprise Edition:
- Standard framework for Visual Basic 5 applications
- Standard framework for Visual Basic 6 applications
- JEnterprise framework
- The JDK 1.1.6 framework
- The JFC 1.1 framework
- JGL framework
- Oracle8-datatypes framework
Например, шаблоны для приложений Visual Basic 5 и Visual Basic 6 содержат классы из следующих библиотек:
- VB (Visual Basic library)
- VBA (Visual Basic for Applications)
- VBRUN (Visual Basic runtime)
- stdole (OLE Automation)
Шаблоны Jenterprise, JDK 1.1.6, JFC 1.1 и JGL содержат
классы для разработки приложений на JAVA, а шаблон Oracle8-datatypes -
типы данных для визуального моделирования приложений с использованием баз
данных Oracle8.
Кроме этого, можно использовать шаблоны третьих фирм, например, поддерживаемые
в продукте Framework Studio фирмы Blueprint Technologies, Inc. ( http://www.blueprint-technologies.com)
Вопрос: Поддерживает ли Rational Rose 98i интеграцию со средой разработки
CTD (Centura Centura Team Developer) фирмы Centura на языке SAL (Scalable
Application Language)?
Ответ: Да, такую поддержку обеспечивает продукт Rose Centura link 2.0 фирмы
METEX Systems Inc (www.metex.com), позволяющий проводить как прямое так
и обратное проектирование приложений.
Вопрос: Как я могу использовать Rational Rose 98i при разработке приложений
на PowerBuilder ?
Ответ: Для этого используется дополнение (Add-In) к Rose 98i, поставляемое
фирмой METEX Systems Inc (www.metex.com), называемое Rose PowerBuilder
link. Ётот продукт позволяет проводить прямое и обратное проектирование
приложений, разрабатываемых на PowerBuilder.
Вопрос: Какие издания Rose 98 существуют?
Ответ: Существует три различных издания Rose 98. Более детальную информацию
можно узнать на странице http://www.rational.com/products/rose/prodinfo.html.
Вопрос: Каким образом мне генерировать код в Rose 98
Enterprise Edition, если он поддерживает генерацию для большого количества
языков?
Ответ: Rose 98 Enterprise может генерировать код на нескольких языках. Когда
вы запускаете в первый раз Rose 98 Enterprise, заданным по умолчанию является
язык - 'Analysis '. Вы можете установить язык по умолчанию в диалоге Tools:Options:Notation.
Для генерации кода (например в C++):
- Установите так, чтобы в Tools:Options:Notation диалоге, был выбран C++.
Теперь каждый класс добавляемый в модель будет по умолчанию принадлежать
C++. Для генерации кода нужно просто селектировать класс и запустить генерацию
через Tools:C++:Code Generation.
- Вы можете связать класс с компонентой, и установить язык в спецификации
компоненты. Напомним, для C++, стереотипы компонент должны быть установлены
как Subprograms для генерации кода.
Чтобы генерировать на Java™, вы можете предварительно установить язык для
создания Java классов, или через привязку к компонентам, в которых выбран
язык генерации Java.
Ответ: Отдельная документация по этим вопросам отсутствует. Интерфейсы описаны
в Help по Rational Rose в разделе Rose Extensibility Interface, даны примеры скриптов на Summit
Basic для использования объектов Rose.
Для создания "мостов" и других приложений (например, своих кодогенераторов)
необходимо знание технологии COM и умение использовать ее в своей среде
разработки. Проще всего для этой цели использовать MS Visual Basic. Но
можно использовать и другие среды разработки, поддерживающие COM.
Ответ:
- Rational Suite Enterprise Edition version 1.1 (for NT) - все необходимые
инструменты для определения требований, анализа, проектирования, тестирования
и документирования программной системы в соответствии с технологией Rational
Software + полное описание-руководство по технологии и применению инструментальных
средств.
- MS Project - рекомендуется использовать в технологии Rational Software
в качестве автоматизированной системы управления проектом создания программного
обеспечения.
- MS Visual Studio 6.0, Service Pack 2 - среда, программные средства инфраструктуры
и средства разработки приложений (на языках Java, JavaScript, C++, Visual
Basic, FoxPro), тесно интегрируемые с Rational Suite и поддерживающие технологию
Rational при разработке многозвенных программных систем с компонентной
архитектурой.
- Rational ClearCase - средство конфигурационного управления, обеспечивающего
контроль версий, совместную (параллельную) разработку компонент системы,
а также контроль и управление изменениями. Чрезвычайно полезная вещь при
создании и сопровождении больших программных систем.
Вопрос: Каким образом выполняется обратное проектирование
компонент в Rose 98
Enterprise?
Ответ: Используя прием drag-and-drop вы можете просто перетащить и бросить
компоненту (DLL, и т.д) из файловой системы на Диаграмму Компонентов. Это
действие приведет к обратному проектированию интерфейсов компоненты и сделает
их видимыми в Rose.
Вопрос: Опубликована ли библиотека типов для Rose?
Ответ: Да! Rose это COM объект с собственными интерфейсами. Rational опубликовал
библиотеку типов для Rose, как COM объекта. Вы можете найти файл RationalRose.tlb
в инсталляционном каталоге Rose 98. Просто перетащите этот файл на вашу
Диаграмму Компонентов (если у вас установлен Enterprise Edition), для того,
чтобы увидеть набор опубликованных интерфейсов.
NOTE: Так как Rose имеет несколько опубликованных интерфейсов,
это может потребовать некоторого времени.
Вопрос: Какие новые свойства UML поддерживает Rose98?
Ответ: Rose 98 Enterprise обеспечивает непосредственную поддержку UML 1.1:
- Интерфейсы теперь поддерживаются как стандартный стереотип в Диаграмме
Классов.
- Поддерживаются также отношения Реализации. Как только интерфейс определен
в модели, его иконка с кружочком затем доступна на диаграмме Компонентов
(через закладку Realizes в диалоге Specification для компонента).
- Иконки пакетов теперь содержат специальное место для имен входящих в их
состав классов. Разрешено, также, существование подобно-названных классов
в модели, но внутри различных пакетов, что должно улучшить поддержку многоязычного
проектирования.
- Стереотипы теперь существуют для большинства модельных элементов в Rose,
таких как, связи, атрибуты и операции.
- Имена абстрактных классов изображаются курсивом (Italicized).
Отмеченные Значения (Tagget Values) и ограничения (Constraints) (через
Rose properties) доступны как механизмы расширения для Rose link партнеров.
Вопрос: В Rose 98 Enterprise, произвольное количество
классов может быть связано с произвольным количеством компонент - основано
ли это на положениях UML? Не утверждается ли в UML, что должно быть много
классов для одной компоненты?
Ответ: Много классов к одной компоненте - справедливое подмножество отношений
многие ко многим, следовательно Rose поддерживает UML. Поддержка отношений
многие ко многим была включена специально как инструментальное средство
для того, чтобы сделать концепцию действительно работающей. Если Вы действительно
хотите делать компонентное проектирование, ваш код может и будет использоваться
более чем в одной компоненте. Подумайте о Библиотеке классов, где класс
используется в нескольких приложениях. Это решение было одним из наиболее
требуемых реальными разработчиками.
Вопрос: Каким образом вы моделируете подклассы в UML?
Подклассом я называю класс, который определен внутри определения другого
класса.
Ответ: В Rose вы создаете такие вложенные классы через закладку Nested
диалога спецификации стандартного класса. Для помещения их на Диагамму
Классов используйте команду Add Classes из меню Query.
Вопрос: В чем разница между add-ins для различных изданий
Rose 98?
Ответ: Посетите страницу http://www.rational.com/products/rose/prodinfo.html
для того, чтобы посмотреть детальную таблицу свойств, поддерживаемых каждой
версией.
Вопрос: Стыкуются ли add-ins для IDL and DDL генераций
со всеми версиями продукта?
Ответ: Да! IDL and DDL генерации выполняются во всех версиях Rose 98.
Вопрос: Rose 98 Enterprise имеет интеграцию с ERWIN.
Будет ли этот add-in для ERWIN стыковаться с Professional версией точно
также?
Ответ: Интеграция с ERWIN через add-in выполняется только для Rose 98 Enterprise
версии. Более детальную информацию по этой интеграции можно получить на
странице http://www.rational.com/partners/rationallink/roselink/logicworks.html.
Вопрос: Что такое Framework Add-In? Что дает мне его
использование?
Ответ: Add-In Framework это библиотека заготовок, которые могут использоваться
как шаблоны при создании новых моделей. Она включает также мастера Framework
Wizard, для создания дополнительных собственных заготовок. Framework в
Rational Rose - модель с предопределенными модельными элементами, которые
используются для моделирования определенного вида системы. Выбор определенного
шаблона может использоваться при задании архитектуры системы определенного
вида, или для обеспечения набора компонентов многократного использования.
При создании новой модели, вы можете инициализировать вашу модель предопределенной
архитектурой и набором модельных элементов многократного использования,
выбрав соответствующий Framework. Таким образом, вы можете сосредоточить
ваши усилия на моделировании той части, которая уникальна для вашей системы,
вместо того, чтобы пытаться “заново изобрести колесо". Библиотека Framework
находится в каталоге /Frameworks в вашем инсталляционном каталоге Rational
Rose.
Вопрос: В чем суть дальнейшего развития интеграции между
Rose 98 и Microsoft Repository?
Ответ: Релиз Rose/Enterprise, позволяет сохранять в репозитории полные модели.
До этого в репозитории сохранялись только части моделей, преимущественно
классы и связи.
Вопрос: Опирается ли интеграция с MS Repository на специфическую
для Rose Инструментально-Информационной Модель (Tool Information Model
(TIM)), или она использует традиционный механизм хранения MS?
Ответ: В основе TIM MS репозитория лежит реализация положений UML. Следовательно,
пользователи публикующие в репозиторий, по существу используют UML.
Вопрос: Для чего существует поддержка Контроля Исходного
Кода (Source Code Control (SCC)) и что это такое?
Ответ: Add-in Контроля Исходного Кода (Source Code Control (SCC)) предоставляет
наиболее часто используемые CM/VC команды в подменю Source Control
из меню Tools, и так же в подменю Units из меню File.
С помощью этих команд вы можете, например:
- Добавить контролируемые модули модели в SCC провайдер проекта
- Выполнить процедуры 'сheck-in' и 'check-out' для контролируемых модулей,
взять последнюю версию или запустить ваш провайдер SCC.
Add-in Контроля Исходного Кода использует API SCC - стандартный API Microsoft
для инструментов Контроля Исходного Кода, что делает возможным подключение
любого совместимого средства Контроля Исходного Кода в Rational Rose.
Вопрос: Где я могу найти информацию о интегрируемых
SCC ad-ins, которые работают с Rose 98?
Ответ: Посмотрите help файлы интегрируемых SCC средств. Эти фаилы поставляются
с продуктами.
Вопрос: Команда Add To Source Control позволяет мне
работать только с .mdl файлами. Как я могу добавить один элемент из модели
в Source Control?
Ответ: Наименьший тип элемента, который может быть добавлен к контролируемому
коду - это пакет (package). Чтобы осуществить это, сначала создайте файловый
модуль на основе этого пакета. Для этого, селектируйте пакет на диаграмме,
выберите команду Units из меню файл File, и нажмите Control.
Задайте имя и путь нового файлового модуля и нажмите OK. В следующий
раз, когда вы выберете команду Add To Source Control, пакет будет
доступен в списке модулей. Так как сама модель сохраняется в отдельном
файле, то она всегда находится в списке.
Вопрос: Команды Source Control недоступны в диалоге
Browse:Units. Почему?
Ответ: Текущая версия SCC Add-In не обеспечивает поддержку команд Контроля
Кода в диалоге Browse:Units. Так происходит потому, что эти команды
не действуют на контролируемые модули, которые селектированы в этом диалоге.
Вместо этого, команды Контроля Кода действуют на контролируемые модули,
которые селектированы на текущей активной диаграмме и на те, что вы селектировали
в диалоге, открываемом командой Контроля Кода.
Вопрос: Команда Source Control, которую я использовал,
ни коим образом не действует на некоторые селектированные элементы. В чем
ошибка?
Ответ: Если вы используете Visual SourceSafe, то возможно, что среда Visual
SourceSafe установлена некорректно. Загрузите Microsoft Visual SourceSafe,
выберите команду Options из меню Tools. Удостоверьтесь, что
опция Assume Project Based on Working Folder на закладке Command
line Options селектирована.
Вопрос: На моей машине установлен SourceSafe, но
ничего не происходит, когда я пытаюсь выполнять команды Source Control
в Rational Rose. Что я делаю неправильно?
Ответ: Для того, чтобы Rational Rose имел доступ к Microsoft Visual SourceSafe,
ваша инсталляция Microsoft Visual SourceSafe должна содержать компоненту
интеграции SourceSafe. Удостоверьтесь, что эта компонента установлена,
загрузив setup для Microsoft Visual SourceSafe. Далее нажмите Add/Remove
и выберите опцию Enable SourceSafe Integration на странице Maintenance
Mode. (Заметим, что эта опция не устанавливается, если ваша инсталляция
была выполнена через сервер).
Вопрос: Как можно изменить текущий провайдер SCC проекта
?
Ответ: Каждый раз для добавления модуля к контролируемому коду текущий проект
устанавливается через выбор из диалога Add To Source Control. Другого
варианта выбора текущего проекта в настоящее время нет.
Вопрос: Я получил сообщение об ошибке "Error performing
operation. For a more detailed explanation, try the same operation using
your source code control provider, e.g ClearCase." В чем суть ошибки?
Ответ: Операции Контроля Исходного Кода не могут быть выполнены на некоторых
селектированных модулях. Если вы используете ClearCase, это сообщение об
ошибке появляется например тогда:
- Если опция Check-in even if identical не установлена в Advanced
опциях диалога, при выполнении процедуры 'check-in' для неизмененного модуля.
- Если вы пытаетесь выполнить процедуру 'check-out' для модуля, который уже
взят в другой проект и был помечен при этом как "reserved" файл.
- При выполнении операции 'check-in' для модуля, который имеет ответвление
в другое view.
Для того, чтобы получить более содержательные сообщения об ошибках, выполните
те же самые операции используя ваш провайдер Контроля Исходного Кода вместо
Rational Rose.
Вопрос: Я получил сообщение об ошибке "The project
must be in a view" при использовании команды Add To Source Control с ClearCase.
Что я делаю неправильно?
Ответ: Это сообщение об ошибке может появляться если в ClearCase VOB путь
выбран через виртуальный драйвер просмотра (for example, Z:\ProjectRose).
Если это так, установите путь для VOB через default драйвер (например,
M:\myView\ProjectRose) в поле ClearCase Project диалога Add To
Source Control.
Вопрос: Как выглядит утилита визуальных различий/объединения
(Visual Diff/Merge)?
Ответ: Здесь представлен пример изображения экрана, который поможет вам
составить представление о Visual Differencing and Merge утилите.
Увеличьте
Вопрос: Должны ли пользователи, которые выполняют Round
Trip проектирование и хотят поддерживать код и модель синхронизованными
использовать Visual Dffe/Merge?
Ответ: Да! Предполагается, что эта утилита будет использоваться как средство
выбора при Round Trip проектировании.
Вопрос: Я загружал Visual Differencer и работал с ним
вне Rose. Сейчас, когда я загрузил Rose, кажется, что мой Browser исчез.
Что случилось?
Ответ: Вероятная причина этого - то, что при выходе Visual Differencer потерял
rose.ini файл. Один из наиболее значимых побочных эффектов этого - то,
что Rose загружается в режиме без установок из ".ini", который включает
не показывать окно Browser'а. Отдельные дефекты, имеющиеся в Visual Differencer,
скоро будут устранены и изменения будут доступны для download.
Вопрос: Что собою представляет поддержка C++, предлагаемая
Rose 98 Enterprise версией?
Ответ: Rose 98, обеспечивает все свойства, которые были доступны в Service
pack for Rose /C++ 4.0. Кроме того, Rose 98 C++ содержит расширения и исправленные
ошибки, применимые для всех компиляторов C++, а также специфическую поддержку
для Microsoft Visual C++ (включая MFC и ATL).
Вопрос: Когда я пытаюсь генерировать код в C++, я получаю
сообщение об ошибке "Warning: !!! No precompiled header found named stdafx.h".
Каким образом можно избежать этого?
Ответ: stdafx.h это прекомпиляционный заголовочный файл, который часто используется
в среде Visual C++. Его имя было внесено в Rose 98 Enterprise для удобства
разработчиков VC++. Однако, вы можете исключить эту опцию проделав следующее:
- В browser дважды щелкните мышью на Component View.
- Выберите закладку C++, и
- Опять дважды щелкните мышью на установке 'Precompiled headers';
- удалите строку 'stdafx.h'.
- В следующий раз, при генерации кода, это сообщение не должно появиться.
Вопрос: Существует ли в Rose 98 Professional Edition
for Java™ поддержка Java 1.1?
Ответ: Да! Rose Java™ Edition поддерживает round trip проектирование приложений
создаваемых на основе JDK 1.0.2 либо JDK 1.1.x библиотек. Эта поддержка
включает обратное проектирование и прямую генерацию внутренних классов
как классов типа nested в Rose.
Вопрос: Как создать Java bean в Rose? Я знаю, что возможно
моделирование компонент в Component Diagram, которые будут Java beans.
Можно ли затем связать классы с этими компонентами? Как все это работает?
Ответ: Вы создаете Java Beans, как вы создавали бы любые другие компоненты
- моделируя классы, связывая их с компонентами, и генерируя код.
Вопрос: Каким образом я могу генерировать Java bean
на основе Component Diagram?
Ответ: В Java вы связываете классы с компонентами. То есть ставите в соответствие
один к одному компоненту и *.java файл. Если bean класс привязан к компоненте
и для него генерируется код - результатом будет соответствующий *.java
файл. Скомпилируйте его в Jar, поместите в beanbox и результат будет достигнут
.
NOTE: Jar это Java архив ( т.е. как zip). Jars являются стандартным
механизмом упаковки для Bean, и всего, что может их использовать. Beanbox
это программа предоставляемая компанией Sun бесплатно, которая осуществляет
тестирование ваших Beans.
Вопрос: Поддерживает ли Rose 98 множественные проекты
в Visual Basic?
Ответ: Да! В версии 4.0 Rose для VB, был разрешен только один проект на
модель, и этот проект должен был быть открыт в текущем проекте Visual Basic.
В Rose 98 Visual Basic, сейчас можно управлять множеством проектов из одной
Rose модели, что позволяет пользователю моделировать целые приложения,
и генерировать код во многие различные Visual Basic проекты. Дополнительно,
в Rose 98 Enterprise, можно иметь много классов на различных языках, использовать
Visual Basic для User Services и Business Services, с тоже время пользуясь
другими программными средами для вычислений и обслуживания данных.
Вопрос: Я не могу создать трех-звенную диаграмму (three-tiered
diagram). В чем причина?
Ответ: Откройте диалог Options в пункте меню Tools. На закладке
Diagram установите опцию 3 Tier Diagram и перезапустите Rational
Rose.
Вопрос: Каким образом можно настроить Rational Rose
на использование COM терминологии в User Interface?
Ответ: Для того, чтобы настроить Rational Rose на использование COM терминологии,
установите UseCOMTerminology в "Yes" в rose.ini файле, который находится
в инсталляционной папке Rational Rose, и перезапуститеRational Rose. Теперь
COM терминология (т.е. "property" и "method" вместо "attribute" и "operation")
будет использоваться в спецификациях, диалогах и пунктах меню.
Вопрос: При попытке переноса класса из framework package
в into a трех-звенную диаграмму Я получаю сообщение "The unit is read-only
and may not be modified". Почему?
Ответ: При перемещении класса в одно из звеньев на трех-звенной диаграмме,
класс связывается с пакетом представляющим это звено. Так как пакеты, которые
были созданы на основе framework определены как read only, классы из таких
пакетов не могут перемещаться в другие пакеты модели. Поэтому вы и получаете
такое сообщение. Если вы хотите показать на диаграмме как класс относится
к некоторым классам в framework пакете, используйте Package Overview для
соответствующего звена или создайте новую диаграмму классов.
Вопрос: Я не могу перенести посредством команды Paste
классы на мою диаграмму. В чем причина?
Ответ: Вы не можете использовать команду Paste для того, чтобы вставлять
классы в трех-звенные диаграммы. Причина в том, что не ясно, в которое
из звеньев класс должен быть вставлен. Также, вы не можете использовать
команду Paste в диаграмме Package Overview для пакетов потому, что
эта диаграмма может, по определению, только содержать классы принадлежащие
пакету. Команда Paste будет перемещать копируемый класс из пакета,
где он был скопирован в пакет, которому принадлежит Package Overview. Так
как это может быть не то, чего бы вам хотелось, то упомянутая команда не
работает в таких диаграммах.
Вопрос: Существуют ли правила для образования имен классов,
свойств, методов?
Ответ: Rational Rose не выполняет проверок на правильность имен. Т.е., Rational
Rose не проверяет длину имен или на наличие недопустимых символов. Также,
Rational Rose различает регистр (case sensitive), в то время как Visual
Basic нет. Например, для Visual Basic разница в названии классов "OrderRow"
и "orderrow" неразличима. Поэтому, рекомендуется, использовать имена, которые
приемлемы и рекомендованы языком программирования Visual Basic.
Вопрос: Можно ли управлять генерацией кода для класса
и увидеть preview этого кода?
Ответ: Генератор кода использует свойства модели определенные для каждого
класса, атрибута, роли в ассоциации и метода для того, чтобы отобразить
элементы модели в Visual Basic коде. В Code Generation Wizard вы можете
определить свойства преобразования. Т.е. Wizard позволяет вам изменить
параметры свойств модели для выбранных классов и их свойств, ролей и методов.
Он также позволяет увидеть preview кода, который будет генерироваться с
текущими установками свойств модели. В общих словах, Code Generation Wizard
позволяет вам определить наиболее общие и важные из свойств модели. Однако,
свойства модели для классов, атрибутов, ассоциаций и методов доступны на
закладке Visual Basic в их диалогах спецификаций. Вы можете видеть
и изменять все значения свойств модели в этих диалогах. По умолчанию, предопределенный
набор свойств модели устанавливается для каждого нового элемента модели.
Вы можете заменить его на другой набор на закладке Visual Basic.
Также, стереотип элемента модели используется для того, чтобы описать тип
пункта проекта для того, генерировать из него. Стереотип может быть изменен
на закладке General спецификации элемента модели.
Вопрос: Каким образом наследование (Generalization Relationship)
в Rational Rose преобразуется в код Visual
Basic?
Ответ: Наследование означает то, что один класс делится своими наборами
атрибутов, методов и отношений с другим классом или преобразуется к интерфейсу
другого класса. В Visual Basic самое близкое соответствие к отношениям
наследования - построение реализаций. Так, для отношений между подклассом
B и суперклассом A, Rational Rose генерирует по умолчанию следующий код
в модуле класса B:
- Реализации (аn Implements) деклараций из A
- Объект суперкласса
- Копию public методов A, включая управляющие функции по умолчанию, которые
делигирует родительскому классу A
- Private процедуры Get, Set, и Let для public атрибутов и ролей из A
Заметим, что реализации подразумевают только приспособление к public интерфейсу.
Таким образом, B наследует только public методы A, но не private методы.
Также, если класс C является реализацией класса B, C не является точной
реализацией A потому что, при реализации из A в B, public методы из A становятся
private в B. Также, заметим что, наследование между class utilities в Rational
Rose не приводят ни к какому результату при генерации кода Visual Basic.
Вопрос: Я выполнял генерацию кода со свойствами модели
GenerateGet, GenerateSet, или GenerateLet, установленными для некоих ролей.
Почему эти свойства изменились после генерации кода?
Ответ: Селектирование отменено, потому что, Code Generation Wizard создает
Property Get процедуры и в коде и в модели. Когда процедуры создаются,
соответствующие GenerateGet свойства модели отменяются.
Вопрос: Каким образом я могу изменить тип пункта Visual
Basic проекта при генерации для класса?
Ответ: Как только вы сгенерировали класс и начали использовать сгенерированный
код, вы не можете изменить его стереотип в Rational Rose. Если вы сделаете
это, и затем сгенерируете код для класса, генератор кода заменит существующий
пункт проекта пунктом нового типа, и вы потеряете сделанные вами изменения
в исходном коде. Для того, чтобы изменить, например, модуль класса в форме,
создайте форму в Visual Basic проекте, скопируйте код из исходного модуля
класса, и затем удалите модуль класса.
Вопрос: Я прервал работу Code Generation Wizard до генерации
какого либо кода, но установки, которые я сделал во время предварительного
просмотра класса остались. Почему?
Ответ: Установки в preview класса подтверждаются и сохраняются после того,
как вы щелкнули на кнопке Finish. Для того, чтобы отменить выбор
установок в preview вы должны выбрать Cancel до завершения процедуры
preview.
Вопрос: Я сгенерировал код, но меня не удовлетворил
результат. Какой из путей является лучшим для дальнейшей доработки кода?
Ответ: Вы можете изменить результат посредством обоих инструментов (Rose
и VB). Используйте тот инструмент, который лучше поддерживает те изменения,
которые вы хотите произвести. Например, минимальные изменения, лучше выполнить
непосредственно в коде и затем выполнить обратное проектирование в модель.
Для того чтобы решить более сложные проблемы, удалите изменения кода повторным
открытием Visual Basic проекта, измените модель, и сгенерируйте код снова.
Вопрос: Я переношу или копирую метод из одного класса
в другой в модели и генерирую код. Почему тело нового метода в Visual Basic
проекте пусто?
Ответ: Когда вы перемещаете или копируете метод из одного класса в другой,
Rational Rose рассматривает этот метод как новый метод в другом классе.
При генерации кода для нового метода, тело метода всегда пусто. Таким образом,
если вам нужно переместить метод из одного класса в другой, делайте это
в Visual Basic проекте, а не в модели.
Вопрос: Вновь созданная ассоциация не отображается на
Roles Options странице в Code Generation Wizard. Почему?
Ответ: Для того, чтобы отношения ассоциации ( association ) отобразились
на странице Roles Options, ассоциация должна иметь определенные роли. Для
отношения ассоциации определена роль, если отношение направлено ( navigable
). В OMT или в UML режиме, Rational Rose автоматически создает новые ассоциации
направленными. Однако, любые отношения ассоциации, которые вы создаете
в режиме нотации Booch, по умолчанию, ненаправлены.
Вопрос: Я сгенерировал отладочный код для некоего класса.
Как его удалить?
Ответ: Опция Include Debug Code в Code Generation Wizard действует
только на классы, генерируемые в первый раз. Удалите сгенерированный отладочный
код в проекте Visual Basic и произведите обратное проектирование в модель.
Вопрос: Каким образом можно добавить существующие программные
компоненты в мою модель?
Ответ: Посредством обратного проектирования существующих программных компонент
в вашу модель вы можете получить доступ и использовать их интерфейсные
классы из других классов в вашей модели. Существует несколько вариантов
того, каким образом вставить компоненты в модель:
- Самый простой способ повторно использовать Visual Basic компоненты заключается
в том, чтобы создать новую модель из одного из имеющихся frameworks. Таким
способом ваша новая модель будет инициализирована классами, которые нужны
вам для вашего типа системы.
- Для обратного проектирования Visual Basic компонент, которые используются
приложением, выберите Visual Basic из меню Tools в Rational
Rose, и щелкните на Reverse Engineering Wizard. Выберите ActiveX
компоненты, которые вы хотите вставить в вашу модель. Созданные интерфейсные
классы будут определены типами данных Visual Basic.
- Для того, чтобы выполнить обратное проектирование любых программных компонент
(.exe, .dll, .ocx, .tlb файлов) в модель, захватите мышью (drag)
файл в окне Windows Explorer и бростьте (drop) его на component view в
Rational Rose. Созданные интерфейсные классы будут определены типами данных
COM.
Вопрос: ActiveX компоненты, которые мне нужны для выполнения
обратного проектирования, не отображаются на Selection of Project Items
странице мастера Reverse Engineering Wizard.
Ответ: Для того, чтобы добавить ActiveX компоненту в ваш Visual Basic проект
и в страницу Selection of Project Items мастера Reverse Engineering
Wizard, щелкните на References из меню Project в Visual Basic
и выберите отсутствующий ActiveX компонент.
Вопрос: Некоторые методы и данные, члены классов, которые
я получил обратным проектированием, не отображаются в модели. Почему?
Ответ: Эти методы и данные возможно содержат какие-то синтаксические ошибки.
До выполнения обратного проектирования Visual Basic проекта, проверьте,
что он не содержит синтаксических ошибок. Например, выполнив компиляцию
кода.
Вопрос: При обратном проектировании моего проекта, декларации
типа enum не отображаются в модели, при том, что некоторые компоненты в
той же самой обратно спроектированной модели содержат классы со стереотипом
"enum". Почему?
Ответ: В настоящее время, enum декларации могут быть обратно спроектированы
в модель только из ActiveX компонент и библиотек типов, но не из Visual
Basic проектов. Также, заметим, что Rational Rose не может генерировать
enum декларации.
Вопрос: При обратном проектировании модуля класса, все
комментарии в коде, даже те, которые не относятся к модели, отображаются
в поле Documentation сгенерированных элементов модели. Что нужно сделать,
чтобы этого не случалось?
или
При обратном проектировании модуля класса, комментарии в коде не
отображаются в поле Documentation сгенерированных элементов модели. В чем
ошибка?
Ответ: Для каждой декларации в Visual Basic коде, Rational Rose копирует
непосредственно предшествующий комментарий в поле документации соответствующего
элемента модели в Rational Rose. Таким образом, для того чтобы специфический
комментарий появился в поле документации, удостоверьтесь, что он размещен
перед декларацией и, что нет никаких пустых линий между комментарием и
декларацией. И наоборот, чтобы не вставлять определенный комментарий в
модель, вставьте пустую линию, или поместите комментарий после декларации.
Вопрос: Каким образом можно совместно использовать исходный
код для компоненты (например DLL) в двух моделях без воздействия на модельные
IDs в компоненте при ее обратном проектировании?
Ответ: При обратном проектировании Visual Basic кода, Rational Rose генерирует
и вставляет уникальный модельный ID для каждой новой декларации элемента
как в модель так и в код. Если тот же самый фрагмент кода обратно проектируется
в другую модель, Rational Rose рассматривает каждую декларацию элемента
как новую, и снова приписывает им новые модельные ID и в модели и в совместно
используемом коде. Для того, чтобы иметь возможность совместно использовать
исходный код сразу в двух моделях, без воздействия на него - при обратном
проектировании компоненты в новую модель, сделайте управляемый модуль из
компоненты и загрузите полученный .cat файл в две модели.
Вопрос: При обратном проектировании нового collection
класса, Rational Rose не создает никаких связей в модели с содержащимися
в нем классами. Почему?
Ответ: Декларация членов данных в collection классе не содержит достаточно
информации для того, чтобы Rational Rose автоматически создал такие отношения.
Вы должны создать их в модели вручную.
Вопрос: Rational Rose 98 подменю недоступно в меню Add-in
в Visual Basic. Как это исправить?
Ответ: В Microsoft Visual Basic, выберите Add-In Manager из меню
Add-Ins. Удостоверьтесь, что оба Rational Rose add-ins выбраны.
Они называются "Rational Rose 98 Menus" и "Rational Rose 98 API". Если
оба из них полностью отсутствуют, откройте vbaddin.ini файл, который
размещается в папке Windows, и добавьте две следующих строки:
RVBAddInMenus.Connector=1
RVBAddIn.Connector=1
Если и после этого подменю Rational Rose 98 отсутствует - обращайтесь
в службу технической поддержки. |