网站大量收购独家精品文档,联系QQ:2885784924

第11章软件工程课件.pptx

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 面向对象实现 ;11.1 面向对象的程序设计语言; 面向对象设计的结果要转换为计算机系统可以识别的代码,既可以用面向对象语言,也可以用非面向对象语言实现。设计阶段设计的对象和关联最终都必须用具体的编程语言或数据库实现。使用OO语言来实现OO设计相对来说比较容易,因为语言的结构与设计的构造是相似的,OO语言支持对象、多态性和继承性。使用非OO语言需要特别注意和规定保留程序的OO结构,OO概念可以映射到非OO语言结构中,这只是一个表达方式的问题,不是语言能力的问题???因为编程语言最终要转换为机器语言,但OO语言良好的风格尤为突出。由于语言本身充分支持面向对象概念的实现,因此,编译程序可以自动把面向对象概念映射到目标程序中。使用非面向对象语言编写面向对象程序,则必须由程序员自己把面向对象概念映射到目标程序中。; 例如人语言并不直接支持类或对象的概念,程序员只能在结构中定义变量和相应的函数(事实上,不能直接在结构中定义函数而是要利用指针间接定义)。所有非面向对象语言都不支持一般到特殊结构的实现,使用这类语言编程时要么完全回避继承的概念,要么在声明特殊化类时,把对一般化类的引用嵌套在它里面。; 我们说选用面向对象语言还是非面向对象语言,这只是一个表达方式的问题,不是语言能力的问题。从原理上说,使用任何一种通用语言都可以实现面向对象概念。在传统的面向功能的方法学中,强调的是确定和分解系统功能,这种做法虽然是目标的最直接的实现方式,但由于功能是软件系统中最不稳定、最容易变化的方面,因而获得的程序往往难于维护和扩充。OO方法开发软件,其结构源于客观世界稳定的对象结构,与传统软件相比,软件本身的内部结构发生了质的变化,易重用性和易扩充性都得到提高。围绕对象来组织软件系统,可以自然地将现实世界模型映射到软件结构中。因此,使用面向对象语言,实现面向对象概念,远比使用非面向对象语言方便。当然,方便性也并不是决定选择何种语言的关键因素。; 选择程序设计语言的关键因素,是语言的一致的表达能力、可重用性及可维护性。面向对象语言刻画客观系统较为自然,它具有: ① 识认性,系统中的基本构件可识认为一组可识别的离散对象; ② 类别性,系统具有相同数据结构与行为的所有对象可组成一类; ③ 多态性,对象具有惟一的静态类型和多个可能的动态类型; ④ 继承性,在基于层次关系的不同类中共享数据和操作等特点。 因此,能够更完整、更准确地表达问题域语义的面向对象语言的语法是非常重要的,这将会对系统带来下述几个重要优点。; 1. 一致的表示方法 从前面章节的讲述中可以知道,面向对象开发基于不随时间变化的、一致的表示方法。这种表示方法应该从问题域到OOA,从OOA到OOD,最后从OOD到面向对象编程(OOP),始终稳定不变。一致的表示方法既有利于在软件开发过程中始终使用统一的概念,也有利于编程人员理解软件的各种配置成分。 我们以“自动饮料售货机”为例,说明面向对象开发基于不随时间变化的、一致的表示方法。对于“自动饮料售货机”这一实例,在问题域、OOA、OOD或是OOP的各个阶段所用到的概念都是一致的、不变的。如:退币杆、找零、熄灯、投币口、投币、饮料、饮料倒出等,这对于用户、分析人员、编程人员、测试人员、维护人员来说,无疑是有很大的帮助的。; 2. 可重用性 软件的可重用性的好坏对于提高软件产品的质量和软件开发效率意义重大。为了能带来可观的商业利益,必须在更广泛的范围中运用重用机制,而不是仅仅在程序设计这个层次上进行重用。因此,在OOA、OOD直到OOP中都显式地表示问题域语义,其意义是十分深远的。随着时间的推移,软件开发组织既可能重用它在某个问题域内的OOA结果,也可能重用相应的OOD和OOP结果。; 我们仍以“自动饮料售货机”为例,说明可重用性对于提高软件产品的质量和软件开发效率意义重大。假设该“自动饮料售货机”可提供汽水、洛神、红茶、可乐、奶昔等五种饮料,有关这五种饮料所实施的操作是相同的,因此,可以构造一个饮料类,然后由该类构造汽水、洛神、红茶、可乐、奶昔等五种不同的对象。这对于提高软件开发质量和软件开发效率具有重要的意义。; 3. 可维护性 软件维护是一件极为复杂的事情,在软件的开发成本中约占到70%左右。为了降低维护成本,尽管人们反复强调保持文档与源程序一致的必要性,但是,在实际工作中很难做到交付两类不同的文档,并使它们保持彼此完全一致。特别是考虑到进度、预算、能力和人员等限制因素时,做到两类文档完全一致几乎是不可能的。因此

文档评论(0)

职教魏老师 + 关注
官方认证
服务提供商

专注于研究生产单招、专升本试卷,可定制

版权声明书
用户编号:8005017062000015
认证主体莲池区远卓互联网技术工作室
IP属地河北
统一社会信用代码/组织机构代码
92130606MA0G1JGM00

1亿VIP精品文档

相关文档