第5章类图及对象图121103_第1页
第5章类图及对象图121103_第2页
第5章类图及对象图121103_第3页
第5章类图及对象图121103_第4页
第5章类图及对象图121103_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、用例图中存在着、用例图中存在着( ),( ),( ),( )关系?关系?1、用例图中存在着、用例图中存在着( 关联关联 ),( 泛化泛化),( 包含包含 ),( 扩展扩展 )关系?关系?2、下面几种用什么符号表示、下面几种用什么符号表示: 用例用例, 关联关联, 扩展扩展, 包含包含?3、下面说法错误的是、下面说法错误的是: A 泛化表示一般和特殊的关系泛化表示一般和特殊的关系 B 用例之间存在泛化关系用例之间存在泛化关系 C 参与者之间存在泛化关系参与者之间存在泛化关系 D 参与者和用例之间存在泛化关系参与者和用例之间存在泛化关系?4、下面说法错误的是、下面说法错误的是: A 参与者是与

2、所建立系统交互的人或物参与者是与所建立系统交互的人或物 B 参与者可以是人参与者可以是人,也可以是其他系统也可以是其他系统 C 参与者是系统的一部分参与者是系统的一部分,是用例图的重是用例图的重要组成部分要组成部分 D 参与者之间存在泛化关系参与者之间存在泛化关系?85.1.1 类的概念类的概念5.1.1 类的概念类的概念 1. 类的定义类的定义 类类(class):(class): 具有相似结构、行为和关系的一组对象。具有相似结构、行为和关系的一组对象。 2.2.类的表示类的表示 类名类名属性属性操作操作 3. .类的其他几种表示形式类的其他几种表示形式 简化表示简化表示 缩略表示缩略表示实

3、体类实体类界面类界面类控制类控制类 4. .类名类名 名词或名词短语名词或名词短语(动词或动词短语表示控制类动词或动词短语表示控制类) 尽可能用明确、简短,业务领域中事物的名称尽可能用明确、简短,业务领域中事物的名称,避免使用抽象、无意义的名词避免使用抽象、无意义的名词例如:人,桌子,图形,汇总例如:人,桌子,图形,汇总 用英文,第用英文,第1 1个字母大写个字母大写例如:例如:Shape, Person, CheckingAccdount 可分为简单类名,带路径类名可分为简单类名,带路径类名例如:例如: CheckingAccdount Banking:CheckingAccdount例如:

4、帐户,订单,例如:帐户,订单,事物事物5.1.2 类的属性类的属性 1. 属性的含义属性的含义 属性属性(attribute): 描述类所表示事物的静态性质。描述类所表示事物的静态性质。 2.2.属性的格式属性的格式 可见性可见性 属性名属性名:类型类型 多重性多重性 次序次序 =初始值初始值特性特性5.1.2 类的属性类的属性 1. 属性的含义属性的含义 属性属性(attribute): 描述类所表示事物的静态性质。描述类所表示事物的静态性质。 2.2.属性的格式属性的格式 可见性可见性 属性名属性名:类型类型 多重性多重性 次序次序 =初始值初始值特性特性5.1.2 类的属性类的属性 1.

5、 属性的含义属性的含义 属性属性(attribute): 描述类所表示事物的静态性质。描述类所表示事物的静态性质。 2.2.属性的格式属性的格式 可见性可见性 属性名属性名:类型类型 多重性多重性 次序次序 =初始值初始值特性特性5.1.2 类的属性类的属性 1. 属性的含义属性的含义 属性属性(attribute): 描述类所表示事物的静态性质。描述类所表示事物的静态性质。 2.2.属性的格式属性的格式 可见性可见性 属性名属性名:类型类型 多重性多重性 次序次序 =初始值初始值特性特性5.1.2 类的属性类的属性 1. 属性的含义属性的含义 属性属性(attribute): 描述类所表示事

6、物的静态性质。描述类所表示事物的静态性质。 2.2.属性的格式属性的格式 可见性可见性 属性名属性名:类型类型 多重性多重性 次序次序 =初始值初始值特性特性5.1.2 类的属性类的属性 1. 属性的含义属性的含义 属性属性(attribute): 描述类所表示事物的静态性质。描述类所表示事物的静态性质。 2.2.属性的格式属性的格式 可见性可见性 属性名属性名:类型类型 多重性多重性 次序次序 =初始值初始值特性特性5.1.2 类的属性类的属性 1. 属性的含义属性的含义 属性属性(attribute): 描述类所表示事物的静态性质。描述类所表示事物的静态性质。 2.2.属性的格式属性的格式

