文档详情

第6章软件维护6.1软件维护的内容.ppt

发布:2017-04-18约9.76千字共43页下载文档
文本预览下载声明
6.1 软件维护的内容 6.2 软件维护的特点 6.3 软件维护的实施 6.4 软件的可维护性 ;第6章 软件维护; 2. 适应性维护 随着计算机的飞速发展,计算机硬件和软件环境在不断发生变化,数据环境也在不断发生变化。为了使应用软件适应这种变化而修改软件的过程称为适应性维护。 例如,某个应用软件原来是在DOS环境下运行的,现在要把它移植到Windows环境下来运行;某个应用软件原来是在一种数据库环境下工作的, 现在要改到另一种安全性较高的数据库环境下工作,这些变动都需要对相应的软件作修改。这种维护活动要占整个维护活动的25%。  ; 3. 完善性维护 在软件漫长的运行时期中,用户往往会对软件提出新的功能要求与性能要求。这是因为用户的业务会发生变化, 组织机构也会发生变化。为了适应这些变化,应用软件原来的功能和性能需要扩充和增强。这种增加软件功能、增强软件性能和提高软件运行效率而进行的维护活动称为完善性维护。 例如,软件原来的查询响应速度较慢,要提高响应速度;软件原来没有帮助信息,使用不方便, 现在要增加帮助信息。 这种维护性活动数量较大,占整个维护活动的50%。 ; 4. 预防性维护 为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。 这是为以后进一步的运行和维护打好基础。 这需要采用先进的软件工程方法对需要维护的软件或软件中的某一部分进行设计、编码和测试。在整个维护活动中,预防性维护占很小的比例,只占4%。  ;6.2 软件维护的特点; 2. 结构化维护 用软件工程思想开发的软件具有各个阶段的文档,这对于理解、掌握软件功能、 性能、软件结构、数据结构、系统接口和设计约束有很大作用。 进行维护活动时, 需从评价需求说明开始,搞清楚软件功能、性能上的改变;对设计说明文档进行评价,对设计说明文档进行修改和复查;根据设计的修改,进行程序的变动; 根据测试文档中的测试用例进行回归测试;最后,把修改后的软件再次交付使用。 这对于减少精力、减少花费和提高软件维护效率有很大的作用。 ; 6.2.2维护的困难性 软件维护的困难性主要是由于软件需求分析和开发方法的缺陷造成的。软件生存周期中的开发阶段没有严格而又科学的管理和规划,就会引起软件运行时的维护困难。这种困难表现在如下几个方面:  (1) 读懂别人的程序是困难的。 要修改别人编写的程序, 首先要看懂、理解别人的程序。 而理解别人的程序是非常困难的,这种困难程度随着程序文档的减少而很快的增加, 如果没有相应的文档,困难就达到非常严重的地步。一般程序员都有这样的体会, 修改别人的程序, 还不如自己重新编程序。  ; (2) 文档的不一致性。 文档不一致性是维护工作困难的又一因素。它会导致维护人员不知所措,不知根据什么进行修改。这种不一致表现在各种文档之间的不一致以及文档与程序之间的不一致。这种不一致是由于开发过程中文档管理不严所造成的。在开发中经常会出现修改程序却遗忘了修改与其相关的文档,或某一文档做了修改, 却没有修改与其相关的另一文档这类现象。要解决文档不一致性, 就要加强开发工作中的文档版本管理工作。  (3) 软件开发和软件维护在人员和时间上的差异。 如果软件维护工作是由该软件的开发人员来进行,则维护工作就变得容易,因为他们熟悉软件的功能、结构等。但通常开发人员与维护人员是不同的, 这种差异会导致维护的困难。 ; 6.2.3软件维护的费用 软件维护的费用在总费用中的比重是在不断增加的, 它在1970年占35%~40%, 1980年上升到40%~60%, 1990年上升到70%~80%。  软件维护费用不断上升,这只是软件维护有形的代价。 另外还有无形的代价,即要占用更多的资源。由于大量软件的维护活动要使用较多的硬件、软件和软件工程师等资源,这样一来,投入新的软件开发的资源就因不足而受到影响。 由于维护时的改动,在软件中引入了潜在的故障,从而降低了软件的质量。 ; 软件维护费用增加的主要原因是软件维护的生产率非常低。 例如,在1976年美国的飞行控制软件每条指令的开发成本是75美元,而维护成本是每条指令大约4000美元,也就是说生产率下降了50倍。  用于软件维护工作的活动可分为生产性活动和非生产性活动两种。生产性活动包括分析评价、修改设计和编写程序代码等。 非生产性活动包括理解程序代码功能、解释
显示全部
相似文档