如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
UML类图详细教程4、1UML基本类图一、类图得组成二、UML类图中得符号在类图中,根据建模得不同景象,类图标中不一定列出全部得内容。如在建立分析模型或设计模型时,甚至可以只列出类名,在图中着重表达得就是类与类之间得联系;在建立实现模型时,则应当在类图标中详细给出类得属性与方法等细节。1、属性可视性(Visibility)标记表示:+公共#保护-私用可视性也可以用以下关键字表示:public(公共)、protected(保护)、private(私用)。若可视性标记为“+”或“public”,则为公共属性,可以被外部对象访问。若可视性标记为“#’或“protected”,则为保护属性,可以被本类或子类得对象访问。若可视性标记为“-”或“private”,则为私用属性,不可以被外部对象访问,只能为本类得对象使用。可视性可以缺省,表示该属性不可视。Student类属性类型表示:冒号“:”后跟属性值得数据类型。数据类型得表示依赖于实现语言,如有得程序设计语言规定浮点数用保留字“Float”表示,有得则规定用保留字“Real”表示。10数据类型可以就是任何用户需要得内容,包括:来自程序设计语言如VisualBasic、C++、C#与Java得任何标准数据类型。一个已经定义得类。接口定义语言(InterfaceDefinitionLanguage,IDL)中得数据类型列表中得数据类型。读者在自己得系统建模中能够使用得其她类型。属性初始值设置:可以通过在属性名称与数据类型之后添加等于号(=)来为属性指定默认值,如下图所示。属性多重性:多重性为可选项,它表达该类得每个实例得属性值得个数。可以像应用于类之间得关系中那样把多重性应用于属性。例如,Student类具有属性Grades。不希望该属性只包含单个值,而就是希望它包含该学生得所有成绩,可以就是任意多个。派生得属性:另一种可以为属性提供得信息就是派生值,它可以使用数学函数、字符串函数或者将要在应用程序中实现得其她商务逻辑。要想指出一个属性就是派生得,需要在属性名之前添加一个前斜线(/),并且要附加一个注释,其中包含了派生属性值得指令,如下图所示。2、操作(方法)Student类3、类得关系1)关联关系关联关系就是指类之间得语义联系。关联可以具有如下特性:关联名称角色名称多重性导航性多个类可以关联到同一个类多重性:多重性(mutiplicity)用来指示一个类得多少对象与另一个类得一个对象相关。可以在类关系得任何一端添加多重性,来指示出多重性,如下图所示。多重性就是一个数值或者数值范围,用来指示一个类得几个对象与另一个类得一个对象相关。如下图所示。关联得多重性角色类关系还可以通过添加角色来进一步丰富。在类图中使用角色可以帮助读者理解第一个类对于第二个类得作用。角色与多重性显示在相同得位置,在指示类之间关系线得上面或者下面,如下图所示。下图显示了player类与Team类在关联中分别扮演两个角色。关联得限定类得自反关联类得自反关联关联得导航性导航性表明类得关联方向。如下图所示。关联与属性在类关联与类属性之间存在精密得联系。源类与目标类之间得关联意味着源类得对象能够承载到目标类对象得引用。如下图所示。关联类OO建模得一个普遍问题就是,当类之间具有多对多关系时,一些属性不能容易地放人任何一个类中。例如,下图所示得公司与员工得类关系。然而,当每个Person与雇佣它得pany间存在薪水属性时会发生什么呢?薪水记录在何处呢?记录在Person类中还就是在pany类中?2)依赖关系3)泛化关系练习:阅读一个类图在这个练习中,将会通过识别到目前为止学习得UML标记符来阅读下面得类图,如图所示。练习步骤:1)指出建模得类。2)指出所有属性及其显示得数据类型。3)指出所有显示得操作。4)指出找到得关联。5)指出建模得角色。6)指出图中使用得多重性。例售票系统得类图上图中得售票系统类图,它只就是售票系统领域模型得一部分。图中表示了几个重要得类,如Customer、Reservation、Ticket与Performance。一个顾客可多次订票,但每一次订票只能由一个顾客来执行。有两种订票方式:个人票或套票,前者只就是一张票,后者包括多张票。每场演出都有多张票可供预定,每张票对应一个唯一得座位号。每次演出用剧目名、日期与时间来标识。三、学习如何建模类图创建类图需要两个反复执行得步骤:1)确定类及其关联。2)确定属性与操作。开始创建类图得好起点就就是用例图。如下面成绩管理得用例图所示。1、确定类与关联首先要做得就是通过分析用例图确定类及其关联。找到第一批类,确定它们得内容。在用例图中,首先确定了Grades类与ReportCar