7、 可见性可见性 属性名属性名:类型类型 多重性多重性 次序次序 =初始值初始值特性特性1、指出下面属性名的含义。、指出下面属性名的含义。?+studentName:String=“黎明黎明”#studentBirthDay:Date=1999-10-21-price:float=12.01R/W5.1.3 类的操作类的操作 1. 操作的含义操作的含义 操作操作(operation): 描述类所表示事物的动态性质。描述类所表示事物的动态性质。 2.2.操作的格式操作的格式 可见性可见性 操作名操作名(参数列表参数列表):):返回类型返回类型特性特性5.1.3 类的操作类的操作 1. 操作的含义操

8、作的含义 操作操作(operation): 描述类所表示事物的动态性质。描述类所表示事物的动态性质。 2.2.操作的格式操作的格式 可见性可见性 操作名操作名(参数列表参数列表):):返回类型返回类型特性特性5.1.3 类的操作类的操作 1. 操作的含义操作的含义 操作操作(operation): 描述类所表示事物的动态性质。描述类所表示事物的动态性质。 2.2.操作的格式操作的格式 可见性可见性 操作名操作名(参数列表参数列表):):返回类型返回类型特性特性5.1.3 类的操作类的操作 1. 操作的含义操作的含义 操作操作(operation): 描述类所表示事物的动态性质。描述类所表示事物

9、的动态性质。 2.2.操作的格式操作的格式 可见性可见性 操作名操作名(参数列表参数列表):):返回类型返回类型特性特性5.1.3 类的操作类的操作 1. 操作的含义操作的含义 操作操作(operation): 描述类所表示事物的动态性质。描述类所表示事物的动态性质。 2.2.操作的格式操作的格式 可见性可见性 操作名操作名(参数列表参数列表):):返回类型返回类型特性特性1、指出下面操作名的含义。、指出下面操作名的含义。?+setName(name:String)+getName():String+creatbook()5.1.4 类的类型类的类型 边界类位于系统与外界的交界处边界类位于系统

10、与外界的交界处,承担系统与承担系统与外界的信息功能外界的信息功能.1.1.边界类边界类 边界类处在用例图中边界类处在用例图中,参与者与用例的关联处参与者与用例的关联处,可以根据用例图发现边界类。可以根据用例图发现边界类。 实体类对应着现实中的客观实物,用来保存信实体类对应着现实中的客观实物,用来保存信息,一般对应着数据表、文件等。息,一般对应着数据表、文件等。2.2.实体类实体类 实体类可以从现实中存在的客观事物,以及实体类可以从现实中存在的客观事物,以及需要持久存放的信息两方面来发现。需要持久存放的信息两方面来发现。 控制类承担着事务处理,控制调控的控制作用。控制类承担着事务处理,控制调控的

11、控制作用。3.3.控制类控制类 一个用例中最少会有一个控制类,用来控制一个用例中最少会有一个控制类,用来控制用例中的事件顺序,也可以在多个用例之间协用例中的事件顺序,也可以在多个用例之间协调用例之间的联系。调用例之间的联系。一个例子:订货系统一个例子:订货系统5.2.1 关联关联 1. 关联的定义关联的定义 关联的通俗含义关联的通俗含义 表示事物之间的一种牵连式的固有联系。表示事物之间的一种牵连式的固有联系。 例如:例如: 关联关联5.2.1 关联关联 1. 关联的定义关联的定义 关联的本质含义关联的本质含义 关联关联(association): 模型元素之间的一种语义联系模型元素之间的一种语

12、义联系,它是对具有共同的结构特性、行为特性、关系和语义的它是对具有共同的结构特性、行为特性、关系和语义的链接的描述。链接的描述。 关联可以分为单向关联,双向关联。关联可以分为单向关联,双向关联。 单向关联单向关联双向关联双向关联 2. .关联的特性关联的特性 关联名关联名关联名关联名如果关联关系已经清楚,就无需关联名如果关联关系已经清楚,就无需关联名 2. .关联的特性关联的特性 关联的角色关联的角色如果关联名与角色名相同,则不标出角色名如果关联名与角色名相同,则不标出角色名关联的角色关联的角色 2. .关联的特性关联的特性 关联的多重性关联的多重性0.1 : 0或或10.n ,0.* : 0

