软件工程课件-6第六章软件维护.ppt

上传人:牧羊曲112 文档编号:6027944 上传时间:2023-09-16 格式:PPT 页数:43 大小:1.12MB
返回 下载 相关 举报
软件工程课件-6第六章软件维护.ppt_第1页
第1页 / 共43页
软件工程课件-6第六章软件维护.ppt_第2页
第2页 / 共43页
软件工程课件-6第六章软件维护.ppt_第3页
第3页 / 共43页
软件工程课件-6第六章软件维护.ppt_第4页
第4页 / 共43页
软件工程课件-6第六章软件维护.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《软件工程课件-6第六章软件维护.ppt》由会员分享,可在线阅读,更多相关《软件工程课件-6第六章软件维护.ppt(43页珍藏版)》请在三一办公上搜索。

1、软件工程,任课教师:程丽计算机与信息学院,第六章 软件维护,6.1 软件维护的内容6.2 软件维护的特点6.3 软件维护的实施6.4 软件可维护性,第六章 软件维护,课程的任务、目的和基本要求熟悉软件维护的内容、特点、实施了解如何提高软件的可维护性,1.什么是软件维护?软件维护是指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程。,第六章 软件维护,2.软件维护的原因 在运行中发现了在测试阶段未能发现的软件错误和设计缺陷;需要改进设计,以增强软件的功能,提高软件的性能;要求已运行的软件能适应特定的硬件、软件、外部设备和通信设备等的工作环境,或是要求适应已变动的数据或文件;为使投

2、入运行的软件与其它相关的程序有良好的接口,以利于协同工作;为使运行软件的应用范围得到必要的扩充。,第六章 软件维护,3.软件维护的意义软件维护处于软件生命期的最后阶段,也是最长的一个阶段,提高软件的可维护性,可减少维护的工作量和费用纠正软件开发过程未发现的错误,增强、改进和完善软件的功能和性能,适应软件的发展,延长软件的寿命,发挥其效益,第六章 软件维护,第六章 软件维护6.1 软件维护的内容,1.软件维护的类型按照不同的维护原因,维护工作可分成四类。校正性维护适应性维护完善性维护预防性维护,2.什么是校正性维护 对在测试阶段未能发现,而在软件投入使用后才逐渐暴露出来的错误的测试、诊断、定位、

3、纠错以及验证、修改的回归测试过程,称为校正性维护。,第六章 软件维护6.1 软件维护的内容,3.适应性维护 计算机的软件环境、硬件环境、数据环境在不断的变化,使运行的软件能适应运行环境或者数据的变动而修改软件的过程称为适应性维护。,第六章 软件维护6.1 软件维护的内容,4.完善性维护 扩充原有系统的功能,提高系统的性能,提高软件运行的效率,满足用户的实际需要而进行的维护活动称为完善性维护。,第六章 软件维护6.1 软件维护的内容,5.预防性维护 为了进一步改善软件的可靠性和可维护性,或者为可预见的将来的软件的运行和维护打下更好的基础,而对软件进行的维护活动称为预防性维护。,第六章 软件维护6

4、.1 软件维护的内容,6.各种维护所占的比例,第六章 软件维护6.1 软件维护的内容,第六章 软件维护6.2 软件维护的特点,6.2.1 非结构化维护和结构化维护6.2.2 维护的困难性6.2.3 软件维护的费用,非结构化维护 缺乏必要的文档说明,或者文档说明不一致,难于确定数据结构、系统接口等特性。结构化维护 按照软件工程方法开发软件,各阶段文档齐全,易于理解和掌握软件功能、性能、软件结构、数据结构、系统接口和设计约束。,第六章 软件维护6.2.1 非结构化维护和结构化维护,1、读懂别人的程序带来的困难2、文档不一致带来的困难3、软件开发与维护人员不一致带来的困难4、软件开发与维护时间上的差

5、异带来的困难,第六章 软件维护6.2.2 维护的困难性,软件维护费用一般要占到整个开发费用的60%70%,而且逐年上涨。只有减少软件维护的工作量才能有效降低维护成本,而减少维护工作量就要分析影响软件维护的各种因素。,第六章 软件维护6.2.3 软件维护的费用,1.影响软件维护的因素系统的大小:系统越大,功能越复杂,维护工作量就越大。程序设计语言:语言的功能越强,生成程序所需要的指令(程序)越少,而且程序的可读性也越好,维护工作量也就越小。系统年龄:系统越老,修改维护的次数就越多,结构也就越乱,维护工作量也就越大。软件开发新技术的应用:使用先进的分析和设计技术,以及程序设计技术,如:面向对象技术

6、、构件技术、可视化程序设计技术等,可减少维护工作量。,第六章 软件维护6.2.3 软件维护的费用,2.软件维护的工作量模型 维护活动分为生产性活动和非生产性活动生产性活动 包括分析评价、修改设计和编写程序代码等。非生产性活动包括理解程序代码、解释数据结构、接口特点和设计约束等。,第六章 软件维护6.2.3 软件维护的费用,Belady 和 Lehman 提出软件维护工作模型:M=P+K*exp(C-D)其中:M维护工作的总工作量 P生产性活动的工作量 K经验常数 C程序复杂度 D对维护软件熟悉程度的度量 显然,若越大,越小,则维护工作量成指数增长,为此,必须防止出现非结构化维护并尽可能由熟悉软

