当前位置:
文档之家› [计算机]第7章-类和对象的设计PPT课件
[计算机]第7章-类和对象的设计PPT课件
的符号
7.1.3.2 表示类之间关系 继承、聚集(组成)、关联等关系表示符
号分别如图7.3、图父7.类4、图7.5所示。
子类1
子类2
图7.3 继承关系的表示符号
整体
部分1
部分2
图7.4 聚集关系的表示符号
类1 1
类2 1
类3
类4
1 0..*
图7.5 关联关系的表示符号
两类对象之间的二元关联关系分为三 种基本类型,即一对一(1:1),一对多(1: M)和多对多(M:N)分别用数字1:1、1: 0..*和0..* :0..*标识在表示关联关系的横 线下。
概念。 (3) 去除笼统的概念,用明确具体的名称代替它
们。
(4) 去除属性。 (5) 去除操作。 (6) 去除实现细节性的名词。
7.3 确定类或对象之间的关系
7.3.1 找出关联关系 分析关联关系能促使分析员考虑问题
的边缘情况,有助于发现那些尚未被发现 的类。 (1) 从动词短语初步找出关联 (2) 筛选出必要的关联 (3)划分主题
7.2 寻找系统中的类
7.2.1 列出需求说明中的名词
软件系统中的很多类或对象都是待解决问 题中有意义的事物的抽象,关键是抓住需求说 明中的名词,重点考虑如下四个方面:
(1) 自然物理对象 (2) 概念实体 (3) 人或组织的角色 (4) 发生的事件
提取名词作为初选出的类时,应注意 以下原则:
(2) 自顶向下。
把现有的类细化成更具体的子类,留 意那些带有修饰词的名词和名词词组,它 们往往暗示了一些具体类。过深的子类嵌 套会难于理解,通常经过仔细考虑和少量 的重构造,就能减少过多的继承层次。
7.4 设计类的属性
类的属性就是类的性质,对象取不同 的属性值就有不同的状态。
一般来说,确定属性的过程包括分析 和筛选两个步骤。
7.1.1 什么是模型
模型就是为了理解事务而对事务 作出的一种抽象,通常是用一组图示 符号和组织这些符号的规则来定义和 描述问题域中的术语和概念。
信息系统的模型常见的有形式化和图示化
两种。形式化描述方法非常精确、严谨,易 于系统以后的实现,但难以掌握和理解,模 型可读性差,往往只有专业人员才会使用, 因而难于推广。图形化方法用一组图示符号 和组织这些符号的规则来定义和描述问题域 中的术语和概念,模型直观、自然,易于描 述系统的层次结构、功能组成,且简单易学, 通常还有工具软件支持,因而成为信息系统 的主要描述工具,尽管这种方法的精确性和 严谨性较差,但实际应用很广泛。
对象1:类名 对象2:类名2 对象3:类名3 1
消息1
消息2
消息3
消息4
图7.9 三个对象交互的时序图
7.1.4 面向对象分析设计的一般原则
设计一个优秀的面向对象软件系统至 少要遵循以下原则:
(1) 模块化与系统分解 (2) 抽象 (3) 信息隐蔽 (4) 模块间弱耦合和模块内强内聚 (5) 可重用
7.1.3.3 表示对象的行为以及相互合作的 符号 所有的对象都具有自己的生命周期 (或称为运行周期)。生命周期中的阶段也 就是对象的状态。系统运行过程中各对象 之间总是在相互作用,某一对象受到其它 对象的触发(如发送消息要求服务),就会 发生状态的改变。
事件1[ 条件 ] / 动作
主要表现为类或对象包含的属性、行为,以及
类或对象相互之间的继承和关联关系;动态模
型描述系统的控制结构,主要表现为对象为完
成某一功能而相互合作以及它们动作执行的先
后顺序。
7.1.3.1 表示类和对象的图形符号
图7.1是类和对象的表示符号,类和对
象都用矩形框表示,类或对象名、每个属性、 每个操作(行为)都各占一格。
7.1.2 建模的目的
构造模型通常的目的是: (1) 在着手解决一个复杂问题之前,建立
与检测解决方案。 (2) 对复杂问题进行适度简化。 (3) 加强视觉效果。 (4) 客户和其他相关人员进行交流。
7.1.3 面向对象分析设计模型的一般形式
一个系统的特征包括两个方面,即静态特
征和动态特征。静态模型描述系统的数据结构,
7.3.2 组成关系
组成关系是一种特殊的关联关系。组 成关系实际上描述的是所谓“……的一部 分”、“组成”或者“……包含……”这 样一类关系,即部分与整体之间的关系。
7.3.3 继承关系
有两种方式可以发现和建立继承关系: (1) 自底向上。 当子类具有和父类相同的属性和行为
时,它们存在着继承关系。
(1)选择一个最有意义的词。 (2)修饰语也常常是发现类属性的线索。 (3)被动语态写成的句子,通常有隐含的
主语。
(4) 对类的种类进行建模。 (5) 从属性值抽象出类。
7.2.2 筛选出候选类
对列出的名词作个初步筛选。方法如下: (1) 去除重复的概念,保留一个最确切的名称。 (2) 去除无关的概念,只保留与问题密切相关的
状态2
事件3[条件]/动作
状态3
事件4[ 条件 ] / 动作
最终状态
图7.7 对象状态变化的表示符号
状态图总是针对某个特定的对象而 言的,描述该对象响应一系列事件触发发 生的状态转变。状态图中定义的状态有初 始状态、最终状态、中间状态、复合状态。
我们常用时序图来描述几个对象的交 互作用。表示符号如图7.9所示。
第7章 类和对象的设计
用面向对象的方法对软件系统进行 分析设计,首先要做的就是找出系统中的 类和对象,对它们各自的属性和操作进行 分析和设计。
7.1 建立类和对象的模型 7.2 寻找系统中的类 7.3 确定类或对象之间 7.4 设计类的属性 7.5 设计类的职责 7.6 小结
7.1 建立类和对象的模型
(1) 分析 属性的确定既与问题域有关,也和目标
系统的任务有关。应该仅考虑与具体应用直 接相关的属性,不要考虑那些超出所要解决 的问题范围的属性。
(2) 筛选 仔细认真地考虑那些经初步分析而确定下来
地属性,从中删掉不正确的或不必要的属性。 ① 判别是属性还是对象 ② 识别冗余属性 ③ 去除链属性 ④ 区分属性和内部状态 ⑤ 不应过于细化 ⑥ 去除无关属性