第九章开发过程与程序质量保证.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章开发过程与程序质量保证

第九章 开发过程与程序质量保证 程序设计首先是一个过程,分为问题建模、算法设计、编写代码和编译调试等阶段。即使是一个比较简单的程序,我们也应该养成先分析,再下手,最后调试的习惯,严格遵循程序设计过程。 本章介绍软件的开发过程及过程的实施管理,从程序质量保证的高度讨论了程序的调试与测试,重点讲述了Java程序的调试方法、程序中的异常处理以及单元测试方法。 9.1 软件开发过程概述 软件生命周期 软件开发过程 软件质量与测试 9.1.1 软件生命周期 9.1.2 软件开发过程 开发一个软件系统的参与者包括:系统所有者、使用者、分析者、设计者、构建者以及IT供货商和顾问这6类。他们的共同目标是创建符合需要的软件系统。 软件开发的项目管理是和软件开发的基本过程紧密结合的。 通常软件开发过程可以分为若干个不同的开发阶段实施,每个阶段都由不同角色的开发人员担当,并产生可交付的软件制品。 一个典型的软件系统开发过程包含了定义边界、问题分析、需求分析、系统分析、系统设计、构造实现、测试和发布等7个阶段。 9.1.3 软件质量与测试 优质软件的定义是:软件能够满足用户显式或隐式的需求,文档齐全,符合规定的操作标准,在其开发使用的硬件上高效运行。 软件测试是软件质量的首要保证。测试应包括黑盒测试和白盒测试。 一般来说,软件测试可分为三种测试,即程序测试、系统测试和用户测试。 9.2 程序调试 程序是软件的本体,又是软件研究的对象。 程序的质量决定软件的质量。 在软件开发过程中,程序编码、调试、测试是一个持续的循环过程,只有在对程序进行了彻底地调试与测试后才能交付最终用户使用。 9.2.1 程序调试的概念 9.2.1 程序调试的概念 9.2.2 使用断点 9.2.3 监视和检查数据的值 观察局部变量 : 打开“局部变量”窗口(Alt-Shift-1)或“监视”窗口(Alt-Shift-2)。右键单击某个变量或监视,然后选择“创建固定监视”。 跟踪变量或表达式值的变化: 通过选择“窗口”-“调试”-“监视”菜单可以打开“监视”窗口。 察看调用栈 : 可以随时选择“窗口”-“调试”-“调用栈”(Alt -Shift-3)来打开“调用栈”窗口。 9.2.4 调试过程 准备调试 启动调试 监视代码 单步执行代码。 越过(F8) 步入(F7) 步出(Alt-Shift-F7) 查看调试信息。 修复任何错误并继续调试。 完成调试 9.3 单元测试 单元测试是一种小粒度的测试,以测试程序的某个功能或代码块。单元测试是程序设计中的白盒测试,可以完成语义检查。 由Erich Gamma和Kent Beck提供的JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试。它可以使测试代码与产品代码分开,易于集成到测试人员的程序设计过程中。 先写测试,再写代码是面向对象提倡的一种设计原则。JUnit单元测试可以支持这种测试驱动的软件开发方式。 9.3 单元测试 通过使用NetBeans IDE的JUnit测试生成器,可以创建在单元测试中用作框架的兼容测试类。一旦设计好测试类,NetBeans IDE将在调试器中运行测试,以检查测试是否有错误。 在单元测试代码中,所有的测试类都继承自TestCase抽象类,TestCase类中包含有setUp、tearDown方法分别用于测试的初始化和结束后的清理任务。 在编写的测试代码中可使用Assert静态类,它是一系列断言方法的集合。JUnit提供的断言方法包括基础断言、数字断言、字符断言、布尔断言、对象断言。 9.4 异常与异常处理 在应用程序开发中如何检测、处理程序的运行错误是一个很重要的问题。虽然调试和测试可以帮助我们发现大部分程序错误,但有些错误是不可预料的。例如,当程序涉及到与外设的数据交换或操作外设,如要求用户输入、读写磁盘等时,错误的发生是程序无法控制的,如输入非法字符、磁盘不能读写等。这些情况不仅会导致应用程序异常中止而且可能引起系统的崩溃。针对这些问题,Java同时提供了一套强大的异常处理机制,可以帮助我们处理和预防潜在的错误。巧妙地利用它,可以使程序更为健壮,使用更为安全。 9.4.1 异常与异常类 就程序运行而言,异常就是指程序运行时所发生错误或不正常的情况。就程序设计而言,Java中所谓“异常”是指程序抛出的一个异常对象,通常用来标志一个程序错误的发生。 异常类是Java异常处理机制的核心,Java提供的所有异常类都是Exception类的派生类。用户也可以从Exception类或其子类派生一个自定义的异常类。 受查异常能够由java编译器进行分析。受查异常在那些显然可能产生错误的方法中抛出。非受查异常是派生自Run

文档评论(0)

jixujianchi + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档