第六章面向对象的设计 面向对象的设计模型 系统设计 ■对象设计 领域对象设计
第六章 面向对象的设计 ◼ 面向对象的设计模型 ◼ 系统设计 ◼ 对象设计 ◼ 领域对象设计
面向对象设计的任务 面向对象设计的任务 系统设计 系统整体结构的设计 对象设计 对OOA模型中类/对象模型的具体化和细化 ■消息设计 从对象-关系模型,设计出消息模型 设计模型复审
面向对象设计的任务 ◼ 面向对象设计的任务 ◼ 系统设计 ◼ 系统整体结构的设计 ◼ 对象设计 ◼ 对OOA模型中类/对象模型的具体化和细化 ◼ 消息设计 ◼ 从对象- 关系模型,设计出消息模型 ◼ 设计模型复审
面向对象设计 属性、操作、 协作者 11 类/对 对象 象 使用 关系模 模型(实例 12冒悬 对象行为模 型 1转差士
面向对象设计 责任设 计 消息设计 类及对象设计 子系统设计 属性、 操 作、 协作者 对象-行为模 型 对象- 关系模型 类 / 对 象 模型 使用 实例
系统设计过程 (1)划分子系统; (2)确定需要并发运行的子系统并为它们分配处理 器 (3)描述子系统之间的通信; (4)确定系统资源的管理和控制; (5)确定人机交互构件; (6)选择实现数据管理和任务管理的基本策略
系统设计过程 ⑴ 划分子系统; ⑵ 确定需要并发运行的子系统并为它们分配处理 器; ⑶ 描述子系统之间的通信; ⑷ 确定系统资源的管理和控制; ⑸ 确定人机交互构件; ⑹ 选择实现数据管理和任务管理的基本策略
四种主要子系统 ■问题域子系统 人机交互子系统 ■任务管理子系统 数据管理子系统
四种主要子系统 ◼ 问题域子系统 ◼ 人机交互子系统 ◼ 任务管理子系统 ◼ 数据管理子系统
划分子系统 划分原则 ■模块化、功能独立、信息隐藏 同一个子系统的类拥有共同特性 同一个子系统的类具有共同目的 同一个子系统的类提供相似服务 同一个子系统的类间相对高耦 子系统标准 ■有明确的借口,与其他子系统通信 一般类只和子系统内部的其它类协作
划分子系统 ◼ 划分原则 ◼ 模块化、功能独立、信息隐藏 ◼ 同一个子系统的类拥有共同特性 ◼ 同一个子系统的类具有共同目的 ◼ 同一个子系统的类提供相似服务 ◼ 同一个子系统的类间相对高耦合 ◼ 子系统标准 ◼ 有明确的借口,与其他子系统通信 ◼ 一般类只和子系统内部的其它类协作
处理并发操作 并发的对象(子系统) ■同时 异步 ■作用于同一事件 ■处理 将并发子系统分配到不同处理器 将并发子系统分配到同一处理器 系统提供同步控制
处理并发操作 ◼ 并发的对象(子系统) ◼ 同时 ◼ 异步 ◼ 作用于同一事件 ◼ 处理 ◼ 将并发子系统分配到不同处理器 ◼ 将并发子系统分配到同一处理器 ◼ 系统提供同步控制
描述子系统间的通信 子系统协作模型 n客户服务器 ■端对端 客户 请求 服务器 子系统 子系统 请求 peer pe eer subsystem Subsystem 请求
描述子系统间的通信 ◼ 子系统协作模型 ◼ 客户/服务器 ◼ 端对端 客户 请求 子系统 contract 服务器 子系统 peer subsystem peer subsystem 请求 请求
人机交互设计 ■分类分析用户特点,设计不同界面 ■增加用户界面专用的类和对象 ■利用快速原型演示,改进界面设计
人机交互设计 ◼ 分类分析用户特点,设计不同界面 ◼ 增加用户界面专用的类和对象 ◼ 利用快速原型演示,改进界面设计
任务管理设计 ■策略 ■确定任务的特征 定义一个协调者任务和与之关联的对象 集成其它任务和协调者 ■步骤 识别由事件驱动和时间驱动的任务 ■识别关键性任务、任务优先级和任务管理类 定义任务 必要时扩充有关任务的类和对象
任务管理设计 ◼ 策略 ◼ 确定任务的特征 ◼ 定义一个协调者任务和与之关联的对象 ◼ 集成其它任务和协调者 ◼ 步骤 ◼ 识别由事件驱动和时间驱动的任务 ◼ 识别关键性任务、任务优先级和任务管理类 ◼ 定义任务 ◼ 必要时扩充有关任务的类和对象