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

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模型分解:
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第十三章 软件项目管理 Software Management.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第十二章 人机界面设计——用户界面设计.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第三章 需求分析.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第二章 可行性研究.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第一章 软件概述.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)原理、方法与应用(第6章-第11章).ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)原理、方法与应用(第1章-第5章).ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_电子教案.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_试题(填空题).doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_试题(三).doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_软件工程模拟试题(二).doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_《软件工程学》试题.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_模拟试题及参考答案(共五套).doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_软件工程试题.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_各章习题解答.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_实验指导书.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_教学大纲.doc
- 西安石油大学:《人工智能导论》课程教学资源(PPT课件)第9章 智能化网络.ppt
- 西安石油大学:《人工智能导论》课程教学资源(PPT课件)第9章 智能化网络.ppt
- 西安石油大学:《人工智能导论》课程教学资源(PPT课件)第8章 Agent系统.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第十章 面向对象技术——面向对象分析与设计.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第九章 面向对象方法概述.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第七章 软件测试.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第八章 软件维护.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第四章 软件设计——概要设计.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第五章 软件设计——详细设计.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第六章 编码、实现.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_从课程角度看软件工程教材和体系建设.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_软件工程复习纲要和要求.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_UML进行面向对象的系统分析及设计方法.pdf
- 中国矿业大学计算机科学与技术学院:UML在商业活动建模中的应用(宗梅、史有群).pdf
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(分析与设计案例)需求分析与建模说明书.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(分析与设计案例)宿舍管理案例.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(分析与设计案例)超市管理信息系统分析设计书(超市管理信息系统分析与点评).doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(分析与设计案例)面向对象方法例题——ATM网络系统.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(分析与设计案例)医院病房监护系统案例(面向对象).ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(分析与设计案例)面向对象(OO)会议管理系统案例.ppt
- 西安石油大学:《计算机网络 Computer Network》课程教学资源_教学大纲.pdf
- 西安石油大学:《计算机网络 Computer Network》课程教学资源_电子教案.pdf
- 西安石油大学:《计算机网络 Computer Network》课程教学资源(习题解答)第1章 概述.pdf