第八章--维护

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

问题四:什么叫软可维护性?它主要由哪 些因素决定?
• 软件可维护性即维护人员对该软件进行维护的难易程度,具体包 • • • • • • • • • • • •
括理解、改正、改动和改进该软件的难易程度。 决定可维护性的因素: 1.系统的大小 2.系统的年龄 3.结构合理性 可维护性可通过7个质量特性来衡量: 可理解性 可测试性 可修改性 可靠性 可移植性 可使用性 效率
• A=2,B=2
• 路径:sacbe • (4)和(7) • A=2,B=0
• 路径:sabde
问题三:软件维护有哪些副作用?
• 软件修改是一项很危险的工作,对一个复杂的逻辑过程,仅仅做
• • • • • • • • • •
一项微小的改动都可能引入潜在的错误。虽然设计文档化和细致 的回归测试有助于排除错误,但是维护仍然会产生副作用。软件 维护的副作用是指由于维护或在文档化过程中其他一些不期望的 行为引入的错误。副作用大致可分为三类: 代码副作用 虽然每次代码修改都可能引入潜在的错误,但是下列修改最 易出错: (l)修改或删除子程序; (2)修改或删除语句标号; (3)修改或删除标识符; (4)为提高执行效率而做的修改; (5)修改文件的open.close操作; (6)修改逻辑操作符; (7)由设计变动引起的代码修改; (8)修改对边界条件的测试。
软件维护类型:
1.改正性维护折叠编辑本段 改正性维护是指改正在系统开发阶段已发生而系统测 试阶段尚未发现的错误。这方面的维护工作量要占整个维护 工作量的17%~21%。所发现的错误有的不太重要,不影响 系统的正常运行,其维护工作可随时进行:而有的错误非常重 要,甚至影响整个系统的正常运行,其维护工作必须制定计 划,进行修改,并且要进行复查和控制。
第八章
——维护
问题一:什么是软件维护?它有哪几种类型?
• 定义:
软件维护(Software maintenance)是一个软件工 程名词,是指在软件产品发布后,因修正错误、提升性能或 其他属性而进行的软件修改。 软件维护主要是指根据需求变化或硬件环境的变化对 应用程序进行部分或全部的修改,修改时应充分利用源程序。 修改后要填写《程序修改登记表》,并在《程序变更通知书》 上写明新旧程序的不同之处。
题Байду номын сангаас单。
质量测试与质量标准则用于定量分析和评价程序的质量。由于 许多质量特性是相互抵触的,要考虑几种不同的度量标准去度量
不同的质量特性。
问题六:如何提高软件的可维护性?
• (1)建立明确的软件质量目标:
如果要程序满足可维护性七个特性的全部要求,那么要付出很 大的代价,甚至是不现实的,但有些可维护性是相互促进的,因 此要明确软件所追求的质量目标。 • (2.)使用先进的软件开发技术和工具: 利用先进的软件开发技术能大大提高软件质量和减少软件费用。 面向对象的软件开发方法就是一个非常实用而强有力的软件开发 方法,用面向对象方法开发出来的软件系统,稳定性好,比较容 易修改,比较容易理解,易于测试和调试,因此,可维护性 好。

