Dimdim SoftWare
Мастерская Dr.dimdim
ГлавнаяПоискНаписать письмо
ГлавнаяМоделированиеПроектированиеТЗРазработкаИнтерфейсСтатьиСсылкиАвтор
Главная > ЧаВО

FAQ пo Rose

Ин-ция взята с сайта Interface Ltd


Общие вопросы о Rose





Интеграция с SCC


Вопросы, специфические для используемых языков:

 

C++



Visual Basic

 

Visual Basic


Редактирование Диаграмм and VB Классов

Генерация Visual Basic Кода

Обратное Проектирование (Reverse Engineering) Visual Basic Кода


Q: Проблемы с использованием Rational Rose C++ Analyzer?

Программа "Rational Rose C++ Analyzer", поставляемая вместе с Rational Rose Enterprise Evaluation Edition, содержит проекты и модели для Visual C++ 5.0. Это в папке \Rational\Rational Rose Evaluation Edition\c++\projects файлы atl50.pjt, mfc50.pjt, mfc50app.pjt, msvc50.pjt ..., и в папке \Rational\Rational Rose Evaluation Edition\c++\designs файлы atl50.mdl, mfc50.mdl и stdlib50.mdl. Попытка сделать на их основе модели и проекты для шестой версии Visual C++ потерпели неудачу.

A: Данная проблема была актуальна только для Rational Rose 98, в последующих версиях (98i, 2000, 2000е) подобная проблема отсутствует, а обратное проектирование в Rose проводится сразу из среды Visual Studio 6.0 (VC++) без использования Rational Rose C++ Analyzer.


Q: Как получить практические навыки работы с Rational Rose?

Есть: (конкретное) большое желание получить практические навыки по работе с case-Rational Rose (например), (и общее) изучить технологию создания программных продуктов по схеме OOA-OOD-OOP

Вопрос: какие могут быть, достаточно реальные, варианты достижения исполнения желаний?

A: Ваше желание получить практические навыки работы с Rational Rose выполнимо. Есть несколько вариантов. Для получения навыков практической работы с Rational Rose Вы можете

  1. пройти обучение в Учебно-консалтинговом Центре "Интерфейс Ltd." по курсу, посвященному этому продукту.
  2. скачать с сайта http://www.interface.ru/download.htm оценочную версию продукта и начать работу с ним. Rose имеет подробные подсказки (правда, на английском языке).
  3. для "изучения технологии создания программных продуктов по схеме OOA-OOD-OOP" можно рекомендовать переведенную на русский язык книгу Гради Буча "Объектно-ориентированное проектирование ИС", в которой прекрасно изложены преимущества этого подхода.

Q: Может ли Rational Rose поддерживать проекты, разрабатываемые на Borland Delphi

A: В мае 1999 Компания Ensemble Systems (http://www.ensemble.com/) объявила о выпуске своей новой версии интеграционного продукта между Rational Rose и Borland Delphi 4. В продукт добавлены новые возможности, которые улучшают и упрощают генерацию и обратное проектирование кода Object Pascal между объектными моделями Rational Rose и проектами Delphi. Оценочную копию продукта Rose Delphi Link загрузить с нашего сайта.


Q: Можно ли в Rational Rose проводить моделирование бизнес-процессов?

A: Да, можно. На UML, который поддерживается в Rational Rose, для моделирования бизнес-процессов используются, например, диаграммы прецедентов (use case) и диаграммы активностей (activity). Методология такого моделирования подробно описана в Rational Unified Process (RUP) фирмы Rational Software. Кроме этого, для бизнес моделирования можно использовать продукт Ensemble Streams фирмы Ensemble Systems Inc. (www.ensemble-systems.com). С Ensemble Streams Вы можете:

  • Моделировать, анализировать и проводить улучшение бизнес-процессов на основе использования интуитивно понятной среды
  • Документировать ваши модельные элементы, используя окно документации.
  • Определять термины глоссария в вашей документации.
  • Динамически представьте процессы (workflow), выделяя их цветом на диаграммах.
  • Использовать Диаграммы Действия (Activity Diagrams) UML для взаимодействия с вашей группой программной разработки.

Q: Где можно подробно узнать об особенностях использовании UML в Rational Rose?

A: Фирма Rational Software выпускает на эту тему (на английском языке) специальный журнал "Rose Architect", электронная версия которого доступна по адресу: http://www.rosearchitect.com/. Также в электронном магазине нашей компании можно приобрести два учебника на тему UML.


Q: Существуют ли специальные средства для работы Rational Rose с сервером реляционных БД фирмы Microsoft - MS SQL Server?

A: Такое средство поставляет фирма 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.


Q: Поддерживет ли Rational Rose использование шаблонов (patterns/frameworks)?

A: 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/)


