软件工程课件-6第六章软件维护.ppt_第1页
软件工程课件-6第六章软件维护.ppt_第2页
软件工程课件-6第六章软件维护.ppt_第3页
软件工程课件-6第六章软件维护.ppt_第4页
软件工程课件-6第六章软件维护.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程,任课教师:程丽 计算机与信息学院,第六章 软件维护,6.1 软件维护的内容 6.2 软件维护的特点 6.3 软件维护的实施 6.4 软件可维护性,第六章 软件维护,课程的任务、目的和基本要求 熟悉软件维护的内容、特点、实施 了解如何提高软件的可维护性,1.什么是软件维护? 软件维护是指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程。,第六章 软件维护,2.软件维护的原因 在运行中发现了在测试阶段未能发现的软件错误和设计缺陷; 需要改进设计,以增强软件的功能,提高软件的性能; 要求已运行的软件能适应特定的硬件、软件、外部设备和通信设备等的工作环境,或是要求适应已变动的数据或文件; 为使投入运行的软件与其它相关的程序有良好的接口,以利于协同工作; 为使运行软件的应用范围得到必要的扩充。,第六章 软件维护,3.软件维护的意义 软件维护处于软件生命期的最后阶段,也是最长的一个阶段,提高软件的可维护性,可减少维护的工作量和费用 纠正软件开发过程未发现的错误,增强、改进和完善软件的功能和性能,适应软件的发展,延长软件的寿命,发挥其效益,第六章 软件维护,第六章 软件维护 6.1 软件维护的内容,1.软件维护的类型 按照不同的维护原因,维护工作可分成四类。 校正性维护 适应性维护 完善性维护 预防性维护,2.什么是校正性维护 对在测试阶段未能发现,而在软件投入使用后才逐渐暴露出来的错误的测试、诊断、定位、纠错以及验证、修改的回归测试过程,称为校正性维护。,第六章 软件维护 6.1 软件维护的内容,3.适应性维护 计算机的软件环境、硬件环境、数据环境在不断的变化,使运行的软件能适应运行环境或者数据的变动而修改软件的过程称为适应性维护。,第六章 软件维护 6.1 软件维护的内容,4.完善性维护 扩充原有系统的功能,提高系统的性能,提高软件运行的效率,满足用户的实际需要而进行的维护活动称为完善性维护。,第六章 软件维护 6.1 软件维护的内容,5.预防性维护 为了进一步改善软件的可靠性和可维护性,或者为可预见的将来的软件的运行和维护打下更好的基础,而对软件进行的维护活动称为预防性维护。,第六章 软件维护 6.1 软件维护的内容,6.各种维护所占的比例,第六章 软件维护 6.1 软件维护的内容,第六章 软件维护 6.2 软件维护的特点,6.2.1 非结构化维护和结构化维护 6.2.2 维护的困难性 6.2.3 软件维护的费用,非结构化维护 缺乏必要的文档说明,或者文档说明不一致,难于确定数据结构、系统接口等特性。 结构化维护 按照软件工程方法开发软件,各阶段文档齐全,易于理解和掌握软件功能、性能、软件结构、数据结构、系统接口和设计约束。,第六章 软件维护 6.2.1 非结构化维护和结构化维护,1、读懂别人的程序带来的困难 2、文档不一致带来的困难 3、软件开发与维护人员不一致带来的困难 4、软件开发与维护时间上的差异带来的困难,第六章 软件维护 6.2.2 维护的困难性,软件维护费用一般要占到整个开发费用的60% 70%,而且逐年上涨。 只有减少软件维护的工作量才能有效降低维护成本,而减少维护工作量就要分析影响软件维护的各种因素。,第六章 软件维护 6.2.3 软件维护的费用,1.影响软件维护的因素 系统的大小:系统越大,功能越复杂,维护工作量就越大。 程序设计语言:语言的功能越强,生成程序所需要的指令(程序)越少,而且程序的可读性也越好,维护工作量也就越小。 系统年龄:系统越老,修改维护的次数就越多,结构也就越乱,维护工作量也就越大。 软件开发新技术的应用:使用先进的分析和设计技术,以及程序设计技术,如:面向对象技术、构件技术、可视化程序设计技术等,可减少维护工作量。,第六章 软件维护 6.2.3 软件维护的费用,2.软件维护的工作量模型 维护活动分为生产性活动和非生产性活动 生产性活动 包括分析评价、修改设计和编写程序代码等。 非生产性活动 包括理解程序代码、解释数据结构、接口特点和设计约束等。,第六章 软件维护 6.2.3 软件维护的费用,Belady 和 Lehman 提出软件维护工作模型: M=P+K*exp(C - D) 其中: M维护工作的总工作量 P生产性活动的工作量 K经验常数 C程序复杂度 D对维护软件熟悉程度的度量 显然,若越大,越小,则维护工作量成指数增长,为此,必须防止出现非结构化维护并尽可能由熟悉软件的原开发人员参加维护。,第六章 软件维护 6.2.3 软件维护的费用,第六章 软件维护 6.3 软件维护的实施,6.3.1 维护的组织 6.3.2 维护的流程,临时维护小组 维护机构 长期维护小组,第六章 软件维护 6.3.1 维护的组织,1.临时维护小组 非正式机构,执行特殊或临时的维护任务,如:对程序排错的检查、检查完善性维护的设计、进行质量控制的复审。 采用“同事复审”、“同行复审”的方法。,第六章 软件维护 6.3.1 维护的组织,2.长期维护小组 组长:有经验的系统分析员,向上级 汇报维护工作 副组长:协调部门、小组、用户之间 长期维护小组 的关系 维护负责人:负责维护小组人事管理 工作 维护程序员:分析程序改变要求并修改,第六章 软件维护 6.3.1 维护的组织,1、制定维护申请报告 2、审查申请报告并批准 3、进行维护并做详细记录 4、复审,第六章 软件维护 6.3.2 维护的流程,1.制定维护申请报告 维护申请报告也称软件问题报告,由申请维护的用户填写,完整说明导致错误的环境,对于适应性或完善性的维护要求,要提交一份简要的维护规格说明。,第六章 软件维护 6.3.2 维护的流程,2.软件维护的过程 一个维护申请经过评审后,首先要确定维护的类型,还要分辨错误的严重程度或修改优先级的高低,再分别处理,如下图所示。,第六章 软件维护 6.3.2 维护的流程,1.软件维护的技术包括: 面向维护的技术 -涉及到软件开发的所有阶段。 维护支援技术 -支持软件维护阶段的技术。,第六章 软件维护 6.3.3 维护技术,2.面向维护的技术 在需求分析阶段:对用户的需求进行严格的分析定义,使之没有矛盾和易于理解,可以减少软件中的错误。 在设计阶段:划分模块时充分考虑将来改动或扩充的可能性。 在编码阶段:采用灵活的数据结构,使程序相对独立于数据的物理结构,养成良好的程序设计风格。 在测试阶段:尽可能多发现错误,保存测试用例和测试数据等。 以上这些技术方法都能够减少软件错误,提高软件的可维护性,第六章 软件维护 6.3.3 维护技术,3.维护支援技术 维护支援技术则是在软件维护阶段用来提高维护作业的效率和质量的技术。,第六章 软件维护 6.3.3 维护技术,3.维护支援技术 信息收集:收集有关系统在运行过程中的各种问题 错误原因分析:分析所收集到的信息,分析出错的原因 软件分析与理解:只有对需要维护的软件进行认真的理解,才保证软件维护正确进行 维护方案评价:在进行维护修改前,要确定维护方案,并由相关的组织进行评审通过后才能执行 代码与文档修改:实施维护方案 修改后的确认:经过修改的软件,需要重新进行测试 远距离的维护:对于网络系统,可以通过远程控制进行维护。,第六章 软件维护 6.3.3 维护技术,维护的副作用是指由于修改程序而导致新的错误或者新增加一些不必要的活动,包括: 编码副作用 数据副作用 文档副作用,第六章 软件维护 6.3.4 维护的副作用,、编码副作用 在修改源代码时,可能引起的错误。 、数据副作用 在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件出错。数据副作用就是修改软件信息结构导致的结果。 、文档副作用 对软件的数据流、软件结构、模块逻辑等进行修改时,必须对相关技术文档进行相应修改。但修改文档过程会产生新的错误,导致文档与程序功能不匹配、缺省条件改变等错误,产生文档的副作用。,第六章 软件维护 6.3.4 维护的副作用,第六章 软件维护 6.4 软件可维护性,6.4.1 可维护性定义 6.4.2 可维护性的度量,软件可维护性是指软件能够被理解、校正、适应及变化功能的容易程度。 软件的可维护性是软件开发阶段各个时期的关键目标。,第六章 软件维护 6.4.1 软件可维护性定义,度量一个软件的可维护性常用的方法有:质量检查表、质量测试、质量标准。,第六章 软件维护 6.4.2 可维护性的度量,质量检查表 是用于测试程序中某些质量特性是否存在的一个问题清单。评测者针对检查表上的每一个问题,依据自己的定性判断,回答 “Yes”或者“No”。,第六章 软件维护 6.4.2 可维护性的度量,使用七种特性衡量程序的可维护性,对于不同类型的维护,其侧重点也不相同,如下所示:,第六章 软件维护 6.4.2 可维护性的度量,软件的可维护性对于延长软件的生存期具有决定的意义,因此必须考虑如何才能提高软件的可维护性,为此,需从以下几个方面考虑: 1、建立明确的软件质量目标 2、使用先进的软件开发技术和工具 3、建立明确的质量保证 4、选择可维护的程序设计语言 5、改进程序的文档,第六章 软件维护 6.4.3 提高可维护性的方法,建立明确的质量保证 质

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论