- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[软件工程]CH08-软件维护1
软件工程 刘迎春 第八章 软件维护 主要内容 8.1软件维护的概念 8.2软件维护的代价 8.3维护过程 8.4可维护性 8.5维护的副作用 8.1软件维护的概念 【软件维护】 在软件已经交付用户使用之后,为了改正错误或满足新的需求而进行修改软件的过程。 【软件维护分类】 ⑴改正性维护(Corrective Maintenance) ⑵适应性维护(Adaptive Maintenance) ⑶完善性维护(Perfective Maintenance) ⑷预防性维护(Preventive Maintenance) 8.1软件维护的概念 【软件维护分类】 ⑴改正性维护(Corrective Maintenance) 定义: 运行时期诊断、改正错误的过程。 原因: 开发时期测试是不彻底的,会有部分隐藏的错误遗留到运行时期。 目的: 识别和改正软件错误; 改正软件性能和功能上的缺陷 8.1软件维护的概念 【软件维护分类】 ⑵适应性维护(Adaptive Maintenance) 定义: 为使软件适应变化而修改软件的过程。 原因: 在软件运行过程中, ⑴外部环境——新的硬、软件配置。 ⑵数据环境 数据库 数据输入/输出方式 数据存储介质 可能发生变化。 8.1软件维护的概念 【软件维护分类】 ⑶完善性维护(Perfective Maintenance) 定义: 为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、提高软件的可维护性。 这种情况下进行的维护活动叫做完善性维护。 原因: 在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。 8.1软件维护的概念 【软件维护分类】 ⑷预防性维护(Preventive Maintenance) 定义: 采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编码和测试。 目的: 为了提高软件的可维护性、可靠性等; 为以后进一步改进软件打下良好基础。 8.1软件维护的概念 【软件维护分类】 8.1软件维护的概念 软件维护的工作占整个生存期工作量的70%以上 8.2软件维护的代价 1.费用代价(有形) 1970年 35%~40% 1980年 40%~60% 1990年 70%~80% 2.其它(无形) 不能及时满足用户合理的修改要求,引起用户不满; 引入了新的潜伏的故障,降低了软件的质量; 抽调开发者去从事维护,使得开发造成混乱。 8.2软件维护的代价 【维护工作量】——用于维护工作的劳动。 生产性活动 非生产性活动 【维护工作量的模型】 M:维护用的总工作量 P:生产性活动工作量 K:维护人员经验系数 C:复杂程度(非结构化设计和缺少文档都会增加软件的复杂程度) D:维护人员对软件熟练程度 8.2软件维护的代价 【影响维护代价的非技术因素】 ⑴应用域的复杂性 需求分析工作比较完善?代价低。 ⑵开发人员的稳定性 开发者维护自己的程序?代价低; ⑶软件的生命周期 软件生命周期越长?代价越高; ⑷商业操作模式变化对软件的影响 商业操作模式变化越频繁?代价越高; 如,财务制度改变?财务软件修改 8.2软件维护的代价 【影响维护代价的技术因素】 ⑴软件对运行环境的依赖性 ⑵编程语言 ⑶编程风格 风格好?可理解性好?代价越高; ⑷测试与改错工作 ⑸文档的质量 清晰、正确和完整的文档?降低维护的代价 美国空军用的XP版本 美国空军在劝说微软CEO鲍尔默为他们提供更安全的系统Windows XP系统配置,此举将使得该部门节省下1亿美元的合约开支,以及大量的维护时间。 该系统将加入更多安全特性,包括全新的密码管理机制等,超过600个参数被禁止修改 8.3维护过程 为了有效地进行软件维护,应事先做好组织工作。 ⑴建立维护的组织 ⑵为每一个维护申请规定标准的处理步骤 8.3维护过程 【维护申请表】 软件维护人员通常给用户提供空白的维护申请表(软件问题报告表)。 维护申请表由申请维护的用户填写; 改正性维护: 完整地描述导致出现该错误的环境,包括: 输入数据、全部输出数据,以及其他有关的信息 适应性维护,完善性维护: 仅需提出一个简要的需求说明。 维护过程 8.3维护过程 为了有效地进行软件维护,应事先做好组织工作。 ⑴建立维护的组织 ⑵为每一个维护申请规定标准的处理步骤 ⑶明确维护申请的评价过程,评审标准 8.3维护过程 8.3维护过程 为了有效地进行软件维护,应事先做好组织工作。 ⑴建立维护的组织 ⑵为每一个维护申请规定标准的处理步骤 ⑶明确维护申请的评价过程,评审标准 ⑷建立维护活动的登记制度 8.3维护过程 【维护评价】 用于每一类维护活动的总人时数; 不同维护类型所占的百分比。 维护每种语言平均花费的人时数; 一张维护申请表的平均周
文档评论(0)