工业环境下的进化耦合分析:挑战与改进方向
1. 引言
在软件开发过程中,模块间的耦合管理至关重要。低耦合的软件不仅更易理解,还更易于修改且更可靠。一种流行的重构模块间耦合的方法是基于挖掘变更历史,即进化耦合分析。该方法虽已应用于大规模工业和开源软件,但尚未在无研究人员支持的情况下被工业界广泛采用。本文通过一个案例研究,探讨了将进化耦合分析引入工业界的相关问题,包括工业需求、现有工具的性能以及潜在的改进方向。
2. 变更相关概念
软件系统的开发、维护和演进通常是迭代进行的。每次迭代中,软件会因添加功能、修复漏洞或提升性能而发生变更。变更完成后,软件需达到可接受状态,如编译通过且验收测试成功。迭代可在不同抽象层次上观察到,进化耦合分析也已应用于不同抽象层次的迭代。
变更具有以下特性:
- 描述变更的解释消息
- 负责变更的人员集合
- 为实现变更而修改的模块和文件集合
- 实施变更的人员集合
- 实施变更所花费的精力(如以小时为单位)
- 变更完成并被接受的日期和时间戳
- 将变更提交到版本控制系统的人员
在变更过程中,部分特性会被存储在仓库中。例如,工时管理记录变更花费的时间,缺陷跟踪系统记录漏洞解决情况,版本控制系统记录文件的修改。对于进化耦合分析,需要变更集(即一次变更中一起修改的模块集合)。该信息可能由版本控制系统捕获,若未捕获则需近似处理,如使用时间窗口从CVS恢复变更集。
然而,仓库中的信息常需预处理,因为仓库的概念模型与进化耦合的概念模型并不完全匹配。例如,版本控制系统会捕获任何修改,包括未编译的日常备份,而进化耦合分析假设变更已完成且软
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



