第2章 面向对象设计.pptVIP

  1. 1、本文档共19页,可阅读全部内容。
  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文档。上传文档
查看更多
第2章 面向对象设计 2.1 设计模式 设计模式分为: 系统设计:实现业务解决方案的高层策略。 详细设计:应用系统实现的底层策略。 1. 系统设计的内容 将系统组织为子系统 在分析模型中标识当前继承 向子系统分配处理器和任务 选择数据存储的机制和方法 为访问全局资源决定控制策略 选择实现软件控制的机制 设计启动,关闭和故障处理策略 2. 详细设计的内容 从体系结构和实现域中加入对象/类 为复杂服务设计有效的算法 优化应用/系统的设计 最大限度使用继承 重新设计关联,以提高效率 确定类的最佳表示 将类与关联封装到可复用模块中 2.2 系统设计 1.子系统设计 系统的每一个组成部分称为一个子系统。 子系统所处理的相对独立的主题称为问题域。 子系统是一个类,关联,操作,事件和约束的封装包。 子系统与其他子系统的关系通常由它所提供的服务来定义: 对等关系:双方相互访问对方的服务。(缺点:表面公平,但由于存在通信环路,可能导致错误。) Client/Sever关系:客户机请求服务器,服务器执行服务并返回值。(特点:客户机需要知道服务器接口,而服务器不需要知道客户机的接口。所有交互通过服务器的接口来完成。) 划分系统的方式 横向划分:有序的子系统集合,其中每一层根据其下层构建,并成为其上层的基础。(例如基于窗口的应用程序系统) 纵向划分:将系统划分为几个相对独立的和弱耦合的子系统,每一子系统提供一种类型的服务。(例如OS中的进程管理,存储管理,设备管理,文件管理和I/O管理子系统) 2.体系结构框架 1. 系统体系结构的类型 批处理型:对整个输入集进行数据转换。 连续型:随着输入的实时变化,实时进行数据转换。 交互型:由外部的交互控制应用。 事务型:以内关于以存储和更新数据为中心,支持并发访问。 基于规则型:由一定的强制性规则支配应用。 模拟型:应用模拟显示世界对象。 实时型:以严格的定时约束控制应用 四种体系结构框架的设计步骤-1 批处理体系结构框架 数据转换分解 为分解完成的数据流定义临时对象, 以确定有关转换的数据对象(I/O) 扩展转换 优化构建框架 设计新对象来构建原模型松耦合的类 连续的体系结构框架 识别所有需要连续更新的对象 为连续转换设计序列图 设计I/O临时对象,及其连续变化的值 对对象/类进行细化/特化定义 优化构建框架 设计新对象来构建原模型松耦合的类 四种体系结构框架的设计步骤-2 交互体系结构框架 区别接口对象与应用语义对象 预定义(类库)对象来处理与外部的交互,如窗口,按钮 用事件驱动(回调callback)的方法进行处理 分离物理事件和逻辑事件,并为其指定正确的对象 事物体系结构框架 将对象模型映射为数据库 确定非共享的资源 用序列图确定事物单元(一个事物中包括被访问对象) 为事物设计并发控制 2. 系统体系结构框架的软件控制 软件控制类型 外部控制:系统中对象之间的外部可见的事件流。 内部控制:方法内的控制流。 注:所有内部控制策略高度依赖于系统中的可用资源(语言、OS等)和交互模式。 控制外部流的方法 过程驱动的序列:控制在应用代码中。应用代码发出外部输入请求并等待?输入到达后,发出过程恢复控制。(有利于规律化控制) 事件驱动的序列:控制居于调度程序或监视程序中。应用过程依附于事件?事件发生后,由调度程序回调。应用过程发请求,但不在线等待处理返回。(OS对消息队列的控制就是基于事件驱动) 并发控制:并发控制居于几个独立对象中,独立对象在独立的任务中。一个任务等待输入,其他任务继续执行。OS利用并发控制实现对多任务事件的调度管理。(Java是一种直接支持多任务和并发控制的OOL) 3. 系统设计文档 UML用包图、构件图和实现图(部署图)来描述系统体系结构和系统设计。 包图:表示对软件系统划分的子系统。 构件图:UML标识5种构件原型(应用、库、表、文件和文档),构件图表示构件之间的关系。 实现图(realization diagram):也称部署图(deplogment diagram),表示构件与其依附的硬件之间的关系,描述处理元素(硬件)的配置以及软件实现元素(构件)到处理元素的映射。 2.3 详细设计 详细设计实现在系统分析和系统设计阶段所定义好的对象,并且优化编码的数据结构和算法。(逻辑结构的物理实现) 设计类 容器类:由C++的标准模板库(STL)提供。 设计对象/类的属性值更新的原则: 显式代码:控制对象属性值的更新和输出 周期性的重计算:适用用批处理的属性值更新 触发器:适用于主动属性和依赖属性的数据更新 设计类中方法的原则: 相同方法用超类继承来实现 相似方法用重载或继承重定义来实现 泛化设计可以通过抽象类来实现 动态设计用动态联编 2. 设计

文档评论(0)

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

教师资格证持证人

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

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

1亿VIP精品文档

相关文档