编辑: 丑伊 | 2018-06-21 |
18 18 OOA的主要优点 有利于对问题域的理解,使系统的复杂性得到有效控制 采用与问题域一致的概念、术语及系统成分,使系统能较好地映射问题 域,准确反映系统责任. 有利于各类人员之间的交流 使用与问题域一致的概念及术语,体现人类的日常思维方式,从而使各 类人员具有一种比较易懂的共同语言. 对需求变化的适应性 按封装原则把系统中最容易变化的因素隔离起来,系统的各个单元成分 之间接口很少,把需求变化所引起的影响局部化. 支持软件复用 OO方法的封装、继承、聚合等原则,对象的完整性、独立性以及与问 题域的良好对应,使之非常有利于软件复用. 贯穿软件生命周期全过程的一致性 从OOA开始使用与问题域一致的概念、词汇、原则及表示法,这种一 致性保持到设计、编程、测试、维护等各个阶段,对于整个软件生命周 期的开发、维护及管理活动都具有重要的意义.
19 19 Booch方法 Coad-Yourdon方法 Firesmith方法 Jacobson方法(OOSE) Martin-Odell方法 Rumbaugh方法(OMT) Seidewitz-Stark方法 Shlaer-Mellor方法 Wirfs-Brock方法 …… Booch方法 Coad-Yourdon方法 Firesmith方法 Jacobson方法(OOSE) Martin-Odell方法 Rumbaugh方法(OMT) Seidewitz-Stark方法 Shlaer-Mellor方法 Wirfs-Brock方法 …… 不同的OOA&
D方法 方法的异同 体现于: 概念 表示法 系统模型 开发过程 可用性 技术支持
20 20 关于统一建模语言UML 在多种OO方法相互融合的基础上产生 被对象管理组织(OMG)采纳为建模语言规范 是一种建模语言,而不是建模方法 经历了四个发展阶段 使面向对象建模概念及表示法走向统一,成为事 实上的建模语言标准 产生了很大影响,也存在不少问题 ――后面在讲述OOA和OOD方法时,将介绍 UML的相关内容,并对其中的问题进行讨论
21 21 主要知识点
1、本章是对全书内容及其主要特点提纲挈领的 介绍;
2、强调充分运用面向对象方法的基本概念,限 制扩充概念的引入;
3、OOA模型框架;
4、OOA过程. 第3章 本课讲授的OOA方法概貌
22 22
1、概念 充分运用面向对象方法的基本概念 提倡: 充分运用OO方法基本概念自然而有效地解 决分析与设计中遇到的各种问题;
加强过程指导,控制扩充概念的引入. 以往各种OOA&
D方法为解决较复杂的分析与设计 问题提出了许多扩充概念,问题是: 使方法复杂化――增加学习难度和工程开销 缺乏编程语言支持――造成模型与源程序不一致
23 23 OO方法的基本概念 ――建模元素和原则 抽象 对象,类 属性 操作 封装 继承 消息 关联 聚合 多态 主动对象 类 属性 操作 一般-特殊结构 消息 关联 整体-部分结构 多态性表示 主动类 抽象 分类 行为分析 封装 继承 消息通信 关联 聚合 建模元素 基本概念 原则
24 24 名称 (a) 类及其属性与操作的表示法 (b) 被复用类的表示法 类名 @类名 属性 …… 操作 …… 属性 …… @操作 …… 一般类 特殊类 特殊类 (c) 一般-特殊结构的表示法 (d) 整体-部分结构的表示法 类类1*(e) 关联的表示法 发送者(类) 接收者(类) (f) 消息的表示法 名称 压缩方式 展开方式 (g) 包的两表示方式 (控制流内部) (控制流之间) 普通对象 主动对象 整体对象的类 部分对象的类 整体对象的类 部分对象的类
1 * 内容 类名?复用? 松散聚合 紧密聚合(组合)