[原]Lehman的软件演化定律
- - 麦哲思科技自20世纪70年代以来,M. Lehman通过对软件系统演化现象的观察,陆续总结了8条定律,称之为定律并非那么严谨,但是对于认识软件维护的规律,改进软件维护的过程具有很好的指导意义. 1 (1974年)持续变更定律. 系统必须持续调整以适应各种变化,否则这些系统将变得越来越不令人满意. 2 (1974年)复杂度增长定律.
自20世纪70年代以来,M. M. Lehman通过对软件系统演化现象的观察,陆续总结了8条定律,称之为定律并非那么严谨,但是对于认识软件维护的规律,改进软件维护的过程具有很好的指导意义。
1 (1974年)持续变更定律。系统必须持续调整以适应各种变化,否则这些系统将变得越来越不令人满意。
2 (1974年)复杂度增长定律。随着系统的演化,其复杂度会逐渐增加,除非采取措施来降低或保持其复杂度。
3 (1974年)自我调整定律。软件演化过程的是自调整的,每次演化版本的度量数据近似正态分布。
4 (1978年)组织稳定性守恒定律。尽管软件开发组织随着时间的推移会发生变化,但软件演化过程的总体生产率是基本稳定的。
5 (1978年)熟悉度守恒定律。系统的每次更新量保持稳定。系统所需完成的更改越多,维护人员掌握所有更改所需的技能和知识就越困难,这会减缓系统的更新速度。
6 (1991年)持续增长定律。在系统生存周期内,系统功能数量必须持续增加才能维护客户满意度。
7 (1996年)质量下降定律。随着软件的不断演化,系统质量看起来会下降。
8 (1996年)反馈系统定律。 系统演化过程是一个多循环、多代理、多层次的反馈系统。反馈来自于多个方面,如用户、业务领域、环境、系统本身等,系统需要对这些反馈作出反应,随着系统的老化,复杂度的增加,变更往往变得越来越困难。