G第七章 面向对象分析与设计.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
G第七章面向对象分析与设计概要1

面向对象软件工程和传统的软件工程的原理在本质上没有什么不同,只是在传统软件工程方法中增加了面向对象考虑和研究问题的思想方法。 传统软件工程方法侧重于解决具体问题,而面向对象工程方法则是从解决一类问题的思想方法和手段来解决一个具体问题,从长远来看会有较高的效率。 传统的软件工程原则中增加面向对象的指导原则,更丰富了软件工程的原理和方法。 应注意不要将传统软件工程的思想方法和面向对象软件工程方法割裂开来。 面向对象技术的提出(类和对象的概念),最早是在编程语言Simula中提出的。其作者是Ole-Johan Dahl 和 Kristen Nygaard。Simula语言是两个语言的统称: SimulaI 和Simula 67(Simula 67 是在1967年发布的)。Simula语言是公认的最早的面向对象语言,虽然他的实现并不是很完整。但这是语言发展史上的一个重要的里程碑。 20世纪70年代推出的Smalltalk是一个支持面向对象、动态类型、类型反射的程序语言,奠定了面向对象程序设计的基础。是Alan Kay 设计的系统, Dan Ingalls实现的系统。Alan Kay在设计的时候,借用了Simula的message passing思想。 80年代出现的Smalltak-80中增加了meteclasses。这实现了一个思想:一切皆对象,标志着面向对象程序设计进入了实用阶段。 自80年代中期起,人们注重于面向对象分析和设计的研究,逐步形成了面向对象方法学。 P. Coad和E. Yourdon的面向对象分析(Object-Oriented Analysis, OOA)和面向对象设计(Object-Oriented Design, OOD ) Grady Booch的面向对象开发方法 James Rambough等人提出的对象建模技术(Object Modeling Technique, OMT) Ivar Jacobson的面向对象软件工程(Object-Oriented Software Engineering, OOSE) 面向对象方法与结构化方法区别 OO方法 对现实世界中的实体或者概念对象进行建模 对象各负其责 对象通过消息进行协同,完成复杂的任务 结构化方法 研究功能分解的方法 通过复杂的功能组合实现系统功能 面向对象方法成为主流开发方法,其原因主要有: 直观、自然和简单。面向对象方法符合人们对客观世界的认识规律,当用户的需求有所改变时,由于客观实体不变,实体之间的联系基本不变,面向对象的总体结构就相对比较稳定。 增加递增性开发。面向对象方法开发的软件系统其体系结构易于理解、扩充和维护,对象的具体实现细节对外部可见,当对象接口确定后,实现细节的修改不会影响其他对象,此外,还能依据规定的接口方便地组装成系统。 支持软件重用。面向对象方法中的继承机制有力地支持软件复用,通过继承服用公共的属性和操作,补充形成新系统的类。 结构更科学,更能适应未来变化。软件体系结构、软件复用、分布计算、分布对象技术和面向agent的软件工程敏捷方法是网络时代软件工程技术发展的趋势 。 面向对象方法的特点包括如下: 从问题领域的客观事物出发构造软件系统。用对象抽象表示这些事物, 并作为系统的基本构成。 事物的静态特征(数据的表达特征)用对象的属性表示,事物的动态特征(即事物的行为)用对象服务表示(即方法)。 对象的属性与服务结合成一个独立的实体,对外屏蔽其内部细节(封装)。 对事物进行分类,具有相同属性和服务的对象归成一类,类是这些对象的抽象描述,每个对象是它的类的一个实例。 在不同程度上运用抽象的原则,可以得到较一般和特殊的类,特殊的类继承一般的类的属性与服务,从而简化系统的构造过程及文档(继承)。 复杂的对象可以用简单对象作为其构成部分(聚合)。 对象之间通过消息进行通信以实现对象之间的动态联系。 通过关联表达对象之间的静态联系。 在面向对象方法开发的系统中,以类的形式进行描述,通过对类的引用而创建的对象是系统的基本构成单位。 这些对象对应着问题论域中的各个事物,它们的属性与服务刻画了事物的静态特征和动态特征。 对象类之间的继承关系、聚合关系、消息和关联表达了问题论域中事物之间实际存在的各种关系。 无论是系统的构成成分,还是通过这些成分之间的关系而体现的系统结构,都可以直接地影射成问题论域。 面向对象软件工程(OOSE)方法是面向对象方法在软件工程领域的全面应用,包括: 面向对象分析(OOA):针对问题论域中客观存在的各项事物建立OOA模型 中的对象,用对象的属性和服务分别描述事物的静态特征和行为。 面向对象设计(OOD):针对系统的某个具体实现来运用OO方法(1)将OOA模型作为OOD的一部分;(2)针对具体实现中的人机界面、

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档