软件工程7软件维护ppt课件.ppt

上传人:本田雅阁 文档编号:3301862 上传时间:2019-08-09 格式:PPT 页数:25 大小:908.55KB
返回 下载 相关 举报
软件工程7软件维护ppt课件.ppt_第1页
第1页 / 共25页
软件工程7软件维护ppt课件.ppt_第2页
第2页 / 共25页
软件工程7软件维护ppt课件.ppt_第3页
第3页 / 共25页
软件工程7软件维护ppt课件.ppt_第4页
第4页 / 共25页
软件工程7软件维护ppt课件.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《软件工程7软件维护ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件工程7软件维护ppt课件.ppt(25页珍藏版)》请在三一文库上搜索。

1、第7章 软件维护 掌握:软件维护的定义、软件维护的种类、软 件维护的策略、软件维护的实施、软件可维护 的定义、软件可维护性度量、提高软件可维护 性的方法。 7.1 软件维护的 概念 7.1.1 软件维护的定义 第一,它是在软件交付之后进行的,此时绝大部分的 软件已开发完成; 第二,它是基于某种目的(如订正错误、改善性能或 其他属性,或者适应变化的环境等)而对原有系统的 一种修改。 7.1.2 软件维护的种类 要求进行维护的原因多种多样,归结起来 主要有3种类型: (1)改正在特定的使用条件下暴露出来的 一些潜在程序错误或设计缺陷。 (2)因在软件使用过程中数据环境发生变 化(如一个事务处理代码

2、发生改变)或处理环 境发生变化(如安装了新的硬件或操作系统) ,需要修改软件以适应这种变化。 (3)用户和数据处理人员在使用时常提出 改进现有功能,增加新的功能,以及改善总体 性能的要求,为满足这些要求,就需要修改软 件,把这些要求纳入到软件之中。 1改正性维护 在软件交付使用后,由于开发时测试的不彻底、不 完全,必然会有一部分隐藏的错误被带到运行阶段来 。这些隐藏的错误在某些特定的使用环境中就会暴露 。为了识别和纠正软件错误、改正软件性能上的缺陷 、排除实施中的误使用而进行的诊断和改正错误的过 程,就叫做改正性维护。 2适应性维护 随着计算机技术的飞速发展,外部环境(新的硬、 软件配置)或数

3、据环境(数据库、数据格式、数据输 入输出方式、数据存储介质)可能发生变化,为了 使软件适应这种变化,而修改软件的过程就叫做适应 性维护。 3完善性维护 在软件的使用过程中,用户往往会对软件提 出新的功能与性能要求。为了满足这些要求, 需要修改或再开发软件,以扩充软件功能、增 强软件性能、改进加工效率、提高软件的可维 护性。这种情况下进行的维护活动叫做完善性 维护。 4预防性维护 除了以上3类维护之外,还有一类维护活动 ,叫做预防性维护,这种维护活动为了提高软 件的可维护性、可靠性,为以后进一步改进软 件打下良好基础。 7.1.3 软件维护的策略 1改正性维护策略 在软件开发过程中,可以通过使用

4、新技术大大提高软件的可靠 性,并减少改正性维护。这些技术包括数据库管理系统、软件开 发环境、程序自动生成系统、较高级(第四代)语言,应用这些 技术可产生更加可靠的代码。此外,还可利用以下方法提高软件 的可靠性: (1)利用应用软件包。利用应用软件包可开发出比完全由用户 自己开发的系统可靠性更高的软件。 (2)结构化技术。用结构化技术开发的软件易于理解和测试。 (3)防错性程序设计。把自检能力引入程序,通过非正常状态 的检查提供审查跟踪。 (4)周期性维护审查。通过周期性维护审查,在形成维护问题 之前就可确定质量缺陷。 2适应性维护策略 适应性维护不可避免,但可以控制。 (1)配置管理适应性维护

5、时就考虑到硬件变化,以及操作系 统和其他相关环境因素的可能变化,可以减少某些适应性维护的 工作量。 (2)将与硬件、操作系统,以及其他外围设备有关的程序归 到特定的程序模块中,也可以减少某些适应性维护的工作量。 (3)使用内部程序列表、外部文件以及处理的例行程序包, 可为维护时修改程序提供参考。 3完善性维护策略 用前两类维护中列举的方法,也可以减少完善性维护的工作 量。此外,通过为用户提供软件系统的原型,使用户通过研究原 型进一步完善他们的功能要求,同样可以减少完善性维护。 7.1.4 软件维护的代价 软件维护的代价与软件的复杂性有关。近些年 来,随着软件复杂性的不断提高,软件维护的 代价也