• (3)建立明确的质量保证:
质量保证是指为提高软件质量所做的各种检查工作。质量保证 检查是非常有效的方法,不仅在软件开发的各阶段中得到了广泛 应用,而且在软件维护中也是一个非常主要的工具。为了保证可 维护性,以下四类检查是非常有用的: (1)在检查点进行检查。 (2)验收检查。 (3)周期性的维护 检查。 (4)对软件包的检查。 (4).选择可维护的语言: 程序设计语言的选择对维护影响很大。低级语言很难掌握,很 难理解,因而很难维护。一般来说,高级语言比低级语言更容易 理解,第四代语言更容易理解,容易编程,程序容易修改,改进 了可维护性。 (5).改进程序的文档: 程序文档是对程序功能、程序各组成部分之间的关系、程序设 计策略、程序实现过程的历史数据等的说明和补充。程序文档对 提高程序的可阅读性有重要作用。为了维护程序,人们必须阅读 和理解程序文档。
• 3.完善性维护是为扩充功能和改善性能而进行的修改,主
要是指对已有的软件系统增加一些在系统分析和设计阶段 中没有规定的功能与性能特征。这些功能对完善系统功能 是非常必要的。另外,还包括对处理效率和编写程序的改 进,这方面的维护占整个维护工作的50%~60%,比重较 大.也是关系到系统开发质量的重要方面。这方面的维护除 了要有计划、有步骤地完成外.还要注意将相关的文档资料 加入到前面相应的文档中去。
• 代码副作用有时可通过回归测试发现,此时应立即采取补救措施。
然而,有时直到交 i付运行后才暴露出来,故对代码进行上述修 改应特别慎重。
• • •
• • • • • • •
数据副作用 在维护阶段一一旦修改了数据结构’软件设计与数据可能就 不再匹配'错误随即出现数据副作用是指因修改软件的信息结构 而带来的不良后果。容易引起数据副作用的傅包括: (1)局部或全局常量的再定义; (2)记录或文件格式的再定义; (3)增减数据或其他复杂数据结构的体积; (4)修改全局数据; (5)重新初始化控制标志和指针; (6)重新排列I/()表或子程序参数表。 设计文档化有助于限制数据副作用,因为设计文档中详细地描述 了数据结构并提一个交叉访问表,把数据和引用它们的模块对应 起来。
• 4.预防性维护为了改进应用软件的可靠性和可维护性,为
了适应未来的软硬件环境的变化,应主动增加预防性的新 的功能,以使应用系统适应各类变化而不被淘汰。例如将 专用报表功能改成通用报表生成功能,以适应将来报表格 式的变化。这方面的维护工作量占整个维护工作量的4%左 右。
问题二:非结构化维护和结构化维护的主 要区别是什么?
语句覆盖
A=3,B=0
路径:sacbde
判定覆盖
• A=4,B=0 • 路径:sabde
• A=2,B=2
• 路径:sacbe
条件覆盖
• A=3,A!=3,B>1,B<=1
• A>2,
A<=2,B=0,B!=0 • A=3,B=0 • 路径: sacbde • (A=3,B<=1,A>2,B=0) • A=2,B=2 路径:sabe • (A!=3,B>1,A<=2,B!=0)
• 区别是:软件生命周期、软件配臵的完整性 • 1.非结构化
在非结构化的系统中,每个节点存储自身的信息或信息的 索引(如指针和IP地址)。当用户需要在P2P系统中获取信息时, 他们预先并不知道这些信息 (如某个文件)会在那个节点上存储。 因此,在非结构化P2P系统中,信息搜索的算法难免带有一定的 盲目性,例如最简单的泛洪式查找(类似于广播)和扩展环查找(从 最近的n个节点开始,层层转发直到找到目标或超出了跳数的上 限为止)。 2.结构化 P2P网络中的节点是有固定结构的,每个节点只存储特定的 信息或特定信息的索引。当用户需要在P2P系统中获取信息时, 他们必须知道这些信息(或索引)可能存在于那些节点中。 用户预先知道应该搜索哪些节点,避免了非结构化P2P系统 中使用的泛洪式查找,因此提高了信息搜索的效率。
判定/条件覆盖
• A=3,B=0
• 路径:sacbde
• A=2,B=2
• 路径:sabe
条件组合覆盖
• (1)和(6) • (1)A=3,B>1 • (2)A=3,B<=1 • (3)A!=3,B>1 • (4)A!=3,B<=1 • (5)A>2,B=0 • (6)A>2,B!=0 • (7)A<=2,B=0 • (8)A<=2,B!=0 • A=3,B=2 • 路径:sacbe • (2)和(5) • A=3,B=0 • 路径:sacbde • (3)和(8)
问题五:.如何度量软件的可维护性?
目前有若干对软件可维护性进行综合度量的方法,但要对可 维护性作出定量度量还是困难的。还没有一种方法能够使用计算 机对软件的可维护性进行综合性的定量评价。 下面是度量一个可维护的软件的七种特性时常采用的方法,即 质量检查表、质量测试、质量标准。 质量检查表是用于测试程序中某些质量特性是否存在的一个问
• 2.适应性维护
适应性维护是指使用软件适应信息技术变化和管理需 求变化而进行的修改。这方面的维护工作量占整个维护工作 量的18%~25%。由于计算机硬件价格的不断下降,各类系 统软件屡出不穷,人们常常为改善系统硬件环境和运行环境 而产生系统更新换代的需求;企业的外部市场环境和管理需求 的不断变化也使得各级管理人员不断提出新的信息需求。这 些因素都将导致适应性维护工作的产生。进行这方面的维护 工作也要像系统开发一样,有计划、有步骤地进行。
相关文档
最新文档