【发布时间】:2009-07-27 09:35:32
【问题描述】:
不幸的是,我(还)不熟悉 UML,而且我不知道标准工具中有哪些验证。但在阅读this 之后,似乎缺少验证,所以我向 SO 寻求建议。
我想让它找到类似的东西
- 逻辑不一致
- 断开的部分(岛)
- 无法到达的部分(例如,只有 from 转换的状态)
- 缺少案例(一个项目定义了 3 个转换,但只使用了 2 个)
- 其他我不知道但习惯 UML 的人会想要的东西。
【问题讨论】:
标签: language-agnostic uml
不幸的是,我(还)不熟悉 UML,而且我不知道标准工具中有哪些验证。但在阅读this 之后,似乎缺少验证,所以我向 SO 寻求建议。
我想让它找到类似的东西
【问题讨论】:
标签: language-agnostic uml
如果您使用 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
您可以选择要可视化的代码的垂直部分或“切片” 架构探索者。您可以在 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
根据层图验证代码有助于您对代码实施架构约束 随着它的发展。执行此任务时,会将代码中的依赖项与依赖项进行比较 在图表上。
Visual Studio 2010 架构发现和建模工具论坛:http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads
【讨论】:
不,我不知道有任何 UML 工具可以做这些事情。我最近为我的雇主完成了一项工具调查,但没有看到任何此类功能。
您当然会意识到您所要求的功能水平是多么高。你写的好像你期望这些很常见。
【讨论】:
Sparx Enterprise Architect 做了很多这些验证。不知道是不是都这样。
【讨论】:
我可以指出一些研究原型工具,专门用于验证和验证有或没有 OCL 约束的类图(例如我自己的验证工具 http://gres.uoc.edu/UMLtoCSP/ 或 http://www.db.informatik.uni-bremen.de/projects/USE/)但是 这些工具就是:研究工具(这意味着所有的限制)。
我并不真正了解任何提供高级验证/验证功能的商业 CASE 工具。
【讨论】: