2010-02-20 2 views
5

Моя команда использует инструмент Rhapsody от IBM для создания встроенной разработки в режиме реального времени. К сожалению, мы недовольны нашим текущим процессом рассмотрения.Как вы относитесь к Rhapsody?

Более конкретно, у нас были трудности, потому что:

  • есть отсутствие хорошего инструмента различий для диаграммы изменения
  • инструмент дифф Rhapsody не генерирует отчеты, которые можно использовать в обзор История файла
  • источника пятнистая, потому что исходные файлы модель MDD, таким образом, не сконфигурированная в VCS с высокой степенью детализации
  • работает на исходном посмотреть различие кода иногда тянет в несвязанных изменениях, сделанных другими разработчиками
  • иногда изменяя свойство элемента модели изменяют десятки исходных файлов
  • это легко изменить исходный файл путем изменения свойств и не знает, что

Кто-нибудь есть какие-либо советы по созданию экспертных обзоров на Rhapsody разработка прочная, но низкая? Любые лучшие практики и уроки, которые вы хотели бы поделиться? Я не ищу зрелую запись процесса; лакомые кусочки, о которых я не знал, было бы замечательно.

ответ

2

Мы используем Rhapsody для разработки в течение последних 5 лет. Наш текущий процесс включает в себя использование интерфейса Rhapsody COM и интерфейса Microsoft Word COM для отправки пакетов обзора в Word для отзывов о дизайне. Мы также делаем это для создания справочной части нашего СУММ.

Для кода мы рассмотрим сгенерированный источник.

Мы поместили модель в нашу систему контроля версий и заблокировали элементы модели после того, как они были рассмотрены. Если ваш инструмент контроля версий делает чтение только после того, как он проверен, он предотвратит случайное изменение элемента модели.

Интерфейс COM также хорош для сброса модели, чтобы сделать слайды PowerPoint диаграмм, если вы хотите представить свой дизайн клиенту. Вам нужно будет настроить слайды после их создания, так как изображения обычно выглядят немного забавными, но это дает быструю отправную точку.

+0

Как вы заблокировать элементы модели, особенно с учетом того, что свойства для элементов, часто наследуется от других элементов? Как насчет изменений (возможно, для исправления ошибок) для проектирования и кода? Вы каждый раз регенерируете и просматриваете весь комплект и кабалу? – thebretness

+0

Наш SCM блокирует предметы. Мы используем Serena Dimensions, который позволяет нам переводить вещи в состояние утверждения, которое затем вам нужно изменить документ, чтобы снова проверить элемент. Затем мы рассмотрим все различия элементов, прикрепленных к документу изменения. Разделение нового слова doc или кода, в зависимости от того, что изменилось. Вы должны быть осторожны при изменении свойств верхнего уровня, но как только мы настраиваем нашу модель, мы редко модифицируем значения по умолчанию верхнего уровня. – Zanson

+0

Ах. Попался. Благодарю. – thebretness

4

Мы используем Rhapsody для этой же цели на моем рабочем месте. Обзоры изменений модели выполняются с помощью скрипта, который открывает diffmerge на двух копиях нашего репозитория (один в начале изменений, один не позднее). Это показывает все соответствующие изменения, без добавления каких-либо внутренних трещин Rhapsody.

Наш репо не отслеживает сгенерированные источники, но мы часто наблюдаем множество нерелевантных изменений в sbs-файлах Rhapsody. Мы начали устанавливать файлы sbs как только для чтения в файловой системе, а затем меняем их на чтение/запись с панели свойств в Rhapsody. Это не останавливает файлы, которые вы помечаете как чтение/запись с вставленной вкрутой, но предотвращает изменение не связанных между собой файлов.

Я до сих пор не нашел способ заставить Rhapsody прекратить вносить нерелевантные изменения (например: иногда он добавляет и удаляет поля имени файла между сохранениями, несмотря на минимальные изменения в модели). Это создает много конфликтов слияния, и я лично начал принимать около 5 минут за фиксацию только для добавления изменений, которые имеют значение.

1

Также можно предотвратить использование Rhapsody для создания временных меток в файлах sbs, установив свойство CG::General::IncrementalCodeGenAcrossSession на false. Это может помочь уменьшить количество ненужных данных.

См this link