0

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

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

所以现在我们需要评估和选择满足以下要求的标准 UML 工具。

@易于使用。易于绘制状态图。

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

@ OR 插件或工具的可用性来生成捕获交易的文本文件。

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

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

4

3 回答 3

1

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

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

至于 EA 和 VP,最后一个对项目管理的支持比较好,但是在 EA 中的 diag 绘图更方便一些。它不太直观,但是当你抓住它时,它就更容易了。所以,现在我决定选择 EA。但这是一个 49 比 51 的决定。我建议您安装两者并在它们上尝试您的任务并尝试自己绘制。对我来说方便的事情,对你来说可能很尴尬。他们都有 30 天的免费评估时间。带有工程选项的版本也都约为 200 美元。以及屏幕上所有内容的不同组织。真的很难选择。

于 2014-02-14T09:03:59.950 回答
0

正如 Gangnus 所说,您需要选择最适合您特定要求的工具。UML 只是视觉表示的标准;底层数据存储完全由工具制造商决定,代码生成也是如此。不要期望在新工具中没有大量的动手工作就能够重用大部分旧的 Rose 模型。

在您的两种选择中,我的建议是 EA。

Rhapsody 是它的第三个所有者,这对于软件产品来说通常不是一个好兆头,它只是 IBM 提供的几种建模工具之一(参见我对 EA vs RSA 的回答)——而 Sparx Systems 只有一个产品,并且专注于它的整个工程人员都在这方面。

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

EA 是 Windows 原生应用程序,通过 Wine 或其商业支持版本 Crossover 支持 Linux。它对团队建模有很好的支持,对版本控制有一些支持。它支持模型转换和文档生成,并带有用于 Java 和 C# 的脚本引擎和 API,使其具有极强的适应性。还有相当不错的第三方加载项选择。

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

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

于 2014-02-18T11:05:32.010 回答
0

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

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

于 2016-06-16T20:30:41.563 回答