第7章面向对象分析和设计

第7章面向对象分析和设计

ID:30626670

大小:890.00 KB

页数:67页

时间:2019-01-01

第7章面向对象分析和设计_第1页
第7章面向对象分析和设计_第2页
第7章面向对象分析和设计_第3页
第7章面向对象分析和设计_第4页
第7章面向对象分析和设计_第5页
资源描述:

《第7章面向对象分析和设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第7章面向对象的分析和设计面向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO方法,它是建立在对象概念(对象、类和继承)基础上的方法。1960年代后期出现了面向对象的编程语言,在Simula-67语言中引入了类和对象的概念,1970年代初Xerox公司推出了Smalltalk语言,奠定了面向对象程序设计的基础,1980年出现的Smalltalk-80标志着面向对象程序设计进入了实用阶段。自八十年代中期起,人们注重于面向对象分析和设计的研究,逐步形成了面向对象方法学。典型的方法有P.Coa

2、d和E.Yourdon的面向对象分析(OOA)和面向对象设计(OOD),G.Booch的面向对象开发方法,J.Rumbaugh等人提出的对象建模技术(OMT),Jacobson的面向对象软件工程(OOSE)等。1990年代中期,由G.Booch,J.Rumbaugh,Jacobson等人发起,在Booch方法、OMT方法和OOSE方法的基础上推出了统一的建模语言(UML),1997年被国际对象管理组织(OMG)确定作为标准的建模语言。面向对象方法的出现很快受到计算机软件界的青睐,并成为1990年代的主流开发方法。我们可以从

3、下列几个方面来分析其原因:1.从认知学的角度来看,面向对象方法符合人们对客观世界的认识规律。很长一段时间里,我们分析、设计、实现一个软件系统的过程与我们认识一个系统的过程存在着差异。例如结构化方法分析的结果是数据流图,设计的结果是模块结构图,实现的结果是由程序模块组成的源程序。这些图中的成分或程序模块不能直接映射到客观世界中系统的实体上,也就是说,解空间的结构与问题空间的结构是不一致的。当用户需求有一些小的改变时,这种不一致性将导致分析、设计的较大变化。而面向对象方法则以客观世界中系统的实体为基础,将客观实体的属性及其操作

4、封装成对象。在分析阶段,识别系统中的对象以及它们之间的关系;在设计阶段,仍延用分析的结果,并根据实现的需要增加、删除或合并某些对象,或在某些对象中添加相关的属性和操作,同时设计实现这些操作的方法;在实现阶段,则用程序设计语言来描述这些对象以及它们之间的联系。因此,面向对象方法的分析、设计、实现的结果能直接映射到客观世界中系统的实体上,也就是说,解空间的结构与问题空间的结构是一致的。分析、设计、实现一个系统的过程与认识这个问题的过程是一致的。由于面向对象的分析和设计采用同样的图形表示形式,分析、设计和实现都以对象为基础,因此

5、面向对象开发的各阶段之间具有很好的无缝连接。当用户的需求有所改变时,由于客观世界中的实体是不变的,实体之间的联系也是基本不变的,因此面向对象的总体结构也相对比较稳定,所引起的变化大多集中在对象的属性与操作及对象之间的消息通信上。总之,面向对象方法符合人们对客观世界的认识规律,所开发的系统相对比较稳定。1.面向对象方法开发的软件系统易于维护,其体系结构易于理解、扩充和修改。面向对象方法开发的软件系统由对象类组成,对象的封装性很好地体现了抽象和信息隐蔽的特征。对象以属性及操作为接口,使用者只可通过接口访问对象(请求其服务),对

6、象的具体实现细节对外是不可见的。这些特征使得软件系统的体系结构是模块化的,这种体系结构易于理解、扩充和修改。当对象的接口确定以后,实现细节的修改不会影响其它对象,易于维护。同时也便于分配给不同的开发人员去实现,依据规定的接口能方便地组装成系统。2.面向对象方法中的继承机制有力支持软件的复用。在同一应用领域的不同应用系统中,往往会涉及到许多相同或相似的实体,这些实体在不同的应用系统中存在许多相同的属性和操作,也存在一些不同的应用系统所特有的属性和操作。在开发一个新的软件系统时,可复用已有系统中的某些类,通过继承和补充形成新系

7、统的类。在同一个应用系统中,某些类之间也存在一些公共的属性和操作,也含有它们各自私有的属性和操作。这也可以通过继承来复用公共的属性和操作。7.1面向对象的基本概念PeterCoad和EdwardYourdon提出用下列等式识认面向对象方法:面向对象=对象(object)+分类(classification)+继承(inheritance)+通过消息的通信(communicationwithmessages)可以说,采用这四个概念开发的软件系统是面向对象的。下面介绍面向对象中的几个基本概念。1.对象(object)在现实世界

8、中,每个实体都是对象,如,大学生、汽车、电视机、空调等都是现实世界中的对象。每个对象都有它的属性和操作,如电视机有颜色、音量、亮度、辉度、频道等属性,可以有切换频道、增大/减低音量等操作。电视机的属性值表示了电视机所处的状态,而这些属性值只能通过其提供的操作来改变。电视机的各组成部分,如显像管、印制板、

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

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

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