网站大量收购闲置独家精品文档,联系QQ:2885784924

面向对象的分析与设计课件-设计篇分解.ppt

  1. 1、本文档共133页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OOD模型框架 ——从两个侧面来描述 回顾 问题域部分设计 输入OOA模型 人机交互部分设计 控制驱动部分设计 数据接口部分设计 构件化与系统部署 向OOP输出OOD模型 OOD过程 将OOA模型搬到OOD 作为OOD的基础 人机交互部分 数据接口部分 控制驱动部分 问题域 部分 OOA 模型 按编程语言、网络、操作系统、复用支持等实现条件进行必要的调整 11.1 什么是问题域部分 问题域部分是OOD模型的四个组成部分之一,由来自问题域的对象构成,是在OOA模型基础上,按照具体的实现条件进行必要的修改、调整和细节补充而得到的。 第11章 问题域部分的设计 人机交互部分 数据接口部分 控制驱动部分 OOA 模型 编程语言、网络、操作系统、复用支持等实现条件 OOD过程 从MDA的观点看问题域部分的产生 问题域 部分 11.2 实现条件对问题域部分的影响 编程语言 语言的实现能力 硬件、操作系统及网络设施 对象分布、并发、通信、性能 复用支持 根据复用支持对模型做适当调整,以实现复用 数据管理系统 为实现对象的持久存储,对问题域部分做某些修改 界面支持系统 问题域部分与人机界面之间的消息传输 设计准备 保留OOA文档 复制OOA文档,作为OOD的输入 根据需求的变化和发现的错误进行修改 设计内容与策略(本节的重点) 针对编程语言支持能力的调整 增加一般类以建立共同协议 实现复用 提高性能 为实现对象持久存储所做的修改 完善对象的细节 定义对象实例 对辅助模型、模型规约的修改和补充 建立OOD文档与OOA文档的映射 11.3 设计过程 1、按编程语言调整继承与多态 起因:OOA强调如实地反映问题域,OOD考虑实现问题, 如果语言不支持多继承或多态,就要进行对模型调整 方法1:简单转换 (a) 一般方法 或 A C 1 1 1 1 1 1 B A C B 1 A C B 方法2:重新定义对象类,化解多继承 职员 学员 在职学员 人员 职员身份 学员身份 人员 1 0..1 1 0..1 职员身份 学员身份 身份 人员 1 0..2 方法3:保持分类,剥离多继承信息 职员 学员 人员 在职学员 职员信息 学员信息 1 1 1 1 1 1 1 1 (2)取消多态性 (a) (b) 多边形 线条色 线型 边数 顶点坐标 绘图 填充 正多边形 *顶点坐标 *绘图 矩形 ×边数 *顶点坐标 *绘图 多边形 线条色 线型 正多边形 绘图 矩形 顶点坐标 绘图 不规则多边形 绘图 边数 顶点坐标 边数 顶点坐标 填充 2、增加一般类以建立共同协议 增加根类:将所有的类组织在一起 提供全系统通用的协议 例:提供创建、删除、复制等操作 增加其他一般类:提供局部通用的协议 例:提供持久存储及恢复功能 B C E A 属性 操作 D F 1 * 属性 操作 属性 操作 属性 操作 属性 操作 属性 操作 例: 3、实现复用的设计策略 如果已存在一些可复用的类,而且这些类既有分析、设计时的定义,又有源程序,那么,复用这些类即可提高开发效率与质量。 目标:尽可能使复用成分增多,新开发的成分减少 例: 车辆 序号 颜色 式样 出厂年月 序号认证 问题域部分的类 4、提高性能 (1)调整对象分布 (2)缩短对象存取时间 设立缓冲区 甲机 乙机 ?send? ?call? ?call? ?send? 类A 类A 类B 类C 类B 类C 甲机 乙机 (3)合并通讯频繁的类 流速调节器 指定流速 …… 流速调节 … … 流速探测器 当前流速 …… 流速探测 取当前流速 … … 流速控制器 指定流速 当前流速 …… 流速调节 流速探测 … … 合并前 合并后 (4)增加属性以减少重复计算 ?call? (5)降低算法的计算复杂性 (6)细化对象的分类 二次曲线 绘图 (7)将复杂对象化为整体-部分结构 帧 5、为数据存储管理增补属性与操作 在数据接口部分设计中介绍 6、完善对象的细节 OOD在OOA模型基础上所做的主要工作,不能用“细化”二字概括,但细化是不可缺少的 (1)完善与问题域有关的属性和操作 在OOA阶段允许不详尽,OOD必须加以完善 (2)解决OOA阶段推迟考虑的问题,包括: 因封装原则而设立的对象操作 与OOD模型其他部分有关的属性和操作 (3)设计类的每个操作 必要时用流程图或者活动图表示 (4)设计表示关联的属性 区分多重性的3种情况,决定属性设置在哪一端 (5)设计表示聚合的属性 区分组合与松散的聚合 对于组合,用嵌套对象实现 对于松散的聚合,采用与关联相同的策略 7、定义对象实例 在逻辑上,一个类的对象实例是: 问题域中所有可用这个类描述的实际事物 在物理上,一个类的对象实例可以是: 内存

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档