第11章 面向对象实现 普通高等院校计算机类专业系列教材 软件工程教学课件.ppt

第11章 面向对象实现 普通高等院校计算机类专业系列教材 软件工程教学课件.ppt

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

class Hd {private: int a=1; char *h=Hd;} class Vb {public: int b=2; char *v=Vb;} Hd p; Vb *q=(Vb *)p; … 则其中,p的数据成员可以通过q被随意访问。 此外,继承不会减少对子类的测试,相反,会使测试过程更加复杂化。因此,继承也给测试用例的设计速度带来负面影响。当父类与子类的环境不同时,父类的测试用例对子类没有什么使用价值,必须为子类设计新的测试用例。 在设计面向对象的测试用例时应注意以下三点。 (1) 继承的成员函数需要测试。对于在父类中已经测试过的成员函数,根据具体情况仍需在子类中重新测试。一般在下述两种情况下要对成员函数重新进行测试: ● 继承的成员函数在子类中有所改动; ● 成员函数调用了改动过的成员函数。 (2) 子类的测试用例可以参照父类。例如,有两个不同的成员函数的定义如下: father::B()中定义为 if (value0) message(less); else if (value==0) message(equal); else message(more); son::B()中定义为 if (value0) message(less); else if (value==0) message(It is equal); else {message(more); if (value==99) message (Luck);} 在原有的测试上,对son::B()的测试只需作如下改动:将value==0的测试结果期望改动,并增加value==99这一条件的测试。 (3) 设计测试用例时,不但要设计确认类功能满足的输入,而且还应有意识地设计一些被禁止的例子,确认类是否有不合法的行为产生。 2. 类测试用例设计 类测试是类生存期中的初始测试阶段。类一般是一些单独的部件,可以用于不同的应用软件中。这就要求每个类都必须是可靠的,并且不需要了解任何实现细节就能复用。类的测试既可以使用传统的白盒测试方法,也可以使用黑盒测试方法。一般来说,在设计测试用例时,可参照下列步骤: (1) 根据OOD分析结果,选定检测的类,并仔细分出类的状态和相应的行为,以及成员函数间传递的消息和输入输出的界定。 1. 未来能否占主导地位 语言在未来能否占主导地位,是否具有很强的生命力,对于软件生存期具有相当重要的作用。因为,软件投入运行后,其维护和功能扩充是经常性的工作,如果在若干年以后,你所使用的面向对象的程序设计语言仍占主导地位,那么,你所开发的产品在若干年后仍然具有很强的生命力。否则,若干年后,其维护或功能扩充就很难实施了,你所开发的产品就会自动退役。 究竟如何来选择呢?通常情况下,就是依据目前该语言占有的市场份额,以及专业书刊和学术会议上所做的分析、评价。这样,人们往往能够对未来哪种面向对象语言将占据主导地位做出预测。当然,最终决定选用哪种面向对象语言的实际因素,往往是诸如成本之类的经济因素而不是技术因素。 2. 可重用性 采用面向对象方法开发软件的基本目的,是通过重用提高软件质量和软件生产率,增强系统的可维护性。面向对象语言的主要优点是能够最完整、最准确地表达问题域语义,因此,在开发系统时,应该优先选用面向对象语言。 3. 类库和开发环境 语言、开发环境和类库是决定可重用性的三个因素。可重用性除了依赖于面向对象程序语言本身以外,同时还依赖于开发环境优劣和类库内容的丰富程度。只有语言、开发环境和类库这三个因素综合起来,才能共同决定可重用性。 考查程序语言的时候,不但应该考查是否提供了类库,更重要的是考查类库中提供了哪些有价值的类。随着类库的日益成熟和丰富,会给开发应用系统带来很大的方便,需要开发人员自己编写的代码将越来越少,以致会有事半功倍或更高的效率。 目前较为流行的OO程序设计语言和工具大致可以分为两类,一类是传统OO语言和工具:Smalltalk、C++、Object Pascal、Java等;另一类是高级OO语言(OO-4GL)和工具:Visual Basic、PowerBuilder、Delphi、Power Objects、Developer/2000、Visual Foxpro、Javascript等。用

文档评论(0)

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

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

1亿VIP精品文档

相关文档