软件工程导论课件之第章面向对象实现(第五版)(张海藩编著).ppt

软件工程导论课件之第章面向对象实现(第五版)(张海藩编著).ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 第12章 面向对象实现 12.1 程序设计语言 12.2 程序设计风格 12.3 测试策略 12.4 设计测试用例 第一页,共二十四页。 面向对象实现主要包括两项工作: 把面向对象设计结果翻译成用某种程序语言书写的面向对象程序; 测试并调试面向对象的程序。 面向对象程序的质量基本上由面向对象设计的质量决定,所采用的程序语言的特点和程序设计风格也将对程序的可靠性、可重用性及可维护性产生深远影响。 软件测试仍然是保证软件可靠性的主要措施。但是,面向对象程序中特有的封装、继承和多态等机制,也给面向对象测试带来一些新特点,增加了测试和调试的难度。 第二页,共二十四页。 12.1 程序设计语言 12.1.1 面向对象语言的优点 1. 一致的表示方法 一致的表示方法既有利于在软件开发过程中始终使用统一的概念,也有利于维护人员理解软件的各种配置成分。 2. 可重用性 为了能带来可观的商业利益,必须在更广泛的范围中运用重用机制。 3. 可维护性 一般说来,应该尽量选用面向对象语言来实现面向对象分析、设计的结果。 第三页,共二十四页。 12.1.2 面向对象语言的技术特点 1. 支持类与对象概念的机制 所有面向对象语言都允许用户动态创建对象,并且可以用指针引用动态创建的对象。 2. 实现整体-部分(即聚集)结构的机制 分别使用指针和独立的关联对象实现整体-部分结构。 3. 实现一般-特殊(即泛化)结构的机制 既包括实现继承的机制也包括解决名字冲突的机制。 第四页,共二十四页。 4. 实现属性和服务的机制 对于实现属性的机制应该着重考虑以下几个方面:支持实例连接的机制;属性的可见性控制;对属性值的约束。 对于服务来说主要应该考虑下列因素:支持消息连接的机制;控制服务可见性的机制;动态联编。 5. 类型检查 如果语言仅要求每个变量或属性隶属于一个对象,则是弱类型的,如Smalltalk; 如果语法规定每个变量或属性必须准确地属于某个特定的类,则这样的语言是强类型的,如C++。 第五页,共二十四页。 6. 类库 大多数面向对象语言都提供一个实用的类库。存在类库,许多软构件就不必由程序员重头编写了,这为实现软件重用带来很大方便。 7. 效率 使用拥有完整类库的面向对象语言,有时能比使用非面向对象语言得到运行更快的代码。 绝大多数面向对象语言都优化了查找继承树的过程,从而实现了高效率查找。 第六页,共二十四页。 8. 持久保存对象 一些面向对象语言,没有提供直接存储对象的机制。这些语言的用户必须自己管理对象的输入输出,或者购买面向对象的数据库管理系统。 另外一些面向对象语言(例如,Smalltalk),把当前的执行状态完整地保存在磁盘上。 还有一些面向对象语言,提供了访问磁盘对象的输入输出操作。 第七页,共二十四页。 9. 参数化类 所谓参数化类,就是使用一个或多个类型去参数化一个类的机制,有了这种机制,程序员就可以先定义一个参数化的类模板,然后把数据类型作为参数传递进来,从而把这个类模板应用在不同的应用程序中,或用在同一应用程序的不同部分。 10. 开发环境 面向对象语言所提供的软件工具或开发环境尤其重要。至少应该包括下列一些最基本的软件工具:编辑程序,编译程序或解释程序,浏览工具,调试器等。 第八页,共二十四页。 12.1.3 选择面向对象语言 1. 将来能否占主导地位 为了使自己的产品在若干年后仍然具有很强的生命力,可能希望采用将来占主导地位的语言编程。 2. 可重用性 应该优先选用能够最完整、最准确地表达问题域语义的面向对象语言。 3. 类库和开发环境 考虑类库的时候,还应该考虑类库中提供了哪些有价值的类。 在开发环境中,还应该提供使用方便的类库编辑工具和浏览工具。 4. 其他因素 第九页,共二十四页。 12.2 程序设计风格 12.2.1 提高可重用性 1. 提高方法的内聚 一个方法(即服务)应该只完成单个功能。如果某个方法涉及两个或多个不相关的功能,则应该把它分解成几个更小的方法。 2. 减小方法的规模 应该减小方法的规模,如果某个方法规模过大,则应该把它分解成几个更小的方法。 第十页,共二十四页。 3. 保持方法的一致性 一般说来,功能相似的方法应该有一致的名字、参数特征、返回值类型、使用条件及出错条件等。 4. 把策略与实现分开 策略方法:负责做出决策,提供变元,并且管理全局资源。 实现方法:负责完成具体的操作,但却并不做出是否执行这个操作的决定,也不知道为什么执行这个操作。 为提高可重用性,在编程时不要把策略和实现放在同一个方法中,应该把算法的核心部分放在一个单独的具体实现方法中。 第十一页,共二十四页。 5. 全面覆盖 针对输入条件的所有组合写出方法。 对空值、极限值及界外值等异常情况也应该能够

文档评论(0)

虾虾教育 + 关注
官方认证
内容提供者

有问题请私信!谢谢啦 资料均为网络收集与整理,收费仅为整理费用,如有侵权,请私信,立马删除

版权声明书
用户编号:8012026075000021
认证主体重庆皮皮猪科技有限公司
IP属地重庆
统一社会信用代码/组织机构代码
91500113MA61PRPQ02

1亿VIP精品文档

相关文档