09-面向对象与UML

上传人:ths****59 文档编号:58205070 上传时间:2018-10-27 格式:PPT 页数:45 大小:1.76MB
返回 下载 相关 举报
09-面向对象与UML_第1页
第1页 / 共45页
09-面向对象与UML_第2页
第2页 / 共45页
09-面向对象与UML_第3页
第3页 / 共45页
09-面向对象与UML_第4页
第4页 / 共45页
09-面向对象与UML_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《09-面向对象与UML》由会员分享,可在线阅读,更多相关《09-面向对象与UML(45页珍藏版)》请在金锄头文库上搜索。

1、第9讲 面向对象与UML,陈建明J ,2,主要内容,面向对象软件设计概述 系统设计 对象设计 领域对象设计 UML,3,1 面向对象软件设计概述(1/4),面向对象系统设计的特点 面向对象分析设计界限不明显 面向对象分析和设计通常采用迭代方法 和传统的设计方法类似,面向对象设计也是基于模块化和功能独立等方法之上 面向对象设计的主要任务 系统结构设计:子系统设计 对象设计,数据设计 接口设计,消息设计 过程设计,4,1 面向对象软件设计概述(2/4),面向对象设计模型 子系统设计:结构设计 类对象设计:具体的类/对象, 消息设计:动态行为,接口 责任设计:对象的属性,其它数据 分析模型与设计模型

2、的关系 实例、对象-行为模型 =子系统设计 对象模型及属性,操作,协作=类对象设计 对象-关系模型 =消息设计 对象模型及属性,操作,协作=责任设计,5,OO分析模型转换为OO设计模型,6,1 面向对象软件设计概述(3/4),面向对象设计准则 模块化 分解 信息隐藏与模块独立性 耦合 交互耦合:消息间的耦合,要弱耦合 继承耦合:一般与特殊类之间的关系,要强耦合 内聚 服务内聚:要强内聚,一个服务完成一个功能 类内聚:要强内聚,一个类一个用途 可重用 尽量使用已有的类 设计新类时要充分考虑重用性,7,1 面向对象软件设计概述(4/4),面向对象设计准则 设计结果清晰易懂 用词一致 使用已有的协议

3、 减少消息模式的数目 避免模糊定义 一般/特殊结构的深度适当 设计简单的类 避免过多的属性 有明确的定义 尽量简化对象之间的合作关系 不要提供太多的服务 使用简单的协议 使用简单的服务 把设计变动减到最小,8,2 系统设计,系统设计过程 子系统设计 人机交互设计 任务管理设计 数据管理设计,9,2.1 系统设计过程,划分子系统(按问题域划分) 为并发子系统分配处理器 描述子系统间的通信 确定资源管理与控制 规划人机界面,并设计相应构件 选择任务管理与数据管理的策略,10,2.2 子系统设计(1/4),子系统划分 设计依据:静态模型、动态模型、功能模型 遵循软件设计的基本原则:模型化、独立性 划

4、分子系统要考虑类对象的特性、目的、服务、耦合程度等 从实现角度对需求分析模型作补充或修改,主要是添加、合并或分解类对象、属性及服务,调整继承关系。当子系统过大时,应进一步分解。 好的子系统的特征 结构清晰 接口明确 大小适中,11,2.2 子系统设计(2/4),处理并发操作 在面向对象系统中,并发操作是不可避免的 如二个彼此不存在交互的对象,或者它们同时接受事件,则它们可能是并发的 并发的二种处理策略 分配到不同的处理器 在同一处理器上由系统进行同步控制,12,2.2 子系统设计(3/4),子系统间的通信 二种交互方式 客户供应商关系:供求关系 平等伙伴关系:每个子系统都可能调用其它子系统,都

5、要了解其它的接口,13,2.2 子系统设计(4/4),二种组织方案 层次结构:上层建立在下层基础之上,下层为上层服务 块状结构:相互为弱耦合的子系统 实际系统往往是二种结构的混合,14,2.3 人机交互设计,人机交互界面设计准则 一致性 及时提供反馈信息 提供撤消命令 无须记忆 易学 富有吸引力 设计策略 分类用户 描述用户 设计命令层次 设计人机交互 增加用户界面专用的类与对象 用快速原型法不断改进界面设计,15,2.4 任务管理设计,任务种类 事件驱动型任务:平时处于睡眠状态,被事件唤醒 时钟驱动型任务:由时钟触发 优先任务:服务的优先级 关键任务:关系到系统成功与否 协调任务:三个以上任

