09 面向对象方法学引论.pptVIP

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章 面向对象方法学引论 传统方法学的缺点 软件工程的新途径 基本概念 面向对象建模 对象模型 动态模型 功能模型 传统方法学的缺点 9.1.1 存在的问题 9.1.2 出现问题的原因 传统方法学的缺点 存在的问题 生产率提高的幅度远不能满足需要 软件重用程度很低 软件仍然很难维护 软件往往不能真正满足用户需要 传统方法学的缺点 出现问题的原因 瀑布模型的缺点 僵化 瀑布模型要求 生命周期各阶段间遵守严格的顺序 预先定义并“冻结”软件需求 实际情况 软件开发往往在反复实践中完成 某些系统的需求的一个逐渐明确的过程,且预先定义的需求到软件完成时可能已经过时 软件工程的新途径 9.2.1 快速原型法 9.2.2 面向对象方法学 9.2.3 两种新途径的结合 软件工程的新途径 快速原型法 适用于用户驱动的系统(即需求模糊或随时间变化的系统) 抛弃原型法 演化原型法 螺旋模型 渐增模型 演化原型法与传统方法最大的不同,在于它是一种高度迭代的动态方法,系统的初始版本很早就交付用户试用 软件工程的新途径 面向对象方法学 特点 尽可能模拟人类习惯的思维方式,即问题域与求解域在结构上尽可能一致。与传统方法相反,OOM以数据或信息为主线,把数据和处理结合构成统一体 —— 对象。这时程序不再是一系列工作在数据上的函数集合,而是相互协作又彼此独立的对象的集合 软件工程的新途径 面向对象方法学 四要素 对象(object) 世界由对象组成 类 (class) 对象可划分为类;单个对象可视为某一类的实例 继承(inheritance) 类可分层,下层子类与上层父类有相同特征,称为继承 消息(message) 对象间只能通过发送消息进行联系,外界不能处理对象的内部数据,只能通过消息请求它进行处理(如果它提供相应消息的话) 软件工程的新途径 面向对象方法学 优点 与人类习惯的思维方法一致 稳定性好 可重用性好 可维护性好 面向对象的软稳定性好 面向对象的软件比较容易修改 比较容易理解 易于测试和调试 软件工程的新途径 两种新途径的结合 瀑布模型 需求稳定少变化 对环境较熟悉(低风险) 用户很少参与开发 面向过程编程 螺旋模型 需求可能在开发早期有变化 对环境较熟悉(中风险) 用户不同程度地参与整个过程 面向对象编程OOP 软件工程的新途径 两种新途径的结合 渐增模型 需求随时可能变化 对环境不熟悉(高风险) 用户完全参与开发 面向对象编程OOP 基本概念 9.3.1 对象 9.3.2 其他概念 基本概念 对象 定义1 对象是具有相同状态的一组操作的集合。 这个定义主要是从面向对象程序设计的角度看“对象”。 定义2 对象是对问题域中某个东西的抽象,这种抽象反映 了系统保存有关这个东西的信息或与它交互的能 力。也就是说,对象是对属性值和操作的封装。 这个定义着重从信息模拟的角度看待“对象”。 基本概念 对象 定义3 对象::=(1D,MS,DS,MI> ID是对象的标识或名字 MS是对象中的操作集合 DS是对象的数据结构 MI是对象受理的消息名集合(即对外接口) 这个定义是一个形式化的定义。 基本概念 对象 特点 以数据为中心,不设与数据无关的操作; Object主动处理而不 被动地等待被处理,外部只能通过message请求操作; 具有黑盒性:外部操作时,无须知道该object内部的数据结构及算法; 具有并行性:不同object各自独立地处理自身数据,彼此间仅通过传递message完成通信; 模块独立性好:内聚强、耦合松 基本概念 其他概念 类(Class):具有相同数据和相同操作的一组对象 实例(Instance):某个class描述的具体对象 消息(Message): = object_ID. method_ID (parameter(s)); 方法(Method): object能做的操作,亦称为service 、responsibility, 在 class 中须定义相应的代码 属性(Attribute ):object 的固有数据 继承(Inheritance):子类自动共享父类的attributes 和methods ,而不必重复定义 多态性(Polymorphism):不同层次的 classes 可共享一个method名,但按各自的方式来实现这种 method 重载(Overloading): 不同函数共用一个名字,而调用参数的特征不同 面向对象建模 面向对象建模 描述系统数据结构的对象模型(object model). 描述系统控制结构的动态模型(dynamic model). 描述系统功能的功能模型(function m

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档