- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 面向对象的分析和设计
面向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO方法,它是建立在对象概念(对象、类和继承)基础上的方法。1960年代后期出现了面向对象的编程语言,在Simula-67语言中引入了类和对象的概念,1970年代初Xerox公司推出了Smalltalk语言,奠定了面向对象程序设计的基础,1980 年出现的Smalltalk-80标志着面向对象程序设计进入了实用阶段。自八十年代中期起,人们注重于面向对象分析和设计的研究,逐步形成了面向对象方法学。典型的方法有P.Coad和E.Yourdon的面向对象分析(OOA)和面向对象设计(OOD),G.Booch的面向对象开发方法,J.Rumbaugh等人提出的对象建模技术(OMT),Jacobson的面向对象软件工程(OOSE)等。1990年代中期,由G.Booch,J.Rumbaugh,Jacobson等人发起,在Booch方法、OMT方法和OOSE 方法的基础上推出了统一的建模语言(UML),1997年被国际对象管理组织(OMG)确定作为标准的建模语言。
面向对象方法的出现很快受到计算机软件界的青睐,并成为1990年代的主流开发方法。我们可以从下列几个方面来分析其原因:
从认知学的角度来看,面向对象方法符合人们对客观世界的认识规律。
很长一段时间里,我们分析、设计、实现一个软件系统的过程与我们认识一个系统的过程存在着差异。例如结构化方法分析的结果是数据流图,设计的结果是模块结构图,实现的结果是由程序模块组成的源程序。这些图中的成分或程序模块不能直接映射到客观世界中系统的实体上,也就是说,解空间的结构与问题空间的结构是不一致的。当用户需求有一些小的改变时,这种不一致性将导致分析、设计的较大变化。而面向对象方法则以客观世界中系统的实体为基础,将客观实体的属性及其操作封装成对象。在分析阶段,识别系统中的对象以及它们之间的关系;在设计阶段,仍延用分析的结果,并根据实现的需要增加、删除或合并某些对象,或在某些对象中添加相关的属性和操作,同时设计实现这些操作的方法;在实现阶段,则用程序设计语言来描述这些对象以及它们之间的联系。因此,面向对象方法的分析、设计、实现的结果能直接映射到客观世界中系统的实体上,也就是说,解空间的结构与问题空间的结构是一致的。分析、设计、实现一个系统的过程与认识这个问题的过程是一致的。由于面向对象的分析和设计采用同样的图形表示形式,分析、设计和实现都以对象为基础,因此面向对象开发的各阶段之间具有很好的无缝连接。当用户的需求有所改变时,由于客观世界中的实体是不变的,实体之间的联系也是基本不变的,因此面向对象的总体结构也相对比较稳定,所引起的变化大多集中在对象的属性与操作及对象之间的消息通信上。总之,面向对象方法符合人们对客观世界的认识规律,所开发的系统相对比较稳定。
面向对象方法开发的软件系统易于维护,其体系结构易于理解、扩充和修改。
面向对象方法开发的软件系统由对象类组成,对象的封装性很好地体现了抽象和信息隐蔽的特征。对象以属性及操作为接口,使用者只可通过接口访问对象(请求其服务),对象的具体实现细节对外是不可见的。这些特征使得软件系统的体系结构是模块化的,这种体系结构易于理解、扩充和修改。当对象的接口确定以后,实现细节的修改不会影响其它对象,易于维护。同时也便于分配给不同的开发人员去实现,依据规定的接口能方便地组装成系统。
面向对象方法中的继承机制有力支持软件的复用。
在同一应用领域的不同应用系统中,往往会涉及到许多相同或相似的实体,这些实体在不同的应用系统中存在许多相同的属性和操作,也存在一些不同的应用系统所特有的属性和操作。在开发一个新的软件系统时,可复用已有系统中的某些类,通过继承和补充形成新系统的类。在同一个应用系统中,某些类之间也存在一些公共的属性和操作,也含有它们各自私有的属性和操作。这也可以通过继承来复用公共的属性和操作。
7.1面向对象的基本概念
Peter Coad和Edward Yourdon提出用下列等式识认面向对象方法:
面向对象 = 对象(object)
+ 分类(classification)
+ 继承(inheritance)
+ 通过消息的通信(communication with messages)
可以说,采用这四个概念开发的软件系统是面向对象的。
下面介绍面向对象中的几个基本概念。
1.对象(object)
在现实世界中,每个实体都是对象,如,大学生、汽车、电视机、空调等都是现实世界中的对象。每个对象都有它的属性和操作,如电视机有颜色、音量、亮度、辉度、频道等属性,可以有切换频道、增大/减低音量等操作。电视机的属性值
您可能关注的文档
- 学生申请学位使用手册解读.doc
- 第6讲MCS-51单片机系统扩展技术.ppt
- 江西省法院系统安全门卫登记管理系统及概要.doc
- 基于生物科学系遗传学教研室吴华彰.ppt
- 安徽省教育信息化工作管理系统及详解.ppt
- 体育彩票现状发展策略.ppt
- 填写清单列表,可以选择增加行或删除绿色为必填项,系统会发展策略.doc
- 落实能耗统计相关知识.ppt
- 联想扬天在线顾问介绍及系统下使用方法及分析策略.doc
- 落实宁海县科技工业园智慧园区建设采购项目.doc
- Unit6 Ancient stories 课时1 词汇2023-2024学年八年级上册英语高效课堂教学设计(牛津深圳版).docx
- 岭南版6年级美术 第4课《精美的贺卡》教案.docx
- 第5课《算法的特征》(教学设计)-五年级上册信息技术浙教版.docx
- 7.4.2 血流的管道——血管2023-2024学年七年级下册生物同步备课精制教学设计(人教版).docx
- 第7课近代殖民活动和人口的跨地域转移 教学设计--2023-2024学年高二下学期历史统编版(2019) 选择性必修3 文化交流与传播.docx
- 纲要(上)第12课 辽宋夏金元的文化 教学设计.docx
- 教科版科学六年级上册第三单元《3-5 灵活巧妙的剪刀》教学设计(公开课教案及导学案).docx
- 统编人教版高中物理必修 第一册《1 实验:探究小车速度随时间变化的规律》优秀教案2(word版教案).docx
- 电子工业版信息技术九下2.3《食谱推荐》教案.docx
- 第2单元 第7课 辽、西夏与北宋的并立2023-2024学年七年级下册历史教材易点通教学设计.docx
文档评论(0)