软件工程 第8章 软件维护 ppt

软件工程 第8章 软件维护 ppt

ID:25167030

大小:431.00 KB

页数:39页

时间:2018-11-16

软件工程 第8章 软件维护  ppt_第1页
软件工程 第8章 软件维护  ppt_第2页
软件工程 第8章 软件维护  ppt_第3页
软件工程 第8章 软件维护  ppt_第4页
软件工程 第8章 软件维护  ppt_第5页
资源描述:

《软件工程 第8章 软件维护 ppt》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第8章维护1软件维护的定义2软件维护的特点3软件维护过程4软件的可维护性5预防性维护6软件再工程过程前言:1.在软件产品被开发出来并交付用户使用之后,就进入了软件的运行维护阶段。2.维护是软件生命周期的最后一个阶段,也是持续时间最长、代价最大的一个阶段。3.维护阶段的基本任务是保证软件在一个相当长的时期能够正常运行。4.软件工程的目的是要提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。1.所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。2.软件维护通常包括4类活动:1)改正性维护;2)适应性维护;3)完善性维护;4)预防性维护。8.1软

2、件维护的定义8.2.1结构化维护与非结构化维护差别巨大;1.非结构化维护;2.结构化维护。8.2.2维护的代价高昂1.维护费用只不过是软件维护的最明显的代价;2.还有其他无形的代价:1)当看来合理的有关改错或修改的要求不能及时满足时将引起用户不满;2)由于维护时的改动,在软件中引入了潜伏的错误,从而降低了软件的质量;3)当必须把软件工程师调去从事维护工作时,将在开发过程中造成混乱。8.2软件维护的特点◆软件维护的最后一个代价是生产率的大幅度下降。◆用于维护工作的劳动可以分成生产性活动和非生产性活动生产性活动:分析评价,修改设计和编写程序代码等;非生产性活动:理解程序代码的功能,解释数据结构、接

3、口特点和性能限度等。◆下面给出维护工作量的一个模型:M=P+K×exp(c–d)其中:M是维护用的总工作量,P是生产性工作量,K是经验常数,c是复杂程度,d是维护人员对软件的熟悉程度。1.与软件维护有关的绝大多数问题,都可归因于软件定义和软件开发的方法有缺点。2.在软件生命周期的头两个时期没有严格而又科学的管理和规划,几乎必然会导致在最后阶段出现问题。8.2.3维护的问题很多◆维护过程本质上是修改和压缩了的软件定义和开发过程,◆首先,必须建立一个维护组织,◆随后,必须确定维护报告和评价维护的过程,◆而且,必须为每个维护要求规定一个标准化的事件序列。◆还应该建立一个适用于维护活动的记录保管过程,

4、并且规定复审标准。8.3软件维护过程1.维护组织图8.1维护组织2.维护报告1)软件维护人员通常给用户提供空白的维护要求表,有时称为软件问题报告表,这个表格由要求一项维护活动的用户填写。2)如果遇到了一个错误,那么必须完整描述导致出现错误的环境,包括输入数据、全部输出数据以及其他有关信息。3)对于适应性或完善性的维护要求,应该提出一个简短的需求说明书。然后由维护管理员和系统管理员评价用户提交的维护要求表。◆维护要求表是一个外部产生的文件,软件组织内部应该制定出一个软件修改报告,它给出下述信息:(1)满足维护要求表中提出的要求所需要的工作量;(2)维护要求的性质;(3)这项要求的优先次序;(4)

5、与修改有关的事后数据。在拟定进一步的维护计划之前,把软件修改报告提交给变化授权人审查批准。3.维护的事件流图8.2维护阶段的事件流4.保存维护记录◆哪些数据是值得记录的?Swanson提出了下述内容:①程序标识;②源语句数;③机器指令条数;④使用的程序设计语言;⑤程序安装的日期;⑥自从安装以来程序运行的次数;⑦自从安装以来程序失效的次数;⑧程序变动的层次和标识;⑨因程序变动而增加的源语句数;因程序变动而删除的源语句数;每个改动耗费的人时数;程序改动的日期;软件工程师的名字;维护要求表的标识;维护类型;维护开始和完成的日期;累计用于维护的人时数;与完成的维护相联系的纯效益。5.评价维护活动◆根据

6、保存的维护记录,至少可以从下述7个方面度量维护工作:(1)每次程序运行平均失效的次数;(2)用于每一类维护活动的总人时数;(3)平均每个程序、每种语言、每种维护类型所做的程序变动数;(4)维护过程中增加或删除一个源语句平均花费的人时数;(5)维护每种语言平均花费的人时数;(6)一张维护要求表的平均周转时间;(7)不同维护类型所占的百分比。8.4.1决定软件可维护性的因素1.可理解性2.可测试性3.可修改性4.可移植性5.可重用性8.4软件的可维护性8.4.1决定软件可维护性的因素1.可理解性表现为外来读者理解软件的结构、功能、接口和内部处理过程的难易程度。2.可测试性◆诊断和测试的容易程度取决

7、于软件容易理解的程度。良好的文档对诊断和测试是至关重要的。◆维护人员应该能够得到在开发阶段用过的测试方案,以便进行回归测试。在设计阶段应该尽力把软件设计成容易测试和容易诊断的。◆对于程序模块来说,可以用程序复杂度来度量它的可测试性。3.可修改性◆软件容易修改的程度和讲过的设计原理和启发规则直接有关。4.可移植性◆软件可移植性指的是,把程序从一种计算环境(硬件配置和操作系统)转移到另一种计算环境的难

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。