针对架构的自动化
JDepend 还有哪些魔力?
存在多种方法通过 JDepend 添加主动检查。实际上,JDepend 建议使用其 DependencyConstraint 类。尽管使用 DependencyConstraint 非常简单,但我还是不选择它,因为它只具有使用 API 执行架构规则这么一种途径,而且不能可靠地根据我的需求工作。还有其他一些工具支持包依赖关系遵从性;可参阅 参考资料 以了解更多细节。
现在您能够用自己的构建过程主动发现与期望架构的设计违背了。此外,我已向您展示了几个可能的示例之一 —— 您一定能够获得创造性的方法并分析类似 Instability 包这样的度量,从而便于判定架构的整体健壮性。
我所介绍的这个方法是一种简单的方式,可以减少为判定架构遵从性而不断反向设计代码并分析图表的需求。如果您在使用持续集成系统(Continuous Integration system),您可将这些测试用作一个安全网络,确保检查版本控制系统的代码传递这些架构规则 —— 每当进行了一次改动时。如果您改变了架构,只要改变您的 JUnit 测试规则,就可确保您的团队遵守了项目标准。这就是我所称的使用主动方式断言架构可靠性。
参考资料
学习
您可以参阅本文在 developerWorks 全球站点上的 英文原文 。
“用 JDepend 管理依赖性”(Glen Wilcox,OnJava,2004 年 1 月):在这篇文章中,Glen Wilcox 介绍了免费工具 JDepend,它能够提供软件架构的质量分析。
Separation of Concerns:按照此原则构建架构被视为最佳实践。
“ 追求代码质量 :软件架构的代码质量”(Andrew Glover,developerWorks,2006 年 4 月):使用耦合度量支持系统架构。
“使用简单阈值执行构建失败”(TestEarly):自动构建系统(如 Ant)非常适于使用主动质量检测。
“JDepend”(Mike Clark,Clarkware Consulting):请参看 Dependency Constraint Tests with JUnit 章节。
“架构复杂性”(Grady Booch,IBM Rational):“(您)能对不同软件密集型系统的架构复杂性做有意义的比较吗?”
让开发自动化 (Paul Duvall,IBM developerWorks):请阅读完整的系列。
developerWorks Java 技术专区:数百篇关于 Java 编程各方面的文章。
文章来源于领测软件测试网 https://www.ltesting.net/