Q: Поддерживает ли Rational Rose интеграцию со средой разработки CTD (Centura Centura Team Developer) фирмы Centura на языке SAL (Scalable Application Language)?

A: Да, такую поддержку обеспечивает продукт Rose Centura Link 2.0 фирмы METEX Systems Inc (http://www.metex.com/), позволяющий проводить как прямое так и обратное проектирование приложений.


Q: Как я могу использовать Rational Rose при разработке приложений на PowerBuilder?

A: Для этого используется дополнение (Add-In) к Rose , поставляемое фирмой METEX Systems Inc (www.metex.com), называемое Rose PowerBuilder Link. Ётот продукт позволяет проводить прямое и обратное проектирование приложений, разрабатываемых на PowerBuilder.


Q: Какие издания Rose существуют?

A: Существует три различных издания Rose . Более детальную информацию можно узнать на странице http://www.rational.com/products/rose/prodinfo.html.


Q: Каким образом мне генерировать код в Rose Enterprise Edition, если он поддерживает генерацию для большого количества языков?

A: Rose Enterprise может генерировать код на нескольких языках. Когда вы запускаете в первый раз Rose Enterprise, заданным по умолчанию является язык - 'Analysis '. Вы можете установить язык по умолчанию в диалоге Tools:Options:Notation.

Для генерации кода (например, в C++):

  • Установите так, чтобы в Tools:Options:Notation диалоге, был выбран C++. Теперь каждый класс добавляемый в модель будет по умолчанию принадлежать C++. Для генерации кода нужно просто селектировать класс и запустить генерацию через Tools:C++:Code Generation.
  • Вы можете связать класс с компонентой, и установить язык в спецификации компоненты. Напомним, для C++, стереотипы компонент должны быть установлены как Subprograms для генерации кода.
Чтобы генерировать на Java&153;, вы можете предварительно установить язык для создания Java классов, или через привязку к компонентам, в которых выбран язык генерации Java.

Q: В Rational Rose существует несколько "мостов" к другим средствам проектирования: ERwin, Oracle8, SoDa и т.д. Существует ли документация, где описаны правила и интерфейсы построения таких мостов?

A: Отдельная документация по этим вопросам отсутствует. Интерфейсы описаны в Help по Rational Rose в разделе Rose Extensibility Interface, даны примеры скриптов на Summit Basic для использования объектов Rose.

Для создания "мостов" и других приложений (например, своих кодогенераторов) необходимо знание технологии COM и умение использовать ее в своей среде разработки.

Проще всего для этой цели использовать MS Visual Basic. Но можно использовать и другие среды разработки, поддерживающие COM.


Q: Какой минимально необходимый CASE-инструментарий требуется для разработки информационных систем масштаба предприятия (построение, сопровождение, развитие и документирование достаточно крупной модели/группы моделей)? При этом ядром этого инструментария желательно видеть CASE-продукты Rational Software.

A:

  1. Rational Suite Enterprise Edition - все необходимые инструменты для определения требований, анализа, проектирования, тестирования и документирования программной системы в соответствии с технологией Rational Software + полное описание-руководство по технологии и применению инструментальных средств.
  2. MS Project - рекомендуется использовать в технологии Rational Software в качестве автоматизированной системы управления проектом создания программного обеспечения.
  3. MS Visual Studio 6.0 (SP2 и выше) - среда, программные средства инфраструктуры и средства разработки приложений (на языках Java, JavaScript, C++, Visual Basic, FoxPro), тесно интегрируемые с Rational Suite и поддерживающие технологию Rational при разработке многозвенных программных систем с компонентной архитектурой.
  4. Rational ClearCase - средство конфигурационного управления, обеспечивающего контроль версий, совместную (параллельную) разработку компонент системы, а также контроль и управление изменениями. Чрезвычайно полезная вещь при создании и сопровождении больших программных систем.

Q: Каким образом выполняется обратное проектирование компонент в Rose Enterprise?

A: Используя прием drag-and-drop вы можете просто перетащить и бросить компоненту (DLL, и т.д) из файловой системы на Диаграмму Компонентов. Это действие приведет к обратному проектированию интерфейсов компоненты и сделает их видимыми в Rose.


Q: Опубликована ли библиотека типов для Rose?

A: Да! Rose это COM объект с собственными интерфейсами. Rational опубликовал библиотеку типов для Rose, как COM объекта. Вы можете найти файл RationalRose.tlb в инсталляционном каталоге Rose . Просто перетащите этот файл на вашу Диаграмму Компонентов (если у вас установлен Enterprise Edition), для того, чтобы увидеть набор опубликованных интерфейсов.

NOTE: Так как Rose имеет несколько опубликованных интерфейсов, это может потребовать некоторого времени.


Q: Какие новые свойства UML поддерживает Rose?

A: Rose Enterprise обеспечивает непосредственную поддержку UML:

  • Интерфейсы теперь поддерживаются как стандартный стереотип в Диаграмме Классов.
  • Поддерживаются также отношения Реализации. Как только интерфейс определен в модели, его иконка с кружочком затем доступна на диаграмме Компонентов (через закладку Realizes в диалоге Specification для компонента).
  • Иконки пакетов теперь содержат специальное место для имен входящих в их состав классов. Разрешено, также, существование подобно-названных классов в модели, но внутри различных пакетов, что должно улучшить поддержку многоязычного проектирования.
  • Стереотипы теперь существуют для большинства модельных элементов в Rose, таких как связи, атрибуты и операции.
  • Имена абстрактных классов изображаются курсивом (Italicized).
  • Отмеченные Значения (Tagget Values) и ограничения (Constraints) (через Rose properties) доступны как механизмы расширения для Rose Link партнеров.

Q: В Rose Enterprise, произвольное количество классов может быть связано с произвольным количеством компонент - основано ли это на положениях UML? Не утверждается ли в UML, что должно быть много классов для одной компоненты?

A: Много классов к одной компоненте - справедливое подмножество отношений многие ко многим, следовательно Rose поддерживает UML. Поддержка отношений многие ко многим была включена специально как инструментальное средство для того, чтобы сделать концепцию действительно работающей. Если Вы действительно хотите делать компонентное проектирование, ваш код может и будет использоваться более чем в одной компоненте. Подумайте о Библиотеке классов, где класс используется в нескольких приложениях. Это решение было одним из наиболее требуемых реальными разработчиками.


Q: Каким образом вы моделируете подклассы в UML? Подклассом я называю класс, который определен внутри определения другого класса.

A: В Rose вы создаете такие вложенные классы через закладку Nested диалога спецификации стандартного класса. Для помещения их на Диагамму Классов используйте команду Add Classes из меню Query.


Q: В чем разница между add-ins для различных изданий Rose?

A: Посетите страницу http://www.rational.com/products/rose/prodinfo.html для того, чтобы посмотреть детальную таблицу свойств, поддерживаемых каждой версией.


Q: Стыкуются ли add-ins для IDL and DDL генераций со всеми версиями продукта?

A: Да! IDL and DDL генерации выполняются во всех версиях Rose.


Q: Rose Enterprise имеет интеграцию с ERWIN. Будет ли этот add-in для ERWIN стыковаться с Professional версией точно также?

A: Интеграция с ERWIN через add-in выполняется только для Rose Enterprise версии. Более детальную информацию по этой интеграции можно получить на странице. Для последней версии Rational Rose (2000e) такой необходимости нет, поскольку "переброска" моделей в изначально встроена в продукт.


Q: Что такое Framework Add-In? Что дает мне его использование?

A: Add-In Framework это библиотека заготовок, которые могут использоваться как шаблоны при создании новых моделей. Она включает также мастера Framework Wizard, для создания дополнительных собственных заготовок. Framework в Rational Rose - модель с предопределенными модельными элементами, которые используются для моделирования определенного вида системы. Выбор определенного шаблона может использоваться при задании архитектуры системы определенного вида, или для обеспечения набора компонентов многократного использования.

При создании новой модели вы можете инициализировать вашу модель предопределенной архитектурой и набором модельных элементов многократного использования, выбрав соответствующий Framework. Таким образом, вы можете сосредоточить ваши усилия на моделировании той части, которая уникальна для вашей системы, вместо того, чтобы пытаться "заново изобрести колесо". Библиотека Framework находится в каталоге /Frameworks в вашем инсталляционном каталоге Rational Rose.


Q:В чем суть дальнейшего развития интеграции между Rose и Microsoft Repository?

A: Релиз Rose/Enterprise, позволяет сохранять в репозитории полные модели. До этого в репозитории сохранялись только части моделей, преимущественно классы и связи.


Q: Опирается ли интеграция с MS Repository на специфическую для Rose Инструментально-Информационной Модель (Tool Information Model (TIM)), или она использует традиционный механизм хранения MS?

A: В основе TIM MS репозитория лежит реализация положений UML. Следовательно, пользователи публикующие в репозиторий, по существу используют UML.


Q: Для чего существует поддержка Контроля Исходного Кода (Source Code Control (SCC)) и что это такое?

A: 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.

Q: Где я могу найти информацию о интегрируемых SCC add-ins, которые работают с Rose?

A: Посмотрите help файлы интегрируемых SCC средств. Эти файлы поставляются с продуктами.


Q: Команда Add To Source Control позволяет мне работать только с .mdl файлами. Как я могу добавить один элемент из модели в Source Control?

A: Наименьший тип элемента, который может быть добавлен к контролируемому коду - это пакет (package). Чтобы осуществить это, сначала создайте файловый модуль на основе этого пакета. Для этого, селектируйте пакет на диаграмме, выберите команду Units из меню файл File, и нажмите Control. Задайте имя и путь нового файлового модуля и нажмите OK. В следующий раз, когда вы выберете команду Add To Source Control, пакет будет доступен в списке модулей. Так как сама модель сохраняется в отдельном файле, то она всегда находится в списке.


Q: Команды Source Control недоступны в диалоге Browse:Units. Почему?

A: Текущая версия SCC Add-In не обеспечивает поддержку команд Контроля Кода в диалоге Browse:Units. Так происходит потому, что эти команды не действуют на контролируемые модули, которые селектированы в этом диалоге. Вместо этого, команды Контроля Кода действуют на контролируемые модули, которые селектированы на текущей активной диаграмме и на те, что вы селектировали в диалоге, открываемом командой Контроля Кода.


Q: Команда Source Control, которую я использовал, никоим образом не действует на некоторые селектированные элементы. В чем ошибка?

A: Если вы используете Visual SourceSafe, то возможно, что среда Visual SourceSafe установлена некорректно. Загрузите Microsoft Visual SourceSafe, выберите команду Options из меню Tools. Удостоверьтесь, что опция Assume Project Based on Working Folder на закладке Command Line Options селектирована.


Q: На моей машине установлен SourceSafe, но ничего не происходит, когда я пытаюсь выполнять команды Source Control в Rational Rose. Что я делаю неправильно?

A: Для того, чтобы Rational Rose имел доступ к Microsoft Visual SourceSafe,

ваша инсталляция Microsoft Visual SourceSafe должна содержать компоненту интеграции SourceSafe. Удостоверьтесь, что эта компонента установлена, загрузив setup для Microsoft Visual SourceSafe. Далее нажмите Add/Remove и выберите опцию Enable SourceSafe Integration на странице Maintenance Mode. (Заметим, что эта опция не устанавливается, если ваша инсталляция была выполнена через сервер).


Q: Как можно изменить текущий провайдер SCC проекта?

A: Каждый раз для добавления модуля к контролируемому коду текущий проект устанавливается через выбор из диалога Add To Source Control. Другого варианта выбора текущего проекта в настоящее время нет.


Q: Я получил сообщение об ошибке "Error performing operation. For a more detailed explanation, try the same operation using your source code control provider, e.g ClearCase." В чем суть ошибки?

A: Операции Контроля Исходного Кода не могут быть выполнены на некоторых селектированных модулях. Если вы используете ClearCase, это сообщение об ошибке появляется например тогда:

  • Если опция Check-in even if identical не установлена в Advanced опциях диалога, при выполнении процедуры 'check-in' для неизмененного модуля.
  • Если вы пытаетесь выполнить процедуру 'check-out' для модуля, который уже взят в другой проект и был помечен при этом как "reserved" файл.
  • При выполнении операции 'check-in' для модуля, который имеет ответвление в другое view.
Для того, чтобы получить более содержательные сообщения об ошибках, выполните те же самые операции используя ваш провайдер Контроля Исходного Кода вместо Rational Rose.

Q: Я получил сообщение об ошибке "The project must be in a view" при использовании команды Add To Source Control с ClearCase. Что я делаю неправильно?

A: Это сообщение об ошибке может появляться, если в ClearCase VOB путь выбран через виртуальный драйвер просмотра (for example, Z:\ProjectRose). Если это так, установите путь для VOB через default драйвер (например, M:\myView\ProjectRose) в поле ClearCase Project диалога Add To Source Control.


Q: Как выглядит утилита визуальных различий/объединения (Visual Diff/Merge)?

A: Здесь представлен пример изображения экрана, который поможет вам составить представление о Visual Differencing and Merge утилите.


Q: Должны ли пользователи, которые выполняют Round Trip проектирование и хотят поддерживать код и модель синхронизованными использовать Visual Dffe/Merge?

A: Да! Предполагается, что эта утилита будет использоваться как средство выбора при Round Trip проектировании.


Q: Я загружал Visual Differencer и работал с ним вне Rose. Сейчас, когда я загрузил Rose, кажется, что мой Browser исчез. Что случилось?

A: Вероятная причина этого - то, что при выходе Visual Differencer потерял rose.ini файл. Один из наиболее значимых побочных эффектов этого - то, что Rose загружается в режиме без установок из ".ini", который включает не показывать окно Browser'а. Отдельные дефекты, имеющиеся в Visual Differencer, скоро будут устранены и изменения будут доступны для download.


Q: Что собою представляет поддержка C++, предлагаемая Rose Enterprise версией?

A: Rose обеспечивает все свойства, которые были доступны в Service pack for Rose /C++ 4.0. Кроме того, Rose C++ содержит расширения и исправленные ошибки, применимые для всех компиляторов C++, а также специфическую поддержку для Microsoft Visual C++ (включая MFC и ATL).


Q: Когда я пытаюсь генерировать код в C++, я получаю сообщение об ошибке "Warning: !!! No precompiled header found named stdafx.h". Каким образом можно избежать этого?

A: stdafx.h это прекомпиляционный заголовочный файл, который часто используется в среде Visual C++. Его имя было внесено в Rose Enterprise для удобства разработчиков VC++.

Однако, вы можете исключить эту опцию, проделав следующее:

  1. В browser дважды щелкните мышью на Component View.
  2. Выберите закладку C++, и
  3. Опять дважды щелкните мышью на установке 'Precompiled headers';
  4. Удалите строку 'stdafx.h'.
  5. В следующий раз, при генерации кода, это сообщение не должно появиться.

Q: Существует ли в Rose Professional Edition for Java&153; поддержка Java?

A: Да! Rose Java&153; Edition поддерживает round trip проектирование приложений, создаваемых на основе JDK либо библиотек. Эта поддержка включает обратное проектирование и прямую генерацию внутренних классов как классов типа nested в Rose.


Q: Как создать Java bean в Rose? Я знаю, что возможно моделирование компонент в Component Diagram, которые будут Java beans. Можно ли затем связать классы с этими компонентами? Как все это работает?

A: Вы создаете Java Beans, как вы создавали бы любые другие компоненты - моделируя классы, связывая их с компонентами, и генерируя код.


Q: Каким образом я могу генерировать Java bean на основе Component Diagram?

A: В Java вы связываете классы с компонентами. То есть ставите в соответствие один к одному компоненту и *.java файл. Если bean класс привязан к компоненте и для него генерируется код - результатом будет соответствующий *.java файл. Скомпилируйте его в Jar, поместите в beanbox и результат будет достигнут.

NOTE: Jar это Java архив (т.е. как zip). Jars являются стандартным механизмом упаковки для Bean, и всего, что может их использовать. Beanbox это программа предоставляемая компанией Sun бесплатно, которая осуществляет тестирование ваших Beans.


Q: Поддерживает ли Rose множественные проекты в Visual Basic?

A: Да! В версии 4.0 Rose для VB, был разрешен только один проект на модель, и этот проект должен был быть открыт в текущем проекте Visual Basic. В Rose Visual Basic, сейчас можно управлять множеством проектов из одной Rose модели, что позволяет пользователю моделировать целые приложения, и генерировать код во многие различные Visual Basic проекты. Дополнительно, в Rose Enterprise, можно иметь много классов на различных языках, использовать Visual Basic для User Services и Business Services, в тоже время пользуясь другими программными средами для вычислений и обслуживания данных.


Q: Я не могу создать трехзвенную диаграмму (three-tiered diagram). В чем причина?

A: Откройте диалог Options в пункте меню Tools. На закладке Diagram установите опцию 3 Tier Diagram и перезапустите Rational Rose.


Q: Каким образом можно настроить Rational Rose на использование COM терминологии в User Interface?

A: Для того, чтобы настроить Rational Rose на использование COM терминологии, установите UseCOMTerminology в "Yes" в rose.ini файле, который находится в инсталляционной папке Rational Rose, и перезапустите Rational Rose. Теперь COM терминология (т.е. "property" и "method" вместо "attribute" и "operation") будет использоваться в спецификациях, диалогах и пунктах меню.


Q: При попытке переноса класса из framework package в into a трехзвенную диаграмму я получаю сообщение "The unit is read-only and may not be modified". Почему?

A: При перемещении класса в одно из звеньев на трехзвенной диаграмме, класс связывается с пакетом представляющим это звено. Так как пакеты, которые были созданы на основе framework определены как read only, классы из таких пакетов не могут перемещаться в другие пакеты модели. Поэтому вы и получаете такое сообщение. Если вы хотите показать на диаграмме, как класс относится к некоторым классам в framework пакете, используйте Package Overview для соответствующего звена или создайте новую диаграмму классов.


Q: Я не могу перенести посредством команды Paste классы на мою диаграмму. В чем причина?

A: Вы не можете использовать команду Paste для того, чтобы вставлять классы в трехзвенные диаграммы. Причина в том, что не ясно, в которое из звеньев класс должен быть вставлен. Также, вы не можете использовать команду Paste в диаграмме Package Overview для пакетов потому, что эта диаграмма может, по определению, только содержать классы, принадлежащие пакету. Команда Paste будет перемещать копируемый класс из пакета, где он был скопирован в пакет, которому принадлежит Package Overview. Так как это может быть не то, чего бы вам хотелось, то упомянутая команда не работает в таких диаграммах.


Q: Существуют ли правила для образования имен классов, свойств, методов?

A: Rational Rose не выполняет проверок на правильность имен. Т.е., Rational Rose не проверяет длину имен или на наличие недопустимых символов. Также, Rational Rose различает регистр (case sensitive), в то время как Visual Basic нет. Например, для Visual Basic разница в названии классов "OrderRow" и "orderrow" неразличима. Поэтому рекомендуется, использовать имена, которые приемлемы и рекомендованы языком программирования Visual Basic.


Q: Можно ли управлять генерацией кода для класса и увидеть preview этого кода?

A: Генератор кода использует свойства модели определенные для каждого класса, атрибута, роли в ассоциации и метода для того, чтобы отобразить элементы модели в Visual Basic коде. В Code Generation Wizard вы можете определить свойства преобразования. Т.е. Wizard позволяет вам изменить параметры свойств модели для выбранных классов и их свойств, ролей и методов. Он также позволяет увидеть preview кода, который будет генерироваться с текущими установками свойств модели. В общих словах, Code Generation Wizard позволяет вам определить наиболее общие и важные из свойств модели. Однако, свойства модели для классов, атрибутов, ассоциаций и методов доступны на закладке Visual Basic в их диалогах спецификаций. Вы можете видеть и изменять все значения свойств модели в этих диалогах. По умолчанию, предопределенный набор свойств модели устанавливается для каждого нового элемента модели. Вы можете заменить его на другой набор на закладке Visual Basic. Также, стереотип элемента модели используется для того, чтобы описать тип пункта проекта для того, генерировать из него. Стереотип может быть изменен на закладке General спецификации элемента модели.


Q: Каким образом наследование (Generalization Relationship) в Rational Rose преобразуется в код Visual Basic?

A: Наследование означает то, что один класс делится своими наборами атрибутов, методов и отношений с другим классом или преобразуется к интерфейсу другого класса. В 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.

Q: Я выполнял генерацию кода со свойствами модели GenerateGet, GenerateSet, или GenerateLet, установленными для некоих ролей. Почему эти свойства изменились после генерации кода?

A: Селектирование отменено, потому что, Code Generation Wizard создает Property Get процедуры и в коде и в модели. Когда процедуры создаются, соответствующие GenerateGet свойства модели отменяются.


Q: Каким образом я могу изменить тип пункта Visual Basic проекта при генерации для класса?

A: Как только вы сгенерировали класс и начали использовать сгенерированный код, вы не можете изменить его стереотип в Rational Rose. Если вы сделаете это, и затем сгенерируете код для класса, генератор кода заменит существующий пункт проекта пунктом нового типа, и вы потеряете сделанные вами изменения в исходном коде. Для того, чтобы изменить, например, модуль класса в форме, создайте форму в Visual Basic проекте, скопируйте код из исходного модуля класса, и затем удалите модуль класса.


Q: Я прервал работу Code Generation Wizard до генерации какого либо кода, но установки, которые я сделал во время предварительного просмотра класса остались. Почему?

A: Установки в preview класса подтверждаются и сохраняются после того, как вы щелкнули на кнопке Finish. Для того, чтобы отменить выбор установок в preview вы должны выбрать Cancel до завершения процедуры preview.


Q: Я сгенерировал код, но меня не удовлетворил результат. Какой из путей является лучшим для дальнейшей доработки кода?

A: Вы можете изменить результат посредством обоих инструментов (Rose и VB). Используйте тот инструмент, который лучше поддерживает те изменения, которые вы хотите произвести. Например, минимальные изменения, лучше выполнить непосредственно в коде и затем выполнить обратное проектирование в модель. Для того чтобы решить более сложные проблемы, удалите изменения кода повторным открытием Visual Basic проекта, измените модель, и сгенерируйте код снова.


Q: Я переношу или копирую метод из одного класса в другой в модели и генерирую код. Почему тело нового метода в Visual Basic проекте пусто?

A: Когда вы перемещаете или копируете метод из одного класса в другой, Rational Rose рассматривает этот метод как новый метод в другом классе. При генерации кода для нового метода, тело метода всегда пусто. Таким образом, если вам нужно переместить метод из одного класса в другой, делайте это в Visual Basic проекте, а не в модели.


Q: Вновь созданная ассоциация не отображается на Roles Options странице в Code Generation Wizard. Почему?

A: Для того, чтобы отношения ассоциации (association ) отобразились на странице Roles Options, ассоциация должна иметь определенные роли. Для отношения ассоциации определена роль, если отношение направлено (navigable). В OMT или в UML режиме, Rational Rose автоматически создает новые ассоциации направленными. Однако, любые отношения ассоциации, которые вы создаете в режиме нотации Booch, по умолчанию, ненаправлены.


Q: Я сгенерировал отладочный код для некоего класса. Как его удалить?

A: Опция Include Debug Code в Code Generation Wizard действует только на классы, генерируемые в первый раз. Удалите сгенерированный отладочный код в проекте Visual Basic и произведите обратное проектирование в модель.


Q: Каким образом можно добавить существующие программные компоненты в мою модель?

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

  • Самый простой способ повторно использовать 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.

Q: ActiveX компоненты, которые мне нужны для выполнения обратного проектирования, не отображаются на Selection of Project Items странице мастера Reverse Engineering Wizard.

A: Для того, чтобы добавить ActiveX компоненту в ваш Visual Basic проект и в страницу Selection of Project Items мастера Reverse Engineering Wizard, щелкните на References из меню Project в Visual Basic и выберите отсутствующий ActiveX компонент.


Q: Некоторые методы и данные, члены классов, которые я получил обратным проектированием, не отображаются в модели. Почему?

A: Эти методы и данные возможно содержат какие-то синтаксические ошибки. До выполнения обратного проектирования Visual Basic проекта, проверьте, что он не содержит синтаксических ошибок. Например, выполнив компиляцию кода.


Q: При обратном проектировании моего проекта, декларации типа enum не отображаются в модели, при том, что некоторые компоненты в той же самой обратно спроектированной модели содержат классы со стереотипом "enum". Почему?

A: В настоящее время, enum декларации могут быть обратно спроектированы в модель только из ActiveX компонент и библиотек типов, но не из Visual Basic проектов. Также заметим, что Rational Rose не может генерировать enum декларации.


Q: При обратном проектировании модуля класса, все комментарии в коде, даже те, которые не относятся к модели, отображаются в поле Documentation сгенерированных элементов модели. Что нужно сделать, чтобы этого не случалось?

или

При обратном проектировании модуля класса, комментарии в коде не отображаются в поле Documentation сгенерированных элементов модели. В чем ошибка?

A: Для каждой декларации в Visual Basic коде, Rational Rose копирует непосредственно предшествующий комментарий в поле документации соответствующего элемента модели в Rational Rose. Таким образом, для того чтобы специфический комментарий появился в поле документации, удостоверьтесь, что он размещен перед декларацией и, что нет никаких пустых линий между комментарием и декларацией. И наоборот, чтобы не вставлять определенный комментарий в модель, вставьте пустую линию, или поместите комментарий после декларации.


Q: Каким образом можно совместно использовать исходный код для компоненты (например DLL) в двух моделях без воздействия на модельные IDs в компоненте при ее обратном проектировании?

A: При обратном проектировании Visual Basic кода, Rational Rose генерирует и вставляет уникальный модельный ID для каждой новой декларации элемента как в модель так и в код. Если тот же самый фрагмент кода обратно проектируется в другую модель, Rational Rose рассматривает каждую декларацию элемента как новую, и снова приписывает им новые модельные ID и в модели и в совместно используемом коде. Для того, чтобы иметь возможность совместно использовать исходный код сразу в двух моделях, без воздействия на него - при обратном проектировании компоненты в новую модель, сделайте управляемый модуль из компоненты и загрузите полученный .cat файл в две модели.


Q: При обратном проектировании нового collection класса, Rational Rose не создает никаких связей в модели с содержащимися в нем классами. Почему?

A: Декларация членов данных в collection классе не содержит достаточно информации для того, чтобы Rational Rose автоматически создал такие отношения. Вы должны создать их в модели вручную.


Q: Rational Rose подменю недоступно в меню Add-in в Visual Basic. Как это исправить?

A: В Microsoft Visual Basic выберите Add-In Manager из меню Add-Ins. Удостоверьтесь, что оба Rational Rose add-ins выбраны. Они называются "Rational Rose Menus" и "Rational Rose API". Если оба из них полностью отсутствуют, откройте vbaddin.ini файл, который размещается в папке Windows, и добавьте две следующих строки:

RVBAddInMenus.Connector=1

RVBAddIn.Connector=1

Если и после этого подменю Rational Rose отсутствует - обращайтесь в службу технической поддержки.

Вверх

<<Назад

Главная| ИС.. | Моделирование | Проектирование |ТД | Разработка | Интерфейс | Статьи | Ссылки | Автор
DimDim SoftWare Мастерская Dr. dimdim Copyright 2003-2004
Администратор info-system@mail.ru
Последнее обновление 26-Дек-2003