第十一章 软件演化
一旦软件进入使用期,一些暴露出来的软件问题需要进一步修正和改善,同时新的需求会不断出现,原有的需求也会随着业务的变化发生改变。
一.软件演化的特性
1.软件维护是一个必然的过程;
2.软件的不断修改会导致软件的退化;
3.软件系统的演化特性是在早起的开发阶段建立起来的;
4.软件开发的效率与投入无关;
5.在软件系统中添加新的功能不可避免的会产生新的缺陷。
二.软件维护
软件维护的三种类型:改正形维护;适应性维护;完善性维护。
软件维护的特点:
1.软件维护受开发过程影响大
2.软件维护困难多
3.软件维护成本高
三.软件再工程
1.对象选择
2.反向工程
3.文档重构
4.代码重构
5.数据重构
6.正向工程