13、或多或多11.n : 1到多到多* : 0到多到多关联的角色关联的角色关联的多重性关联的多重性 2. .关联的特性关联的特性 关联类关联类通过关联类描述关联的属性,操作,及其它信息。通过关联类描述关联的属性,操作,及其它信息。关联类关联类 2. .关联的特性关联的特性 关联的约束关联的约束通过约束加强关联的含义。通过约束加强关联的含义。例如,例如,“帐户帐户”不能同时与不能同时与“人人”和和“公公司司”有关联。有关联。约束约束 2. .关联的特性关联的特性 限定限定关联关联通过限定符来规定关联的限定关系。通过限定符来规定关联的限定关系。例如,例如,“文件目录文件目录”通过通过“文件名文件名”来

14、与具体的来与具体的文件对象进行关联。文件对象进行关联。 “银行银行”通过通过“帐户帐户”与具体的与具体的“人人”对象进行对象进行关联。关联。限定关联限定关联 3. .关联的种类关联的种类 一元一元(自返自返)关联关联 二元关联二元关联 3. .关联的种类关联的种类 多元关联多元关联三元关联三元关联 4. .对关联须注意的一个问题对关联须注意的一个问题 关联一定指的是类中对象与类中的对象之关联一定指的是类中对象与类中的对象之间的连接对应关系。间的连接对应关系。类图类图对象图对象图 “班级班级”和和“班长班长”两个类之间存在管理关两个类之间存在管理关系,一个班级仅可以有一个班长,一个班长只能系,一

15、个班级仅可以有一个班长,一个班长只能是一个班级的班长,标出这两个类的关系。是一个班级的班长,标出这两个类的关系。? “班主任班主任”和和“学生学生”两个类之间存在管理两个类之间存在管理关系,一个班主任仅可以管理一个班的学生,一关系,一个班主任仅可以管理一个班的学生,一个班的学生,只能由一个班主任来管理,标出这个班的学生,只能由一个班主任来管理,标出这两个类的关系。两个类的关系。?答案:答案: “教师教师”和和“学生学生”两个类之间存在授课关两个类之间存在授课关系,一个教师可以教授多个学生,一个学生可以系,一个教师可以教授多个学生,一个学生可以由多个教师授课,标出这两个类的关系。由多个教师授课,

16、标出这两个类的关系。? 采购员从供货商处订货,双方需要签订订单,采购员从供货商处订货,双方需要签订订单,一个采购员可以订多个供货商的货品,一个供货一个采购员可以订多个供货商的货品,一个供货商也可以给多个采购员供货。商也可以给多个采购员供货。 要求:要求: 1. 提取这个问题涉及的类提取这个问题涉及的类; 2. 定义各个类之间的关系,并画出类图。定义各个类之间的关系,并画出类图。?1.提取本问题的类提取本问题的类?类是否提取完全了,还有没有隐藏的类是否提取完全了,还有没有隐藏的没有提取的类?没有提取的类?1.提取本问题的类提取本问题的类2.确定类之间的关系确定类之间的关系2.确定类之间的关系确定

17、类之间的关系?货品是由供应商提供,但订单所订的货品是由供应商提供,但订单所订的货品怎么样反映出来?货品怎么样反映出来?2.确定类之间的关系确定类之间的关系5.2.2 聚集和组合聚集和组合 1. 聚集聚集 聚集聚集(aggregation): 表示类之间一种松散的整表示类之间一种松散的整体与部分的组成关系,是一种特殊的关联。体与部分的组成关系,是一种特殊的关联。表示表示例子例子5.2.2 聚集和组合聚集和组合 2. 组合组合 组合组合(composition): 表示类之间一种紧密的整表示类之间一种紧密的整体与部分的组成关系,也是一种特殊的关联。体与部分的组成关系,也是一种特殊的关联。表示表示例

18、子例子5.2.2 聚集和组合聚集和组合 3. 聚集与组合的区别聚集与组合的区别 聚集松散聚集松散, ,组合紧密组合紧密; ; 5.2.2 聚集和组合聚集和组合 3. 聚集与组合的区别聚集与组合的区别 聚集松散聚集松散, ,组合紧密组合紧密; ; 一个部分事物对象可以属于多个聚集对象一个部分事物对象可以属于多个聚集对象, ,但一个部分事物对象仅能属于一个组合对象但一个部分事物对象仅能属于一个组合对象; ; 5.2.2 聚集和组合聚集和组合 3. 聚集与组合的区别聚集与组合的区别 聚集松散聚集松散, ,组合紧密组合紧密; ; 一个部分事物对象可以属于多个聚集对象一个部分事物对象可以属于多个聚集对象

