软件可维护性综述

1.软件维护的目标、任务、分类与特点

1、软件维护目标:
定义:在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。
目的:通过必要的维护工作使得系统持久的满足用户的需要
2、软件维护的任务:
在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。
3、软件维护的分类:
1)改正性维护;
2)适应性维护;
3)完善性维护;
4)预防性维护。
4、软件维护的特点:
1)改正性维护:
A、在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分隐藏的错误遗留到运行阶段。
B、这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。
C、为了识别和纠正软件错误、改正软件 性能上的缺陷、排除实施中的误使用, 应当进行的诊断和改正错误的过程就 叫做改正性维护。
2)适应性维护:
在使用过程中, br> 外部环境(新的硬、软件配置) br> 数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。
为使软件适应这种变化,而去修改软 件的过程就叫做适应性维护
3)完善性维护:
在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。 br> 为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。 br> 这种情况下进行的维护活动叫做完善性维护。
4)预防性维护:
预防性维护是为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。
预防性维护定义为:采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制 和测试。

2.影响软件可维护性的因素

决定软件可维护性的因素有:
A、可理解性
软件可理解性表现为外来读者理解软件的结构、接口、功能和内部过程的难易程度。模块化、详细的设计文档、结构化设计、源代码内部文档和良好的高级程序设计语言等等,都对改进软件的可理解性有重要贡献。
B、可测试性
诊断和测试的难易程度主要取决于软件容易理解的程度。良好的文档对诊断和测试是至关重要的。此外,软件结构、可用的测试工具和调试工具,以及以前设计的测试过程也都是非常重要的。维护人员应该能够得到在开发阶段用过的测试方案,以便进行回归测试。在设计阶段应该尽力把软件设计成容易测试和容易诊断的。
C、可修改性
软件容易修改的程度和软件设计原理和规则直接相关。耦合,内聚,局部化,控制域的关系等等,都影响软件的可修改性。
D、可移植性
可移植性表明程序转移到一个新的计算环境的可能性的大小。或者它表明程序可以容易地、有效地在各种各样的计算环境中运行的容易程度。
E、可重用性
可重用性定义为程序不修改或者稍加改动就在不同环境中可以重新使用的容易程度。
文档:可维护性的决定因素

3.结合自己开发的软件项目,分析通过哪些环节可以提升软件的可维护性

软件可维护性的因素,软件可维护性可以定性地定义为:维护人员理解、改正、改动和改进这个软件的难易程度。提高可维护性是支配软件工程方法论所有步骤的关键目标。
维护就是在软件交付使用后进行的修改,修改之前必须理解修改的对象,修改之后应该进行必要的测试,以保证所做的修改是正确的。如果是改正性维护,还必须预先进行调试以确定故障。因此,影响软件可维护性的因素主要有下述三个。
1.可理解性
软件可理解性表现为外来读者理解软件的结构、接口、功能和内部过程的难易程度。模块化、详细的设计文档、结构化设计、源代码内部的文档和良好的高级程序设计语言等等,都对改进软件的可理解性有重要贡献。
2.可测试性
诊断和测试的难易程度主要取决于软件容易理解的程度。良好的文档对诊断和测试是至关重要的。此外,软件结构、可用的测试工具和调试工具,以及以前设计的测试过程也都是非常重要的。维护人员应该能够得到在开发阶段用过的测试方案,以便进行回归测试。在设计阶段应该尽力把软件设计成容易测试和容易诊断的。
3.可修改性
软件容易修改的程度和软件设计原理和规则直接有关。耦合、内聚、局部化、控制域与作用域的关系等等,都影响软件的可修改性。
上述三个可维护性因素是紧密相关的。维护人员在正确理解一个程序之前根本不可能修改它;如果不能进行完善的诊断和测试,则表面正确的修改可能引进其他故障。
其他方法:
1).适用先进的软件开发技术和工具
为了改善软件的可维护性,应该及时学习并尽量去适用能提高软件质量的技术和开发工具。
例如,模块化技术、结构化程序设计技术、面向对象等一些先进的软件开发技术。
2).明确软件的质量目标和优先级
如果要程序满足可维护性的七种特性的全部要求,那是不现实的。因为,有些特性是相互促进的,而有些特性则是相互矛盾的。
每一种质量特性的相对重要性不但因维护类型而不同,而且因程序的用途和计算机环境不同。因此,在提出软件质量目标的同时还必须规定它们的优先级,这样有助于提高软件的质量,减少软件生存周期的费用。
3).质量保证审查
要提高软件可维护性,必须要进行质量保证审查。质量保证审查可分为四种类型:在检查点进行检查、验收检查、周期性维护检查、对软件包检查。
4).选择可维护的程序设计语言
编码所使用的程序设计语言对软件的可维护性影响很大。低级语言很难理解,因此也很难维护。高级语言比低级语言容易理解,有更好的可维护性。
某些高级语言可能比另一些更容易理解。尤其是第四代语言更容易理解,更容易编程,因此更容易维护。
5).改进程序的文档
程序文档对提高程序的可理解性有着重要的作用。规范、完整、一致的文档是建立可维护性的基本条件。
在软件生命周期的每个阶段的技术复审和管理复审中,都应对文档进行检查,对可维护性进行评审。

来源:gxgalaxy

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年9月8日
下一篇 2019年9月8日

相关推荐