- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.3 软件维护
5.3 软件维护 1、软件维护的基本概念 软件维护定义 软件维护分类 软件维护过程 软件的可维护性 软件维护的特点 影响软件维护的因素 维护的代价昂贵: 维护工作量的一个模型 结构化维护和非结构化维护 维护的副作用 副作用的表现 软件维护工作的难处 防止副作用的建议 维护文档 维护文档的格式 维护管理文档 2、软件维护的步骤 第一步:软件维护申请报告 第二步:维护工作的实施 源程序修改的步骤: 分析和理解程序: 设计程序的修改计划 修改代码,以适应变化 修改程序的副作用 ⑴ 编码副作用: ⑵ 数据副作用: ⑶ 文档副作用: 重新验证程序: 第三步:维护文档整理 第四步:维护活动评价 3、软件的可维护性 软件可维护性的定义: 提高软件可维护性的方法: ⑴建立明确的软件质量目标 ⑵选择可维护的程序设计语言 ⑶采用结构化技术提高软件质量; 什么是预防性维护 什么是逆向工程 什么是再工程 4、软件维护的最新方法 第1种方法:C/S法 第2种方法:远程更新法 第3种方法:结构化方法 第4种方法:五个面向法 软件维护与软件产品版本升级 软件维护的工作流程 UML对软件维护的影响 CMM/CMMI对软件维护的影响 习题 ⑴静态确认; ⑵计算机确认; ⑶维护后的验收。 记录一些与维护工作有关的数据信息,这些信息可作为估计软件维护的有效程度,确定软件产品的质量,确定维护的实际开销等工作的原始数据。 每次程序运行时的平均出错次数; 花费在每类维护活动上的总的“人时”数; 每个程序、每种语言、每种维护类型程序的平均修改次数; 维护中增加或删除每个源程序语句所花费的平均“人时”数; 用于每种语言的平均“人时”数; 维护申请报告的平均处理时间; 各类维护申请的百分比。 一方面,可判定此次维护活动开展是否顺利、成功;另一方面,为今面的维护工作积累经验。 效 率 完善性维护 可使用性 可移植性 可 靠 性 可修改性 可测试性 可理解性 适应性维护 改正性维护 √ √ √ √ √ √ √ √ √ 影响软件可维护性的七个质量特性及这些质量特性在各类维护中的侧重点 软件能够被理解、修改、压缩、扩充功能的容易程度。 软件可维护性是软件开发阶段的关键目标。影响软件可维护性的因素很多,设计、编码及测试中的疏忽和低劣的软件配置、缺少文档等都会对软件的可维护性带来不良影响。软件的可维护性可用几个质量特性来衡量,对于不同的维护类型,这几种特性的侧重点也不同。 可从以下几方面着手: ⑴建立明确的软件质量目标; ⑵选择可维护的程序设计语言; ⑶采用结构化技术提高软件质量; 若要使程序满足可维护性的七个特性的全部要求是不现实的,为保证可维护性应在一定程度上满足可维护性的各个特性,各个特性的重要性也应随着程序用途的不同或计算机环境的不同而改变。 第4代语言,如查询语言、图形语言、报表生成语言、非常高级语言等,易使用,易理解,易修改,可维护性好。 程序设计语言对可维护性的影响 低 高 可维护性 第一代语言 第二代语言 第三代语言 第四代语言 模块化 结构化程序设计 整理完备的文档资料,包括: 系统开发日志、 错误记载、 系统维护日志、 测试文档 预防性维护工作主要针对一些多年前开发出来的“较老”的软件,这些软件的功能仍然能够满足人们的某些需求,但是,由于这些软件所采用的体系结构或数据结构等方面较差,用户在使用时存在一定困难,因此,需要对软件进行全面修改,以适应用户需求。 逆向工程与再生工程是目前预防性维护采用的主要技术。 所谓软件的逆向工程就是分析已有的程序,寻求比源代码更高级的抽象表现形式。逆向工程是对原有设计恢复的过程,使用逆向工程工具可以从已存在的程序中抽取数据结构、体系结构及各种有用的程序设计信息。 再工程是在获得程序设计信息的同时,利用这些信息修改或重构软件系统的工作。根据用户的需求,软件人员利用再工程重新实现已有程序,同时增加新的功能或改进性能。 ⑴面向缺陷维护(程序级维护):软件产品能够正常运转,可以满足用户的功能、性能、接口需求,只是个别地方存在缺陷,使用户感到不便。缺陷发生在程序实现的级别上。克服缺陷的方法是修改程序,而不是修改分析与设计,也就是通常说的只修改编码,不修改数据结构。面向缺陷维护是较小的维护。 ⑵面向功能维护(设计级维护):软件产品在功能、性能、接口上存在某些不足。不维护就不能正常运转。维护即要修改分析与设计,又要修改程序,也就是既修改数据结构,又修改编码。面向功能维护是较大的维护。 以客户机/服务器两层结构来划分软件维护。 对这种结构的应用软件维护的方法是,将客户机和服务器上的两部分软件分开维护。 客户机上的软件修改后,制作成自动安装的光盘,传递给用户自己安装,替换原来的软件。 服务器上的软件由维护人员直接在
文档评论(0)