- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章 面向对象方法学引论 §9.1 面向对象方法学概述 §9.2 面向对象概念 §9.3 面向对象建模 §9.4 对象模型 §9.5 动态模型 §9.6 功能模型 §9.7 3种模型之间的关系 学习重点和难点 理解面向对象技术中的基本思想、 概念和原理等; 理解面向对象建立的三种模型的功能和相互关系。 参考资料 [1] UML用户指南.Grady B,James R,Ivar J.机械工 业出版社.2001. [2] UML参考手册.Grady B,James R,Ivar J.机械工 业出版社.2001. [3] 面向对象方法基础教程.麻志毅,邵维忠.高等教 育出版社.2006. [4] 面向对象技术UML教程.王少峰.清华大学出版 社.2004. [5] UML软件工程组织./ §9.1 面向对象方法学概述 软件工程发展的两个重要阶段 传统软件工程 面向对象软件的工程 传统软件工程 以面向过程的结构化程序设计为基础; 遵循“程序=数据结构+算法”的思路; 由“追求技巧与效率”到“清晰第一、效率第二” 缺点:不太适应规模大、特别复杂的项目; 难以解决软件重用的问题; 难以适应需求的变化; 难以彻底解决维护问题。 面向对象软件工程 按人类习惯的思维方法,以现实世界中客观存在的事物(即对象)为中心来思考和认识问题。 采用的思想方法与原则:抽象、分类、继承、聚合、封装等。 以易于理解的方式表达软件系统,建立问题域模型,使设计出的软件尽可能直接地描述现实世界,具有更好的可维护性 软件工程学家Codd和Yourdon认为: 面向对象=对象+类+继承+通信 如果一个软件系统采用这些概念来建立模型并予以实现,那么它就是面向对象的。 面向对象技术发展概述 初始阶段:上世纪60年代,挪威奥斯陆大学和挪威计 算中心开发的Simula67的语言; 70年代中期,Xerox研究中心开发的Smalltalk 语言,具备了面向对象语言的各种特征。 发展阶段:涌现大批面向对象编程语言(OOPL)。如 C++、Objective-C、Object Pascal、Eiffel、 Actor等。 成熟阶段:面向对象分析(OOA)和面向对象设计( OOD)的研究。出现各种著名的面向对象分析设计的方法,如:Coad/Yourdon的方法、Booch的方法 、OMT方法、Wirtf-Brock的RDD方法、Jacobson的 OOSE方法……等。 面向对象技术的基本观点 ① 任何客观的事物或实体都是对象。对象组成客观世界,复杂的对象可以由简单的对象组成。 ② 具有相同数据和操作的对象可以归并为一个类( class),对象是对象类的一个实例。 ③ 类可以派生出子类,子类继承父类的全部特性( 数据和操作),又可以有自己的新特性。子类与父类形成类的层次结构。 ④ 对象之间通过消息传递相互联系。 面向对象方法学的优点 详见教材P205-P208面 1、与人类习惯的思维方法一致 2、稳定性好 3、可重用性好 4、较易开发大型软件产品 5、可维护性好 一、与人类习惯的思维方法一致 1.把描述事物静态属性的数据结构与表示事物动态行为的操作放在一起,构成一个整体,才能完整、自然地表示客观世界中的实体。 2.对象之间通过消息联系,以模拟现实世界中不同事物彼此之间的联系。 3.使用现实世界的概念抽象地思考问题,而不强调算法。 4.面向对象方法学的基本原则是按照人类习惯的思维方法建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统。 二、稳定性好 OOM基于构造问题领域的对象模型,以对象为中心构造软件系统。它的基本作法是用对象模拟问题领域的实体,以对象间的联系刻画实体间联系。当功能需求变化时,不会引起软件结构的整体变化,仅需做局部修改。 三、可重用性好 传统软件:标准函数库; 缺点:缺乏柔性,不适应不同场合不同需要。只能提供最基本最常用功能。数据与操作分离。 OOM:两种方法重复使用一个对象类: 1.创建该类实例 2.派生新类:继承机制。 评价:自然、准确。 四、较易开发大型软件 方便组织开发人员 可维护性好 1.软件稳定性好 2.软件容易修改 3.软件较容易理解 4.易于测试和调试 传统的开发方法与面向对象的开发方法比较 面向对象的软件过程模型 喷泉模型 体现迭代和无缝的特性 §9.2 面向对象的概念 §9.2.1 对象(Object) 在现实世界中有意义的、与所要解决的问题有关 系的任何事物都可以作为对象,包括具体的物理实体 的抽象、人为的概念、任何有明确边界和意义的东 西。 如:一名职工、一本图书、贷款、生产计划、一场演出等。
文档评论(0)