你们对 Rhapsody 开发的审核流程是怎样的?
我的团队正在使用IBM的Rhapsody工具进行实时嵌入式开发。不幸的是,我们对当前的审核流程并不满意。
更具体地说,我们遇到了困难,因为:
- 缺乏用于图表更改的良好 diff 工具
- Rhapsody diff 工具无法生成可在审阅中使用的报告
- 源文件历史记录参差不齐,因为源文件是 MDD 中的产品因此,未在 VCS 中以高粒度进行配置
- 在源代码上运行差异有时会引入其他开发人员所做的不相关更改
- 有时更改模型元素的属性会更改数十个源文件
- 通过属性更改很容易更改源文件,而不是知道吗
有没有人有任何建议可以让 Rhapsody 开发的同行评审变得稳健但麻烦少?您想分享哪些最佳实践和经验教训?我不是在寻找成熟的流程记录;我不知道的花絮会很棒。
My team is using the IBM's Rhapsody tool to do real-time embedded development. Unfortunately, we are unhappy with our current review process.
More specifically, we've had difficulty because:
- there is a lack of a good diff tool for diagram changes
- the Rhapsody diff tool doesn't generate reports that you can use in a review
- source file history is spotty because source files are products in MDD thus not configured in a VCS at a high granularity
- running diffs on source code sometimes pulls in unrelated changes made by other devs
- sometimes changing a property of a model element changes dozens of source files
- it's easy to change a source file through a property change and not know it
Does anyone have any tips for making peer reviews on Rhapsody development robust but low-hassle? Any best practices and lessons learned you would like to share? I'm not looking for a mature process write-up; tidbits I didn't know about would be great.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我们在我的工作场所使用 Rhapsody 来达到同样的目的。模型更改的审查是通过一个脚本完成的,该脚本在我们存储库的两个副本上打开 diffmerge(一个在更改开始时,一个在最晚)。这显示了所有相关的变化,没有 Rhapsody 添加的任何内部缺陷。
我们的存储库不跟踪生成的源,但我们经常在 Rhapsody 的 sbs 文件中看到大量不相关的更改。我们开始在文件系统上将 sbs 文件设置为只读,然后从 Rhapsody 的属性面板将它们更改为读/写。这并不能阻止您标记为读/写的文件被插入,但它可以防止不相关的文件被修改。
我仍然没有找到一种方法让 Rhapsody 停止插入不相关的更改(例如:它有时会在保存之间添加和删除文件名字段,尽管对模型的更改很少)。它会产生很多合并冲突,我个人开始每次提交花费 5 分钟左右的时间来仅添加重要的更改。
We use Rhapsody for the same purpose at my workplace. Reviews of model changes are done with a script that opens diffmerge on two copies of our repository (one at the start of the changes, one at the latest). That shows all of the pertinent changes, without any of the internal cruft Rhapsody adds.
Our repo doesn't track the generated sources, but we see plenty of irrelevant changes in Rhapsody's sbs files frequently. We've started setting sbs files as read-only on the filesystem, and then changing them to read/write from the properties panel in Rhapsody. That doesn't stop the files you mark as read/write from having cruft inserted, but it prevents unrelated files from being modified.
I still haven't found a way to make Rhapsody stop inserting irrelevant changes (for example: it sometimes adds and removes filename fields between saves, despite minimal changes to the model). It creates a lot of merge conflicts, and I've personally started taking 5 or so minutes per commit to only add the changes that matter.
过去 5 年我们一直使用 Rhapsody 进行开发。我们当前的流程涉及使用 Rhapsody COM 接口和 Microsoft Word COM 接口将审阅包转储到 Word 进行设计审阅。我们还这样做是为了生成 SUM 的参考手册部分。
对于代码,我们查看生成的源代码。
我们将模型放入版本控制系统中,并在审查后锁定模型元素。如果您的版本控制工具使内容在签入时只读,则可以防止您意外更改模型元素。
如果您想向客户展示您的设计,COM 接口也适合转储模型以制作图表的 PowerPoint 幻灯片。生成幻灯片后,您必须对其进行调整,因为图片通常看起来有点有趣,但它提供了一个快速的起点。
We have been using Rhapsody for development for the past 5 years. Our current process involves using the Rhapsody COM interface and the Microsoft Word COM interface to dump review packages to Word for design reviews. We also do this to generate the reference manual portion of our SUM.
For code we review the generated source.
We put the model into our version control system, and lock down model elements after they have been reviewed. If your version control tool makes things read only when they are checked in, it prevents you from accidentally changing a model element.
The COM interface is also good for dumping the model to make PowerPoint slides of diagrams if you want to present your design to a customer. You will have to tweak the slides after they are generated, as the pictures usually end up looking a little funny, but it gives a quick starting point.
还可以通过将属性
CG::General::IncrementalCodeGenAcrossSession
设置为false
来阻止 Rhapsody 将时间戳写入 sbs 文件。这有助于减少不必要的数据量。请参阅此链接
It is also possible to prevent Rhapsody from writing timestamps to the sbs files by setting the property
CG::General::IncrementalCodeGenAcrossSession
tofalse
. This can help reduce the amount of unnecessary data.See this link