- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 面向对象实现;面向对象实现主要包括两项工作:
把面向对象设计结果翻译成用某种程序语言书写的面向对象程序;
测试并调试面向对象的程序。
面向对象程序的质量基本上由面向对象设计的质量决定,所采用的程序语言的特点和程序设计风格也将对程序的可靠性、可重用性及可维护性产生深远影响。
软件测试仍然是保证软件可靠性的主要措施。但是,面向对象程序中特有的封装、继承和多态等机制,也给面向对象测试带来一些新特点,增加了测试和调试的难度。 ;12.1 程序设计语言12.1.1 面向对象语言的优点;12.1.2 面向对象语言的技术特点;4. 实现属性和服务的机制
对于实现属性的机制应该着重考虑以下几个方面:支持实例连接的机制;属性的可见性控制;对属性值的约束。
对于服务来说主要应该考虑下列因素:支持消息连接的机制;控制服务可见性的机制;动态联编。
5. 类型检查
如果语言仅要求每个变量或属性隶属于一个对象,则是弱类型的,如Smalltalk;
如果语法规定每个变量或属性必须准确地属于某个特定的类,则这样的语言是强类型的,如C++。;6. 类库
大多数面向对象语言都提供一个实用的类库。存在类库,许多软构件就不必由程序员重头编写了,这为实现软件重用带来很大方便。
7. 效率
使用拥有完整类库的面向对象语言,有时能比使用非面向对象语言得到运行更快的代码。
绝大多数面向对象语言都优化了查找继承树的过程,从而实现了高效率查找。
;8. 持久保存对象
一些面向对象语言,没有提供直接存储对象的机制。这些语言的用户必须自己管理对象的输入输出,或者购买面向对象的数据库管理系统。
另外一些面向对象语言(例如,Smalltalk),把当前的执行状态完整地保存在磁盘上。
还有一些面向对象语言,提供了访问磁盘对象的输入输出操作。;9. 参数化类
所谓参数化类,就是使用一个或多个类型去参数化一个类的机制,有了这种机制,程序员就可以先定义一个参数化的类模板,然后把数据类型作为参数传递进来,从而把这个类模板应用在不同的应用程序中,或用在同一应用程序的不同部分。
10. 开发环境
面向对象语言所提供的软件工具或开发环境尤其重要。至少应该包括下列一些最基本的软件工具:编辑程序,编译程序或解释程序,浏览工具,调试器等。;12.1.3 选择面向对象语言;12.2 程序设计风格12.2.1 提高可重用性;3. 保持方法的一致性
一般说来,功能相似的方法应该有一致的名字、参数特征、返回值类型、使用条件及出错条件等。
4. 把策略与实现分开
策略方法:负责做出决策,提供变元,并且管理全局资源。
实现方法:负责完成具体的操作,但却并不做出是否执行这个操作的决定,也不知道为什么执行这个操作。
为提高可重用性,在编程时不要把策略和实现放在同一个方法中,应该把算法的核心部分放在一个单独的具体实现方法中。;5. 全面覆盖
针对输入条件的所有组合写出方法。
对空值、极限值及界外值等异常情况也应该能够作出有意义的响应。
6. 尽量不使用全局信息
应该尽量降低方法与外界的耦合程度,不使用全局信息是降低耦合度的一项主要措施。
7. 利用继承机制
调用子过程。
分解因子。
使用委托。
把代码封装在类中。;12.2.2 提高可扩充性;12.2.3 提高健壮性;12.3 测试策略;12.3.1 面向对象的单元测试;12.3.2 面向对象的集成测试;12.3.3 面向对象的确认测试;12.4 设计测试用例12.4.1 测试类的方法;3. 基于故障的测试
基于故障的测试(fault based testing)与传统的错误推测法类似,也是首先推测软件中可能有的错误,然后设计出最可能发现这些错误的测试用例。
为了推测出软件中可能有的错误,应该仔细研究分析模型和设计模型,而且在很大程度上要依靠测试人员的经验和直觉。;12.4.2 集成测试方法;1. 多类测试
生成多个类的随机测试用例的步骤:
对每个客户类,使用类操作符列表来生成一系列随机测试序列。这些操作符向服务器类实例发送消息。
对所生成的每个消息,确定协作类和在服务器对象中的对应操作符。
对服务器对象中的每个操作符(已经被来自客户对象的消息调用),确定传递的消息。
对每个消息,确定下一层被调用的操作符,并把这些操作符结合进测试序列中。;2. 从动态模型导出测试用例
类的状态图可以帮助导出测试该类(及与其协作的那些类)的动态行为的测试用例。
在类的行为导致与一个或多个类协作的情况下,应该使用多个状态图去跟踪系统的行为流。;1、Genius only means hard-working all ones life. (Mendeleyer, Russian Chemist)? 天才只意味着终身不懈的努力。20.8.58.5
您可能关注的文档
- 货款支付培训教材.pptx
- 货款的支付方式.pptx
- 货物的检验方法概述.pptx
- 货物贸易外汇管理制度改革试点.pptx
- 货物贸易外汇改革培训(企业版).pptx
- 货车安全防范系统运用管理条例.pptx
- 质检员培训材料.pptx
- 质检员识图培训机械制图基础培训快速识图.pptx
- 质量专业理论与实务lengran2000.pptx
- 质量体系内部审核专业培训.pptx
- 2023-2024学年黑龙江省哈尔滨市中考数学试卷(附答案解析).docx
- 中考语文抢分秘籍专题07九年级上册重点古诗词必背知识点.docx
- 中考语文满分作文热点素材集锦及实战演练专题03 后疫情时代:写作角度+关键词+金句名言+时评+范文.docx
- 中考语文抢分秘籍秘籍06古诗文名篇名句默写(原卷版+解析).docx
- 中考语文抢分秘籍专题17中考字音、字形分册梳理.docx
- 2023-2024学年山东省济宁市中考数学试卷(附答案解析).docx
- 中考语文满分作文热点素材集锦及实战演练专题06 汶川地震被救少年14年后救火牺牲.docx
- 中考语文满分作文热点素材集锦及实战演练专题03 天宫课堂第三课.docx
- 中考语文满分作文热点素材集锦及实战演练专题04 《典籍里的中国》“大而美”古籍因此“活起来”.docx
- 2023-2024学年山东省济南市中考数学试卷(附答案解析).docx
最近下载
- SY_T 5660-2020 钻井液用包被絮凝剂 聚丙烯酰胺类.pdf VIP
- 2021-202x年基金管理人员工跟投基金投资协议-经典(律师审定版).docx
- 2010-2015年 中国电梯行业市场发展前景及投资分析报告.doc
- 78度智慧参考资料.pdf
- 基层儿科医务人员服务能力提升学习班答案-2024华医网继续教育答案.docx VIP
- DELTA台达伺服驱动器 ASDA-A2使用手册-操作说明书.pdf
- 国际贸易实务英文版(第五版)周瑞琪教材辅导习题解答.pdf
- 基于高斯滤波和近似积分的电动车窗防夹算法.pdf
- Application for Export Transaction 离岸客户填写指南.doc VIP
- 2023年膨化食品行业市场需求分析报告及未来五至十年行业预测报告.docx
文档评论(0)