任何人都可以推荐任何UML工具进行验证

时间:2009-07-27 09:35:33

标签: language-agnostic uml

不幸的是我还不熟悉UML(我)并不知道标准工具中有哪些验证。但在阅读this之后,似乎缺少验证,所以我向SO寻求建议。

我希望它能找到像

这样的东西
  • 逻辑不一致
  • 断开连接的部分(岛屿)
  • 无法到达的部分(例如,仅来自过渡的状态)
  • 缺少案例(项目定义为3个过渡,但仅使用2个)
  • 我不知道的其他事情,但有些人习惯于UML。

4 个答案:

答案 0 :(得分:1)

不,我不知道有任何UML工具可以做这些事情。我已经为我的雇主做了一个最近的工具调查,我没有看到任何这样的功能。

当然,您会意识到您要求的高级功能。你写的就好像你期望它们是常见的一样。

答案 1 :(得分:1)

Sparx Enterprise Architect做了很多验证。我不知道它是否能完成所有这些。

答案 2 :(得分:1)

如果您使用Visual Studio,则可以尝试使用VS 2010 Ultimate的RC版本。您可以为.NET代码生成依赖关系图,以查找断开连接或无法访问的代码。您可以从依赖关系图或现有工件创建层图,绘制允许的依赖关系,然后使用图层验证来确保不引入无效依赖关系。此版本还包括5个UML图:类,组件,序列,用例和活动。

如何:从代码生成图形文档http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource

  

您可以使用Visual Studio Ultimate来探索现有代码中的关系和组织   生成有向图文档。这些图表代表代码元素及其关系   作为通过链接或边连接的一组节点。您可以使用这些图表来帮助您   可视化,探索和分析代码。

如何:使用Architecture Explorer查找代码http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx

  

您可以选择要使用的可视化代码的垂直部分或“切片”   Architecture Explorer。您可以在Visual Studio解决方案中探索源代码   在.dll文件或.exe文件中编译托管代码。您可以使用Architecture Explorer进行浏览   通过安装其他提供商的其他域。当您找到您想要的代码时   可视化,您可以生成图表来探索该代码中的关系。

如何:从工件创建图层http://msdn.microsoft.com/en-us/library/dd465141%28VS.100%29.aspx

  

...使用图层图可视化系统的高级架构并验证   代码符合此设计。要执行此任务,请组织并关联   Visual Studio解决方案中的工件到逻辑,抽象组或层。这些层   描述这些工件执行的主要任务或系统的主要组件。箭头   层之间表示这些之间存在或应该存在的相互依赖关系   文物。要对代码强制执行体系结构约束,请描述预期的依赖关系   该图表然后根据图表验证代码。通过在此使用层图   方式,您可以帮助使代码更容易理解,重用和维护。

Layer Diagram http://i.msdn.microsoft.com/Dd465141.UML_LayerRefReading(en-us,VS.100).png

如何:针对图层验证代码http://msdn.microsoft.com/en-us/library/dd409395%28VS.100%29.aspx

  

根据图层图验证代码有助于您对代码实施架构约束   随着它的发展。执行此任务时,会将代码中的依赖项与依赖项进行比较   在图上。

RC下载http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a

Visual Studio 2010建筑发现&建模工具论坛:http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads

答案 3 :(得分:0)

我可以指出一些研究原型工具,专门用于验证和验证有或没有OCL约束的类图(例如我自己的验证工具http://gres.uoc.edu/UMLtoCSP/http://www.db.informatik.uni-bremen.de/projects/USE/)但是 这些工具就是这样的:研究工具(具有所暗示的所有限制)。

我并不是真的知道任何提供高级验证/验证功能的商业CASE工具。