--面向对象分析与对象模型

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

把过程抽象 (procedural abstraction) 与数据抽象 (data abstraction)结合在一起. 对象(object):对客观事物的抽象. 类(class):是一种数据抽象,即是对一组对象的抽象. 包含作用于对象上的过程或方法抽象. 超类(super class)是一组子类的抽象. 方法(method):是隐藏实现过程抽象. 操作(operation):是一组方法的抽象. 属性(attribute)和关联(association): 是实现它们基本实例变量的抽象.
确定关联 确定结构
14
4.4.2 确定类和对象
1) 什么可以作为对象
4.4.1 类图
区分下列对象: (1)物理对象(Physical Object)和 概念对象(Conceptual Object) 物理对象是有形的,如书、桌子、计算机等. 概念对象是无形的,如日程表、产品说明书等。 (2)领域对象(Domain Object)和 实现对象(Implementation Object) 领域对象,是从现实世界中识别出来的对象,如 银行账户、取款机、客户等。 领域对象是稳定的,是软件系统的基础(架构)。
8
4 ) Wirfs – Brock 方法 称RDD(Responsibility Driven Design)责任驱动法 建立CRC(Class Responsibility Collaborator)卡, 描述类及相关的协助类,共同承担的责任。 5) Bailin方法 也称OOS方法,1989
概念层
(Conceptual)
类图描述应用 领域中的概念, 一般地这些概 念和类有自然 说明层 的联系,但两 (Specification) 者并没有直接 类图描述软件的 的映射关系。 接口部分,而不是 软件实现部分。
实现层 (Implementation) 类图揭示实现细节。
13
2)类图(class diagram)组成
第4章 面向对象的分析与建模
内容
4.1 4.2 4.3 4.4 4.5 4.6 什么是OOA ?为何需要OOA? 面向对象分析方法简介 面向对象的分析原则和过程 对象模型—类图 动态模型 模型的验证 掌握:建立两种模型的过程
1
SE的任务

1986年,Frederick Brooks在 《No Silver Bullet》中论述, 所有软件活动包括: 根本任务—打造构成抽象软件实体的 复杂概念结构; 次要任务—使用编程语言表达这些抽 象实体,并在时间和空间 内将它们映射成机器语言。 建模过程: 识别概念及概念之间的关系,用概念、 关系等基本模型元素描述系统的结构、行 为等,并以规范化的、形象化的方式将其 表达出来。
5
需要OOA的原因:

分析方法发展的必 然:
功能分解法
信息模拟法
数据流法
面向对象方法

分析中的困难
OOA的优点
6
4.2 面向对象分析方法简介
1) OMT(Object modelling Technique)Rumbaugh 91 对象模型 动态模型 功能模型 状态迁移图,时序图
建 立
系统组成结构 类图、对象图 模块图、进程图

类 关联关系 依赖关系 泛化关系 接口和实现关系
Class2
注 解 Class1
Class4 类4 实现接口 Interface 依赖接口 Class5
Class3
# 类图可以包含注解和约束。
# 类图可出现在包中。 3)建立类图步骤 确定类和对象 确定属性
图 ቤተ መጻሕፍቲ ባይዱ-3 类图组成
Booch方法
2) Booch方法 (method of object analysis and design,1994)
7
3) Coad & yourdon 方法 (OOA/OOD,1991)
类和对象层 属性层 结构层 主题层 服务层
Coad&yourdon 模型
问题 数据 人机 任务 论域 管理 交互 管理
10

迭代
面向对象的分析过程
用户、客 户 开发者 管理者 领域知识 专家知识 现实世界经验 OOA 分析 需求 分析
过程 什么是业务过程? (活动图)
问题描述(用例图)
角色是什么?
建立 模型
对象(概念)模型:初始类图 动态模型(职责分配) 类图
11
图 4-2 OO的分析过程
4.4 对象模型—类图
主要是建立实体关系图ERD,实体数据流图 EDFD。 6) OOSE方法 [Jacobson ,1992] (Object oriented software engineering)
提供一套符号如

等描述系统
9
4.3 面向对象的分析原则和过程
抽象、封装、继承、多态、 结构化分析原则(Davis[DAV95A])

对象模型是用类图表示的静态结构视图。 对象模型是面向对象分析阶段建立的概念模型, 是面向对象设计和实现的基础模型。 类图描述类和类之间关系的图。 类图技术是OO方法的核心,类图是定义其他图 的基础。

12
4.4.1 类图(class diagram)
1)类的抽象层次(由Steve Cook和John Daniels引入的)
2
简易的面向对象软件开发过程
软件需求描述为基础
用例图和文字描述
类图
序列图 源代码
图 4-1简易的OO软件开发过程
3
4.1 什么是OOA(Object-Oriented Analysis)

分析是在对问题的调查,了解系统工作的业务过程的
基础上提炼并建模。
面向对象的分析是: 按照对象(事物、概念、实体)的观点考虑问题域, 识别出问题域的不同概念及概念之间的联系,并用 概念模型表示。
Sale SalesDatabase date time 软件制品 真实世界中的概念 (实体,实体信息)

Sale 属性为 date 成员变量 Time Print() 操作为 软件类 成员函数
概念模型展示: 一组概念,
概念的属性, 概念间的关联 在UML中,一个概念模型是用一静态结构图 (static structure diagram)来描述的。
Sale date time 一个Sale代表了一次购物交 易的事件,它有日期和时间 概念应 Sale 1 Sale 3 Sale 2 用的一 组实例 Sale 4
概念记号
概念的内涵
概念的外延
4

概念模型(conceptual model):
是问题域中概念的描述,强调领域中的概念, 而不是软件实体。
相关文档
最新文档