6、在逐步上升。根据有关资料表明,70年 代用于维护软件的费用只占软件总预算的35% 40%,80年代上升为40%60%,到了90年 代则上升为70%80%。 除此之外,软件维护还有一些额外的代价。例 如,当看起来合理的变更要求不能及时满足时 ,可能会引起用户的不满;由于维护时的改动 ,在软件中引入新的错误,从而降低了软件的 质量;当必须把软件开发工程师调去从事维护 工作时,对开发工作会造成影响等。 7.2 软件维护的 实施 7.2.1 维护组织 图7-1 软件维护控制流程 7.2.2 维护申请报告 维护申请报告是由软件组织外部提交的文档 ,它是计划维护工作的基础。软件组织内部应 相应地做出软件修

7、改报告,指明: (1)修改变动的性质。 (2)申请修改的优先级。 (3)为满足某个维护申请报告,所需的工作 量。 7.2.3 软件维护工作流程 7.2.4 维护评价 维护评价是指对软件维护的过程进行评价。可参考 的度量值如下: (1)每次程序运行时的平均出错次数。 (2)花费在每类维护上的总“人时”数。 (3)每个程序、每种语言、每种维护类型的程序平 均修改次数。 (4)因为维护、增加或删除每个源程序语句所花费 的平均“人时”。 (5)用于每种语言的平均“人时”数。 (6)维护申请报告的平均处理时间。 (7)各类维护申请的百分比。 7.3 软件可维护 性 7.3.1 软件可维护性的定义 软件可

8、维护性是指纠正软件系统出现的错误和缺陷, 以及为满足新的要求而进行修改、扩充或压缩的难易 程度。 7.3.2 软件可维护性度量 1可理解性 可理解性表明人们通过阅读源代码和相关文档,了 解程序功能及其如何运行的难易程度。一个可理解的 程序主要应具备以下特性: (1)模块化。模块结构良好、功能完整、简明。 (2)风格一致性。代码风格及设计风格的一致性。 (3)不使用令人琢磨不定或含糊不清的代码。 (4)使用有意义的数据名和过程名。 (5)结构化。 (6)完整性。对输入数据进行完整性检查。 2可靠性 可靠性表明一个程序按照用户的要求和设计目标, 在给定的一段时间内正确执行的概率。关于可靠性, 度量

9、的标准主要有: (1)平均失效间隔时间MTTF,即两次失效之间的平 均操作时间。 (2)平均修复时间MTTR,即修复一个故障平均需用 的时间。 (3)有效性A=(MTTF/(MTTF+MTTR)。 度量可靠性的方法,主要有两种: (1)根据程序错误统计数字进行可靠性预测。 (2)根据程序复杂性预测软件可靠性。 3可测试性 可测试性表明论证程序正确性的容易程度。 程序越简单,证明其正确性就越容易。设计合 适的测试用例,取决于对程序的全面理解。因 此,一个可测试的程序应当是可理解的、可靠 的。 对于程序模块,可用程序复杂性来度量可测 试性。程序的环路复杂性越大,程序的路径就 越多,全面测试程序的难

10、度也就越大。 4可修改性 可修改性表明程序容易修改的程度。一个可修改的 程序应当是可理解的、通用的、灵活的。其中,通用 性是指程序适用于各种功能变化而无需修改,灵活性 是指能够容易地对程序进行修改。 5可移植性 可移植性表明程序转移到一个新的计算环境的可能 性的大小,或者表明程序可以有效地在各种环境中运 行的容易程度。一个可移植的程序应具有结构良好、 灵活,不依赖于某一具体计算机或操作系统的性能。 6效率 效率表明一个程序能执行预定功能而又不浪费机器 资源的程度。这些机器资源包括内存容量、外存容量 、通道容量和执行时间。 7可使用性 从用户观点出发,把可使用性定义为程序方便、实 用、易于使用的

11、程度。一个可用程序应当是易于使用 的,能允许用户出错,并尽可能不使用户陷入混乱状 态的程序。 改正性维护适应性维护完善性维护 可理解性 可测试性 可修改性 可靠性 可移植性 可使用性 效率 表7-1 可维护性七个特性在各个维护活动中的侧重 7.3.3 提高软件可维护性的方法 1建立明确的软件质量目标和优先级 2使用提高软件质量的技术和工具 3进行明确的质量保证审查 4选择可维护的程序设计语言 5改进程序的文档 7.3.4 软件维护的副作用 所谓副作用是指因修改软件而造成的错误或其他不 希望发生的情况,主要有以下3种副作用: 1修改代码的副作用 在使用程序设计语言修改源代码时可能引入错误。 2修改数据的副作用 修改数据也可能会对软件造成影响。 3修改文档的副作用 在对数据流、软件结构、模块逻辑或任何其他有关 特性进行修改时,必须对相关技术文档进行相应修改 ,否则软件文档不能反映软件的当前状态。 第7章 结束 谢谢!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1