版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章 软件维护,软件维护基础 软件维护过程 软件测试过程,8.1 软件维护的类型,一、定义:软件维护是指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程。 二、一般来说,要求进行维护的原因大致有以下几种: (1)改正程序中的错误和缺陷。 (2)改进设计以适应新的软、硬件环境。 (3)增加新的应用范围。 按照不同的维护目的,维护工作可分成4类。,8.1 软件维护的类型,软件维护,预防性维护,适应性维护,改正性维护,完善性维护,四类软件维护的比例,三类维护占维护比例,维护在软件生存期所占比例,二、维护成本,无形维护成本,有形的软件维护成本,三、维护工作量的模型,M是维护中消耗的总
2、工作量 p是生产性工作量 K是一个经验常数 c是因缺乏好的设计和文档而导致复杂性的度量 d是对软件熟悉程度的度量。,K*exp,p,M,+,=,系统大小 程序设计语言 系统年龄 数据库技术的应用 结构化的软件开发技术,四、影响维护工作量的因素,结构化维护VS非结构化维护,软件的开发过程对软件的维护产生较大的影响。 如果采用软件工程的方法进行软件开发,保证每个阶段都有完整且详细的文档,这样维护会相对容易,被称为结构化的维护。 反之,如果不采用软件工程方法开发软件,软件只有程序而欠缺文档,则维护工作变得十分困难,被成为非结构化的维护。,软件维护分类,非结构化维护,结构化维护,8.2软件维护活动,维
3、护团队组织,软件维护的机构,软件维护请求报告,软件修改报告(SCR),依据维护请求表,软件组织内部应该制定出一个软件修改报告,它给出下述信息: 满足维护请求表中提出的要求所需的工作量; 维护要求的性质; 维护要求的优先次序; 与修改有关的背景数据。 在拟定进一步维护计划前,把软件修改报告提交控制决策机构审查批准。,有 无,有 无,软件修改报告(SCR),软件维护的工作流,软件维护工作流程,尽管维护申请的类型不同,但都要进行同样的技术工作。 修改软件需求说明 修改软件设计 设计评审 对源程序做必要的修改 单元测试 集成测试( 回归测试) 确认测试 软件配置评审等。,在每次软件维护任务完成后进行情
4、况评审,对以下问题做一总结:(1) 在目前情况下,设计、编码、测试中的哪一方面可以改进?(2) 哪些维护资源应该有但没有?(3) 工作中主要的或次要的障碍是什么?(4) 从维护申请的类型来看是否应当有预防性维护?情况评审对将来的维护工作如何进行会产生重要的影响。,软件维护记录,评价维护活动,缺乏有效的数据就无法评价软件维护活动。 如果已经开始保存维护记录,则可以对维护工作做一些定量度量,至少可以从如下7方面进行评价: 每次程序运行平均失败的次数; 用于每一类维护活动的总人时数; 平均每个程序、每种语言、每种维护类型所必需的程序变动数; 维护过程中增加或删除源语句平均花费的人时数; 维护每种语言
5、平均花费的人时数; 一张维护要求表的平均周转时间; 不同维护类型所占的比例;,根据这些统计量可对开发技术、编程语言,以及对维护工作量的预测与资源分配等诸多方面的决策进行评价。,软件维护基本技术工作,8.3可维护性,定义:软件可维护性是指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩充或压缩的容易程度。 软件的可维护性是软件开发阶段各个时期的关键目标。,8.3可维护性,1、影响可维护性的因素,开发环境,开发方法,维护工具的 因素,系统本身 的因素,人的因素,8.3可维护性,2、量化的度量,度量,纠错时间,分析问题、形成修改 说明书时间,收集维护工具 时间,发现问题的 时间,局部、整
6、体 测试时间,维护评审时间,系统完全 恢复时间,8.3可维护性,可维护性,可移植性,可测试性,可使用性,可理解性,可修改性,高效率性,可靠性,衡量的质量特性,在各类维护中的侧重点,8.4提高可维护性的方法,建立明确的软件质量目标和优先级 使用提高软件质量的技术和工具 进行明确的质量保证审查 选择可维护的程序设计语言 改进程序的文档,保证软件质量的最佳方法是在软件开发的最初阶段把质量要求考虑进去,并在开发过程每一阶段的终点,设置检查点进行检查。 检查的目的是要证实,已开发的软件是否符合标准,是否满足规定的质量需求。在不同的检查点,检查的重点不完全相同。,在检查点进行复审,软件开发期间各个检查点的
7、检查重点,周期性地维护审查,检查点复查和验收检查,可用来保证新软件系统的可维护性。 对已有的软件系统,则应当进行周期性的维护检查。 软件在运行期间进行修改,会导致软件质量有变坏的危险,破坏程序概念的完整性。 必须定期检查,对软件做周期性的维护审查,以跟踪软件质量的变化。,周期性维护审查实际上是开发阶段检查点复查的继续,并且采用的检查方法、检查内容都是相同的。 维护审查的结果可以同以前的维护审查的结果,以前的验收检查的结果、检查点检查的结果相比较,任何一种改变都表明在软件质量上或其它类型的问题上可能起了变化。 对于改变的原因应当进行分析。,对软件包进行检查,软件包是一种标准化的,可为不同单位、不
8、同用户使用的软件。 一般源代码和程序文档不会提供给用户。 对软件包的维护采取以下方法。 使用单位的维护人员首先要仔细分析、研究卖主提供的用户手册、操作手册、培训教程等,以及卖方提供的验收测试报告等。,在此基础上,深入了解本单位的希望和要求,编制软件包的检验程序。检查软件包程序所执行的功能是否与用户的要求和条件相一致。 为了建立这个程序,维护人员可以利用卖方提供的验收测试实例,还可以自己重新设计新的测试实例。 根据测试结果,检查和验证软件包的参数或控制结构,以完成软件包的维护。,机器语言 汇编语言 高级语言 查询语言 报表生成语言 图像语言 应用生成语言,选择可维护的程序设计语言,构件工程,基于
9、构件/构架的软件开发方式结构图,8.5软件再生工程过程,库存目录分析,文挡重构,逆向工程,代码重构,数据重构,正向工程,逆向工程,一、软件的逆向工程定义 分析已有的程序,寻求比源代码更高级的抽象表现形式。 二、相关概念: * 重构:转换系统描述; * 设计恢复:抽象出有关数据设计、总体设计等信息; * 再生工程:产生新版本;,重构例子(Extract Method),void printOwing(double amount) printBanner(); printDetails(amount); void printDetails(double amount) System.out.println(“name: “ + _name); System.out.println(“amount” + _amount); ,void printOwing(double amoun
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年广西高三9月月考语文试题(解析版)
- 2025-2026年天津市北师大版高中音乐必修第9单元音乐作品鉴赏习题
- 2025-2026年人教版九年级政治下册第12单元社会公正测试卷
- 74-合同主数据建设方法论与实践指南
- 2026年北师大版七年级数学第1课有理数知识点梳理课件
- 关于过新年的个人心得体会范文
- 社交媒体个人知识产权与肖像权保护的常见法律盲区以及维权全步骤
- 医疗质量安全管理年终总结
- 第8课 西欧的城市和大学 课件
- 投融资专员考试题及答案
- 中国移动通信集团终端有限公司2027届秋季校园招聘笔试备考试题及答案详解
- HGT 20273-2025 喷涂型聚脲防护材料涂装工程技术规范(附条文说明)标准立项发展报告
- 3.1 激素与内分泌系统 课件(内嵌视频)2026-2027学年高二上学期生物人教版选择性必修1
- 2026年爱国主义教育主题知识竞赛试题及答案
- 河北石家庄市部分校2026-2027学年高三上学期开学考试数学+答案
- 2026年学生体质健康测试课件
- 2026道德与法治九年级上册说课逐字稿:坚强领导的核心
- 远离毒品小学主题班会课件
- 2026年辅警考试公安基础知识考试试题库及参考答案
- 2026 银行审计稽核管理岗招聘考试参考题库 含答案
- (2026版)《河北省预防未成年人犯罪条例》解读
评论
0/150
提交评论