第3章 类图和对象图
nexuewen
贡献于2012-07-26
4285
1
0
第3章 类图和对象图
下载需要
5
金币
[ 金币充值 ]
服务器/托管费、人工审核、技术维护等都需要很多费用,请您支持深度开源的发展
下载PPT
标签:
UML建模
Java
Basic
PPT 内容
1. 第三章 类图和对象图 统一建模语言 Unified Modeling Language
2. 类图 类图的定义 类图的组成 类图中的主要符号 类图的建模方法 类图的建模实例 对象图 第三章 类图和对象图
3. 类图的定义 面向对象设计的基础就是使用类。类是用来代表现实事务或者功能的构造块。在本节中,我们将要学习如何建模类及其相互之间的关系,以便在编写代码之前让你对系统拥有全面的认识。 类图是由若干类关联在一起,反映系统或者子系统组成结构的静态图。类图的建模贯穿工程的分析和设计阶段的始终,通常从商务伙伴能够理解的类开始建模,最终往往成为只有开发小组才能够完全理解的类。
4. 类图 类图的定义 类图的组成 类图中的主要符号 类图的建模方法 类图的建模实例 对象图 第三章 类图和对象图
5. 类图的组成类图由如下元素组成: 类(Class): 是具有共同结构特征、行为特征、联系和语义的对象集合的抽象形式。 关联(Association): 它表示类与类之间的关系。
6. 类图 类图的定义 类图的组成 类图中的主要符号 类图的建模方法 类图的建模实例 对象图 第三章 类图和对象图
7. 类图中的主要符号(续)---类一.类 类(Class)在UML中通常以实线矩形框表示,矩形框中含有若干分隔框,分别包含类的名字、属性、操作、约束以及其他成分等,如下图所示。 类的图形表示和示例
8. 类图中的主要符号(续)---类 在类图中,根据建模的不同景象,类图中不一定列出全部的内容。如在建立分析模型或设计模型时,甚至可以只列出类名,在图中着重表达的是类与类之间的联系;在建立实现 模型时,则应当在类图标中详细给出类的属性和方法等细节。
9. 类图中的主要符号(续)---类 1.类的名字 类名的首字母大写,放在矩形的偏上部。如果类名包含了多个单词组成,那么将这些单词合并,每个单词首字母大写。
10. 类图中的主要符号(续)---类2. 属性 属性是类的一个特性。它描述了类的对象所具有的一系列特性值。一个类可以具有零个到多个属性。属性名列表放在类名之下,并且和类名之间用分隔线隔开,如下图所示。
11. 类图中的主要符号(续)---类 (1)可见性(Visibility)标记表示: + / public: 公共属性,可以被外部对象访问。 #/ protected : 保护属性,可以被本类或子类的对象访问。 - / private: 私有属性,不可以被外部对象访问,只能为本 类的对象使用。 可视性可以缺省,表示该属性不可视。
12. 类图中的主要符号(续)---类(2) 属性名标记表示: 按照UML的约定,单字属性名小写。如果属性名包含了多个字,这些字要合并,并且除了第一个字外其余字的首字母要大写。
13. 类图中的主要符号(续)---类(3)属性多重性标记表示: 多重性为可选项,它表达该类的每个实例的属性值的个数。可以像应用于类之间的关系中那样把多重性应用于属性。例如,Student类具有属性Grades。不希望该属性只包含单个值,而是希望它包含该学生的所有成绩,可以是任意多个。
14. 类图中的主要符号(续)---类 (4)属性类型标记表示: 冒号“:”后跟属性值的数据类型。数据类型的表示依赖于实现语言,如有的程序设计语言规定浮点数用保留字“ Float”表示,有的则规定用保留字“ Real”表示。Student类
15. 类图中的主要符号(续)---类 数据类型可以是任何用户需要的内容,包括: 来自程序设计语言如Visual Basic、C++、C#和Java的 任何标准数据类型。 一个已经定义的类。 接口定义语言(Interface Definition Language,IDL) 中的数据类型列表中的数据类型。 读者在自己的系统建模中能够使用的其他类型。
16. 类图中的主要符号(续)---类(5)属性初始值设置: 可以通过在属性名称和数据类型之后添加等于号(=)来为属性指定默认值,如下图所示。
17. 类图中的主要符号(续)---类3. 操作(方法) 操作(Operation)表示类能够提供的功能服务。它在UML类矩形框中用文字串说明,如下图所示。 操作名指示类可提供的功能服务,它后跟圆括号中的参数列表是可选项,即一个操作可以有参数,也可以没有参数。参数列表由逗号分隔的操作的形式参数组成,其格式为: 参数名:类型=缺省值,… 返回列表是返回给调用者的单个变量值,它可以表示该操作程序运行的一个成功标志或者计算的值.
18. 类图中的主要符号(续)---类参数列表操作名返回列表
19. 类图中的主要符号(续)---类的关系二.类的关系 类之间可以建立五种关系:关联、依赖、泛化、实现和聚集。其标记如下图所示。
20. 类图中的主要符号(续)---类的关系1.关联关系 关联关系是指类之间的语义联系。给定关联的两个类,可以从其中的一个类的对象访问到另一个类的相关对象。关联的可视化表示方法是用一条线连接两个类,并把关联的名字放在这个连接线之上;关联的方向用一个实心三角形箭头来指明。关联可以具有如下特性:关联名称 角色名称 多重性 导航性
21. 类图中的主要符号(续)---类的关系 当一个类和另一个类发生关联时,每个类通常在关联中都扮演着某种角色。可以在图中靠近每个类的地方的关联线上标明每个类的角色。
22. 类图中的主要符号(续)---类的关系 多重性用来指示一个类的多少对象与另一个类的一个对象相关。可以在类关系的任何一端添加多重性,来指示出多重性,如图所示。
23. 类图中的主要符号(续)---类的关系关联的导航性 导航性表明类的关联方向。如下图所示。
24. 类图中的主要符号(续)---类的关系关联的限定 类的关联还可以通过限定条件来明确类之间的关系。如下图所示。关联的限定限定符
25. 类图中的主要符号(续)---类的关系自反关联: 类具有到自身的关联,称为自反关联。类的自反关联
26. 类图中的主要符号(续)---类的关系关联类 OO建模的一个普遍问题是,当类之间具有多对多关系时,一些属性不能容易地放入一个类中。例如,下图所示的公司与员工的类关系。模型表达意义: 每个Person对象能够为很多Company对象工作。 每个Company对象能够雇佣很多Person对象 然而,当每个Person与雇佣它的Company间存在薪水属性时会发生什么呢?薪水记录在何处呢?记录在Person类中还是在Company类中?
27. 类图中的主要符号(续)---类的关系 答案是薪水实际上是关联本身的特性,对于Person对象和Company对象之间的每个雇佣链接都存在特定雇佣的特定薪水。 UML允许你使用关联类来建模这种情况,如下图所示。 关联类既是关联又是类
28. 2.依赖关系类图中的主要符号(续)---类的关系 依赖关系是指一个类的元素使用了另一个类。依赖关系描述类之间的引用关系。在UML图中,依赖关系用一条带有箭头的虚线来表示。
29. 类图中的主要符号(续)---类的关系3.泛化关系 泛化关系是描述类之间的继承关系。利用泛化来表达类之间的相似性 。在UML中,用父类到子类之间的连线来表示继承关系。父类连线部分,指向父类的一端带有一个空心三角形箭头。
30. 4.实现关系 实现关系将一种模型元素(如类)与另一种模型元素(如接口)连接起来,其中接口只是行为的说明而不是结构或者实现。真正的实现由前一个模型元素来完成。 接口的模型表示法和类大致相同,都是用一个矩形图标来代表。和类的不同之处在于,接口只是一组操作,没有属性。 在UML图中,实现关系一般用带有一条带有空心箭头的虚线来表示.类图中的主要符号(续)---类的关系
31. 类图中的主要符号(续)---类的关系5.聚集关系 聚集用来描述两个类之间的整体---部分关系,其中一个类为整体,它由一个或者多个部分类组成。在聚合中,部分类可以没有整体类而存在。如下图所示。 例如,CPU和显示器都可以以独立类的形式存在,但是当它们组成Computer类时,它们就变为整个计算机的组成部分。
32. 类图中的主要符号(续)---类的关系 组合 组合是一种特殊的聚合关联。在组合关联中用来组成整体类的部分类是不能独立存在。整体类由部分类组成,部分类需要整体类才能存在。这种关系意味着销毁整体类将会同时销毁部分类。 组合关联使用带有实心菱形的实线连接,如右图所示。如果没有数据库,表和查询也不会存在
33. 类图中的主要符号(续)练习:阅读一个类图 在这个练习中,将会通过识别到目前为止学习的UML标记符来阅读下面的类图,如图所示。 练习步骤: 1)指出建模的类。 2)指出所有属性及其显示的数据类型。 3)指出所有显示的操作。 4)指出找到的关联。 5)指出建模的角色。 6)指出图中使用的多重性。
34. 例 售票系统的类图
35. 类图 类图的定义 类图的组成 类图中的主要符号 类图的建模方法 类图的建模实例 对象图 第三章 类图和对象图
36. 类图的建模方法学习如何建模类图 创建类图需要两个反复执行的步骤: 1)确定类及其关联。 2)确定属性和操作。 开始创建类图的好起点就是用例图。成绩管理的用例图
37. 类图的建模方法(续)成绩管理的用例图
38. 类图的建模方法(续)1.确定类和关联 首先要做的是通过分析用例图确定类及其关联。找到第一批类,确定它们的内容。 在用例图中,首先确定了Grades类和ReportCard类。
39. 类图的建模方法(续) 接下来,通过同时使用参与者名称确定附加的类。这时将会确定Teacher类,Student类和Administrator类。 现在可以开始创建类的关联: Teacher记录、更新、查看 Grades Administrator查看 Grades、生成ReportCards Student查看Grades ReportCards包含Grades
40. 类图的建模方法(续)
41. 类图的建模方法(续) 进一步创建类的关联:增添WebSite类和Logon类
42. 类图的建模方法(续) 下一步通过添加多重性让类图的信息更加详细,并且对类图进行调整以便保证没有冗余的类和关联。
43. 类图的建模方法(续) 2.确定属性和操作 现在我们已经创建好了类和关联,可以开始添加属性和操作以便提供数据存储和需要的功能来完成系统功能。 在下图中可以看到,表示参与者的类没有显示属性和操作,这并不意味着它们不存在,而只是表示类图不需要该细节。
44. 类图的建模方法(续)
45. 类图的建模方法(续) 最后,为属性和操作提供参数、数据类型和初始值。
46. 类图 类图的定义 类图的组成 类图中的主要符号 类图的建模方法 类图的建模实例 对象图 第三章 类图和对象图
47. UML类图建模实例例1 图书管理系统的类图建模 1、图书管理系统的用例图模型如下:
48. (本页无文本内容)
49. 2.确定类和关联 首先要做的是通过分析用例图确定类及其关联。找到第一批类,确定它们的内容。 在用例图中,可首先确定了如下类: 借阅者(Borrower)类, 标题(Title)类, 图书(Book)类, 借阅记录(Loan)类, 预定记录(Reservation)类, 图书管理员(librarian)等六个类。
50. 3.建立类图实体类图
51. 用户界面类图
52. 类图
53. 类图
54. 类图
55. 类图
56. 类图 类图的定义 类图的组成 类图中的主要符号 类图的建模方法 对象图 第三章 类图和对象图
57. 对象图表示一组对象及它们之间的联系.对象图是系统的详细状态在某一时刻的快照,常用于表示复杂的类图的一个实例. 对象图中的建模元素有对象和链.对象是类的实例,对象之间的链是类之间的关联的实例,对象图实质上是类图的实例. 对象图
58. UML中对象图的图标也是一个矩形,和类的图标一样,但是对象名下面要带下划线。在左边的这个图标中,具体实例的名字位于冒号的左边,而该实例所属的类名位于冒号的右边。实例的名字以一个小写字母开头。也可以是一个匿名的对象,如图右边所示。这仅仅意味着指明了对象所属的类,但并没有提供一个具体的对象名。 对象图myWasher:WashingMachine:WashingMachine
PPT 图集
相关PPT
第3章 类图和对象图
第10章 类 和 对 象
《C++面向对象程序设计》第2章 类和对象
第4章 顺序图和协作图
第5章 状态图和活动图
第六章 Java类和对象
第6章 构件图和部署图
第3章:VC程序设计核心 -- 类与对象
第7章 包图
Java2 实用教程第4版_第4章_类与对象