一旦软件进去使用期,一些暴露出来的软件问题需要进一步修正和改善,同时新的需求会不断出现,原有的需求也会随着业务的变化而发生变化。因此,软件系统在交付之后仍然在不断地演化,即进去软件的运行维护阶段,以保证软件长期处于可用状态,并能够适应实际业务的不断变化。
软件在更改过程中的演化特征:1.软件维护是一个必然的过程2.软件的不断修改会导致软件的退化3.软件系统的演化特性是在早期的开发阶段建立起来的4.软件开发的效率与投入的资源无关5.在软件系统中添加新的功能不可避免的会产生新的缺陷。
软件维护是指在软件运行或维护阶段对软件产品所进行的修改,软件维护可以分成三种类型:改正性维护,适应性维护,完善性维护。其特点为:1.软件维护受开发过程影响大2.软件维护困难多3.软件维护成本高。
几乎每个成熟的软件开发机构都要维护15年或更多年以前开发的程序,这种程序也被称作“遗留系统”。遗留系统通常对组织的核心业务提供关键性支持,因此需要采用先进的软件工程方法对整个软件或软件中的一部分重新设计、编写和测试,以提高软件的可维护性和可靠性,保证系统的正常运行,这就是软件再工程。