软件工程(张海藩)课件第5章.ppt

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

第5章 结构化实现   通常把编码和测试统称为实现。 所谓编码就是把软件设计翻译成计算机可以理解的形式——用某种程序设计语言书写的程序。同软件设计一样,软件编码风格也会对程序的可靠性、可读性、可测试性和可维护性产生深远的影响。   无论怎样强调软件测试的重要性和它对软件可靠性的影响都不过分。 测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。 测试是对软件规格说明、设计和编码的最后复审。   仅就测试而言,它的目标是发现软件中的错误,但是,发现错误并不是我们的最终目的。软件工程的根本目标是开发出高质量的完全符合用户需要的软件,因此,通过测试发现错误之后还必须诊断并改正错误,这就是调试的目的。 调试是测试阶段最困难的工作。 5.1 编码   5.1.1 选择程序设计语言 程序设计语言是人和计算机通信的基本工具。因此,编码之前的一项重要工作就是选择一种适当的程序设计语言。 总的来说,高级语言明显优于汇编语言。用高级语言编写的程序容易阅读,容易测试,容易调试,容易维护。 注意: 1 初学者不要妄言一种语言的好坏。参看《学习c++的 50规则》 2 学习方法 学习程度的划分:陌生、了解、熟悉、掌握、精通、大师  5.1.2 编码风格 源程序代码的逻辑简明清晰、易读易懂是好程序的一个重要标准。为了做到这一点,有一些应该遵循的规则。参看《华为编程规范》 5.2 软件测试基础 表面上: 软件工程的其他阶段都是“建设性”的 软件工程的测试阶段却是“破坏性”的 实质上: 测试阶段的根本目标是尽可能多地发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户使用 5.2.1 测试目标 G.Myers给出了关于测试的一些规则,这些规则也可以看作是测试的目标或定义: · 测试是为了发现程序中的错误而执行程序的过程 · 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案 · 成功的测试是发现了至今为止尚未发现的错误的测试 此外,应该认识到测试决不能证明程序是正确的。测试只能查找出程序中的错误,不能证明程序中没有错误。 5.2.2 黑盒测试和白盒测试 黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息的完整性。 黑盒测试又称为功能测试。 与黑盒测试法相反,白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作。白盒测试又称为结构测试。 5.2.3 测试准则 为了能设计出有效的测试方案,软件工程师必须充分理解并正确运用指导软件测试的基本准则。主要的测试准则如下所述: · 所有的测试都应该能追溯到用户需求。 · 应该在测试开始之前的相当长时间,就制定出测试计划。 · 把Pareto原理应用于软件测试。Pareto原理告诉我们,测试发现的错误中的80%很可能是由程序中20%的模块造成的。 · 测试应该从“小规模”开始,并逐步进行“大规模”测试。 · 穷举测试是不可能的。 · 为了达到最佳的测试效果,应该由独立的第三方来从事测试工作。  5.2.4 流图 设计测试方案时,往往需要仔细分析程序的控制流。为了突出表示程序的控制流,可以使用流图(也称为程序图)。 流图仅仅描绘程序的控制流程,它完全不表现对数据的具体操作以及分支或循环的具体条件。 与状态转换图的区别:状态转换图主要针对要开发系统的全局,而流图则主要描述某一功能的具体细节。 在流图中用圆表示节点,一个圆代表一条或多条语句。程序流程图中的一个处理框序列和一个菱形判定框,可以映射成流图中的一个节点。流图中的箭头线称为边,它和程序流程图中的箭头线类似,代表控制流。 注意: 在流图中一条边必须终止于一个节点,即使这个节点并不代表任何语句(实际上相当于一个空语句)。 由边和节点围成的面积称为区域,当计算区域数时应该包括图外部未被围起来的那个区域。 复合条件(在条件中包含了一个或多个布尔运算符)处理:把复合条件分解为若干个简单条件,每个简单条件对应流图中一个节点。包含条件的节点称为判定节点。 图5.1 举例说明把程序流程图映射成流图的方法。 procedure:sort 1:do while records re

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档