[计算机软件及应用]第5章类图及对象图课件.ppt
《[计算机软件及应用]第5章类图及对象图课件.ppt》由会员分享,可在线阅读,更多相关《[计算机软件及应用]第5章类图及对象图课件.ppt(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、问题:问题:问题:问题:教学进程教学进程教学进程教学进程1、谈谈用例图的作用。、谈谈用例图的作用。2、用例之间存在着、用例之间存在着(),(),(),()关系?关系?问题:问题:问题:问题:教学进程教学进程教学进程教学进程3、下面几种用什么符号表示、下面几种用什么符号表示:用例用例,关联关联,扩展扩展,包含包含?问题:问题:问题:问题:教学进程教学进程教学进程教学进程4、下面说法错误的是、下面说法错误的是:A 泛化表示一般和特殊的关系泛化表示一般和特殊的关系 B 用例之间存在泛化关系用例之间存在泛化关系 C 参与者之间存在泛化关系参与者之间存在泛化关系 D 参与者和用例之间存在泛化关系参与者和
2、用例之间存在泛化关系?问题:问题:问题:问题:教学进程教学进程教学进程教学进程5、下面说法错误的是、下面说法错误的是:A 参与者是与所建立系统交互的人或物参与者是与所建立系统交互的人或物 B 参与者可以是人参与者可以是人,也可以是其他系统也可以是其他系统 C 参与者是系统的一部分参与者是系统的一部分,是用例图的重是用例图的重要组成部分要组成部分 D 参与者之间存在泛化关系参与者之间存在泛化关系?类图及对象图类图及对象图5.15.1 类的定义类的定义类的定义类的定义5.25.2 类的关系类的关系类的关系类的关系5.35.3 类图类图类图类图5.45.4 几个特殊问题几个特殊问题几个特殊问题几个特
3、殊问题5.55.5 对象图对象图对象图对象图5.65.6 包图包图包图包图第第5章章类图及对象图类图及对象图5.1.1 5.1.1 类的概念类的概念类的概念类的概念5.1.25.1.2 类的属性类的属性类的属性类的属性5.1.35.1.3 类的操作类的操作类的操作类的操作5.1.45.1.4 类的类型类的类型类的类型类的类型第第5章章5.1 类的定义类的定义5.1.1 类的概念类的概念 1.类的定义类的定义 类类(class):(class):具有相似结构、行为和关系的一组对象。具有相似结构、行为和关系的一组对象。2.2.类的表示类的表示 类名类名属性属性操作操作 3.类的其他几种表示形式类的
4、其他几种表示形式 简化表示简化表示 缩略表示缩略表示实体类实体类界面类界面类控制类控制类 4.类名类名 名词或名词短语名词或名词短语(动词或动词短语表示控制类动词或动词短语表示控制类)尽可能用明确、简短,业务领域中事物的名称尽可能用明确、简短,业务领域中事物的名称,避免使用抽象、无意义的名词避免使用抽象、无意义的名词例如:人,桌子,图形,汇总例如:人,桌子,图形,汇总 用英文,第用英文,第1 1个字母大写个字母大写例如:例如:Shape,Person 可分为简单类名,带路径类名可分为简单类名,带路径类名例如:例如:Item Business:Item例如:帐户,订单,例如:帐户,订单,事物事物
5、问题:问题:问题:问题:教学进程教学进程教学进程教学进程1、指出下面命名有问题的的类。、指出下面命名有问题的的类。?5.1.2 类的属性类的属性 1.属性的含义属性的含义 属性属性(attribute):描述类所表示事物的静态性质。描述类所表示事物的静态性质。2.2.属性的格式属性的格式 可见性可见性 属性名属性名:类型类型 多重性多重性 次序次序=初始值初始值 特性特性5.1.2 类的属性类的属性 1.属性的含义属性的含义 属性属性(attribute):描述类所表示事物的静态性质。描述类所表示事物的静态性质。2.2.属性的格式属性的格式 第第第第1 1个英文单词首字母小写个英文单词首字母小
6、写个英文单词首字母小写个英文单词首字母小写,其它单其它单其它单其它单词首字母大写词首字母大写词首字母大写词首字母大写 contactNamecontactName credintLimitcredintLimit isPrepaidisPrepaid 可见性可见性 属性名属性名:类型类型 多重性多重性 次序次序=初始值初始值 特性特性5.1.2 类的属性类的属性 1.属性的含义属性的含义 属性属性(attribute):描述类所表示事物的静态性质。描述类所表示事物的静态性质。2.2.属性的格式属性的格式 该属性对外部实体的显现程度该属性对外部实体的显现程度该属性对外部实体的显现程度该属性对外部
7、实体的显现程度.可见可见可见可见public :+public :+受限受限受限受限protected:#protected:#私有私有私有私有private :-private :-可见性可见性 属性名属性名:类型类型 多重性多重性 次序次序=初始值初始值 特性特性5.1.2 类的属性类的属性 1.属性的含义属性的含义 属性属性(attribute):描述类所表示事物的静态性质。描述类所表示事物的静态性质。2.2.属性的格式属性的格式 属性的数据类型属性的数据类型属性的数据类型属性的数据类型:字符串字符串字符串字符串:String:String 日期日期日期日期:Date:Date 布尔布尔
8、布尔布尔:Boolean:Boolean 整型整型整型整型:Int:Int 可见性可见性 属性名属性名:类型类型 多重性多重性 次序次序=初始值初始值 特性特性5.1.2 类的属性类的属性 1.属性的含义属性的含义 属性属性(attribute):描述类所表示事物的静态性质。描述类所表示事物的静态性质。2.2.属性的格式属性的格式 表示属性值的取值的多寡表示属性值的取值的多寡表示属性值的取值的多寡表示属性值的取值的多寡,以及有序性以及有序性以及有序性以及有序性:例如例如例如例如:name:String0.1:name:String0.1 表示属性表示属性表示属性表示属性”name”name”可
9、能无值可能无值可能无值可能无值,也可能也可能也可能也可能仅有一个值仅有一个值仅有一个值仅有一个值.points:Point2.*ordered points:Point2.*ordered 表示有两个或多个值表示有两个或多个值表示有两个或多个值表示有两个或多个值,有序有序有序有序 可见性可见性 属性名属性名:类型类型 多重性多重性 次序次序=初始值初始值 特性特性5.1.2 类的属性类的属性 1.属性的含义属性的含义 属性属性(attribute):描述类所表示事物的静态性质。描述类所表示事物的静态性质。2.2.属性的格式属性的格式 表示属性初始所取的值表示属性初始所取的值表示属性初始所取的值
10、表示属性初始所取的值:例如例如例如例如:#:#visibility:Booleanvisibility:Boolean=false=false 表示属性表示属性表示属性表示属性”visibility”visibility”初始取初始取初始取初始取”false”false”可见性可见性 属性名属性名:类型类型 多重性多重性 次序次序=初始值初始值 特性特性5.1.2 类的属性类的属性 1.属性的含义属性的含义 属性属性(attribute):描述类所表示事物的静态性质。描述类所表示事物的静态性质。2.2.属性的格式属性的格式 表示属性约束说明表示属性约束说明表示属性约束说明表示属性约束说明:例如
11、例如例如例如:#:#visibility:Booleanvisibility:Boolean=false=false读写读写读写读写 表示属性表示属性表示属性表示属性”visibility”visibility”可读可读可读可读,写写写写任何希望添加在属性定义字符串值但又没有合任何希望添加在属性定义字符串值但又没有合任何希望添加在属性定义字符串值但又没有合任何希望添加在属性定义字符串值但又没有合适地方可以加入的规则,都可以放在属性字符适地方可以加入的规则,都可以放在属性字符适地方可以加入的规则,都可以放在属性字符适地方可以加入的规则,都可以放在属性字符串里。串里。串里。串里。可见性可见性 属性
12、名属性名:类型类型 多重性多重性 次序次序=初始值初始值 特性特性问题:问题:问题:问题:教学进程教学进程教学进程教学进程1、指出下面属性名的含义。、指出下面属性名的含义。?+studentName:String=“黎明黎明”#studentBirthDay:Date=1999-10-21-price:float=12.01R/W5.1.3 类的操作类的操作 1.操作的含义操作的含义 操作操作(operation):描述类所表示事物的动态性质。描述类所表示事物的动态性质。2.2.操作的格式操作的格式 可见性可见性 操作名操作名(参数列表参数列表):):返回类型返回类型特性特性5.1.3 类的操
13、作类的操作 1.操作的含义操作的含义 操作操作(operation):描述类所表示事物的动态性质。描述类所表示事物的动态性质。2.2.操作的格式操作的格式 可见性可见性 操作名操作名(参数列表参数列表):):返回类型返回类型特性特性第第第第1 1个英文单词首字母小写个英文单词首字母小写个英文单词首字母小写个英文单词首字母小写,其它单其它单其它单其它单词首字母大写词首字母大写词首字母大写词首字母大写 close()close()creditRecordingcreditRecording()()5.1.3 类的操作类的操作 1.操作的含义操作的含义 操作操作(operation):描述类所表示事
14、物的动态性质。描述类所表示事物的动态性质。2.2.操作的格式操作的格式 该操作对外部实体的显现程度该操作对外部实体的显现程度该操作对外部实体的显现程度该操作对外部实体的显现程度.可见可见可见可见public :+public :+受限受限受限受限protected:#protected:#私有私有私有私有private :-private :-可见性可见性 操作名操作名(参数列表参数列表):):返回类型返回类型特性特性5.1.3 类的操作类的操作 1.操作的含义操作的含义 操作操作(operation):描述类所表示事物的动态性质。描述类所表示事物的动态性质。2.2.操作的格式操作的格式 该操
15、作的输入参数该操作的输入参数该操作的输入参数该操作的输入参数,可以为空可以为空可以为空可以为空.例如例如例如例如:#create():#create()+hide()+hide()-ttachXWindow(xwin:XwindowttachXWindow(xwin:Xwindow)可见性可见性 操作名操作名(参数列表参数列表):):返回类型返回类型特性特性5.1.3 类的操作类的操作 1.操作的含义操作的含义 操作操作(operation):描述类所表示事物的动态性质。描述类所表示事物的动态性质。2.2.操作的格式操作的格式 该操作的返回值的类型该操作的返回值的类型该操作的返回值的类型该操作
16、的返回值的类型.例如例如例如例如:+:+display():Locationdisplay():Location 可见性可见性 操作名操作名(参数列表参数列表):):返回类型返回类型特性特性问题:问题:问题:问题:教学进程教学进程教学进程教学进程1、指出下面操作名的含义。、指出下面操作名的含义。?+setName(String:name)+getName():String+creatbook()5.1.4 类的类型类的类型 边界类位于系统与外界的交界处边界类位于系统与外界的交界处,承担系统与承担系统与外界的信息功能外界的信息功能.1.1.边界类边界类 边界类处在用例图中边界类处在用例图中,参与
17、者与用例的关联处参与者与用例的关联处,可以根据用例图发现边界类。可以根据用例图发现边界类。说明:说明:通过通过use caseuse case图可以确定需要的边界类。图可以确定需要的边界类。每个每个actor/use caseactor/use case交互至少要有一个边界类。交互至少要有一个边界类。但并非每个但并非每个actor/use caseactor/use case对要生成唯一边界对要生成唯一边界类,多个类,多个actoractor启动同一启动同一use caseuse case时,可以用时,可以用同一个边界类与系统通信。例如:同一个边界类与系统通信。例如:实体类对应着现实中的客观实
18、物,用来保存信实体类对应着现实中的客观实物,用来保存信息,一般对应着数据表、文件等。息,一般对应着数据表、文件等。2.2.实体类实体类 实体类可以从现实中存在的客观事物,以及实体类可以从现实中存在的客观事物,以及需要持久存放的信息两方面来发现。需要持久存放的信息两方面来发现。说明:说明:通常,每个实体类在数据库中有相应的表,实通常,每个实体类在数据库中有相应的表,实体类中的属性对应数据库中表的字段。体类中的属性对应数据库中表的字段。实体类可以通过事件流和交互图发现。实体类实体类可以通过事件流和交互图发现。实体类通常用领域术语命名。通常用领域术语命名。控制类承担着事务处理,控制调控的控制作用。控
19、制类承担着事务处理,控制调控的控制作用。3.3.控制类控制类 一个用例中最少会有一个控制类,用来控制一个用例中最少会有一个控制类,用来控制用例中的事件顺序,也可以在多个用例之间协用例中的事件顺序,也可以在多个用例之间协调用例之间的联系。调用例之间的联系。一个例子:订货系统一个例子:订货系统类图及对象图类图及对象图5.2.1 5.2.1 关联关联关联关联5.2.25.2.2 聚集和组合聚集和组合聚集和组合聚集和组合5.2.35.2.3 泛化泛化泛化泛化5.2.45.2.4 依赖依赖依赖依赖第第5章章5.2 类之间的关系类之间的关系5.2.1 关联关联 1.关联的定义关联的定义 关联的通俗含义关联
20、的通俗含义 表示事物之间的一种牵连式的固有联系。表示事物之间的一种牵连式的固有联系。例如:例如:关联关联5.2.1 关联关联 1.关联的定义关联的定义 关联的本质含义关联的本质含义 关联关联(association):表示两个类之间存在某种语义表示两个类之间存在某种语义上的联系,它是一种结构关系,规定了一种事物的对象上的联系,它是一种结构关系,规定了一种事物的对象可以和另一种事物的对象相联系。可以和另一种事物的对象相联系。关联可以分为单向关联,双向关联。关联可以分为单向关联,双向关联。单向关联单向关联双向关联双向关联例:单向关联所生成的例:单向关联所生成的JavaJava代码:代码:(可以选择
21、可以选择是否生成类的缺省构造方法是否生成类的缺省构造方法)public class B /*roseuid 3DAFBF0F01A2 */public B()public class A public class A public B public B theBtheB;/*/*roseuidroseuid 3DAFBF0F01FC 3DAFBF0F01FC */*/public A()public A()2.关联的特性关联的特性 关联名关联名关联名关联名如果关联关系已经清楚,就无需关联名如果关联关系已经清楚,就无需关联名 2.关联的特性关联的特性 关联的角色关联的角色如果关联名与角色名相同,
22、则不标出角色名如果关联名与角色名相同,则不标出角色名关联的角色关联的角色 2.关联的特性关联的特性 关联的多重性关联的多重性0.1:0或或10.n,0.*:0或多或多11.n:1到多到多*:0到多到多关联的角色关联的角色关联的多重性关联的多重性 2.关联的特性关联的特性 关联类关联类通过关联类描述关联的属性,操作,及其它信息。通过关联类描述关联的属性,操作,及其它信息。关联类关联类 2.关联的特性关联的特性 关联的约束关联的约束通过约束加强关联的含义。通过约束加强关联的含义。例如,例如,“帐户帐户”不能同时与不能同时与“人人”和和“公公司司”有关联。有关联。约束约束 2.关联的特性关联的特性
23、限定限定关联关联通过限定符来规定关联的限定关系。通过限定符来规定关联的限定关系。例如,例如,“文件目录文件目录”通过通过“文件名文件名”来与具体的来与具体的文件对象进行关联。文件对象进行关联。“银行银行”通过通过“帐户帐户”与具体的与具体的“人人”对象进行对象进行关联。关联。限定关联限定关联 3.关联的种类关联的种类 一元一元(自返自返)关联关联 二元关联二元关联 3.关联的种类关联的种类 多元关联多元关联三元关联三元关联 4.对关联须注意的一个问题对关联须注意的一个问题 关联一定指的是类中对象与类中的对象之关联一定指的是类中对象与类中的对象之间的连接对应关系。间的连接对应关系。类图类图对象图
24、对象图问题:问题:问题:问题:教学进程教学进程教学进程教学进程 “教师教师”和和“学生学生”两个类之间存在授课关两个类之间存在授课关系,一个教师可以教授多个学生,一个学生可以系,一个教师可以教授多个学生,一个学生可以由多个教师授课,标出这两个类的关系。由多个教师授课,标出这两个类的关系。?问题:问题:问题:问题:教学进程教学进程教学进程教学进程 采购员从供货商处订货,双方需要签订订单,采购员从供货商处订货,双方需要签订订单,一个采购员可以订多个供货商的货品,一个供货一个采购员可以订多个供货商的货品,一个供货商也可以给多个采购员供货。商也可以给多个采购员供货。要求:要求:1.提取这个问题涉及的类
25、提取这个问题涉及的类;2.定义各个类之间的关系,并画出类图。定义各个类之间的关系,并画出类图。?1.提取本问题的类提取本问题的类?类是否提取完全了,还有没有隐藏的类是否提取完全了,还有没有隐藏的没有提取的类?没有提取的类?1.提取本问题的类提取本问题的类2.确定类之间的关系确定类之间的关系2.确定类之间的关系确定类之间的关系?货品是由供应商提供,但订单所订的货品是由供应商提供,但订单所订的货品怎么样反映出来?货品怎么样反映出来?2.确定类之间的关系确定类之间的关系5.2.2 聚集和组合聚集和组合 1.聚集聚集 聚集聚集(aggregation):表示类之间一种松散的表示类之间一种松散的整体与部
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件及应用 计算机软件 应用 章类图 对象 课件
限制150内