-- 作者:hjx_221
-- 发布时间:9/24/2010 2:23:00 PM
--
NOTES [1] enhancement:增强。 [2] periodic:定期的。 [3] budget:预算。 [4] rule of thumb:经验法则。 [5] build into:内含在,构建在……中。 [6] microcosm:微观世界,缩影。 [7] reinitiate:回置,回到。 KEYWORDS software maintenance 软件维护 telecommunication protocol 远程通信协议 翻译: 术语“软件维护”用来描述在软件产品交付给用户以后所进行的软件工程活动。软件生存周期维护阶段指软件产品完成有效工作的时间段。典型的情形是:一个软件产品的开发周期持续1年或2年,而它的维护阶段则历时5至10年。 维护活动包含增强软件产品、调整软件产品以适应新的环境和纠正问题。软件产品增强可以包含:提供新的功能,改进用户显示和交互模式,升级外部文档和内部文件说明,或升级系统的性能指标。软件对新环境的适应可以包括把软件移植到不同的机器,或者,例如修改软件以适合于新的远程通信协议或添加的磁盘驱动器。问题的纠正包括修改和重新确认软件以纠正错误。有些错误需要立即采取措施,有些则可按计划定期纠正,而另一些错误虽然测知但却永远未作纠正。 维护活动在整个生存周期预算中占很大比例是公认的。它占软件生存周期费用的70%是常见的(而软件开发费占30%)。按一般经验法则,软件维护预算分配是:60%用于功能增强;适应新环境和纠错各占20 %。 如果维护要花费某一软件产品整个生存周期的70%,而维护费用的60%用于此产品的功能增强,那么,产品功能加强要占产品整个生存周期的42%。据此观点,很明显产品在开发周期结束时交给用户的仅仅是系统的最初版本。有一些作者已建议比较合适的软件生存周期模型应该是开发——进化一一进化…… 由此观点可见软件开发的主要目标应是生产可维护的软件系统产品。像所有高层质量属性一样,可维护性可用包含在产品内部的属性来表达。影响软件可维护性的主要产品属性有明晰度、模块性、良好的内部源代码文档说明以及适当的支持文档。 还应看到软件维护是软件开发周期的缩影。软件的功能增强和适应使开发重新回到分析阶段,而软件纠错可使开发周期回到分析阶段、设计阶段或实现阶段。因此,所有用于开发软件的工具和技术对软件维护都有潜在的用途。 软件维护的分析活动包括了解希望所做的更改的范围和影响,以及对所作更改的限制条件。维护阶段的设计包括根据想作的更改来重新设计产品,然后必须实现更改,代码的内部文档说明必须更新,必须设计新的测试用例以评估修改的恰当性。还必须更新支持文档(需求、设计规格说明、测试计划、操作原理、用户手册、交叉参考目录等)以反映所做的更改。更新后的软件版本(代码和支持文档)必须分发到各个用户站点,各站点的配置控制记录必须更新。 所有这些任务都必须通过系统的、有条理的方法去跟踪和分析更改请求,仔细地重新设计,重新实现,重新确认和重新对所作更改编制文档来完成。否则,软件产品将因为维护过程而很快降级。常常有设计良好、实现合理和有合适文档的初版软件产品因不适当的维护过程而变得不可维护,这会导致重新实现一个模块或子系统比修改已存在版本更容易和花费更少。软件维护活动一定不要损坏软件的可维护性。源代码中的一个细微更改往往需要测试套件和支撑文档作大规模变动。忽视源代码中所谓“小小的变动”到头来付出代价是软件维护中最重大的问题之一。
|