要求在UML工具中从StateCharts生成代码

时间:2014-02-14 05:36:09

标签: c++ uml enterprise-architect rhapsody statechart

我们需要生成c ++&在UML工具中绘制的StateCharts中的Java代码。

以前我们使用过“Rational Rose”,但由于某些许可证错误,我们不能再使用它了。在rose中有一个插件可用于生成stateChart中的文本文件,该文件与我们的框架集成。

所以现在我们需要评估&选择符合以下要求的标准UML工具。

@易于使用。易于绘制stateCharts。

@在GNU Linux环境中从stateCharts for C ++生成代码的能力。 [包含所有队列,线程需求由生成的代码处理。所以用户只能专注于业务逻辑]

@ OR可用于生成捕获事务的文本文件的插件或工具。

两种工具作为强有力的竞争者而出现 - IBM的Rhapsody& SparxSystems EnterpriseArchitect。

让我知道您在这方面的建议和经验。提前致谢

3 个答案:

答案 0 :(得分:1)

我正在为我们公司的UML工具进行比较。我尝试了几种专有工具,包括IBM,sparx EA和VP UML。只有最后两个是可以接受的 - 至少有点方便。虽然不多,但比其他人好。

至于IBM,我有一个糟糕的安装过程,其中包含一些未知的东方语言和手动注册表编辑的说明。它甚至不会在这个阶段做出承诺。当我管理它时,我只尝试了类图并发现它的元素集已经过时很长时间了。他们不符合UML标准,甚至没有尝试。我不会将IBM工具称为严重或强大的工具。我没有尝试过状态机图,但如果不得不吐第一个勺子,我就不会吃整个碗来知道我不喜欢它。

对于EA和VP,最后一个对项目管理有更好的支持,但在EA中,诊断绘图更方便一些。它不太直观,但是当你抓住它时,它会更容易。所以,现在我已经决定使用EA了。但这是一个49到51的决定。我会建议你安装这两个并尝试你的任务,并尝试自己绘制。什么对我来说很方便,对你来说可能很尴尬。他们都有30天的评估空闲时间。具有工程选项的版本也都是200美元左右。并且屏幕上的所有内容都不同。真的很难选择。

答案 1 :(得分:0)

正如Gangnus所说,您需要选择最适合您特定要求的工具。 UML只是视觉表示的标准;底层数据存储完全取决于工具制造者,实际上是代码生成。如果没有在新工具中进行大量的实际操作,不要期望能够重复使用您的旧Rose模型。

我推荐的两种选择是EA。

Rhapsody是其第三个所有者,这通常不是软件产品的好兆头,而且它只是IBM提供的几种建模工具之一(参见my answer re EA vs RSA) - 而Sparx Systems只有一个单一的产品,并将其整个工程人员集中在那里。

使用EA,您可以使用十几种语言(包括Java,C,C ++和C#)转发和反向工程代码,并添加自己的代码。您可以根据需要修改代码生成脚本,此外,您可以从状态图生成代码,反向工程二进制代码,并将运行代码的执行路径记录为序列图。

EA是一个Windows原生应用程序,通过Wine或其商业支持的版本Crossover提供Linux支持。它对团队建模和版本控制的一些支持提供了很好的支持。它支持模型转换和文档生成,并附带脚本引擎和Java和C#的API,使其具有极强的适应性。还有一个非常好的第三方插件选择。

与Rhapsody合作的主要原因是,如果您已经使用了大量IBM工具并想要集成它们。如果您没有这种需求,我会选择EA。

披露:我是(独立)EA顾问。

答案 2 :(得分:0)

您应该尝试GenMyModel它支持状态图,并允许您直接在浏览器中定义和运行自己的代码生成器,而无需安装任何内容。然后,您可以与团队共享您的模型和发电机。

由于它是一个Web应用程序,它适用于任何操作系统,包括GNU / Linux。

相关问题