软件工程导论class13面向对象方法学引论

软件工程导论class13面向对象方法学引论

ID:42719185

大小:761.06 KB

页数:41页

时间:2019-09-21

软件工程导论class13面向对象方法学引论_第1页
软件工程导论class13面向对象方法学引论_第2页
软件工程导论class13面向对象方法学引论_第3页
软件工程导论class13面向对象方法学引论_第4页
软件工程导论class13面向对象方法学引论_第5页
资源描述:

《软件工程导论class13面向对象方法学引论》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件工程导论 第13课第9章面向对象方法学引论发展概述面向对象并非是一个新的概念,实际上它已有30多年的历史。寻其根源可追溯到60年代的挪威,当时挪威计算中心的KristenNygaard和Ole-JohanDahl开发了一种称作Simula67的语言。Simula67首次引入了类、协同程序和子类的概念,这很象今天的面向对象语言。70年代中期,XeroxPaloAlto研究中心的研究人员设计了Smalltalk语言,该语言的每个元素都被当作一个对象来实现,其程序设计环境及相关的各个方面都是面向对象的。但是

2、,面向对象的推广很慢。例如:Samlltalk的成果直到1981年8月因Byte杂志的介绍才为外界所知,许多软件开发人员了解Samlltalk时,都把它看作是一个窗口系统,而不是程序设计技术的一次革命。80年代,C成为很受欢迎的程序设计语言,它不仅可用在微机上,还可用在多种结构的系统和环境中。80年代早期,AT&T贝尔实验室的BjarneStroustrup把C语言扩展为支持面向对象程序设计的C++。在C++中,程序员可以在其熟悉的语言环境下学习掌握面向对象的程序设计技术,而不必去探究一种新的语言和环境。自

3、90年代以来,软件与硬件之间的差距至少有两代处理器之多,并且这种差距还在增大。当软件系统变得更加复杂时,常规软件工具、技术和概念已不足以应付,从而使软件开发者陷入了困境。但面向对象的方法能够控制软件的复杂性,从而促进了面向对象的发展,掀起了一股“面向对象”热。9.1.1面向对象方法学的要点OOM的出发点和基本原则:尽可能模拟人类习惯的思维方式,使描述问题的问题空间与实现解法的解空间在结构上尽可能一致。面向对象方法是一种以数据和信息为主线,把数据和处理相结合的方法:面向对象方法把对象作为由数据及可以施加在这些

4、数据上的操作所构成的统一体9.1.1面向对象方法学的要点解空间与问题空间的“语义断层”对象解空间对象和问题空间对象解空间对象的呆板问题空间对象具有静态属性又具有动态行为OOM的4个要素(1)对象(object):世界由对象组成。(2)类(class):具有相同属性和操作的对象可划分为类;单个对象可视为某一类的实例(instance)(3)继承(inheritance):类可分层下层子类与上层父类有相同特征,称为继承(4)消息(message):对象间只能通过发送消息进行联系,外界不能处理对象的内部数据,只能

5、通过消息基于对象(objects-based)方法使用对象-消息基于类(class-based)方法使用类-对象-消息面向对象(objects-based)方法使用类-对象-消息-继承9.1.2面向对象方法学的优点与人类习惯的思维方式一致稳定性好可重用性好可维护性好注意:OOM并不是减少了开发时间,而是通过提高可重用性、可维护性,进行扩充和修改的容易程度等,从长远角度改进了软件的质量。1与人类习惯的思维方式一致传统方法:面向过程设计,以计算为核心,数据与操作分离,不易理解。②OOM:以object为核心,基

6、本原理:使用现实世界的概念抽象地思考问题从而自然地解决问题,强调对现实概念的模拟而不强调算法。面向对象方法学的基本原则,是按照人们习惯的思维方式建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统。Class:由特殊到一般的归纳(induction)Inheritance:由一般到特殊的演绎(deduction)2稳定性好传统方法:结构依赖于功能,不稳定。OOM:以object模拟实体,以对象间的联系刻画实体间的联系。需求变化不会引起结构的整体变化,只需做一些局部修改。因为实体相对稳定,故系统也

7、相应稳定。3可重用性好传统方法:通过建立标准函数库来重用软构件。但标准函数缺少必要的“柔性”,难以适应不同场合的不同需要。OOM:封装性,信息隐蔽,独立性灵活性:一个class所有的instances都可重用它的代码;由派生出的新的class可重用其父类的代码,并且可以修改、扩充而不影响其父类的使用。4较易开发大型软件产品构成软件系统的每个对象就象一个微型程序,有自己的数据、操作、功能、用途。把一个大型软件产品分解成一系列本质上相互独立的小产品处理,降低了技术难度。便于管理5可维护性好传统方法:可维护性是最

8、令人头痛的问题。OOM:从以下几方面改善了可维护性(1)稳定性好:需求的变化不牵动全局,只需局部修改;(2)容易修改:Class独立性强:只要修改不涉及class的对外接口,则内部修改完全不影响外部调用;继承(Inheritance)和多态性(polymorphism)使其易被修改和扩充;(3)容易理解、容易测试、调试5可维护性好(3)容易理解符合人的思维习惯,软件系统结构与问题空间的结构基本一致,便于理解派生类

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。