- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程Software Engineering 第5章 软件维护 主要内容:1. 软件维护过程2. 软件的可维护性 5.1 软件维护过程 软件维护(software maintenance)就是在软件产品交付之后对其进行修改,以纠正故障,或改进性能和其它属性,或使产品适应改变了的环境。 5.1.1 维护的种类 软件维护分类如下: 改正性维护 适应性维护 完善性维护 预防性维护 各类维护所占比例 维护在软件生存期所 占比例 5.1.2 结构性维护与非结构性维护 不采用软件工程方法开发的软件,只有程序没有文档,维护工作很难进行,称为非结构化维护。采用软件工程方法开发的软件,每个阶段都有文档,容易进行各种维护,称为结构化维护。 维护要求 文件有吗? 分析设计 分析代码 制定计划 修改设计 编码 编码 找到问题? 复查通过? 复查通过? 交付使用 Y N Y N Y Y N N 结构化维护与非结构化维护流程图 5.1.3 维护的费用 维护的不明显代价: (1)由于可用的资源必须供维护任务使用,对开发新软件产生影响。 (2)有关改错或修改的要求不能及时满足,引起用户不满 (3)由于修改软件而引入潜伏的新错误,导致软件质量反而下降 (4)由于维护每条指令的成本数十倍于开发每条指令的成本,造成软件生产率的大幅度下降。 5.1.4 维护的困难 (1)理解他人编写的程序往往是非常困难的。 (2)软件人员经常流动,当维护时,往往无法依赖于开发者本身 (3)需要维护的软件往往没有足够的、合格的文档 (4)绝大多数软件在设计时并不会充分考虑到以后修改的便利问题 (5)由于维护工作十分困难,又容易受挫,因而难以成为一项吸引人的工作。 5.1.5 维护的实施 维护组织 分为长期维护小组和非长期维护小组 2. 维护文档 有两种:维护要求表,维护修改报告。 3. 维护的流程 (1)确定维护的类型 (2)维护记录的保存 (3)维护的复审 5.1.5 维护的副作用 维护的副作用有以下三种: 编码副作用 数据副作用 文档副作用 5.2 软件的可维护性 软件可维护性指软件被理解、改正、调整和改进的难易程度。可维护性是指导软件工程各阶段的一条基本原则。提高可维护性是软件工程追求的目标之一。 5.2.1 决定软件可维护性的因素 影响软件可维护性、与开发环境有关的因素如下: 是否拥有一组训练有素的软件人员; 系统结构是否可理解、是否合理; 文档结构是否标准化; 测试用例是否合适; 是否已有嵌入系统的调试工具; 是否使用标准的程序设计语言; 是否使用标准的操作系统和程序设计语言等。 5.2.2 可维护性的度量 软件的可维护性是难以量化的概念,然而可以借助维护活动中可以定量估算的属性,能间接地度量可维护性。可从下列维护工作所需的时间来度量软件的可维护行: (1)识别问题的时间 (2)修改规格说明书的时间 (3)分析、诊断问题的时间(4)选择维护工具的时间 (5)纠错或修改软件的时间(6)测试软件的时间 (7)维护评审的时间 (8)软件恢复运行的时间 软件维护过程所需的时间越短,维护就越容易。 软件的可维护性,主要表现在它的可理解性、可测试性、可修改性、可移植性等方面。 (1)可理解性 软件的可理解性表现为维护人员理解软件的结构、接口、功能和内部过程的难易程度。 (2)可测试性 可测试性代表软件容易被测试的程度,它与源代码有关。可测试性也代表证实程序正确性的难易程度。
文档评论(0)