- 1、本文档共118页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程导论课件之第9章_面向对象方法学引论(第五版)(张海藩编著)
第9章 面向对象方法学引论 9.1 面向对象方法学概述 9.2 面向对象的概念 9.3 面向对象建模 9.4 对象模型 9.5 动态模型 9.6 功能模型 9.7 3种模型之间的关系 传统的软件工程方法学应用于大型软件产品的开发时,很少取得成功。 自20世纪80年代中期起,人们开始注重面向对象分析和设计的研究,逐步形成了面向对象方法学。 20世纪90年代,面向对象方法学已经成为人们在开发软件时首选的范型。 面向对象技术已成为当前最好的软件开发技术。 9.1 面向对象方法学概述 面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程。 也就是使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致。 面向对象方法的解空间: 面向对象方法学所提供的“对象”概念,是让软件开发者自己定义或选取解空间对象,然后把软件系统作为一系列离散的解空间对象的集合。 这些解空间对象与问题空间对象尽可能一致。 这些解空间对象彼此间通过发送消息而相互作用,从而得出问题的解。 每个对象就像一个微型程序,有自己的数据、操作、功能和目的。 面向对象方法具有4个要点: 对象:客观世界是由各种对象组成,任何事物都是对象,复杂的对象可以由简单的对象以某种方式组合而成。对象分解取代功能分解。 类:把所有对象都划分成各种对象类,每个对象类都定义了一组数据和一组方法。数据用于表示对象的静态属性,是对象的状态信息。 继承:按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。 消息:对象之间仅能通过传递消息互相联系。对象是进行处理的主体。 面向对象方法学的方程: OO = objects + classes + inheritance + communication with messages 基于对象(object-based) = objects + communication with messages 基于类(class-based) = objects + classes + communication with messages 只有同时使用对象、类、继承和消息的方法,才是真正面向对象的方法。 面向对象方法的发展史: (1) 雏形阶段 1972年Palo Alno研究中心(PARC)发布了Smalltalk-72,正式使用“面向对象”这个术语。 Smalltalk的问世标志着面向对象程序设计方法的正式形成。 (2) 完善阶段 PARC先后发布了Smalltalk-72,76,78等版本,直至1981年推出该语言最完善的版本Smalltalk-80。 Smalltalk-80是第一个完善的、能够实际应用的面向对象语言。 (3) 繁荣阶段 自20世纪80年代中期到90年代,是面向对象语言走向繁荣的阶段。 其主要表现是大批比较实用的OOPL的涌现,例如 C++、Objective-C等。 (4) 当前的状况 20世纪90年代,面向对象的分析与设计方法多达数十种,这些方法各有所长,现在趋于统一。 统一建模语言UML,其推荐的方法是USDP(Unified Software Development Process);UML是一种面向对象的建模语言,在软件产业界获得了很大的支持。 9.1.2 面向对象方法学的优点 1. 与人类习惯的思维方法一致 面向对象的软件技术以对象为核心,软件系统由对象组成。 对象由数据,以及可以对这些数据施加的操作,封装在一起所构成的统一体。对象之间通过传递消息互相联系。 面向对象的设计方法强调模拟现实世界中的概念而不强调算法。 面向对象方法学的基本原则是按照人类习惯的思维方法建立问题域的模型。 2. 稳定性好 面向对象的软件系统的结构是根据问题领域的模型建立起来的,而不是基于对系统应完成的功能的分解。 当对系统的功能需求变化时并不会引起软件结构的整体变化,往往仅需要作一些局部性的修改。 以对象为中心构造的软件系统是比较稳定的。 3. 可重用性好 在面向对象方法所使用的对象中,数据和操作正是作为平等伙伴出现的。因此,对象具有很强的自含性。 对象固有的封装性和信息隐藏机制,使得对象的内部实现与外界隔离,具有较强的独立性。 对象是比较理想的模块和可重用的软件成分。 4. 较易开发大型软件产品 用面向对象方法学开发软件时,构成软件系统的每个对象就像一个微型程序,有自己的数据、操作、功能和用途。 可以把一个大型软件产品分解成一系列本质上相互独立的小产品来处理,这就
文档评论(0)