当前位置:文档之家› 第六章 面向对象的设计

第六章 面向对象的设计


处理并发操作
❖ 并发的对象(子系统)
同时 异步 作用于同一事件
❖ 处理
将并发子系统分配到不同处理器 将并发子系统分配到同一处理器
❖系统提供同步控制
描述子系统间的通信
❖ 子系统协作模型
客户/服务器 端对端
客户 子系统
请求
服务器 子系统
peer subsystem
请求 请求
contract
peer subsystem
❖ 追求“聪明”和“技巧”---〉提倡“简明”和“直 接”
消息设计
责任设 计
属性、操作、 协作者
类/对
象 模型
使用 实例
对象关系模型
对象-行为模 型
系统设计过程
⑴ 划分子系统; ⑵ 确定需要并发运行的子系统并为它们分配处理
器; ⑶ 描述子系统之间的通信; ⑷ 确定系统资源的管理和控制; ⑸ 确定人机交互构件;
⑹ 选择实现数据管理和任务管理的基本策略。
四种主要子系统
打印队列
打印服务器
[打印机就绪] 打印文件
打印机
活动图Activity Diagram
Win.printAll()
Disk full
显示磁盘满
Disk free
显示在打印
建立打印文件
^printer.print()
删去显示信息
物理架构建模
❖ 逻辑架构和物理架构
逻辑架构 物理架构
❖ 构件图 ❖ 配置图
学生
姓名:string
学号:string
1

购买 0..* 属于
书名:string 价格:real
对象图Object Diagram
王平:学生
姓名:王平 学号:020106
英语:书 书名:英语 价格:26.5
数学:书 书名:数学 价格:21.8
对象间关系
❖ 关联关系 (Association) ❖ 聚集关系(Aggregation) ❖ 泛化关系(Generalization) ❖ 依赖关系(Dependency) ❖ 细化关系 (Refinement)
❖ 问题域子系统 ❖ 人机交互子系统 ❖ 任务管理子系统 ❖ 数据管理子系统
划分子系统
❖ 划分原则
模块化、功能独立、信息隐藏 同一个子系统的类拥有共同特性 同一个子系统的类具有共同目的 同一个子系统的类提供相似服务 同一个子系统的类间相对高耦合
❖ 子系统标准
有明确的借口,与其他子系统通信 一般类只和子系统内部的其它类协作
到达 向底楼移动
在底楼
上楼
向上移动
向下移动 超时
到达
上楼
到达 上楼
空闲
时序图(Sequence Diagram)
打印文件 计算机
打印服务器
计算机
打印队列
打印文件
[打印机就绪] 打印文件
[打印机忙] 保存文件
协作图(Collaboration Diagram)
计算机 打印文件
[打印机忙] 保存文件
第六章 面向对象的设计
❖ 面向对象的设计模型 ❖ 系统设计 ❖ 对象设计 ❖ 领域对象设计
面向对象设计的任务
❖ 面向对象设计的任务
系统设计
❖系统整体结构的设计
对象设计
❖对OOA模型中类/对象模型的具体化和细化
消息设计
❖从对象- 关系模型,设计出消息模型
设计模型复审
面向对象设计
子系统设计 类及对象设计
人机交互设计
❖ 分类分析用户特点,设计不同界面 ❖ 增加用户界面专用的类和对象 ❖ 利用快速原型演示,改进界面设计
任务管理设计
❖ 策略
确定任务的特征 定义一个协调者任务和与之关联的对象 集成其它任务和协调者
❖ 步骤
识别由事件驱动和时间驱动的任务 识别关键性任务、任务优先级和任务管理类 定义任务 必要时扩充有关任务的类和对象
RUP—基于UML的统一建模过程
第八章 编码和语言选择
❖ 编码的目的 ❖ 编码的风格 ❖ 编码使用的语言
编码的目的
编码
模块的过程性描述一一一>源程序
(不可执行的)
(可执行的)
❖ 编码的过程
熟悉所选语言的功能和程序开发环境 仔细阅读设计文档详细设计 弄清要编码的模块的外部接口与内部过程
编码的风格
包图
子系统A 子系统B
子系统D 子系统C
子系统E
子系统F
动态建模
❖ 状态图(State Diagram) ❖ 时序图(Sequence Diagram) ❖ 协作图(Collaboration Diagram) ❖ 活动图(Activity Diagram)
消息
同步消息 异步消息 简单消息
状态图State Diagram
❖ UML的模型元素
表示模型中的某个概念 表示模型元素之间的关系
❖ UML的元模型结构
元元模型层 元模型层 模型层 用户模型层
❖ UML模型
❖图
静态图 动态图
❖ 视图
用例视图 逻辑视图 并发视图 构件视图 部署视图
UML模型
UML的特点
❖ 统一标准 ❖ 面向对象 ❖ 表达能力强大 ❖ 可视化
UML
❖ Unified Modeling Language ❖ 近10年来OOSE最重要的成果 ❖ 贡献者:Grady Booch, Ivar Jacobson,
Jin Rumbaugh ❖ 中文网站
http://www.
UML的组成
UML的应用
❖ 用于描述系统开发的不同类型于不同阶段
从需求分析到软件设计到软件测试及维护 可视化问题描述,帮助理解问题 帮助建立各阶段的文档 获取和交流有关应用问题求解的知识 辅助构建系统
静态建模
❖ 用例模型
用例图表示 从最终用户的角度描述系统功能
❖ 类和对象模型
类图和对象图表示
类图Class Diagram
数据管理设计
❖ 解决对象数据的存储和检索 ❖ 数据管理设计
定义数据格式
❖与所使用的数据存储管理模式相关
设计相应的操作
❖说明对象及所属类和对象如何存储自己
对象设计
分析模型
类 属性 方法 关系 行为
设计模型
对象 数据结构 算法 消息传递 控制
对象描述
❖ 对象描述
协议描述:一组消息和对消息的注释 实现描述:对对象接收到某个消息后所执行的操
作的实现细节的描述
❖ 算法设计 ❖ 程序构件与接口
对象间的接口和对象的整体结构
领域对象的设计
❖ 设计目的——支已有的组件 引入父类,分组管理领域类 添加一般化类以建立协议 调整OOA模型 设计复审
❖ 设计模板
第七章 统一建模语言UML
❖ UML简介 ❖ 静态建模 ❖ 动态建模 ❖ 物理架构建模 ❖ RUP
相关主题