类的五种关系 泛化聚合关联等应注意的问题和练习
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
表示属性约束说明: 例如: #visibility:Boolean=false{读写} 表示属性”visibility”可读,写
武当山旅游门户网站( ) 分类信息
问题:
?
1、指出下面属性名的含义。
武当山旅游门户网站( ) 分类信息
类的操作
1. 操作的含义 操作(operation): 描述类所表示事物的动态性质。 2.操作的格式 [可见性]操作名[(参数列表):返回类型][{特性}]
该操作对外部实体的显现程度. 可见public : + 受限protected: # 私有private : -
关联可以分为单向关联,双向关联。
单向关联
双向关联
武当山旅游门户网站( ) 分类信息
2.关联的特性
① 关联名
关联名
★如果关联关系已经清楚,就无需关联名
武当山旅游门户网站( ) 分类信息
2.关联的特性 ② 关联的角色
关联的角色
★如果关联名与角色名相同,则不标出角色名
类的概念
1. 类的定义 类(class): 具有相似结构、行为和关系的一组对象。 2.类的表示
类名
属性
操作
武当山旅游门户网站( ) 分类信息
类的其他几种表示形式
① 简化表示
② 缩略表示
实站( ) 分类信息
该属性对外部实体的显现程度. 可见public : + 受限protected: # 私有private : -
武当山旅游门户网站( ) 分类信息
类的属性
1. 属性的含义 属性(attribute): 描述类所表示事物的静态性质。 2.属性的格式
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
控制类承担着事务处理,控制调控的控制作 用。
一个用例中最少会有一个控制类,用来控制 用例中的事件顺序,也可以在多个用例之间协 调用例之间的联系。
武当山旅游门户网站( ) 分类信息
武当山旅游门户网站( ) 分类信息
类之间的关系有关联关系、组成关系、 泛化关系。要寻找关系,可以检查交互 图,大多数关系信息已经在交互图中列 出,重温这些图,获得类之间的关系。
通过关联类描述关联的属性,操作,及其它信息。
关联类
武当山旅游门户网站( ) 分类信息
2.关联的特性 ⑤ 关联的约束
通过约束加强关联的含义。
例如,“帐户”不能同时与“人”和“公 司”有关联。
约束
武当山旅游门户网站( ) 分类信息
2.关联的特性 ⑥ 限定关联 通过限定符来规定关联的限定关系,可消除多重性. 例如,“文件目录”通过“文件名”来与具体的文件 对象进行关联。 “银行”通过“帐号”与具体的“帐户”对象进行关 联。
武当山旅游门户网站( ) 分类信息
2.实体类
实体类对应着现实中的客观实物,用来保存 信息,一般对应着数据表、文件等。
实体类可以从现实中存在的客观事物,以及 需要持久存放的信息两方面来发现。
武当山旅游门户网站( ) 分类信息
3.控制类
第1个英文单词首字母小写,其它单 词首字母大写 contactName credintLimit isPrepaid
武当山旅游门户网站( ) 分类信息
类的属性
1. 属性的含义 属性(attribute): 描述类所表示事物的静态性质。 2.属性的格式
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
武当山旅游门户网站( ) 分类信息
问题:
?
采购员从供货商处订货,双方需要签订订单, 一个采购员可以订多个供货商的货品,一个供货 商也可以给多个采购员供货。 要求: 1. 提取这个问题涉及的类;
2. 定义各个类之间的关系,并画出类图。
教学进程
武当山旅游门户网站( ) 分类信息
武当山旅游门户网站( ) 分类信息
类的操作
1. 操作的含义
操作(operation): 描述类所表示事物的动态性质。
2.操作的格式 [可见性]操作名[(参数列表):返回类型][{特性}]
该操作的返回值的类型. 例如: +display():Location
武当山旅游门户网站( ) 分类信息
1.提取本问题的类
?
类是否提取完全了,还有没有隐藏的 没有提取的类?
武当山旅游门户网站( ) 分类信息
1.提取本问题的类
武当山旅游门户网站( ) 分类信息
2.确定类之间的关系
①
武当山旅游门户网站( ) 分类信息
① 名词或名词短语(动词或动词短语表示控制类) 例如:人,桌子,图形,汇总 ② 尽可能用明确、简短,业务领域中事物的名称, 避免使用抽象、无意义的名词 例如:帐户,订单,事物 ③ 用英文,第1个字母大写 例如:Shape, Person, CheckingAccdount ④ 可分为简单类名,带路径类名 例如: CheckingAccdount
+studentName:String=“黎明”
#studentBirthDay:Date=1999-10-21 -price:float=12.01{R/W}
教学进程
武当山旅游门户网站( ) 分类信息
类的操作
1. 操作的含义
操作(operation): 描述类所表示事物的动态性质。
教学进程
武当山旅游门户网站( ) 分类信息
武当山旅游门户网站( ) 分类信息
问题:
?
“教师”和“学生”两个类之间存在授课关 系,一个教师可以教授多个学生,一个学生可以 由多个教师授课,标出这两个类的关系。
教学进程
武当山旅游门户网站( ) 分类信息
表示属性值的取值的多寡,以及有序性: 例如: name:String[0..1] 表示属性”name”可能无值,也可能仅有一 个值. points:Point[2..* ordered] 表示有两个或多个值,有序
武当山旅游门户网站( ) 分类信息
类的属性
1. 属性的含义 属性(attribute): 描述类所表示事物的静态性质。 2.属性的格式
限定关联
武当山旅游门户网站( ) 分类信息
3.关联的种类
① 一元(自返)关联
② 二元关联
武当山旅游门户网站( ) 分类信息
3.关联的种类
③ 多元关联
三元关联
武当山旅游门户网站( ) 分类信息
问题:
?
2.操作的格式 [可见性]操作名[(参数列表):返回类型][{特性}]
武当山旅游门户网站( ) 分类信息
类的操作
1. 操作的含义 操作(operation): 描述类所表示事物的动态性质。 2.操作的格式
[可见性]操作名[(参数列表):返回类型][{特性}]
第1个英文单词首字母小写,其它单 词首字母大写 close() creditRecording()
武当山旅游门户网站( ) 分类信息
2.关联的特性 ③ 关联的多重性
关联的角色
关联的多重性
0..1 : 0或1 0..n ,0..* : 0或多 1 1..n : 1到多 * : 0到多
武当山旅游门户网站( ) 分类信息
2.关联的特性 ④ 关联类
武当山旅游门户网站( ) 分类信息
关联
1. 关联的定义
关联的通俗含义:
表示事物之间的一种固有联系,描述类的结构之间 的关系。 例如:
关联
关联
武当山旅游门户网站( ) 分类信息
1. 关联的定义
关联(association): 模型元素之间的一种语 义联系,它是对具有共同的结构特性、行为特性、 关系和语义的链接的描述。
“班级”和“班长”两个类之间存在管理关 系,一个班级仅可以有一个班长,一个班长只能 是一个班级的班长,标出这两个类的关系。
教学进程
武当山旅游门户网站( ) 分类信息
武当山旅游门户网站( ) 分类信息
问题:
?
“班主任”和“学生”两个类之间存在管理 关系,一个班主任仅可以管理一个班的学生,一 个班的学生,只能由一个班主任来管理,标出这 两个类的关系。
问题:
?
1、指出下面操作名的含义。
+setName(String:name)
+getName():String
+creatbook()
教学进程
类的类型
1.边界类
武当山旅游门户网站( ) 分类信息
边界类位于系统与外界的交界处,承担系统与 外界的信息功能.
边界类处在用例图中,参与者与用例的关联处, 可以根据用例图发现边界类。
Banking::CheckingAccdount
武当山旅游门户网站( ) 分类信息
问题:
?
1、指出下面命名有问题的的类。
教学进程
武当山旅游门户网站( ) 分类信息
类的属性
1. 属性的含义 属性(attribute): 描述类所表示事物的静态性质。 2.属性的格式
类的操作
1. 操作的含义 操作(operation): 描述类所表示事物的动态性质。 2.操作的格式
[可见性]操作名[(参数列表):返回类型][{特性}]
该操作的输入参数,可以为空. 例如: #create() +hide() -ttachXWindow(xwin:Xwindow)
武当山旅游门户网站( ) 分类信息
2.确定类之间的关系
②
?
货品是由供应商提供,但订单所订的 货品怎么样反映出来?
武当山旅游门户网站( ) 分类信息
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
表示属性初始所取的值: 例如: #visibility:Boolean=false 表示属性”visibility”初始取”false”
武当山旅游门户网站( ) 分类信息
类的属性
1. 属性的含义 属性(attribute): 描述类所表示事物的静态性质。 2.属性的格式
属性的数据类型: 字符串:String 日期:Date 布尔:Boolean 整型:int
武当山旅游门户网站( ) 分类信息
类的属性
1. 属性的含义 属性(attribute): 描述类所表示事物的静态性质。 2.属性的格式
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
武当山旅游门户网站( ) 分类信息
类的属性
1. 属性的含义
属性(attribute): 描述类所表示事物的静态性质。 2.属性的格式
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
7.9 类图
• 面向对象方法的三个最重要的技术是用例图、交互图和类 图。无论是面向对象的分析还是面向对象的设计和实现, 类图都是最核心技术。它不仅能够表现信息的结构,还能 够反映系统的行为。 • 类图以反映类的结构(属性、操作)以及类之间的关系为主 要目的,描述了软件系统的结构,是一种静态建模方法 • 事实上,软件开发不同时期的类图反映了不同层次上的抽 象。
表示属性约束说明: 例如: #visibility:Boolean=false{读写} 表示属性”visibility”可读,写
武当山旅游门户网站( ) 分类信息
问题:
?
1、指出下面属性名的含义。
武当山旅游门户网站( ) 分类信息
类的操作
1. 操作的含义 操作(operation): 描述类所表示事物的动态性质。 2.操作的格式 [可见性]操作名[(参数列表):返回类型][{特性}]
该操作对外部实体的显现程度. 可见public : + 受限protected: # 私有private : -
关联可以分为单向关联,双向关联。
单向关联
双向关联
武当山旅游门户网站( ) 分类信息
2.关联的特性
① 关联名
关联名
★如果关联关系已经清楚,就无需关联名
武当山旅游门户网站( ) 分类信息
2.关联的特性 ② 关联的角色
关联的角色
★如果关联名与角色名相同,则不标出角色名
类的概念
1. 类的定义 类(class): 具有相似结构、行为和关系的一组对象。 2.类的表示
类名
属性
操作
武当山旅游门户网站( ) 分类信息
类的其他几种表示形式
① 简化表示
② 缩略表示
实站( ) 分类信息
该属性对外部实体的显现程度. 可见public : + 受限protected: # 私有private : -
武当山旅游门户网站( ) 分类信息
类的属性
1. 属性的含义 属性(attribute): 描述类所表示事物的静态性质。 2.属性的格式
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
控制类承担着事务处理,控制调控的控制作 用。
一个用例中最少会有一个控制类,用来控制 用例中的事件顺序,也可以在多个用例之间协 调用例之间的联系。
武当山旅游门户网站( ) 分类信息
武当山旅游门户网站( ) 分类信息
类之间的关系有关联关系、组成关系、 泛化关系。要寻找关系,可以检查交互 图,大多数关系信息已经在交互图中列 出,重温这些图,获得类之间的关系。
通过关联类描述关联的属性,操作,及其它信息。
关联类
武当山旅游门户网站( ) 分类信息
2.关联的特性 ⑤ 关联的约束
通过约束加强关联的含义。
例如,“帐户”不能同时与“人”和“公 司”有关联。
约束
武当山旅游门户网站( ) 分类信息
2.关联的特性 ⑥ 限定关联 通过限定符来规定关联的限定关系,可消除多重性. 例如,“文件目录”通过“文件名”来与具体的文件 对象进行关联。 “银行”通过“帐号”与具体的“帐户”对象进行关 联。
武当山旅游门户网站( ) 分类信息
2.实体类
实体类对应着现实中的客观实物,用来保存 信息,一般对应着数据表、文件等。
实体类可以从现实中存在的客观事物,以及 需要持久存放的信息两方面来发现。
武当山旅游门户网站( ) 分类信息
3.控制类
第1个英文单词首字母小写,其它单 词首字母大写 contactName credintLimit isPrepaid
武当山旅游门户网站( ) 分类信息
类的属性
1. 属性的含义 属性(attribute): 描述类所表示事物的静态性质。 2.属性的格式
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
武当山旅游门户网站( ) 分类信息
问题:
?
采购员从供货商处订货,双方需要签订订单, 一个采购员可以订多个供货商的货品,一个供货 商也可以给多个采购员供货。 要求: 1. 提取这个问题涉及的类;
2. 定义各个类之间的关系,并画出类图。
教学进程
武当山旅游门户网站( ) 分类信息
武当山旅游门户网站( ) 分类信息
类的操作
1. 操作的含义
操作(operation): 描述类所表示事物的动态性质。
2.操作的格式 [可见性]操作名[(参数列表):返回类型][{特性}]
该操作的返回值的类型. 例如: +display():Location
武当山旅游门户网站( ) 分类信息
1.提取本问题的类
?
类是否提取完全了,还有没有隐藏的 没有提取的类?
武当山旅游门户网站( ) 分类信息
1.提取本问题的类
武当山旅游门户网站( ) 分类信息
2.确定类之间的关系
①
武当山旅游门户网站( ) 分类信息
① 名词或名词短语(动词或动词短语表示控制类) 例如:人,桌子,图形,汇总 ② 尽可能用明确、简短,业务领域中事物的名称, 避免使用抽象、无意义的名词 例如:帐户,订单,事物 ③ 用英文,第1个字母大写 例如:Shape, Person, CheckingAccdount ④ 可分为简单类名,带路径类名 例如: CheckingAccdount
+studentName:String=“黎明”
#studentBirthDay:Date=1999-10-21 -price:float=12.01{R/W}
教学进程
武当山旅游门户网站( ) 分类信息
类的操作
1. 操作的含义
操作(operation): 描述类所表示事物的动态性质。
教学进程
武当山旅游门户网站( ) 分类信息
武当山旅游门户网站( ) 分类信息
问题:
?
“教师”和“学生”两个类之间存在授课关 系,一个教师可以教授多个学生,一个学生可以 由多个教师授课,标出这两个类的关系。
教学进程
武当山旅游门户网站( ) 分类信息
表示属性值的取值的多寡,以及有序性: 例如: name:String[0..1] 表示属性”name”可能无值,也可能仅有一 个值. points:Point[2..* ordered] 表示有两个或多个值,有序
武当山旅游门户网站( ) 分类信息
类的属性
1. 属性的含义 属性(attribute): 描述类所表示事物的静态性质。 2.属性的格式
限定关联
武当山旅游门户网站( ) 分类信息
3.关联的种类
① 一元(自返)关联
② 二元关联
武当山旅游门户网站( ) 分类信息
3.关联的种类
③ 多元关联
三元关联
武当山旅游门户网站( ) 分类信息
问题:
?
2.操作的格式 [可见性]操作名[(参数列表):返回类型][{特性}]
武当山旅游门户网站( ) 分类信息
类的操作
1. 操作的含义 操作(operation): 描述类所表示事物的动态性质。 2.操作的格式
[可见性]操作名[(参数列表):返回类型][{特性}]
第1个英文单词首字母小写,其它单 词首字母大写 close() creditRecording()
武当山旅游门户网站( ) 分类信息
2.关联的特性 ③ 关联的多重性
关联的角色
关联的多重性
0..1 : 0或1 0..n ,0..* : 0或多 1 1..n : 1到多 * : 0到多
武当山旅游门户网站( ) 分类信息
2.关联的特性 ④ 关联类
武当山旅游门户网站( ) 分类信息
关联
1. 关联的定义
关联的通俗含义:
表示事物之间的一种固有联系,描述类的结构之间 的关系。 例如:
关联
关联
武当山旅游门户网站( ) 分类信息
1. 关联的定义
关联(association): 模型元素之间的一种语 义联系,它是对具有共同的结构特性、行为特性、 关系和语义的链接的描述。
“班级”和“班长”两个类之间存在管理关 系,一个班级仅可以有一个班长,一个班长只能 是一个班级的班长,标出这两个类的关系。
教学进程
武当山旅游门户网站( ) 分类信息
武当山旅游门户网站( ) 分类信息
问题:
?
“班主任”和“学生”两个类之间存在管理 关系,一个班主任仅可以管理一个班的学生,一 个班的学生,只能由一个班主任来管理,标出这 两个类的关系。
问题:
?
1、指出下面操作名的含义。
+setName(String:name)
+getName():String
+creatbook()
教学进程
类的类型
1.边界类
武当山旅游门户网站( ) 分类信息
边界类位于系统与外界的交界处,承担系统与 外界的信息功能.
边界类处在用例图中,参与者与用例的关联处, 可以根据用例图发现边界类。
Banking::CheckingAccdount
武当山旅游门户网站( ) 分类信息
问题:
?
1、指出下面命名有问题的的类。
教学进程
武当山旅游门户网站( ) 分类信息
类的属性
1. 属性的含义 属性(attribute): 描述类所表示事物的静态性质。 2.属性的格式
类的操作
1. 操作的含义 操作(operation): 描述类所表示事物的动态性质。 2.操作的格式
[可见性]操作名[(参数列表):返回类型][{特性}]
该操作的输入参数,可以为空. 例如: #create() +hide() -ttachXWindow(xwin:Xwindow)
武当山旅游门户网站( ) 分类信息
2.确定类之间的关系
②
?
货品是由供应商提供,但订单所订的 货品怎么样反映出来?
武当山旅游门户网站( ) 分类信息
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
表示属性初始所取的值: 例如: #visibility:Boolean=false 表示属性”visibility”初始取”false”
武当山旅游门户网站( ) 分类信息
类的属性
1. 属性的含义 属性(attribute): 描述类所表示事物的静态性质。 2.属性的格式
属性的数据类型: 字符串:String 日期:Date 布尔:Boolean 整型:int
武当山旅游门户网站( ) 分类信息
类的属性
1. 属性的含义 属性(attribute): 描述类所表示事物的静态性质。 2.属性的格式
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
武当山旅游门户网站( ) 分类信息
类的属性
1. 属性的含义
属性(attribute): 描述类所表示事物的静态性质。 2.属性的格式
[可见性]属性名[:类型][„[ ‟多重性[次序]„]‟][=初始值][{特性}]
7.9 类图
• 面向对象方法的三个最重要的技术是用例图、交互图和类 图。无论是面向对象的分析还是面向对象的设计和实现, 类图都是最核心技术。它不仅能够表现信息的结构,还能 够反映系统的行为。 • 类图以反映类的结构(属性、操作)以及类之间的关系为主 要目的,描述了软件系统的结构,是一种静态建模方法 • 事实上,软件开发不同时期的类图反映了不同层次上的抽 象。