UML类图和对象图课件

上传人:58****5 文档编号:243141536 上传时间:2024-09-16 格式:PPT 页数:26 大小:997.50KB
返回 下载 相关 举报
UML类图和对象图课件_第1页
第1页 / 共26页
UML类图和对象图课件_第2页
第2页 / 共26页
UML类图和对象图课件_第3页
第3页 / 共26页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,UML,类图和对象图,?,定义类图,为什么要建模类图,类图的主要标记符号,如何建模类图,对象图,【学习目标】,UML,基本类图,面向对象设计的基础就是使用,类,。类是用来代表现实事务,或者功能的构造块。在本节中,我们将要学习如何建模类及其,相互之间的关系,以便在编写代码之前让你对系统拥有全面的,认识。,类图,是由若干类关联在一起,反映系统或者子系统组成结,构的,静态图,。类图的建模贯穿工程的分析和设计阶段的始终,,通常从商务伙伴能够理解的类开始建模,最终往往成为只有开,发小组才能够完全理解的类。,一、类图的组成,类图,由如下元素组成:,?,类,(Class),:是具有共同结构特征、行为特征、联系和语义的,对象集合的,抽象,形式。,?,关联(,Association,):它表示类与类之间的关系。,二、,UML,类图中的符号,(一)类,类(,Class,),在,UML,中通常以,实线矩形框,表示,矩形框中,含有若干分隔框,分别包含类的名字、属性、操作、约束以,及其他成分等,如下图所示。,类的图形表示和示例,在类图中,根据建模的不同景象,,类图标中不一定列出全,部的内容。,如在建立分析模型或设计模型时,甚至可以只列出,类名,在图中着重表达的是类与类之间的联系;在建立实现,模型时,则应当在类图标中详细给出类的属性和方法等细节。,1.,属性,属性(,Attribute,),在,UML,类图标的矩形框中用文字串说,明,如下图所示。,可视性(,Visibility,)标记表示:,+,公共,保护,-,私用,可视性可以用以下关键字表示:,public,(公共)、,private,(私用),、,protected,(保护),。,?,若标记为,“,+,”,或,“,public,”,,则为公共属性,可以被,外部对象,访问,。,?,若标记为,“,#,或,“,protected,”,,则为保护属性,可以被,本类,或子类的对象访问,。,?,若标记为,“,-,”,或,“,private,”,,则为私用属性,不可以被外部,对象访问,只能为,本类的对象使用,。,?,可视性可以缺省,表示该属性不可视。,Student,类,属性类型表示:,冒号,“,:,”,后跟属性值的数据类型,。数据类型的表示依赖于实,现语言,如有的程序设计语言规定浮点数用保留字,“,Float,”,表示,,有的则规定用保留字,“,Real,”,表示。,Student,类,属性初始值设置:,可以通过在属性名称和数据类型之后,添加等于号()来,为属性指定默认值,,如下图所示。,属性多重性:,多重性为可选项,它表达该类的每个实例的属性值的个数。,可以像应用于类之间的关系中那样把多重性应用于属性。例如,,Student,类具有属性,Grades,。不希望该属性只包含单个值,而是,希望它包含该学生的所有成绩,可以是任意多个。,2.,操作,(,方法,),操作(,Operation,),表示类能够提供的功能服务。它在,UML,类矩形框中用文字串说明,如下图所示。,操作名,指示类可提供的功能服务,它后跟,圆括号,中的参数列,表是可选项,即一个操作可以有参数,也可以没有参数。,参数列,表,由逗号分隔的操作的形式参数组成,其格式为:,参数名:类型,=,缺省值,,Student,类,返回列表,是返回给调用者的,单个变量值,,它可以表示该操,作程序运行的一个成功标志或者计算的值。,多重性:,多重性(,mutiplicity,),用来指示一个类的多少对象与另一个,类的一个对象相关。可以在类关系的任何一端添加多重性,来指,示出多重性,如下图所示。,多重性是一个数值或者数值范围,,用来指示一个类的几个对,象与另一个类的一个对象相关。如下图所示。,关联的多重性,三、学习如何建模类图,创建类图需要两个反复执行的步骤:,1),确定类及其关联。,2),确定属性和操作。,开始创建类图的好起点就是用例图。如下面成绩管理的用例图,所示。,1,确定类和关联,首先要做的是通过分析用例图确定类及其关联。找到第一批,类,确定它们的内容。,在用例图中,首先确定了,Grades,类,和,ReportCard,类,。接下来,,通过同时使用参与者名称确定附加的类。这时将会确定,Teacher,类,,,Student,类,和,Administrator,类,。,下面检查用例图并且确定各个功能所属的类:,发布报告卡一,ReportCard,类,记录分数一,Grades,类,更新分数一,Grades,类,保存分数一,Grades,类,加载分数一,Grades,类,登录一?,查看分数一,Grades,类,生成报告卡一,ReportCard,类,首先发现的是登录没有所属的类。可以添加一个,Logon,类来处,理,Logon,用例。,现在可以开始创建类的关联:,Teacher,记录、更新、查看,Grades,Administrator,查看,Grades,、生成,ReportCards,Student,查看,Grades,ReportCards,包含,Grades,Teacher,Administrator,student,ReportCard,generates,Grades,view,maintains,view,view,contains,进一步创建类的关联:增添,WebSite,类和,Logon,类,Teacher,OnlineUser,ReportCard,Administrator,generates,Grades,view,maintains,contains,Logon,view,WebSite,grants access to,displays,下一步通过添加多重性让类图的信息更加详细,并且对类图,进行调整以便保证没有冗余的类和关联。,Teacher,ReportCard,Administrator,Grades,generates,maintains,contains,OnlineUser,WebSite,displays,use,1.*,1,1.*,1,1.*,1,2,确定属性和操作,现在我们已经创建好了类和关联,可以开始添加属性和操作,以便提供数据存储和需要的功能来完成系统功能。,在下图中可以看到,表示参与者的类没有显示属性和操作,,这并不意味着它们不存在,而只是表示类图不需要该细节。,最后,为属性和操作提供参数、数据类型和初始值。,如下图所示,:,Teacher,ReportCard,+ Generate(),Administrator,Grades,+ RecordGrades(in student : String, in assignment : String, in grade : Integer),+ UpdateGrades(in student : String, in assignment : String, in grade : Integer),+ Distribute(),- SaveGrades(),- LoadGrade(argname),OnlineUser,WebSite,+ UserName : String = ,# Password : String = ,+ Logon(),+ View(),generates,maintains,contains,displays,use,1.*,1,1.*,1,1.*,1,对象图,对象图是类图的,实例,几乎使用与类图完全相同的标识。他们,的不同点在于对象图显示类的多个对象实例,而不是实际的类。,一个对象图是类图的一个实例。由于对象存在生命周期,因此,对象图只能在系统,某一时间段存在,。,对象,类的属性在该类的每个对象中都有,具体值,。下图是一个例子,。注意,对象名首写字母小写,后面根一个冒号,冒号后面是该,对象所属的类名,并且整个名字要带下划线。,命名对象或者不命名对象,名字,myWasher: WashingMachine,是一个命名实例,(named,instance),。也可以有诸如:,WashingMachine,这样的匿名实例(,anonymous instance,),myWasher:WashingMachine,brandName,“,海尔,”,modeName,“,小神童,”,serialNumber,“,GL0214,”,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!