19、, ,但一个部分事物对象仅能属于一个组合对象但一个部分事物对象仅能属于一个组合对象; ; 聚集的对象生命周期可以不同聚集的对象生命周期可以不同, ,但组合对象但组合对象则是同存同亡。则是同存同亡。1、计算机由、计算机由CPU、内存、软盘、硬盘、显示器、内存、软盘、硬盘、显示器、键盘、鼠标组成,用类图表示这种关系。键盘、鼠标组成,用类图表示这种关系。2、举出一个具有聚合关系的类图的例子。、举出一个具有聚合关系的类图的例子。?5.2.3 泛化泛化 1. 泛化的含义泛化的含义 泛化泛化(generalization): 表示事物之间的一般与特殊的表示事物之间的一般与特殊的关系。也可以称为继承关系。关

20、系。也可以称为继承关系。 泛化关系除了表示类与类之间的关系之外,还可以表泛化关系除了表示类与类之间的关系之外,还可以表示参与者、用例、包、构件、接口等建模元素之间的关示参与者、用例、包、构件、接口等建模元素之间的关系。系。 泛化的目的:泛化的目的: 可以使子类共享父类的属性和操作,实现继承;可以使子类共享父类的属性和操作,实现继承; 可以使子类的实例用于任何父类被声明使用的地方,实可以使子类的实例用于任何父类被声明使用的地方,实现多态。现多态。 5.2.3 泛化泛化 2. 泛化的表示泛化的表示例子例子表示表示645.2.3 泛化泛化 3. 多态多态 尽管每个子类的实现方法不同,但调用方式完全一

21、致尽管每个子类的实现方法不同,但调用方式完全一致 Shape sh = new Line(); sh.draw();665.2.3 泛化泛化 抽象类抽象类(abstract,斜体表示),斜体表示) 不能产生实例的类,因为类中的方法往往只是声明,不能产生实例的类,因为类中的方法往往只是声明,而没有实现。而没有实现。 5.2.4 依赖依赖 1. 依赖的含义依赖的含义 依赖依赖(dependency): 表示两个元素表示两个元素X、Y,如,如果果X的变化必然导致的变化必然导致Y的变化,则称的变化,则称Y依赖依赖X。 依赖关系不仅限于类,用例、包、构件之间依赖关系不仅限于类,用例、包、构件之间都可以存

22、在依赖关系。都可以存在依赖关系。 5.2.4 依赖依赖 2. 依赖的表示依赖的表示例子例子表示表示695.2.5 实现实现1. 含义含义 一个元素完成另外一个元素的操作功能一个元素完成另外一个元素的操作功能 如接口类及其实现;接口没有属性,只有声明的操作方如接口类及其实现;接口没有属性,只有声明的操作方法(对方法没有实现部分),而由实现类具体定义实现法(对方法没有实现部分),而由实现类具体定义实现部分。部分。 下面几个模型图中,(下面几个模型图中,( )能够正确地表示出)能够正确地表示出“一个雇员最多有一个经理,经理可以管理多个一个雇员最多有一个经理,经理可以管理多个雇员,也可以不管理一个雇员

23、雇员,也可以不管理一个雇员”这样的意思。这样的意思。?5.3.1 类图的概念类图的概念 类图类图(Class Diagram): 是由类,相关建模元是由类,相关建模元素,及其关系构成的图,用来描述类之间的静素,及其关系构成的图,用来描述类之间的静态关系。态关系。 类图在系统中处在核心位置。也是类图在系统中处在核心位置。也是UML中中最为重要的一种图。最为重要的一种图。5.3.2 类图的抽象层次类图的抽象层次 在系统的不同开发阶段,类图可以具有不在系统的不同开发阶段,类图可以具有不同的抽象程度。随着开发的深入,类图应该越同的抽象程度。随着开发的深入,类图应该越来越详细、具体。来越详细、具体。 可

24、以分为:概念层,逻辑层,实现层。可以分为:概念层,逻辑层,实现层。概念层概念层逻辑层逻辑层实现层实现层 建立类图的一般步骤:建立类图的一般步骤: 研究分析问题领域,确定系统需求;研究分析问题领域,确定系统需求; 5.3.3 建立类图建立类图 建立类图的一般步骤:建立类图的一般步骤: 研究分析问题领域,确定系统需求;研究分析问题领域,确定系统需求; 确定类,明确类的含义和职责,确定类的属性和操作;确定类,明确类的含义和职责,确定类的属性和操作; 5.3.3 建立类图建立类图 建立类图的一般步骤:建立类图的一般步骤: 研究分析问题领域,确定系统需求;研究分析问题领域,确定系统需求; 确定类,明确类

