Lattix架构分析工具

时间:2009-04-28 10:54:59

标签: architecture analysis lattix

我遇到了Lattix,通过调查代码来分析架构。它支持C / C ++,Java,.Net等。可以定义某些规则来维护定义的体系结构。该工具可以在构建时标记任何违规。

是否有人使用此工具或任何其他类似工具?我看到这个工具在开发中有一些好处,但不确定是否必须使用这种工具?

4 个答案:

答案 0 :(得分:1)

我们使用Lattix和NDepends来跟踪程序集的依赖关系。

这两个工具都支持通过依赖结构矩阵(DSM)静态可视化程序集和类之间的依赖关系。 DSM使您能够显示应用程序的体系结构。例如,如果使用分层,则应在DSM中显示。循环依赖关系也将在DSM中可见。

OOPSLA05-dsm.pdf

中可以找到一个很好的实用介绍

NDepends专门针对.Net并拥有Visual Studio集成。 Lattix还可以为其他语言创建DSM。两者都支持构建集成,允许您在构建中创建规则以防止不正确的依赖。

只需尝试这两种工具,看看生成的DSM是否符合您的预期。检查循环依赖关系并查看是否存在无效依赖关系。例如,直接使用数据访问层而不是使用业务层的用户界面。

答案 1 :(得分:0)

NDepend是一个非常完整的工具,用于分析.Net程序的软件架构。这种工具非常便于跟踪依赖关系并测量各种代码指标。

答案 2 :(得分:0)

嗯,这个工具看起来很漂亮,并且在呈现时效果很好 在那之后,所有那些从C ++开始进行逆向工程的工具(根据我对几个版本的Rational Rose,StarUML,Sparx(更好的一个),理解的经验)都陷入了困境。 我可以理解为什么 - C ++中的代码比C#更复杂,更少有序,有链接到库,模块和COM等。
在我们的实际项目中,它(基于理解数据库)逆向工程立即完全冻结(我的意思是硬复位冻结)。
可能是我们需要在WS或服务器上运行它 可能是理解'错误。
复位后,当矩阵打开约200个模块时,它变得非常慢。好吧,我从来没有说过我们的项目开发得很好,对。我们希望研究它以使其更好。 我仍然相信它从长远来看会非常有用(如果你的公司同意支付连续重新检查的费用),但作为所有这些工具,最好从头开始并不断地一直使用它。 注意我们尝试将它与bsc(Microsoft数据库)一起使用,但它也失败了。

答案 3 :(得分:0)

我使用Lattix主要分析C ++ ,. NET,Java和Fortran代码。它有助于新应用程序开发和改进现有软件的体系结构。该工具支持直接导入.NET dll,Java类或jar文件以及SQL连接。如果您正在查看C ++或Fortran,则需要像Klockwork,Understanding或Clang这样的解析器。每次软件构建都可以为Lattix项目设置持续更新 - 这将确保您拥有更新的DSM,以持续监控软件的体系结构。这可以让您了解您的软件如何随时间变化,以及是否有任何代码违反您在设计开始时设置的规则或者是否需要修改任何规则等。对于查看现有软件,该工具可以快速分解系统为您,并确定存在周期性依赖的地方。存在用于基于与其他子系统(例如,类)的接近度来划分系统或基于依赖性模式对子系统进行分组的算法。如果您希望改进现有软件的体系结构并使其模块化,这将非常有用。

kb.lattix.com上有大量信息 - 只需注册阅读文章。另外,我认为它们提供了一个评估版本,您可以通过它来探索该工具是否对您有用。