第9章OO引论.pptVIP

  1. 1、本文档共84页,可阅读全部内容。
  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文档。上传文档
查看更多
* * * * * 把数据和代码作为分离的实体,反映了计算机的观点,因为在计算机内部数据和程序是分开存放的。但是,这样做的时候总存在使用错误的数据调用正确的程序模块,或使用正确的数据调用错误的程序模块的危险。使数据和操作保持一致,是程序员的一个沉重负担,在多人分工合作开发一个大型软件系统的过程中,如果负责设计数据结构的人中途改变了某个数据的结构而又没有及时通知所有人员,则会发生许多不该发生的错误。 * * * * OO approaches fit well all these points. 面向对象方法学的基本原则是按照人类习惯的思维方法建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统。面向对象的软件系统中广泛使用的对象,是对客观世界中实体的抽象。对象实际上是抽象数据类型的实例,提供了比较理想的数据抽象机制,同时又具有良好的过程抽象机制。对象类是对一组相似对象的抽象,类等级中上层的类是对下层类的抽象。因此,面向对象的环境提供了强有力的抽象机制,便于用户在利用计算机软件系统解决复杂问题时使用习惯的抽象思维工具。此外,面向对象方法学中普遍进行的对象分类过程,支持从特殊到一般的归纳思维过程;面向对象方法学中通过建立类等级而获得的继承特性,支持从一般到特殊的演绎思维过程。 * * 当对系统的功能需求变化时并不会引起软件结构的整体变化,往往仅需要作一些局部性的修改。 * * 面向对象的软件技术在利用可重用的软件成分构造新的软件系统时,有很大的灵活性。有两种方法可以重复使用一个对象类:一种方法是创建该类的实例,从而直接使用它;另一种方法是从它派生出一个满足当前需要的新类。继承性机制使得子类不仅可以重用其父类的数据结构和程序代码,而且可以在父类代码的基础上方便地修改和扩充,这种修改并不影响对原有类的使用。由于可以像使用集成电路(IC)构造计算机硬件那样,比较方便地重用对象类来构造软件系统,因此,有人把对象类称为“软件IC”。 * * 在开发大型软件产品时,组织开发人员的方法不恰当往往是出现问题的主要原因。用面向对象方法学开发软件时,构成软件系统的每个对象就像一个微型程序,有自己的数据、操作、功能和用途,因此,可以把一个大型软件产品分解成一系列本质上相互独立的小产品来处理,这就不仅降低了开发的技术难度,而且也使得对开发工作的管理变得容易多了。这就是为什么对于大型软件产品来说,面向对象范型优于结构化范型的原因之一。 * * * * * * 面向对象方法学比较自然地模拟了人类认识客观世界的思维方式,它所追求的目标和遵循的基本原则,就是使描述问题的问题空间和在计算机中解决问题的解空间,在结构上尽可能一致。 * * * * * * * * * * * * 图中是一个电梯系统的类模型。队列就是电梯控制器类的关联关系上的关联类。 一个电梯控制器控制着4台电梯,这样,控制器和电梯之间的实际关联就有4个,每个连接都对应一个队列(对象),每个队列(对象)存储着来自控制器和电梯内部按钮的请求服务信息。电梯控制器通过读取队列信息,选择一个合适的电梯为乘客服务。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * 用例中的每个用例都是通过若干对象相互合作实现的。对象的行为模型指明一个系统对外部事件的激励所作出的响应。为创建该模型,应该完成以下工作: ? 评估所有use-case以完全理解系统中的交互顺序。 ? 标识驱动交互序列的事件并理解这些事件如何和特定的对象相关联。 ? 为每个use-case创建交互图。 ? 为具有主要动态特征的类建立状态转换图。 ? 为描述对象的工作流同时便于识别并发活动建立相应的活动图。 ? 评价行为模型以验证精确性和一致性。 * * * * * * * * * * * * * * * * * * * * * * * * UML提供的状态图和交互图来描绘对象的状态、触发状态转换的事件以及对象的行为(对事件的响应)。 每个类的动态行为用一张状态图来描绘; 动态模型是基于事件共享而互相关联的一组状态图的集合。 事件 与消息 行为 与服务/方法 状态 与属性 (方法改变属性) 9.5 动态模型 状态图 电话系统的状态图 软件开发的第一步工作是什么? 结构化方法对系统功能描述的主要工具是什么? 假如你是系统的一名普通用户,你最关心的是什么? 9.6 功能模型 UML提供的用例图是进行需求分析和建立功能模型的强有力工具。(面向对象方法) 用例模型描述的是外部行为者(actor)所理解的系统功能。(从用户的角度来看待系统) 9.

文档评论(0)

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

教师资格证持证人

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

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

1亿VIP精品文档

相关文档