第十一章面向对象设计object-orienteddesign内容摘要:

系 统 分 解 回顾 SD:从 DFD出发  OOD模型分解: 167。 4. 系 统 分 解 子系统之间的交互方式 (collaboration) ① 客户 供应商 (clientserver)关系: ② 平等伙伴 (peertopeer)关系: Client subsystem contract Server subsystem request contract Peer subsystem contract Peer subsystem request request  167。 4. 系 统 分 解 系统组织方案 ① 水平层次组织: 将系统组织成 hierarchy,同一层中的 objects相互独立,而上、下层间有 clientserver关系。  一个 client只能调用其相邻下层的 server —— 封闭式 (closed)  一个 client可调用其下任一层的 server —— 开放式 (open) 优点:高效; 缺点:修改影响面广 HCI 典型应用系统的组织结构 应 用 软 件 包 操 作 系 统 计 算 机 硬 件 人机对 话控制 仿真 软件包 图形处理 窗口图形 屏幕图形 象素图形 167。 4. 系 统 分 解 ② 垂直块组织: 将系统垂直分解成若干独立的子系统,一个子系统相当于一块,每块提供一种类型的服务。 167。 4. 系 统 分 解 四种子系统的设计 ⑴ 问题域子系统:基于 OOA建立的 object model,进行补充修改。 ① 调整需求 ② 重用 class:  选出可用的 class,标出与本问题无关 的 attributes 和 methods  派生出 child class,标出继承的 attributes 和 methods  修改关联 ③ 组合 class:通过引入 root class完成,用于建立public protocol。 ④ 调整 inheritance。 ⑵ 人机交互 (HCI)子系统:好的包装 167。 4. 系 统 分 解 ① 设计准则:  一致性: 术语、步骤、操作等始终一致。  减少步骤:使完成一件任务所需敲键盘、点鼠标、下拉菜单等的次数都减至最少。  及时提供反馈信息: 提供 hot key操作 做一个体贴的 status bar  提供撤销 (undo)命令:  无须记忆:不应要求用户记住某个窗口的信息,然后再用到窗口中 —— 这是系统的责任而不是用户的任务。 仁慈的你如佛祖对众生:回头是岸  易学:提供 HELP、联机参考等。  富有吸引力 167。 4. 系 统 分 解 ② 设计策略  设计 HCI类:例如 VC提供的 MFC类库(Microsoft Foundation Class Library)  将用户分类(按技能、职务等)  描述用户的类型、水平、使用目的、其它特征(如年龄、性别、习惯等),写出操作脚本  设计命令层次:注意同用户熟悉的方式 ( 如windows界面)尽量保持一致 . 次序、深度、宽度调整适当 167。 4. 系 统 分 解 ⑶ 任务管理子系统:基于 OOA建立的 dynamic model ① 分析并发性:  若两个 objects之间无交互行为,或它们同时接受 events,则它们本质上是 并发的 (synchronous)  考察 event flow diagram,找出没有并发对象的路径(称为 控制线 ),每条对应一个 任务 (task,亦称 process)  不同的 tasks对应必须同时发生的不同行为 167。 4. 系 统 分 解 ② 确定 task类型,并分配给适当的软 \硬件去执行  事件驱动型 (eventdriven):主要完成通信工作。 event = 数据到达的中断( interrupt)  时钟驱动型 (clockdriven):完成周期性工作。  优先型 (priority):将 high priority或 low priority的任务专门分离出来先做或后做。  关键任务 (key。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。