《UML静态视图》PPT课件.ppt_第1页
《UML静态视图》PPT课件.ppt_第2页
《UML静态视图》PPT课件.ppt_第3页
《UML静态视图》PPT课件.ppt_第4页
《UML静态视图》PPT课件.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2019年6月10日9时11分,第四章 静态视图,4.1 概述 4.2 类与关系 4.3 类图 4.4 对象图,2019年6月10日9时11分,4.1 概述,静态视图包括类图,对象图和包图。 其中类图描述系统中类的静态结构。它不仅定义系统中的类,表示类之间的联系,如关联、依赖、聚合等,还包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。 对象图是类图的实例,几乎有与类图完全相同的标识。他们的不同点在于对象图显示类图的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间存在。,2019年6月10日9时11分,4.2 类与关系,4.2.1 类 类是对一组具有相同属性、操作、关系和语义的对象的描述。 类在UML中由专门的图符表达,是分成3个分割区的矩形。其中顶端的分割区为类的名字,中间的分割区存放类的属性、属性的类型和值(在UML符号表示中给出类的初始值),第3个分割区放操作、操作的参数表和返回类型。,2019年6月10日9时11分,在给出类的UML表示时,可以根据建模的实际情况来选择隐藏属性区或操作区,或者两者都隐藏。,2019年6月10日9时11分,(1)名称(Name) 名称是一个文本串,可分为简单名称和路径名称。单独的名称即不包含冒号的字符串叫做简单名。用类所在的包的名称作为前缀的类名叫做路径名。,简单名,路径名,2019年6月10日9时11分,(2)属性(Attribute) 类的属性是类的一个组成部分,它描述了类在软件系统中代表的事物所具备的特性。 在UML中类属性的语法为: 可见性 属性名 :类型 = 初始值 属性字符串 其中 中的部分是可选的。类中属性的可见性主要包括public、private和protected3种,它们分别用“+”、“-”和“#”来表示。,2019年6月10日9时11分,(3)操作(Operation) 类的操作是对类的对象所能做的事务的抽象。 在UML中,类操作的语法为: 可见性 操作表 (参数表) :返回类型 属性字符串,2019年6月10日9时11分,(4)职责(Responsibility) 职责是类或者其他元素的契约或义务。当创建一个类时,就声明这个类的所有对象具有相同种类的状态和相同种类的行为。 在UML中,把职责列在类图底部的分隔栏中。,CheckUser,Responsibilities -检查用户资料 -决定是否给该用户办理信用卡,2019年6月10日9时11分,4.2.2 关系,1、依赖 依赖是两个元素之间的关系,对一个元素(提供者)的改变可能会影响或提供消息给其他元素(客户)。也就是说:客户以某种方式依赖于提供者。 在图形上,UML把依赖描述成一条有方向的虚线,指向被依赖的对象。,2019年6月10日9时11分,2、泛化 泛化是一般事物(称为超类或父类)和该事物的较为特殊的种类(称为子类)之间的关系,子类继承父类的属性和操作,除此之外,通常子类还添加新的属性和操作,或者修改了父类的某些操作。 在图形上,泛化用从子类指向父类的空心三角形箭头表示,多个泛化关系可以用箭头线表示的树形来表示,每一个分支指向一个子类。,2019年6月10日9时11分,3、关联 关联是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系。 在图形上,关联用一条连接相同类或不同类的实线表示。要表示结构的关系时就使用关联。,2019年6月10日9时11分,除了关联的基本形式外,还有4种应用于关联的修饰,它们分别是名称、角色、多重性和聚合。 (1)名称 关联可以有一个名称,用于描述该关系的性质。,Study In,名称,关联,名称方向,2019年6月10日9时11分,(2)角色 当一个类处于关联的某一端时,该类就在这个关系中扮演一个特定的角色。,2019年6月10日9时11分,(3)多重性,多重性被表示为用点分隔的区间,每个区间的格式为:minimun,maximun,其中minimun和maximun是Int型的整数。,Learner,Teacher,多重性,关联,1*,1,2019年6月10日9时11分,补充:,多重性用来指示一个类的多少对象与另一个类的一个对象相关。 多重性表现为关联线一端的一个数值或者数值范围,标明来自这一端的类的对象的个数,它和另一端的类的一个对象相关。数值范围由最小数值,两个句点(),加上最大数值表示。,例:,Teacher,Class,teaches,1,1*,student,takes,1030,1,2019年6月10日9时11分,(4)聚合关系 聚合关系是一种特殊的关联关系,它表示类间的关系是整体与部分的关系。 在UML中,聚合关系用空心的菱形头的实线表示。,University,Institute,1,*,整体,部分,2019年6月10日9时11分,(5)组成关系 聚合表示部分与整体关系的关联,组成是更强形式的关联,整体有管理部分的特有的职责并且它们有一致的生命期。 在UML中,组成关系用实心的菱形头的实线表示。,Order,CustomerInfo,LineItem,1,1,1,*,整体,部分,2019年6月10日9时11分,4.3 类图,4.3.1 类的创建 以选课系统为例,首先看课程类,课程类应该有以下属性和操作。 (1)课程名称(name) (2)开课教室(classroom) (3)课程号(courseID) (4)授课教师(teacher) (5)选课的学生(students) (6)开课起始时间(firstlessondate) (7)允许选课的学生人数(maxstudents) (8)设置课程名称(setname) (9)设置开课教室(setclassroom) (10)设置课程号(setcourseID),(11)设置授课教师信息(setteacher) (12)设置开课起始时间(setfirstlessondate) (13)设置允许选课的学生人数(setmaxstudents) (14)查询课程名称(getname) (15)查询开课教室(getclassroom) (16)查询课程号(getcourseID) (17)查询授课教师信息(getteacher) (18)查询开课起始时间(getfirstlessondate) (19)查询允许选课的学生人数(getmaxstudents),2019年6月10日9时11分,2019年6月10日9时11分,在选课系统中设计了以下类: (1)界面FormObject (2)控制对象ControlObject (3)课程Course 设计了以下用户: (1)学生Student (2)管理员Registrar (3)学生和管理员的父类People (4)数据库Database 这些类和角色之间的关系如下: (1)角色Student和Registrar从People派生。 (2)学生、管理员在与系统交互时,都有一个界面与之对应。 (3)一个界面可能和课程相关(0多门)。 (4)控制对象负责课程的处理,处理结果在界面上显示。 (5)控制对象完成对数据库的操作。 (6)界面请求控制对象的服务。,4.3.2 类图的建立,2019年6月10日9时11分,4.4 对象图(Object Diagram),4.4.1 对象图的概念和内容 在UML中,对象图表示在某一时刻一组对象以及它们之间关系的图。 对象图可以被看作是类图在系统某一时刻的实例。在图形上,对象图由节点以及连接这些节点的连线组成,节点可以是对象也可以是类,连线表示对象间的关系。,2019年6月10日9时11分,4.4.2 画对象图的图式惯例,对象图除了描述对象以及对象间的连接关系外,还可包含标注和约束。如果有必要强调与对象相关类的定义,还可以把类描绘到对象图上。 对象图中对象表示为有段的长方形。,2019年6月10日9时11分,4.4.3 如何识别对象,对象是类的实例,展示类的属性和行为。 例:在帐单系统的例子中,客户Michael White要,买Ashton TV。他选择了电视机,并到帐单柜台。办事员Robert Clark打入项目的材料。然后系统计算总数并打印帐单。,在此系统中,所识别的对象是:,2019年6月10日9时11分,4.4.4 对象图建模,对象图的建模过程: (1)确定参与交互

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论