7、件的原开发人员参加维护。,第六章 软件维护6.2.3 软件维护的费用,第六章 软件维护6.3 软件维护的实施,6.3.1 维护的组织6.3.2 维护的流程,临时维护小组 维护机构 长期维护小组,第六章 软件维护6.3.1 维护的组织,1.临时维护小组 非正式机构,执行特殊或临时的维护任务,如:对程序排错的检查、检查完善性维护的设计、进行质量控制的复审。采用“同事复审”、“同行复审”的方法。,第六章 软件维护6.3.1 维护的组织,2.长期维护小组 组长:有经验的系统分析员,向上级 汇报维护工作 副组长:协调部门、小组、用户之间长期维护小组 的关系 维护负责人:负责维护小组人事管理 工作 维护程

8、序员:分析程序改变要求并修改,第六章 软件维护6.3.1 维护的组织,1、制定维护申请报告2、审查申请报告并批准3、进行维护并做详细记录4、复审,第六章 软件维护6.3.2 维护的流程,1.制定维护申请报告 维护申请报告也称软件问题报告,由申请维护的用户填写,完整说明导致错误的环境,对于适应性或完善性的维护要求,要提交一份简要的维护规格说明。,第六章 软件维护6.3.2 维护的流程,2.软件维护的过程 一个维护申请经过评审后,首先要确定维护的类型,还要分辨错误的严重程度或修改优先级的高低,再分别处理,如下图所示。,第六章 软件维护6.3.2 维护的流程,1.软件维护的技术包括:面向维护的技术-

9、涉及到软件开发的所有阶段。维护支援技术-支持软件维护阶段的技术。,第六章 软件维护6.3.3 维护技术,2.面向维护的技术在需求分析阶段:对用户的需求进行严格的分析定义,使之没有矛盾和易于理解,可以减少软件中的错误。在设计阶段:划分模块时充分考虑将来改动或扩充的可能性。在编码阶段:采用灵活的数据结构,使程序相对独立于数据的物理结构,养成良好的程序设计风格。在测试阶段:尽可能多发现错误,保存测试用例和测试数据等。以上这些技术方法都能够减少软件错误,提高软件的可维护性,第六章 软件维护6.3.3 维护技术,3.维护支援技术 维护支援技术则是在软件维护阶段用来提高维护作业的效率和质量的技术。,第六章

10、 软件维护6.3.3 维护技术,3.维护支援技术信息收集:收集有关系统在运行过程中的各种问题错误原因分析:分析所收集到的信息,分析出错的原因软件分析与理解:只有对需要维护的软件进行认真的理解,才保证软件维护正确进行维护方案评价:在进行维护修改前,要确定维护方案,并由相关的组织进行评审通过后才能执行代码与文档修改:实施维护方案修改后的确认:经过修改的软件,需要重新进行测试远距离的维护:对于网络系统,可以通过远程控制进行维护。,第六章 软件维护6.3.3 维护技术,维护的副作用是指由于修改程序而导致新的错误或者新增加一些不必要的活动,包括:编码副作用数据副作用文档副作用,第六章 软件维护6.3.4

11、 维护的副作用,、编码副作用在修改源代码时,可能引起的错误。、数据副作用在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件出错。数据副作用就是修改软件信息结构导致的结果。、文档副作用 对软件的数据流、软件结构、模块逻辑等进行修改时,必须对相关技术文档进行相应修改。但修改文档过程会产生新的错误,导致文档与程序功能不匹配、缺省条件改变等错误,产生文档的副作用。,第六章 软件维护6.3.4 维护的副作用,第六章 软件维护6.4 软件可维护性,6.4.1 可维护性定义6.4.2 可维护性的度量,软件可维护性是指软件能够被理解、校正、适应及变化功能的容易程度。软件的可维护性是软件开发阶段

12、各个时期的关键目标。,第六章 软件维护6.4.1 软件可维护性定义,度量一个软件的可维护性常用的方法有:质量检查表、质量测试、质量标准。,第六章 软件维护6.4.2 可维护性的度量,质量检查表 是用于测试程序中某些质量特性是否存在的一个问题清单。评测者针对检查表上的每一个问题,依据自己的定性判断,回答“Yes”或者“No”。,第六章 软件维护6.4.2 可维护性的度量,使用七种特性衡量程序的可维护性,对于不同类型的维护,其侧重点也不相同,如下所示:,第六章 软件维护6.4.2 可维护性的度量,软件的可维护性对于延长软件的生存期具有决定的意义,因此必须考虑如何才能提高软件的可维护性,为此,需从以

13、下几个方面考虑:1、建立明确的软件质量目标 2、使用先进的软件开发技术和工具 3、建立明确的质量保证 4、选择可维护的程序设计语言 5、改进程序的文档,第六章 软件维护6.4.3 提高可维护性的方法,建立明确的质量保证 质量保证是指为提高软件质量所做的各种检查工作,包括 1、在检查点进行检查 2、验收检查 3、周期性的维护检查 4、对软件包的检查。,第六章 软件维护6.4.3 提高可维护性的方法,选择可维护的语言 程序设计语言的选择,对程序的可维护性影响很大。低级语言,很难理解,很难掌握,因此很难维护。高级语言比低级语言容易理解,具有更好的可维护性,如下图所示。,第六章 软件维护6.4.3 提高可维护性的方法,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号