第9章 软件工程41679.ppt

  1. 1、本文档共128页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 软件工程41679.ppt

习题9 需求分析的任务是什么? 怎样理解分析阶段的任务是决定“做什么”,而不是“怎样做”? 需求说明(或需求规格说明书)由哪些部分组成? 什么是模块独立性?用什么来度量? 说明详细设计的基本原则与任务。 什么白盒测试?什么是黑盒测试? (3)黑盒测试和白盒测试 测试任何产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测试是否每个功能都能正常使用:如果知道产品内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。前一个方法称为黑盒测试,后一个方法称为白盒测试。 黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息的完整性。与黑盒测试法相反,白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作,白盒测试又称为结构测试。 9.4.1 软件测试 不论采用哪种测试方法,只要对每一种可能的情况都进行测试,就可以得到完全正确的程序。包含所有可能情况的测试称为穷尽测试,对于实际程序而言,穷尽测试通常是不可能做到的。使用黑盒测试法,为了做到穷尽测试,至少必须对所有输入数据的各种可能值的排列组合都进行测试,但是,由此得到的测试的情况往往大到实际上根本无法测试的程度,不仅测试时间长得不可思议,测试得出的输出数据更是多得完全无法分析。然而严格地说这还不能算穷尽测试,为了保证测试能发现程序中的所有错误,不仅应该使用有效的输入数据,还必须使用一切可能的输入数据。实践表明,用无效的输入数据比用有效的输入数据进行测试,往往能发现更多的错误。 9.4.1 软件测试 使用白盒测试法,为了做到穷尽测试,程序中每条可能的通路至少都应该执行一次。即使测试很小的程序,通常也不能做到这一点。例如,一段程序对嵌套的语句循环执行20次,而循环体中有5条可能的路径,则在这段程序中共有520(1014)条可能的执行通路,显然,即使每条通路只执行一次也是不可能的。 因为不可能进行穷尽测试,所以软件测试不可能发现程序中的所有错误,也就是说,通过测试并不能证明程序是正确的。但是,我们的目的是要通过测试保证软件的可靠性,因此,必须仔细设计测试方案,力争用尽可能少的测试发现尽可能多的错误。 9.4.1 软件测试 3.典型的测试报告格式 9.4.2 软件维护 1.软件维护的定义、分类、特点 在软件运行/维护阶段对软件产品所进行的修改就是维护。改正在特定的使用条件下暴露出来的一些潜在程序错误或设计缺陷;因在软件使用过程中数据环境发生变化或处理环境发生变化,需要修改软件以适应这种变化。用户和数据处理人员在使用时常提出改进现有功能,增加新的功能,以及改善总体性能的要求,需要修改软件把这些要求纳入到软件之中。 软件的维护并不只是修正错误。按维护性质不同,软件维护可分为:改正性维护、适性维护、完善性维护和预防性维护。 在前面已经谈到,软件测试不可能揭露仍旧系统中所有潜伏的错误。所以,这些程序在使用过程中还将发生错误,诊断和改正这些错误的过程称为改正性维护。 9.4.2 软件维护 计算机发展迅速,每一个方面都在急速变化。每年都有新的硬件产品出现,同时新的操作系统或操作系统的新的版本也不断推出,外部设备和其他的系统部件也经常更新或升级。另一方面,应用软件的使用寿命一般都在十年以上,这就大大超过了最初开发这些软件的环境的寿命。为了适应新的变化而进行的修改活动,称之为适应性维护。 一个软件投入使用和正常运行过程中,用户还会不断提出增加新功能,修改现有功能以及一般性的改进要求和建议等。为了满足这些要求,需要进行完善性维护,这类活动是软件维护工作的主要部分。 9.4.2 软件维护 为了改进软件未来的可维护性或可靠性,或者为了给未来的改进提供更好的基础而对软件进行修改,这类活动通常叫做预防性维护。当然这类维护比上面三类要少得多。这类维护的特点是采用再造工程技术。 从上可见,软件维护不局限于纠正错误,实际上维护工作量一半在于完善性维护。统计数字表明,完善性维护占全部维护活动的50%-60%,改正性维护占17%-21%,适应性维护占18%-25%,其他维护活动只占4%左右。 应该注意,上述四类维护活动都必须应用于整个软件配置,维护软件文档和维护软件的可执行代码是同样重要的。 9.4.2 软件维护 2.结构化维护与非结构化维护的对比 如果软件配置的唯一成分是程序代码,那么维护活动从艰苦地评

文档评论(0)

cai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档