第 7章 面向对象的分析和设计方法
7.1 面向对象方法的基本概念一,面向对象方法概述面向对象 ( Object-Oriented,缩写为 OO) 方法的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间 (也称为问题域 )与实现解法的解空间
(也称为求解域 )在结构上尽可能一致 。
第 7章 面向对象的分析和设计方法二,面向对象的概念
1,什么是面向对象
2,对象 (Object)
3,消息和方法 ( Message and Method)
4,类和实例 ( Class and Instance)
5,继承性 ( Inheritance)
6,封装性 ( Encapsulation)
7,多态性 ( Polymorphism)
第 7章 面向对象的分析和设计方法三,面向对象方法的主要优点
1,与人类习惯的思维方法一致
2,稳定性好
3,可重用性好
4,可维护性好第 7章 面向对象的分析和设计方法
7.2 面向对象的分析一,面向对象分析的基本过程
1.分析问题的层次
2,OOA主要概念的表示方法及 OOA主要原则
( 1) OOA主要概念
( 2) OOA的主要原则图 7.3 OOA主要概念表示方式第 7章 面向对象的分析和设计方法
3.OOA过程
① 发现对象,定义它们的类 。
② 识别对象的内部特征:
③ 识别对象的外部关系:
④ 划分主题,建立主题图 。
⑤ 定义用例 ( use case),建立交互图:
⑥ 建立详细说明:这是对模型的详细定义与解释,可以作为一个独立的活动,更自然的做法是分散在其他活动之中 。
⑦ 原型开发:这项可在 OOA过程中反复进行 。
第 7章 面向对象的分析和设计方法二,确定对象、类
1.确定对象
(1)问题域和系统责任
(2)正确地运用抽象原则
(3)策略与启发
2.对象分类、建立类图的对象层
(1)异常情况的检查和调整
(2)类的命名
(3)建立类图的对象层第 7章 面向对象的分析和设计方法三,确定属性
1.对象的属性和服务
2.定义属性第 7章 面向对象的分析和设计方法四,定义服务
1.对象的状态与状态转换图图 7.6栈的状态转换图
2.行为分类
3.发现服务的策略与启发
4.审查与调整
5.识别主动对象
6.服务的命名和定位
7.服务的详细说明第 7章 面向对象的分析和设计方法五,对象间通信
1.识别结构
(1)结构的意义和作用
(2)如何定义一般/特殊结构
(3)如何定义整体/部分结构
(4) 多重结构
2.识别主题
3.实例连接图 7.12实例连接的表示及例子第 7章 面向对象的分析和设计方法
7.3 面向对象的设计设计则是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。
一,面向对象设计的基本概念
1.面向对象设计的框架图 7.13多层次,多组成部分模型
2.对象描述第 7章 面向对象的分析和设计方法二,面向对象设计的方法
1.面向对象设计的准则
( 1)模块化
( 2)抽象
( 3)信息隐藏
( 4)弱耦合
( 5)强内聚第 7章 面向对象的分析和设计方法
( 6)可扩充性
( 7)可集成性
( 8)支持复用
( 9)类的设计准则
2.面向对象的基本设计方法
(1)面向对象设计范式与过程设计范式
(2)两种范式的比较第 7章 面向对象的分析和设计方法
7.4 软件复用一,软件复用的概念
1,复用
2,软件成分的复用级别
(1)代码复用
(2)设计结果复用
(3)分析结果复用第 7章 面向对象的分析和设计方法二,软件复用的效果三,软件复用技术
1.软件组合技术
2.软件生成技术
3.面向对象的软件复用技术第 7章 面向对象的分析和设计方法四,面向对象方法与软件复用的关系
1,OO方法对软件复用的支持
( 1) OOA模型
( 2) OOA与 OOD的分工
( 3)对象的表示
( 4)一般 /特殊结构
( 5) 整体 /部分结构
( 6) 实例连接第 7章 面向对象的分析和设计方法
( 7)类描述模板
( 8)用例( Use case)
2.复用技术对 OO方法的支持
( 1)类库
( 2)构件库
( 3)构架库
( 4)工具
( 5) OOA过程
7.1 面向对象方法的基本概念一,面向对象方法概述面向对象 ( Object-Oriented,缩写为 OO) 方法的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间 (也称为问题域 )与实现解法的解空间
(也称为求解域 )在结构上尽可能一致 。
第 7章 面向对象的分析和设计方法二,面向对象的概念
1,什么是面向对象
2,对象 (Object)
3,消息和方法 ( Message and Method)
4,类和实例 ( Class and Instance)
5,继承性 ( Inheritance)
6,封装性 ( Encapsulation)
7,多态性 ( Polymorphism)
第 7章 面向对象的分析和设计方法三,面向对象方法的主要优点
1,与人类习惯的思维方法一致
2,稳定性好
3,可重用性好
4,可维护性好第 7章 面向对象的分析和设计方法
7.2 面向对象的分析一,面向对象分析的基本过程
1.分析问题的层次
2,OOA主要概念的表示方法及 OOA主要原则
( 1) OOA主要概念
( 2) OOA的主要原则图 7.3 OOA主要概念表示方式第 7章 面向对象的分析和设计方法
3.OOA过程
① 发现对象,定义它们的类 。
② 识别对象的内部特征:
③ 识别对象的外部关系:
④ 划分主题,建立主题图 。
⑤ 定义用例 ( use case),建立交互图:
⑥ 建立详细说明:这是对模型的详细定义与解释,可以作为一个独立的活动,更自然的做法是分散在其他活动之中 。
⑦ 原型开发:这项可在 OOA过程中反复进行 。
第 7章 面向对象的分析和设计方法二,确定对象、类
1.确定对象
(1)问题域和系统责任
(2)正确地运用抽象原则
(3)策略与启发
2.对象分类、建立类图的对象层
(1)异常情况的检查和调整
(2)类的命名
(3)建立类图的对象层第 7章 面向对象的分析和设计方法三,确定属性
1.对象的属性和服务
2.定义属性第 7章 面向对象的分析和设计方法四,定义服务
1.对象的状态与状态转换图图 7.6栈的状态转换图
2.行为分类
3.发现服务的策略与启发
4.审查与调整
5.识别主动对象
6.服务的命名和定位
7.服务的详细说明第 7章 面向对象的分析和设计方法五,对象间通信
1.识别结构
(1)结构的意义和作用
(2)如何定义一般/特殊结构
(3)如何定义整体/部分结构
(4) 多重结构
2.识别主题
3.实例连接图 7.12实例连接的表示及例子第 7章 面向对象的分析和设计方法
7.3 面向对象的设计设计则是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。
一,面向对象设计的基本概念
1.面向对象设计的框架图 7.13多层次,多组成部分模型
2.对象描述第 7章 面向对象的分析和设计方法二,面向对象设计的方法
1.面向对象设计的准则
( 1)模块化
( 2)抽象
( 3)信息隐藏
( 4)弱耦合
( 5)强内聚第 7章 面向对象的分析和设计方法
( 6)可扩充性
( 7)可集成性
( 8)支持复用
( 9)类的设计准则
2.面向对象的基本设计方法
(1)面向对象设计范式与过程设计范式
(2)两种范式的比较第 7章 面向对象的分析和设计方法
7.4 软件复用一,软件复用的概念
1,复用
2,软件成分的复用级别
(1)代码复用
(2)设计结果复用
(3)分析结果复用第 7章 面向对象的分析和设计方法二,软件复用的效果三,软件复用技术
1.软件组合技术
2.软件生成技术
3.面向对象的软件复用技术第 7章 面向对象的分析和设计方法四,面向对象方法与软件复用的关系
1,OO方法对软件复用的支持
( 1) OOA模型
( 2) OOA与 OOD的分工
( 3)对象的表示
( 4)一般 /特殊结构
( 5) 整体 /部分结构
( 6) 实例连接第 7章 面向对象的分析和设计方法
( 7)类描述模板
( 8)用例( Use case)
2.复用技术对 OO方法的支持
( 1)类库
( 2)构件库
( 3)构架库
( 4)工具
( 5) OOA过程