SE-第12章-软件维护解读.ppt

SE-第12章-软件维护解读.ppt

ID:52523353

大小:425.00 KB

页数:22页

时间:2020-04-09

SE-第12章-软件维护解读.ppt_第1页
SE-第12章-软件维护解读.ppt_第2页
SE-第12章-软件维护解读.ppt_第3页
SE-第12章-软件维护解读.ppt_第4页
SE-第12章-软件维护解读.ppt_第5页
资源描述:

《SE-第12章-软件维护解读.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软件工程SoftwareEngineering计算机学院软件工程课程组思考?软件要不要维护?软件维护的内容包括哪些方面?软件生存期维护软件计划需求分析测试软件设计实现(编码)定义时期开发时期试用和维护时期退役第12章软件维护软件维护的类型有哪些?如何提高软件的可维护性?一、软件维护的类型校正性维护/纠错性维护(correctivemaintenace)适应性维护(adaptivemaintenance)完善性维护(perfectivemaintenance)预防性维护(preventivemaintenace)二、软件维护的特点软件工程方法对维护的影响结构化方法:SA/

2、SD面向对象:OOM规范文档、良结构、单元独立性、可跟踪性维护的代价表面上看来合理的改错或修改不能完全满足用户的要求,就会引起用户的不满。由于维护时对软件的改动,哪怕是很小的改动,在软件中也会引入潜在的隐患或错误,使得整个软件的质量降低,特别是不可再现错误。在开发工作期间,由于工作需要必须把软件工程师调去从事维护工作,就会对开发工作造成不良影响。软件维护会使生产率大幅度下降维护中的问题阅读和理解问题人员问题文档资料软件的修改软件维护相对于软件系统开发工作来说则毫无吸引力可维护性可维护性的决定因素可理解性可测试性(1)计测性(2)存取性(3)通信性(4)自身描述性(5)结

3、构性可修改性可维护性的定性度量1)识别问题的时间;(2)管理的延迟时间;(3)维护工具的收集时间;(4)分析和诊断问题的时间(5)修改规范说明的时间;(6)实际校正(或修改)的时间;(7)局部测试时间;(8)整体测试时间(9)复审时间;(10)总的恢复时间二、提高可维护性的措施需求分析清晰、易读、结构好→易修改设计结构层次清晰、独立性强→修改局部化灵活的数据逻辑结构→适应处理的变化编码编码规则、风格SP通用性高的PL测试测试充分文档三、维护机构维护管理员批准修改人系统管理员系统管理员系统管理员提出维护申请和评估维护申请是由软件组织外部提交的文档,它是计划维护活动的基

4、础。它由维护管理员和系统监督员来研究处理并依此制定相应的软件修改报告(MCR),这个报告包括以下内容:(1)所需修改变动的性质;(2)申请修改的优先级;(3)为满足某个维护申请要求所需的工作量;(4)与修改有关的事后数据,预计修改后的状况。MCR应提交修改负责人,经审核批准后,开始安排下一步工作。软件维护工作流程尽管维护申请的类型不同,但都要进行同样的技术工作。修改软件需求说明修改软件设计设计评审对源程序做必要的修改单元测试集成测试(回归测试)确认测试软件配置评审等。四、维护的副作用修改软件后导致新错误的发生编码的副作用数据的副作用文档资料的副作用代码副作用1.删除或修

5、改子程序;2.删除或修改语句标号;3.删除或修改标识符;4.为改进性能所作的修改;5.修改文件的打开和关闭语句;6.修改逻辑运算符;7.由设计变动引起的代码修改;8.对边界测试所作的修改。为确保编码修改没有引入新的错误,应进行严格的回归测试。一般情况下,通过回归测试,可以发现并纠正修改编码所带来的副作用。数据副作用重新定义局部常量或全局常量;重新定义记录格式或文件格式;增加或减少数组和高阶数据结构的大小;修改全局和公共数据;重新初始化控制标志或指针;重新安排I/O表或子程序的参数表。完善的设计文档资料可以减少数据的副作用。利用文档资料对数据及其用途

6、所作的详细描述,提供了数据项、记录、文件及其他结构与软件模块间相关的参照表,是维护期间对数据结构进行修改的主要依据。文档副作用在维护过程中,如果源程序修改了,而相应的资料或用户手册未作相应的修改,则会产生文档资料的副作用。因为维护应该针对整个软件配置,不应该只修改源程序。在软件再次交付使用之前,对整个软件配置进行评审将大大减少文档的副作用。实际上,某些维护申请的提出只是由于用户文档不够清楚。这时,只需对文档进行维护即可,并不要求修改软件设计或源程序。小结软件维护的类型提高可维护性的措施维护机构维护的副作用用于软件维护的工作量可以分为两部分:一部分用于生产性活动,另一部分

7、用于非生产性活动。由Belady和Lehman提出的维护工作量的计算模型:M=p+K×e(c–d)M:维护中消耗的总工作量;p:生产性工作量;K:经验常数;c:复杂程度;d:维护人员对软件的熟悉程度。通过这个模型可以看出,如果使用了不好的软件开发方法,参加维护的人员都不是原来开发的人员,那么维护工作量(及成本)将按指数级增加。思考题某些软件工程师不同意“目前国外许多软件开发组织把60%以上的人力用于维护已有软件”的说法,他们争论说:“我并没有花费我的60%的时间去改正我所开发的程序中的错误”。你同意他们的观点吗?为什么?

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

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

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