当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第十一 面向对象设计与UML

资源类别:文库,文档格式:PPT,文档页数:44,文件大小:599.5KB,团购合买
§1. OOD准则:优秀软件设计的一个重要特点是容易维护 §2. 启发式规则 §3. 软件重用 (Software Reuse) §4. 系统分解 §5. 设计类中的服务 §6. 设计关联 §7. 优化
点击下载完整版文档(PPT)

OOA方法的基本顺序: 需求陈述一>建立 Object Model->建立 Dynamic Model->建立 Function model->定义服务 建立 Object Model: 确定 Class-c&- Object->确定关联一>识别主题一> 确立属性一>确立继承关系

1 OOA方法的基本顺序: 需求陈述->建立 Object Model->建立 Dynamic Model->建立 Function Model->定义服务 建立 Object Model: 确定Class-&-Object->确定关联->识别主题-> 确立属性->确立继承关系

软件工程 第6章面向对象的分析与设计方法

2 第6章 面向对象的分析与设计方法

面向对家设计 (Object-Oriented Design) s1.OOD准则:优秀软件设计的一个重要特点是 容易维护 回顾:SD准则包括 Modularization Abstraction Information hiding Module independence 对OD有类似的准则: 1、模块化: Module= Object

面向对象设计 (Object-Oriented Design) §1. OOD准则:优秀软件设计的一个重要特点是 容易维护 回顾:SD准则包括  Modularization  Abstraction  Information hiding  Module independence 对于 OOD有类似的准则: 1、模块化:Module = Object

s1.OOD准则 抽象 Abstraction:抽出事物的本质特性,暂不考虑其 细节,使设计从具体实现方法中超脱。 3、信息隐藏 Information hiding=对象封装 Encapsulation of object 4、耦合 Coupling 交互耦合(in interactive coupling :通过传递 message发生 要求降低参数个数和参数复杂性 继承耦合 (inheritance coupling) 要求 Parent class s a child class→ as high as possible

4 §1. OOD准则 3、信息隐藏Information hiding = 对象封装 Encapsulation of object 4、耦合Coupling:  交互耦合(interactive coupling):通过传递message发生 要求降低参数个数和参数复杂性  继承耦合(inheritance coupling): 要求 Parent class IS_A child class  as high as possible 2、抽象Abstraction:抽出事物的本质特性, 暂不考虑其 细节,使设计从具体实现方法中超脱

s1.OOD准则 5、内聚 Cohesion: 服务内聚 (service cohesion) 个服务只完成一个功能。 类内聚 class cohesion):一个类只有一个用途,否则分 解之 般-特殊内聚 6、复用性 Reusability!y

5 §1. OOD准则  一般-特殊内聚 5、内聚Cohesion:  服务内聚(service cohesion):一个服务只完成一个功能。  类内聚(class cohesion):一个类只有一个用途,否则分 解之。 6、复用性Reusability

§2.启发式规则 1、设计结果清晰易懂,应做到 ①用词一致——按习惯用法命名。不同 classes中 相似的 methods最好取同一名字。 ②使用已有的 protocol. ③尽量减少 message 模式的数目。 ④避免模糊定义。 2、一般特殊结构的深度应适当(约100个 classes,则 设计7士2层)

6 §2. 启发式规则 1、设计结果清晰易懂,应做到: ① 用词一致 —— 按习惯用法命名。不同classes中 相似的methods最好取同一名字。 ② 使用已有的protocol。 ③ 尽量减少message模式的数目。 ④ 避免模糊定义。 2、一般-特殊结构的深度应适当(约100个classes,则 设计7±2层)

§2.启发式规则 3、设计简单的clas(定义不超过一页纸或两屏)。 应注意: ①避免过多 attributes; ②能用简单的语句描述一个 class E的任务; ③obet之间合作关系要简单; ④避免过多 methods≤7个) 问题:设计出大量的case,使结构复杂度增加。 解决:划分主题,提高可理解性 4、使用简单的 protocol,,减少 message中传递的 parameters 5、使用简单的 method(CASE可考虑用 inheritance替代)。 6、把设计变动减至最小

7 §2. 启发式规则 3、设计简单的class(定义不超过一页纸或两屏)。 应注意: ① 避免过多attributes; ② 能用简单的语句描述一个class的任务; ③ objects之间合作关系要简单; ④避免过多methods( 7个)。 问题:设计出大量的classes,使结构复杂度增加。 解决:划分主题,提高可理解性。 4、使用简单的protocol,减少message 中传递的 parameters 5、使用简单的method(CASE 可考虑用 inheritance替代)。 6、把设计变动减至最小

§3.软件重用( Software reuse) 概念 知识重用(例如软件工程知识的重用) 方法和标准重用(例如OO方法和国家规定知识 的软件开发规范的重用) 工程 软件成分的重用 重用软件成分有三个级别: ①代码重用: 源码剪贴——无法溯源,无配置管理 Include 修改后所有包含了此段代码的程 序都须重新编译。想象一下,stih被改动之后 Inheritance—无须改动原有代码

8 概念:  知识重用(例如软件工程知识的重用)  方法和标准重用(例如OO方法和国家规定 的软件开发规范的重用)  软件成分的重用 §3. 软件重用 (Software Reuse) 知识 工程 • 源码剪贴 —— 无法溯源,无配置管理 • Include —— 修改后所有包含了此段代码的程 序都须重新编译。 • Inheritance —— 无须改动原有代码 想象一下,stdio.h 被改动之后……  重用软件成分有三个级别: ① 代码重用:

s3.软件重用 ②设计重用—当移植系统时 ③分析重用—当需求未变,而系统结构改变时 重用效果的衡量 额外代价: 创建可重用成分的专门投资 多花2~4倍时间测试以保证质量 构件库的建立与维护需要投资 以上投资将分摊到重用这些构件的新系统成 本中。重用次数越多,分摊成本越少

9 §3. 软件重用 ② 设计重用 —— 当移植系统时 ③ 分析重用 —— 当需求未变,而系统结构改变时 重用效果的衡量: 额外代价:  创建可重用成分的专门投资  多花2 ~ 4倍时间测试以保证质量  构件库的建立与维护需要投资 以上投资将分摊到重用这些构件的新系统成 本中。重用次数越多,分摊成本越少

§4.系统分解 回顾SD:从DFD出发→PO OOD模型分解: Category 问题域人机交互任务管理数据管理 Class-&-Obiect Application <Human Task Data Structure Domain Computer Management Management Attribute Interface OD(HCI)ex

10 I P O 问题域 Application Domain 人机交互 Human- Computer Interface (HCI) 任务管理 Task Management 数据管理 Data Management Method Attribute Structure Class-&-Object Category §4. 系 统 分 解 回顾SD:从DFD出发  OOD模型分解:

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共44页,可试读15页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有