软件工程基础与实例分析第八章维护

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8.2 软件的可维护性
⑤ 可移植性
a.
指将程序从原来环境中移植到一个新的计算机环境的难 易程度 。 机或操作系统。
b. 好程序的特征:结构好,不特别依赖于某一具体的计算
⑥ 可使用性
可使用性是指某一功能模块在软件实现过程中的重复使用 频率
⑦ 执行效率
执行效率是指软件在运行过程中对机器资源的浪费程度, 即对存储容量、通道容量和执行时间的使用情况
第八章 维护
主要学习内容

软件维护的概念及特点
软件的可维护性 软件维护的步骤 可维护性



8.1 软件维护的概念及特点
1.软件维护的概念
(1)改正性维护 在软件交付使用后,由于开发时测试得不彻底或不完全,在运 行阶段会暴露一些开发时未能测试出来的错误。为了识别和纠 正软件错误,改正软件性能上的缺陷,避免实施中的错误使用, 应当进行的诊断和改正错误的过程,这就是改正性维护。 (2)适应性维护 随着计算机技术的飞速发展和更新换代,软件系统所需的外部 环境或数据环境可能会更新和升级,如操作系统或数据库系统 的更换等。为了使软件系统适应这种变化,需要对软件进行相 应的修改,这种维护活动称为适应性维护。
8.1 软件维护的概念及特点
(3)完善性维护 在软件的使用过程中,用户往往会对软件提出新的功能与 性能要求。为了满足这些要求,需要修改或再开发软件, 以扩充软件功能、增强软件性能、改进加工效率、提高软 件的可维护性。这种情况下进行的维护活动叫做完善性维 护。完善性维护不一定是救火式的紧急维修,而可以是有 计划的一种再开发活动。 (4)预防性维护 这类维护是为了提高软件的可维护性,可靠性等,为以后 进一步改进软件打下良好的基础的维护活动。具体来讲, 就是采用先进的软件工程方法对需要维护的软件或软件中 的某一部分重新进行设计、编码和测试的活动。
8.2 软件的可维护性
③可修改性

可修改性是指修改程序的难易程度。一个可理解 性的程序也具有较好的可修改性,另外,采用的 编程环境及程序的结构划分等都对可修改性有影 响。
④ 可靠性

可靠性是指一个程序在满足用户功能需求的基础 上,在一定时间内正确执行的概率,可靠性的度 量标准有:平均失效间隔时间,平均修复时间, 软件的平均失效间隔时间越长,平均修复时间越 短,说明软件的可靠性越好

国外的统计调查表明,在 整个软件维护阶段所花费 的全部工作量中,完善性 维护约占50%,适应性维 护约占25%,改正性维护 约占20%,预防性维护约 占5%,如图8-1所示。这说 明大部分的维护工作是改 变和加强软件,而不是纠 错
2.软件维护的特点
(1)软件维护受开发过程影响大 结构化维护:如果采用软件工程的方法进行软件开发,保 证每个阶段都有完整且详细的文档,这样维护就会相对容 易。通常被称为结构化维护。 非结构化维护:反之,如果不采用软件工程方法开发软件, 软件只有程序而欠缺文档,则维护工作会变得十分困难, 通常被称为非结构化维护。 (2)软件维护困难多 软件维护的困难主要表现在以下几个方面: 1)读懂别人的程序是很困难的,而文档的不足更增加了 这种难度。 2)文档的不一致性是软件维护困难的又一个因素 3)软件开发和软件维护在人员和时间上存在差异。 4)软件维护不是一件吸引人的工作。
8.2 软件的可维护性
在各类维护中的测重点
改正性维护 运行性维护 完善性维护 1.可理解性 2.可测试性 3.可修改性 4.可靠性 5.可移植性 6.可使用性 7.效 率
8.2 软件的可维护性

决定软件可维护性的因素
①可理解性 1)编程环境:选择高级程序设计语言; 2)模块化:模块结构良好、功能独立; 3)编程风格:使用有意义的数据名和过程名,语句间层 次关系清晰; 4)文档说明:必要的注释,详细的设计文档和程序内部 的文档。 ②可测试性 是指论证程序正确性的容易程度 好程序的特征:可理解、可靠、简单 度量方法:程序复杂度
8.4 软件维护过程文档写作规范

描述改正性维护过程 中的维护记录
维护 请求日期 2008.9.10 问题描述 简历管理模块,增加一些 筛选功能,筛选出满足 一定学历的人,筛选满 足性别、分数、工作经 验等组合条件的人 提交日期 2008.10.8 维护 规模 8天 维护人 刘丽
序号 1
习题
1.为什么说软件维护是不可避免的?
M P K exp( c d )
2.软件维护的特点
(3)软件维护成本高 软件维护活动可分为生产性活动和非生产性活动。生产性活动 包括分析评价、修改设计和编写程序代码等;非生产性活动 包括理解程序代码功能、数据结构、接口特点和设计约束等。 因此,维护活动的总工作量可以用下面的公式表示: M=P+K×exp(c-d) 其中,M表示维护工作的总工作量,P表示生产性活动的工作 量,K表示经验常数,c表示复杂性程度,d表示维护人员对软 件的熟悉程度。 这个公式表明,若c越大,d越小,则维护工作量将成指数规律 增加。c增加表示软件未采用软件工程方法开发,d减小表示 维护人员不是原来的开发人员,对软件的熟悉程度低,重新 理解软件花费很多的时间。
8.3 软来自百度文库维护的步骤
维护管理员接收维护申请,并将其转交给维护负责人,他们分 析和评价软件维护申请可能引起的软件变更,并由变更控制管 理机构决定是否进行变更、最终由维护人员对软件进行修改。
维护人员首先应该判断维护的类型,并评价维护所带来的 质量影响和成本开销,决定是否接受该维护请求,并确定 维护的优先级。其次,根据所有被接受维护的优先级,统 一规划软件的版本,决定哪些变更在下一个版本完成,哪 些变更在更晚推出的版本完成。最后,维护人员实施维护 任务并发布新的版本。
2.软件维护分哪几种类型?软件的可维护性 与哪些因素有关 ?
相关文档
最新文档