6、务要增加一个协调任务 设计步骤 识别驱动:事件、时钟 识别任务类型:优先、关键、协调 尽量减少任务数 根据性能要求,确定资源需求 定义任务 必要时添加有关任务的类和对象,16,2.5 数据管理设计,选择数据存储模式 文件管理系统 关系数据库管理系统 面向对象数据库管理系统 设计数据管理子系统 设计数据格式 设计相应的服务,17,3 对象设计 (1/3),目的,特点 对象设计是把分析模型中的对象转换成设计模型中的对象 在面向对象设计中,一个对象往往就是一个模块 对象设计就是模块内设计 转换时的对应关系,18,3 对象设计(2/3),对象描述 协议描述 接口间的通信协议 实现描述 对象接收消息后所

7、要执行操作的实现细节描述 实现描述的内容 名字 私有数据定义 操作过程描述,19,3 对象设计(3/3),设计对象中的服务 确定对象中应有的服务: 从动态模型中对象行为以及功能模型中数据处理,转换成由对象所提供的服务 设计实现服务的方法: 设计实现服务的算法 选择数据结构 定义内部类/对象和内部操作,主要用来存放算法执行过程中所得出的某些中间结果 程序构件与接口 程序构件 表示对象整体结构(如Delphi的单元文件结构) 接口 对象之间的接口,20,4 领域对象设计(1/2),领域对象的设计内容 调整需求 复用已有的组件 引入父类,分组管理领域类 增添一般化类以建立协议 调整OOA模型 设计复

8、审,21,4 领域对象设计(2/2),领域对象的设计模板,22,5. UML,UML组成、特点与应用 静态建模 动态建模 物理架构建模 工具与资料,23,5.1 UML组成、特点与应用,Unified Modeling LanguageUML统一建模语言 UML产生 1996年6月Grady Booch、Jin Rumbaugh、Iver Jacobson共同推出UML0.9 2001年,UML 1.4面世 UML代表了面向对象方法的软件开发技术的发展方向,具有重在的经济价值和国防价值,获得工业界和科技界的广泛支持 1990年底,UML已占面向对象技术市场的90%,成为可视化建模语言事实上的工

9、业标准,24,5.1.1 UML组成(1/3),UML模型元素 关联、泛化、依赖、聚集,25,5.1.1 UML组成(2/3),UML元模型结构 元元模型层 元模型层 模型层 用户模型层,26,5.1.1 UML组成(3/3),UML模型 图 静态图 动态图 视图 用例图 逻辑图 并发图 构件图 部署图,27,5.1.2 UML特点和应用,UML特点 统一标准 面向对象 表达能力强大、可视化 UML应用 适用于以面向对象技术来描述任何类型的系统 适用于系统开发的不同阶段,28,5.2 静态建模,用例建模 类和对象模型 包,29,5.2.1 用例建模,用例模型就是系统的用例图 用于把应满足用户需

10、求的基本功能聚合起来表示 对于新开发的系统,用例描述系统应该做什么 对于已构造完毕的系统,用例说明系统能够完成什么样的功能,30,用例图,用例:系统和外部角色的交互 符号表示:,31,用例图例子,32,5.2.2 类和对象模型(1/2),类图和对象图,33,5.2.2 类和对象模型(2/2),对象间关系 关联关系 聚集关系 泛化关系 依赖关系 细化关系,34,5.2.3 包,将一些模型元素组织成语义上相关的组的分组机制叫包,35,5.3 动态建模,消息 状态图和时序图 协作图和活动图,36,5.3.1 消息,对象间的交互通过消息传递来完成 三种消息 简单消息 同步消息 异步消息,37,5.3.

11、2 状态图和时序图(1/2),例:电梯状态图,38,5.3.2 状态图和时序图(2/2),时序图,39,5.3.3 协作图和活动图(1/2),协作图,40,5.3.3 协作图和活动图(2/2),活动图,41,5.4 物理架构建模(1/2),逻辑架构 将功能分配到系统的各个部分,并详细说明它们是如何工作的 逻辑架构有助于更清楚地了解系统的结构,42,UML表示的三层架构,43,5.4 物理架构建模(2/2),物理架构 详细描述系统的软件、硬件结构 构件图 描述软件构件之间的依赖关系 配置图 描述系统硬件的物理拓扑结构以及在此结构上执行的软件,44,5.5. 工具与资料,资料 UML与Ration

12、al Rose 从入门到精通,Wendy Boggs, 电子工业出版社 UML与系统分析设计,张龙祥,人民邮电 UML系统分析设计与应用案例,冀振燕,人民邮电 工具 IBM Rational Rose Power Design,45,小结,面向对象软件设计的特点、任务、模型、准则 面向对象在子系统设计、人机交互设计、任务管理、数据管理设计的过程和方法 对象设计中的描述、服务、接口设计 领域对象设计 UML代表了面向对象方法的软件开发技术的发展方向,具有重要价值,适用于以面向对象技术来描述任何类型的系统,也适用于系统开发的不同阶段 UML主要有静态建模和动态建模,它们通过多种图或视图来表示 物理架构是针对系统的硬件而言,主要通过配置图来描述,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号