Вы находитесь на страницах старой версии сайта.
Переходите на новую версию Interface.Ru

FAQ


FAQ пo Rose


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


COM


UML


Add-ins


Интеграция с MS Repository;


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


Визуальные Различия и Объединение


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

C++


Java


Visual Basic

Visual Basic


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


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


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


Интеграция Visual Basic


Вопрос: Проблемы с использованием 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++ потерпели неудачу.

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


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

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

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

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

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


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

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


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

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


Вопрос: Существуют ли специальные средства для работы Rational Rose с сервером реляционных БД фирмы 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 использование шаблонов (patterns/frameworks)?

Ответ: Framework - это набор заранее предопределенных классов, которые могут использоваться при создании новых моделей. Существуют следующие стандартные шаблоны в версии Enterprise Edition:

Например, шаблоны для приложений Visual Basic 5 и Visual Basic 6 содержат классы из следующих библиотек:

Шаблоны 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 интеграцию со средой разработки CTD (Centura Centura Team Developer) фирмы Centura на языке SAL (Scalable Application Language)?

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


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

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


Вопрос: Какие издания Rose существуют?

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


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

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

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

Чтобы генерировать на Java&153;, вы можете предварительно установить язык для создания Java классов, или через привязку к компонентам, в которых выбран язык генерации Java.


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

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

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

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


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

Ответ:

  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 - средство конфигурационного управления, обеспечивающего контроль версий, совместную (параллельную) разработку компонент системы, а также контроль и управление изменениями. Чрезвычайно полезная вещь при создании и сопровождении больших программных систем.

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

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


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

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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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

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


Вопрос: В чем суть дальнейшего развития интеграции между Rose и 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. С помощью этих команд вы можете, например:

Add-in Контроля Исходного Кода использует API SCC - стандартный API Microsoft для инструментов Контроля Исходного Кода, что делает возможным подключение любого совместимого средства Контроля Исходного Кода в Rational Rose.


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

Ответ: Посмотрите 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 на странице MaintenanceMode. (Заметим, что эта опция не устанавливается, если ваша инсталляция была выполнена через сервер).


Вопрос: Как можно изменить текущий провайдер 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, это сообщение об ошибке появляется например тогда:

Для того, чтобы получить более содержательные сообщения об ошибках, выполните те же самые операции используя ваш провайдер Контроля Исходного Кода вместо 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 Enterprise версией?

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


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

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

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

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

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

Ответ: Да! Rose Java&153; Edition поддерживает round trip проектирование приложений, создаваемых на основе JDK либо библиотек. Эта поддержка включает обратное проектирование и прямую генерацию внутренних классов как классов типа 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 множественные проекты в Visual Basic?

Ответ: Да! В версии 4.0 Rose для VB, был разрешен только один проект на модель, и этот проект должен был быть открыт в текущем проекте Visual Basic. В Rose Visual Basic, сейчас можно управлять множеством проектов из одной Rose модели, что позволяет пользователю моделировать целые приложения, и генерировать код во многие различные Visual Basic проекты. Дополнительно, в Rose 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:

Заметим, что реализации подразумевают только приспособление к 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 и произведите обратное проектирование в модель.


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

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


Вопрос: 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 подменю недоступно в меню Add-in в Visual Basic. Как это исправить?

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


За дополнительной информацией обращайтесь в компанию Interface Ltd.

Обсудить на форуме Rational

Рекомендовать страницу

INTERFACE Ltd.
Телефон/Факс: +7 (495) 925-0049
Отправить E-Mail
http://www.interface.ru
Rambler's Top100
По техническим вопросам обращайтесь к вебмастеру