Rational、EA或其他什么



有人对Rational Software Architect与Sparx EA有什么想法吗?还有其他我应该看的工具吗?具体来说,我对以下内容感兴趣;

  1. 坚持一些方法论(RUP、SOMF等)——我们还没有解决现在可以选择一个,但需要选择一个适合SoA架构的
  2. 多重建模——我需要从硬件(理想情况下具有跨物理和云的成本/规范跟踪)到部署,课程/服务等
  3. 往返--反转我们的代码/数据,然后在向模型添加新类时生成存根
  4. NoSQL支持
  5. 专注于代码--我们不那么以数据为中心,我们不需要建模表和实体

看起来rational和EA都将完成大部分工作,rational显然以RUP为先导。两者似乎都不做硬件映射/成本计算,尽管sybase powerbuilder做了——不确定我是否遗漏了什么?

关于如何正确评估/选择一个,有什么建议吗?还有什么我应该看的吗?

仅基于这些标准很难进行并排,但这里有一些常见的差异。

RSA基于Eclipse建模框架和UML2层。这意味着您处于Eclipse生态系统中,可以在大多数平台上运行该工具,并且可以使用任何EMF和Eclipse插件来增强RSA。Eclipse的缺点是GUI,它基于SWT,感觉笨重而缓慢。

EA是Windows原生版本,在Linux上通过Wine/CrossOver支持。插件体系结构是专有的,因此插件是专门为EA开发的。GUI感觉就像任何Windows程序,快速而流畅。

EMF/UML2提供了比EA的基于数据库的数据模型更高程度的UML一致性。RSA可能会感到繁琐和对细节的痴迷,而EA可能会感到松懈。

RSA不支持SysML。EA确实如此。

EA支持SoaML。我不认为RSA会这样做,但我不确定。

代码正向/反向工程:我不确定RSA本身是否提供任何此类功能,或者是否只是使用适当的Eclipse插件的问题。EA支持十几种源语言的正向和反向工程,可以对Java和.NET二进制文件进行反向工程,还可以记录本机二进制文件的执行路径。

RSA和EA都支持模型到模型的转换。最有可能的是,你所追求的特定转换不会得到支持,你必须自己构建它们。这两种工具都可以在RSA中通过Eclipse插件体系结构和Java进行扩展;在EA中通过专有的基于模型的机制("MDG技术")和.NET.

在方法论方面,我知道EA支持SOMF(以及TOGAF和UPDM),但这与强制执行不同。我不知道RSA是否支持任何框架或方法体系。

硬件在大多数建模工具中都很棘手,因为它不是UML的核心。您可以对节点和设备进行建模,仅此而已

总的来说,我不认为你会找到任何适合你特定需求的开箱即用的工具。相反,要做好适应的准备,也要改变你的内部流程。

也就是说,为了纯粹的建模能力、功能和易用性,我会选择EA。如果您想确保更高程度的UML一致性和/或您已经在使用基于Eclipse的工具,请查看RSA。

证书/披露:我是IBM认证的RSA解决方案设计师,可能是瑞典EA方面的领先专家。我工作的公司销售一种基于RSA的产品,旨在提高RSA建模的生产效率和质量。

通常,您需要一个基于元对象设施(MOF)的工具,因为这允许工具快速实现标准的新版本。IBMRSA不是一个基于MOF的工具,它比当前的工具落后了几个版本。我知道它甚至还不支持UML2.0。

我会考虑以下工具:

  • Sparx Enterprise Architect-便宜得离谱
  • Magic Draw-根据所有报告,最符合标准
  • IBM Rational软件架构师
  • Artisan Studio-出色的DoDAF和UPDM支持