25、的含义和职责,确定类的属性和操作;确定类,明确类的含义和职责,确定类的属性和操作; 确定类之间的关系。关联,泛化,聚集,组合,依赖;确定类之间的关系。关联,泛化,聚集,组合,依赖; 5.3.3 建立类图建立类图 建立类图的一般步骤:建立类图的一般步骤: 研究分析问题领域,确定系统需求;研究分析问题领域,确定系统需求; 确定类,明确类的含义和职责,确定类的属性和操作;确定类,明确类的含义和职责,确定类的属性和操作; 确定类之间的关系。关联,泛化,聚集,组合,依赖;确定类之间的关系。关联,泛化,聚集,组合,依赖; 调整和细化类及其关系,解决重复和冲突;调整和细化类及其关系,解决重复和冲突; 5.3

26、.3 建立类图建立类图 建立类图的一般步骤:建立类图的一般步骤: 研究分析问题领域,确定系统需求;研究分析问题领域,确定系统需求; 确定类,明确类的含义和职责,确定类的属性和操作;确定类,明确类的含义和职责,确定类的属性和操作; 确定类之间的关系。关联,泛化,聚集,组合,依赖;确定类之间的关系。关联,泛化,聚集,组合,依赖; 调整和细化类及其关系,解决重复和冲突;调整和细化类及其关系,解决重复和冲突; 绘制类图,并增加相应说明。绘制类图,并增加相应说明。5.3.3 建立类图建立类图 1、对象图的概念:、对象图的概念: 对象图表示一组对象及其它们之间的联系。对象图表示一组对象及其它们之间的联系。

27、 对象是系统的详细状态在某一时刻的快照,通对象是系统的详细状态在某一时刻的快照,通 常用来表示复杂类图的一个实例。常用来表示复杂类图的一个实例。 2、说明:、说明: 对象图并不在任何时间必须;对象图并不在任何时间必须; Rose2003不支持对象图。不支持对象图。类图类图对象图对象图 对象类对象类 可以实例化为对象的类。我们前面所提的例子都属于对可以实例化为对象的类。我们前面所提的例子都属于对象类。象类。 抽象类抽象类 不能直接产生实例的类。抽象类的类名一般被写成为斜不能直接产生实例的类。抽象类的类名一般被写成为斜体。体。 5.5.1 对象类和抽象类对象类和抽象类 派生属性和派生关联的概念派生

28、属性和派生关联的概念 可以从其它属性或关联计算推演得到的属性和关联。可以从其它属性或关联计算推演得到的属性和关联。 在派生的名字前面加在派生的名字前面加/,以示区别。,以示区别。 派生容易产生不一致,应注意。派生容易产生不一致,应注意。5.5.2 派生属性和派生关联派生属性和派生关联派生关联派生关联派生属性派生属性绘制图书馆图书借阅管理的类图。绘制图书馆图书借阅管理的类图。 对于图书馆里的每一种图书,计算机管理目录对于图书馆里的每一种图书,计算机管理目录中包括:书名、作者、中包括:书名、作者、ISBNISBN号、出版社、单价。每号、出版社、单价。每一种图书馆都藏多册,每一册图书对应着一个唯一一

29、种图书馆都藏多册,每一册图书对应着一个唯一的图书编号。有许多注册读者,读者的信息包括读的图书编号。有许多注册读者,读者的信息包括读者编号、姓名、出生日期、职业、电话、通信地址、者编号、姓名、出生日期、职业、电话、通信地址、邮政编码、邮箱。每一个读者拥有一个借书证,借邮政编码、邮箱。每一个读者拥有一个借书证,借书证包括读者编号、注册日期、读者类型。读者每书证包括读者编号、注册日期、读者类型。读者每次可以凭借书证借图书,图书馆要对读者借书登记次可以凭借书证借图书,图书馆要对读者借书登记借书记录,借书记录中登记读者、所借图书、借出借书记录,借书记录中登记读者、所借图书、借出日期、返还日期、管理员等信息。日期、返还日期、管理员等信息。1、类图是用来描述系统资源和要素相互、类图是用来描述系统资源和要素相互之间的静态结构关

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论