Embedded Rhapsody开发的评审过程是什么?

Embedded Rhapsody开发的评审过程是什么?,embedded,model-driven-development,rhapsody,Embedded,Model Driven Development,Rhapsody,我的团队正在使用IBM的Rhapsody工具进行实时嵌入式开发。不幸的是,我们对目前的审查过程感到不满 更具体地说,我们遇到了困难,因为: 缺少用于图表更改的良好差异工具 Rhapsody diff工具不会生成可在审阅中使用的报告 源文件历史记录参差不齐,因为源文件是MDD中的产品,因此没有在VCS中以高粒度配置 在源代码上运行diff有时会引入其他开发人员所做的无关更改 有时更改模型元素的属性会更改几十个源文件 很容易通过属性更改更改源文件而不知道它 有没有人有什么建议可以让Rhapsod

我的团队正在使用IBM的Rhapsody工具进行实时嵌入式开发。不幸的是,我们对目前的审查过程感到不满

更具体地说,我们遇到了困难,因为:

  • 缺少用于图表更改的良好差异工具
  • Rhapsody diff工具不会生成可在审阅中使用的报告
  • 源文件历史记录参差不齐,因为源文件是MDD中的产品,因此没有在VCS中以高粒度配置
  • 在源代码上运行diff有时会引入其他开发人员所做的无关更改
  • 有时更改模型元素的属性会更改几十个源文件
  • 很容易通过属性更改更改源文件而不知道它

有没有人有什么建议可以让Rhapsody开发的同行评议变得健壮但不费吹灰之力?您想分享哪些最佳实践和经验教训?我不是在寻找一个成熟的写作过程;我不知道的花絮会很棒。

过去5年我们一直在使用Rhapsody进行开发。我们当前的过程涉及使用Rhapsody COM接口和Microsoft Word COM接口将审查包转储到Word进行设计审查。我们也这样做,以产生参考手册的一部分,我们的总和

对于代码,我们检查生成的源代码

我们将模型放入我们的版本控制系统中,并在对模型元素进行审查后锁定它们。如果您的版本控制工具在检入时使内容为只读,则可以防止您意外更改模型图元


如果您想向客户展示您的设计,COM界面还可以用于转储模型以制作图表的PowerPoint幻灯片。生成幻灯片后,您必须对其进行调整,因为图片通常看起来有点滑稽,但它提供了一个快速的起点。

我们在我的工作场所使用Rhapsody也有同样的目的。模型更改的审查是通过一个脚本完成的,该脚本在存储库的两个副本上打开diffmerge(一个在更改开始时,一个最晚)。这显示了所有相关的更改,没有任何内部的cruft Rhapsody添加

我们的repo不跟踪生成的源,但我们经常在Rhapsody的sbs文件中看到大量不相关的更改。我们已经开始在文件系统上将sbs文件设置为只读,然后在Rhapsody的属性面板中将它们更改为读/写。这并不能阻止您标记为读/写的文件插入cruft,但可以防止不相关的文件被修改


我仍然没有找到一种方法使Rhapsody停止插入不相关的更改(例如:它有时会在保存之间添加和删除文件名字段,尽管对模型的更改很少)。它会产生很多合并冲突,我个人已经开始在每次提交时花5分钟左右的时间只添加重要的更改。

通过将属性
CG::General::incrementalcodegenacrossession
设置为
false
也可以防止Rhapsody将时间戳写入sbs文件。这有助于减少不必要的数据量


请参见

如何锁定模型图元,特别是考虑到图元的属性经常从其他图元继承而来?对设计和代码的更改(可能是错误修复)如何?您是否每次都会重新生成和检查整个套件和堆?我们的SCM会锁定这些项目。我们使用Serena Dimensions,它允许我们将项目置于批准状态,然后您需要一个更改文档来再次签出项目。然后,我们审查变更文档所附项目的所有差异。区分新词doc或代码,取决于更改的内容。您必须小心更改顶级属性,但是一旦我们设置了模型,我们很少修改顶级默认值。