资源预览内容
第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
第9页 / 共37页
第10页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
UML图类图、对象图v类图描述系统中类的静态结构,它不仅定义 系统中的类,描述类之间的联系,还包括类 的内部结构(类的属性和操作)。类图描述 的是一种静态关系,在系统的整个生命周期 中都是有效的。v对象图是类图的实例,几乎具有与类图完全 相同的标识。它们的不同之处在于对象图显 示类图的多个对象实例,而不是实际的类。 由于对象存在生命周期,所以对象图只能在 系统的某一时间存在。类 图v类图(Class Diagram)是描述类、接口以 及它们之间关系的图,用来显示系统中各个 类的静态结构。v虽然一个类图仅仅显示的是系统中的类,但 是存在一个变量,确定了显示各个类的真实 对象实例的位置,就是对象图。v类图包含三个元素:类、接口、类与类之间 的关系。一、类v类是面向对象系统组织结构的核心。是对一 组具有相同属性、操作、关系和语义的对象 的描述。v类定义了一组有着状态和行为的对象。其中 ,属性和关联用来描述状态。属性通常用没 有身份的数据值表示,如数字和字符串。关 联则用有身份的对象之间的关系表示。行为 由操作来描述,方法是操作的实现。v在UML中,类用矩形来表示,并且该矩形 被划分为3个部分:名称部分(Name)、 属性部分(Attribute)和操作部分( Operation)。其中,顶端的部分存放类 的名称,中间的部分存放类的属性、属性 的类型及其值,底部的部分存放类的操作 、操作的参数表和返回类型。v在UML中,还可以根据建模的实际情况来 选择隐藏属性部分或操作部分,或者两者 都隐藏。v隐藏属性部分或操作部分,并不代表没有 属性或操作,只是因为没有显示出来。1、名称(Name)v类的名称是每个类中所必须有的元素,用 于同其他类相区分。类的名称应该尽可能 的明确,以免造成歧义。v类的名称是一个字符串,可分为简单名称 和路径名称。单独的名称即不包含冒号的 字符串叫做简单名;用类所在的包的名称 作为前缀的类名叫做路径名。2、属性(Attribute)v类的属性是类的一个组成部分,也是一个 特性,描述了类在软件系统中代表的事物 (即对象)所具备的特性,这些特性是所 有的对象所共有的。类可以有任意数目的 属性,也可以没有属性。v在UML中,类属性的语法为:可见性 属性名 :类型 =初始值 属性 字符串(1)可见性。v可见性描述了该属性对于其他类是否可见,以及 是否可以被其他类引用,而不仅仅是被该属性所 在类可见。类中属性的可见性主要包括公有( Public)、私有(Private)和受保护(Protected )。v可见性的表示:Public:“+”,具有公共的可见性,其它类都能使用它Protected:“#”,具有受保护的可见性,该类的任何子 孙都能使用它Private: “” ,表示具有私有的可见性,只有这个类自 身能使用它 如果没有用可见性符号修饰一个属性或者操作,那么就 认为它的可见性是公有的(2)属性名v根据定义,类的属性首先是类的一部分,而 且每个属性都必须有一个名字以区别于类中 的其他属性。通常情况下属性名由描述所属 类的特性的名词或名词短语组成。按照 UML的约定,单字属性名要小写。如果属 性名包含了多个单词,这些单词要合并,且 除了第一个单词外其余单词的首字母要大写 。(3)类型v典型的数据类型有:整型、布尔型、实型和 枚举类型,这些称为简单类型。简单类型在 不同的编程语言中有不同的定义,但是在 UML中,类的属性可以用任意类型,包括 系统中的其他类。当一个类的属性被完整的 定义后,它的任何一个对象的状态都由这些 属性的特定值所决定。(4)初始值v设定初始值有两个用处:保护系统的完整性 ,防止漏掉取值或被非法的值破坏系统的完 整性;为用户提供易用性。(5)属性字符串v用来指定关于属性的其他信息,任何希望添 加在属性定义字符串值但又没有合适地方可 以加入的规则,都可以放在属性字符串里。3、操作(Operation)v类的操作是对类的对象所能做的事物的抽象,相 当于一个服务的实现,且该服务可以由类的任何 对象请求以影响其行为。v属性是描述类的对象特性的值;操作用于操纵属 性或者执行其他动作。操作通常称为函数,它们 位于类的内部,并且只能应用于该类的对象。v在UML中,类操作的语法为:可见性 操作名 (参数表) :返回类型 属性字 符串(1)可见性:v同属性的可见性。 (2)操作名:v同属性名。 (3)参数表。v参数表是一些按顺序排列的属性定义了操作的输 入。参数表是可选的,即操作不一定必须有参数 。参数可以具有默认值,这意味着如果操作的调 用者没有提供某个具有默认值的参数的值,那么 该参数将使用指定的默认值。(4)返回类型。v返回类型是可选的。绝大部分编程语言只支 持一个返回值,即返回类型之多一个。虽然 没有返回类型是合法的,但是具体的编程语 言一般要加一个关键字Void来表示无返回值 。 (5)属性字符串:v同属性的属性字符串。二、接口(Interface)v接口是在没有给出对象的实现和状态的情况 下对对象行为的描述。接口包含操作但不包 含属性,且它没有对外界可见的关联。一个 类可以实现一个或多个接口,且所有的都可 以实现接口中的操作。v接口用来描述类的对外可见的操作集。它既不描述任何结构(因此不包含任何属性),也不描述任何实现(因此不 包含任何实现操作的方法)v接口之间可以存在泛化关系,因此接口实质上和不具有属性和方法、仅具有抽象操作的抽象类很相似v与类一样,接口也可以参与泛化、关联、依赖和实现关系v实现关系将一种元素(如类)与另一种模型元素(如接口 )连接起来,其中接口只是行为的说明而不是结构或实现 。v可用两种方法来表示接口简化形式。把接口和实现关系画成一个从类伸 出的、且一端带有小圆圈的直线使用扩展形式。把接口表示成具有衍型 的类简化形式的局限性在于不能直接地对接口提供的操简化形式的局限性在于不能直接地对接口提供的操 作或者信号进行可视化作或者信号进行可视化扩展形式允许对接口中的操作和其它特征进行可视化扩展形式允许对接口中的操作和其它特征进行可视化 ,然后画一个从类或者构件到接口的实现关系,然后画一个从类或者构件到接口的实现关系三、类之间的关系v依赖关系(Dependency)表示类之间的使用关系v泛化关系(Generalization)表示类之间一般和特殊的关系v关联关系(Association)表示对象之间的结构关系v实现(Realization)表示类中规格说明和实现之间的关系1、依赖关系v依赖是两个模型元素之间的一种语义关系, 用来描述两个类之间存在的与依赖有关的语 义上的连接。其中一个类是独立的,另一个 类不是独立的,它依赖于独立的类,需要由 独立的类提供服务。如果独立的类变了,将 影响依赖于它的类。v例如“课程计划”与“课程”之间存在依赖关系 ,其中“课程”是独立的类,而“课程计划”依 赖于“课程”。vUML定义了4种基本依赖类型: 使用(Usage)依赖 抽象(Abstraction)依赖 授权(Permission)依赖 绑定(Binding)依赖。v使用依赖(use)是类中最常用的依赖。声 明使用一个模型元素需要用到已存在的另一 个模型元素,这样才能正确的实现使用者的 功能。v在UML中,依赖用一个从客户指向提供者 的虚箭头表示,用一个构造型的关键字来区 分它的种类。v使用依赖使用依赖是非常直接的,通常表示客户使用 提供者提供的服务以实现它的行为。使用依赖分五种: 使用(use) 调用(call) 参数(Parameter) 发送(send) 实例化(instantiate)2、泛化关系v泛化关系是一种存在于一般元素和特殊元素 之间的分类关系,其中特殊元素与一般元素 兼容,且还包含附加的信息。泛化可以用于 类、用案以及其他模型元素。v泛化关系描述了“is a kind of”的关系。在类 中,一般元素被称作超类或父类,而特殊元 素被称作子类。v在UML中,泛化关系用一条从子类指向父 类的空心三角箭头表示。v泛化的实例使用泛化关系的银行帐户类3、关联关系v关联关系是一种结构关系,它指明一个事物的对 象与另一个事物的对象之间的联系。关联的任何 一个连接点都叫做关联端,与类有关的许多信息 都附在它的端点上。v在UML中,关联关系用一条连接两个类的实现表 示。v最普通的关联是二元关联。关联的实例之一是链 ,每个链由一组对象构成,每个对象来自于相应 的类,其中二元链包含一对对象。有时同一个类 在关联中出现不止一次,这是一个单独的对象就 可以与自己关联。v除了关联的基本形式之外,还有5中应用于 关联的修饰,分别是:名称、角色、多重性 、聚合和组合。v名称(Name)关联可以有一个名称,用来描述关联的性 质。通常情况下,使用一个动词或动词短语 来命名关联名称以前缀或后缀一个指引阅读的方向指 示符以消除名称含义上可能存在的歧义,方 向指示符用一个实心的三角形箭头表示。v角色(Role) 角色是关联关系中一个类对另一个类所表现出 来的职责。当类出现在关联的一端时,该关 联就在关联关系中扮演一个特定的角色。角 色的名称是名词或名词短语,以解释对象是 如何参与关系的。v多重性 关联的多重性是指有多少对象可以参与该关联,多 重性可以用来表达一个取值范围、特定值、无限 定的范围或一组离散值。 在UML中,多重性是用数字范围来表示的 每个数字范围是一对由圆点分割开来的整数,如0.9 可用特殊的符号*来表示一个没有上界的范围,也即可 以认为符号*表示“无穷大” 一个其下界和上界都是相同数字的范围可以简写为一个 数字,例如数字范围1.1可用单个数字1来表示 可用一个由数字范围和单个数字组成的列表来表示 多重性。例如0, 3.*表示一个给定的实体是可选的 、但如果发生就必须至少发生三次以上一个人能且只能替一个公司工作,但一个 公司可以雇用零个或多个雇员v聚合关系 “is-part-of”关系实际上指定了一个对象是另 一个对象的一部分,或者反过来说,它表 明了一个对象是由若干个其它对象组成的 。这种指定对象的组成的关系叫做聚合关 系 一个电子邮件消息是由邮件头、 邮件体和未指明数目的附件构成的v聚合关系有两个特性:反对称性与传递性反对称性: 如果一个链接是某个聚合关系的实例,那么它就不能用来将一个对象和其自身连接起 来传递性: 如果对象A和对象B以及对象B和对象C之间都是用同一个聚合关系的实例(即一个链接 )相连的,那么就可以认为A和C也是相连的注意,仅当聚合关系使得对象可以和其所属类注意,仅当聚合关系使得对象可以和其所属类 的实例进行连接时才能应用反对称性和传递性的实例进行连接时才能应用反对称性和传递性v组合关系是一种强关联关系,它所描述的“部 分”对象是依赖于“整体”对象的。这种依赖关 系通过如下两种方式表现出来:首先,在任一给定时刻,一个“部分”对象只能属 于一个组合对象其次,当一个组合对象被撤销时,所有依赖于这 个组合对象的“部分”对象都将同时被撤销 4、实现关系v实现关系通常在两种情况下被使用:v在接口与实现该接口的类之间v在用案以及实现该用案的协作之间。v在UML中,实现关系的符号与泛化关系的 符号类似,用一条带指向接口的空心三角箭 头的虚线表示。v实现关系还有一种省略的表示方法,即将接 口表示为一个小圆圈,并和实现接口的类用 一条线段连接。接口的图实例:图书馆管理系统的类图
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号