- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OOD(zhhf10)
第十一章 OOD OOD的准则 启发式规则 软件重用 系统分解 设计问题域子系统 设计人—机交互子系统 设计任务管理子系统 设计数据管理子系统 设计类中的服务 设计关联 设计优化 11.1 面向对象设计的准则 模块化 抽象 信息隐蔽 弱耦合:交互耦合;继承耦合 强内聚:服务内聚;类内聚;一般特殊内聚 可重用 11.2 面向对象设计的启发式规则 设计结果应该清晰易懂 用词一致;使用已有的协议;减少消息模式的数目;避免模糊的定义。 类继承深度适当 设计简单的类 避免包含过多的属性;有明确的类定义;尽量简化对象之间的合作关系;不要提供太多服务。 使用简单的协议(参数不宜太多) 把设计变动最小化(理想变动曲线如图11.1) 11.3 软件重用 重用的三个层次 知识重用 方法和标准的重用 软件成分的重用 软件成分重用的三个级别 代码重用(源代码剪贴、源代码包含、继承) 设计结果重用 分析结果重用 实现重用的代价 创建构件库的代价 保证可重用构件质量的代价 更新和维护构件库的代价 重用率与生产率的关系 三种软件重用技术 软件组合技术 软件生成技术 OO软件重用技术 可重用构件应具备的特点 模块独立性强 具有高度可塑性 接口清晰、简明、可靠 类构件的重用方式 实例重用 继承重用 多态重用 11.4 系统分解 设计模型的五个层次 主题 类和对象 结构 属性 服务 多数软件系统由四个子系统组成 问题域子系统 人机交互子系统 任务管理子系统 数据管理子系统 系统分解(续) 子系统之间的交互方式 客户——供应商关系(Client —Supplier) 平等伙伴关系(peer to peer) 组织系统的两种方案 层次组织:开放式、封闭式 块状组织 混合组织 设计系统的拓扑结构 管道形 树形 星形 11.5 设计问题域子系统 OOD和OOA的区别 OOA从描述问题域的角度建立三视点模型 OOD从实现的角度补充、修改三视点模型 从OOA到OOD能够保持问题域组织框架的稳定性 主要任务 调整需求(两个方面) 重用已有的类(P244描述了重用的四个典型过程) 引入根类以组合问题域的类 为类的公共协议定义一组相似的服务而增添附加类 调整继承层次 设计问题域子系统(续) 调整继承层次所注意的问题 使用多继承机制时,避免属性和服务命名的冲突 两种多重继承模式 窄菱形模式(图11.4) 阔菱形模式(图11.5) 将多重继承转换为单继承机制 利用组合关系分解多重继承(图11.6) 利用归纳关系简化多重继承 尽量选用具有继承机制的语言 ATM系统的问题域子系统的结构(P247) 针对单继承语言的调整 把特殊类的对象看做是一个一般类对象所扮演的角色,通过实例连接把多继承的层次结构转换为单继承的层次结构。 把多继承的层次结构平铺,成为单继承的层次结构。在这种情况下,有些属性或操作在同层的特殊类中会重复出现。 针对无继承语言的调整 当使用无继承的程序设计语言时,必须把具有继承关系的类层次结构平铺开来,成为一组类和对象。 一般可利用命名惯例,把这些类或对象关联起来。 11.6 设计人机交互子系统 设计人机交互界面的准则 设计人机交互子系统的策略 设计人机交互界面的准则 一致性(术语、步骤、动作) 减少步骤 及时提供反馈信息 提供撤消命令 无须记忆 易学 富有吸引力 设计人机交互子系统的策略 分类用户:按照技能水平、职务、所属集团分类 描述用户 用户类型 使用系统欲达到的目的 特征(年龄、性别、文化程度、限制因素等) 关键的成功因素(需求、爱好、习惯等) 技能水平 完成本职工作的脚本 设计人机交互子系统的策略(续) 设计命令层次(可供选用的服务的表示形式) 研究现有的人机交互的含义和准则(Windows) 确定初始的命令层次 精化命令层次(次序、整体与部分关系、宽度和深度、操作方式) 设计人机交互类 11.7 设计任务管理子系统 分析并发性 依据:动态模型 并发性:如果两个对象彼此之间不存在交互,或同时接受事件,则这两个对象在本质上是并发的。 控制线:一条遍及状态图集合的路径,在这条路径上每次只有一个对象是活动的。能够把若干个非并发的对象归并到一条控制线上。 多任务:多个任务并发执行 设计任务管理子系统(续) 确定任务类型并把任务分配给适当的单元 事件驱动型任务 时钟驱动型任务 优先任务 关键任务 协调任务 尽量减少任务数量 确定资源需求 11.8 设计数据管理子系统 选择数据存储管理模式 文件管理系统 关系数据库管理系统(DBMS) OO数据管理系统(ODBMS) 设计数据格式 设计相应的服务 三种数据存储管理模式的比较 文件管理系统 属于OS,文件操作级别低,对于高级操作须额外的代码 通用性差 关系数据库管理系统(DBMS) 提供各种最基本的数据
您可能关注的文档
最近下载
- 小学数学奥林匹克训练题库.pdf
- 初中数学说题比赛:新人教版九年级上册教材第63页第10题(共19张)教育精品(打印版).docx VIP
- 22G101 三维彩色立体图集.docx
- ANSYS-Workbench教程及实例2(最新整理版).docx VIP
- 中国汽车强制性产品认证3C认证课件.pptx
- 初中数学说题比赛:新人教版九年级上册教材第63页第10题(共19张PPT).ppt VIP
- 印尼会计准则与国际财务报告准则趋同研究.pptx VIP
- 人工智能在农业生产中的应用与智慧农业.pptx VIP
- 2024-2025学年统编版道德与法治七年级上册期末模拟测试卷(含答案).pdf VIP
- 期末学情评估卷(含答案)统编版2024道德与法治七年级上册.doc VIP
文档评论(0)