![UML语言体系结构_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/5aab33cb-9e6b-4556-90ac-80a7c971ab12/5aab33cb-9e6b-4556-90ac-80a7c971ab121.gif)
![UML语言体系结构_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/5aab33cb-9e6b-4556-90ac-80a7c971ab12/5aab33cb-9e6b-4556-90ac-80a7c971ab122.gif)
![UML语言体系结构_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/5aab33cb-9e6b-4556-90ac-80a7c971ab12/5aab33cb-9e6b-4556-90ac-80a7c971ab123.gif)
![UML语言体系结构_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/5aab33cb-9e6b-4556-90ac-80a7c971ab12/5aab33cb-9e6b-4556-90ac-80a7c971ab124.gif)
![UML语言体系结构_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/5aab33cb-9e6b-4556-90ac-80a7c971ab12/5aab33cb-9e6b-4556-90ac-80a7c971ab125.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、UML语言体系结构2.1 UML语言组成UML语言是一门设计语言,它由一些构造符号、规则和公共机制三个部分构成。一些代表事物的构造符号按某种规则通过关系符号连接在一起组成图(图是由元素符号和关系符号组成的),所有的构造符号在使用时,必须遵循通用规则,这些通用规则被称为公共机制。下面是UML语言的组成结构,如图1所示。图1 UML语言组成1构造符号所谓构造符号,就是用来构造图形的基本符号。构造符号又包括:元素符号、关系符号和图。这三种符号分别代表不同级别的事物。元素符号代表了软件系统或业务系统中的简单事物;关系符号代表了事物间的关系;图代表了由简单事物按某种关系连接在一起组成的更大颗粒的事物;图
2、与图通过关系符号连接在一起,组成更大的图,这个图代表更复杂的事物。构造符号的组成结构如图2所示。图2 构造符号的组成结构2规则每个构造符号代表的事物都具有名字、范围、可见性、完整性和可执行等属性。规则是指用UML语言描述事物时,每个元素应该遵守的规定,即,用UML构造符号描述软件系统或业务系统中事物时应该遵守的约束或规定。描述事物时,构造符号应该遵守的规则的组成结构如图3所示。图3 构造符号应遵守的规则(1)名称。指每个元素符号应该有一个名字。(2)范围。每个元素符号使用的范围。(3)可见性。元素被访问的级别或者权限。(4)完整性。元素符号应该代表完整的含义。(5)可执行。表示元素符号的可行性
3、。3公共机制公共机制包括详述、修饰、通用划分以及扩展机制,它是指适用于软件系统或业务系统中每个事物必须遵守的规则。公共机制的组成结构如图4所示。图4 公共机制的组成结构2.2 元素符号元素符号代表了业务系统或软件系统中的简单事物。元素符号又细分为4类:结构符号、行为符号、分组符号和注释符号。2.2.1 结构符号结构符号代表了业务系统或软件系统中的某个简单事物。结构符号代表的简单事物有7种,分别是类(对象)、接口、主动类、用例、协作、构件和节点。结构符号常用名词命名。下面分别介绍7种结构符号的表示法和含义。1类和对象类是对具有相同属性、相同操作以及相同关系的一组对象的共同特征的抽象,类是对一组对
4、象共同特征的描述,即,类是对象的模板,而对象是类的一个实例。(1)类的表示在UML中,类表示为一个长方形,垂直地把长方形分为三个区,如图5 所示。顶部区域显示类的名字。中间的区域列出类的属性。底部的区域列出类的操作。在表示一个类时,类名不能省略,属性和操作可以省略。图5是Flight类(航线)的图形表示。正如我们所能见到的,类名是 Flight,我们可以在中间区域看到Flight类的3个属性:flightNumber,departureTime 和 flightDuration。在底部区域中我们可以看到Flight类有两个操作:delayFlight 和 getArrivalTime。图5 表
5、示Flight类的UML符号(2)对象的表示对象也是用一个矩形表示的,但在矩形框中不再写出属性名和方法名,只是用“对象名:类名”的格式表示一个对象,并且,对象名和类名下面必须带下划线。例如,属于类People中的对象“李世民”的表示方法如图6所示。李世民:People图6 表示对象“李世民”的UML符号2接口因为外界是通过类或对象(或构件)的方法类访问对象或类的(或构件),因此把类或构件的方法集合称为接口。接口向外界声明了类(或构件)能提供的服务。接口分为供给接口和需求接口两种,供给接口只能向其他类(或构件)提供服务,需求接口表示类(或构件)需要用到其他类(或构件)提供的服务。上述两种接口的表
6、示方法如图7所示。图7 表示接口的UML符号3主动类一个对象可以是主动的也可以是被动的。主动对象是可以改变自身状态的对象。例如,定时器和时钟就可以在没有外部事件触发的情况下,能自已改变它们自身状态。通常使用进程或者线程来实现创建主动对象。被动对象只有在接受到消息后才会改变自身的状态。例如,银行账户的属性不会发生变化,除非银行账户(对象)接收到一条设置余额(一种用于更新账户余额的操作)的消息。因为大多数对象都是被动对象,所以,我们假设所有对象都是被动对象。主动类是指创建主动对象的类。主动类的表示与一般类相似,只是最外框是粗线描述而已,如主动类Radio的表示方法如图8所示。图8 表示主动类Rad
7、io的符号4用例在系统中,为完成某个任务而执行的一系列动作的集合称为用例实例。用例是对一组用例实例共同行为的描述,这组用例实例具有相似的特征。因此,用例是对一组用例实例共同特征的描述;用例实例是用例的一次具体执行过程,用例是对一组用例实例的描述。用例与用例实例的关系正如类与对象的关系。在UML中,用例是用一个实线椭圆来表示的,在椭圆中写入用例名称,如用例“取款”的表示方法如图9所示。图9 用例“取款”的表示方法在图9中,一次具体的取款过程,就是用例的一个实例。5协作协作是指有意义的交互,即一组对象为了完成某个任务,而在相互间进行的交互。用例的实现是指实现某个用例的一组对象之间的交互,即把一个用
8、例表示为多个对象间的交互(协作)。从本质上说,协作就是用例的实现。协作用一个带两个分栏的虚线椭圆表示的,例如,用例“销售”,用协作“销售”表示时,其对应的表示方法如图10所示。图10 协作“销售”协作图“销售”表示的语义如下:(1)生产商生产出产品并以低价售给批发商和零售商,从中获得了利润。(2)批发商以比生产商较高的价格出售给销售商或零售商,零售商在自己的商店得到 更高利润。(3)顾客以较高的价格买到自己想要的商品。6构件构件也称组件,它是指系统设计中的一个相对独立的软件部件,它把功能实现部分隐藏在内部,对外声明了一组接口(包括供给接口和需求接口)。因此,两个具有相同接口的构件可以相互替换。
9、构件是比“对象”更大的软件部件,例如一个COM组件、一个DLL文件、一个JavaBeans以及一个执行文件都可以是构件。为了更好地在UML模型中对它们进行表示,于是引入了构件(也译为组件)。构件通常采用带有两个小方框的矩型表示,构件的名字写在方框中,如图11所示。图11 表示构件的UML符号7节点节点是指硬件系统中的物理部件,它通常具有存储空间或处理能力,如PC机、打印机、服务器、显示器等都是节点。在UML中,用一个立方体表示一个节点,例如,节点“显示器”的表示方法如图12所示。图12 节点“显示器”的UML符号2.2.2 行为符号行为符号是用来表示业务系统或软件系统中事物之间的交互以及交互引
10、起的事物本身的状态变化。行为符号描述了事物的动态特征。描述事物的行为特征在两个方面:事物之间的交互和事物本身的状态变化,描述这2个方面的符号也有2种:一种符号代表事物间的交互;一种符号代表事物本身的状态。1交互交互(interaction)是指为了完成某个任务的对象之间的相互作用,这种作用通过信息的发送和接收来完成。 交互的表示方法很简单,只需使用一条有向直线来表示对象间的交互,并在有向直线上方标注消息名称即可,如图13所示。图13 表示交互的UML符号2状态在对象生命周期内,在事件驱动下,对象从一种状态迁移到另一状态,这些状态序列就构成了状态机,即一个状态机由多个状态组成。在UML中,将状态
11、表示为一个圆角矩形,并在矩形中写上状态名称。例如,手机处在“正在通话”状态的表示方法如图14所示。图14 表示“正在通话”状态的UML符号2.2.3 分组符号对于一个中大型的软件系统而言,通常会包含大量的类、接口以及协作,因此也就会存在大量的简单事物和行为特征,为了能有效地对这些事物进行分类和管理,就需要对其进行分组。在UML中可通过“包(Package)”来实现这一目标。表示“包(Package)”的图形符号与Windows中表示文件夹的图符很相似,包的作用与文件夹的作用也很相似。如“java.awt”包的表示方法如图15所示。图15 表示“java.awt”包的UML符号2.2.4 注释符
12、号在UML中,用来对其他事物进行解释的部分(文本解释)称为注释。注释符号用一个右上角折起来的矩形表示,解释的文字就写在矩形框中,如图16所示。图16 表示注释的UML符号2.3 关系符号前面介绍了表示事物的元素符号,本节将介绍反映事物之间关系的关系符号。在UML中,共定义了24种关系,相应的有24种关系符号,如表2-1所示。表2-1 UML中的关系及其符号关系大类关系变种UML中的关系UML符号关系大类关系变种UML中的关系UML符号抽象派生依赖关系derive导入私有依赖关系access显现manifest公有import实现实现关系虚线加空心三角信息流flow精化依赖关系refine包含并
13、merge跟踪trace许可permit关联关联关系实线协议符合未指定绑定依赖关系bind(参数表)替换依赖关系substitu-te部署deploy使用调用call扩展Extendextend (扩展点)创建create扩展extension扩展关系实线加实心三角实例化instanti-ate泛化泛化关系实线加空间三角职责responsi-bility包含依赖关系include发送send上述有24种关系,在UML中,可以归纳为关联关系、实现关系、泛化关系、扩展关系和依赖关系5种,下面介绍这些关系的表示方法。1关联关系只要2个类之间存在某种关系,我们就认为2个类之间存在关联。关联是人们赋予事
14、物之间的联系,即,只要我们认为2个事物之间有某种联系,就认为事物之间存在关联。实现关系、泛化关系、扩展关系和依赖关系都属于关联关系,是更具体的关联关系。关联关系是最高层次的关系,在所有关系中,关联的语义最弱的。在关联关系中,有两种比较特殊的关系,它们是聚合关系和组合关系。(1)关联关系的表示关联关系是是比较抽象的关系,它包含的语义较少;聚合关系和组合关系是更具体的关联关系,它包含的语义更具体。在UML中,使用一条实线来表示关联关系如图17所示。图17 表示关联关系的UML符号(2)聚合关系聚合(Aggregation)是一种特殊形式的关联,表示类之间的关系是整体与部分的关系。聚合关系是一种松散
15、的对象间关系计算机与它的外围设备就是聚合关系。一台计算机和它的外设之间只是很松散地结合在一起,这些外设可有可无,可以与其他计算机共享。即,部分可以离开整体而存在。聚合的表示方法如图18(a)所示。其中棱形端表示事物的整体,另一端表示事物的部分。如计算机就是整体,外设就是部分。(3)组合关系如果发现“部分”类的存在是完全依赖于“整体”类的,那么就应使用“组合”关系 来描述。组合关系是一种非常强的对象间关系,就像树和树叶之间的关系。树和它的叶子紧密联系在一起,叶子完全依赖树,它们不能被其他的树所分享,并且当树死去时,叶子也会随之死去这就是组合,在组合关系中,部分依赖于整体而存在。组合是一种强的聚合
16、关系,它的表示方法如图18(b)所示。(a) (b)图18 表示聚合关系和组合关系的UML符号2泛化关系泛化关系描述了从特殊事物到一般事物之间的关系,也就是子类到父类之间的关系,或者子接口到父接口的关系。表示泛化关系的符号是从子类指向父类的带空心箭头的实线,其表示方法如图19所示。而从父类到子类的关系则是特化关系。图19 表示泛化关系的UML符号3实现关系实现关系是用来规定接口与实现接口的类之间的关系。接口是操作的集合,这些操作声明了类或组件所提供的服务。表示实现关系的符号是从类指向接口的带空心箭头的虚线,其表示方法如图20所示。图20 表示实现关系的UML符号4依赖关系假设有两个元素X、Y,
17、如果元素X的值发生变化,就会引起元素Y的值的变化,则称元素Y依赖(Dependency)于元素X。依赖关系的表示如图21所示。 图21 表示依赖关系的UML符号如果两个元素是类,则类间的依赖现象有多种,如一个类向另一个类发消息;一个类是另一个类的数据成员;一个类是另一个类的某个方法的参数。从本质上说,聚合、组合、泛化以及实现关系都属于依赖关系,但是它们有更特别的语义。5扩展关系在UML中,用一个带箭头的实线表示扩展关系,如图22所示。这里的扩展含义是指对一个元类的扩展,即,通过扩展元类的语义,获得新的元类。图22 表示扩展关系的UML符号2.4 UML图元素符号代表了简单事物,简单事物通过一定
18、关系组合成复杂事物,图就是用来表示复杂事物的。每个图是由代表简单事物的元素符号和代表事物关系的关系符号构成。2.4.1 UML图分类UML中的图可分为两大类:结构图和行为图。结构图描绘系统中事物的组成及结构关系;行为图描绘系统中事物间的相互交互行为。下面是UML图的组成,如图23所示。图23 UML图的组成1结构图结构图又分为6种,如图24所示。图6-24 结构图组成(1)类图类图是使用UML建模时最常用的图,它展示了系统中的静态事物、它们的结构以及它们之间的相互关系。这种图的典型用法是描述系统的逻辑设计和物理设计。(2)构件图构件图可以展示一组构件的组织和彼此间的依赖关系,它用于说明软件系统
19、如何实现,以及软件系统内构件如何协同工作等。(3)对象图对象图可以展示系统中的一组对象,它是系统在某一时刻的快照,也可以说对象图是类图在某一时刻的快照。(4)部署图部署图可以展示物理系统运行时的架构,同时可以描述系统中的硬件架构和硬件上驻留的软件架构。(5)组合结构图组合结构图可以展示系统的内部结构。(6)包图包图用于描绘包之间的依赖关系(包是一个用于组织其他模型元素的通用模型元素)。2行为图行为图又细分为4种,如图6-25所示。图6-25 行为图组成 (1)活动图活动图显示系统内部的活动控制流程。通常需要使用活动图描述不同的业务过程。(2)状态图状态图显示对象从一种状态迁移到其它状态的转换过
20、程。状态图是一个动态视图,对事件驱动的行为建模尤其重要,例如可以利用状态图描述一个电话路由系统中交换机的状态,不同的事件可以令交换机转移至不同的状态,用状态图对交换机建模有助于理解交换机的动态行为。在 UML 2.0中,状态图被称为状态机图(state machine diagram)。(3)协作图协作图(也称通信图)是交互图的一种,交互图还包括顺序图(以及UML 2.0中新定义的其他几种图,稍后将介绍)。协作图突出对象之间的合作与交互。(4)顺序图顺序图是另一种交互图,它强调一个系统中间相互作用时消息的时间顺序。UML 2.0中又增加了下列几种行为图:(5)时间图时间图也是一种交互
21、图,它描绘与交互对象的状态转换或条件变化有关的详细时间 信息。(6)交互概观图交互概观图是一种高层视图,用于从总体上显示交互序列之间的控制流。注意:在实际进行系统建模时,几乎没有人会使用到UML标准中定义的所有图。(7)用例图用例描述了系统的工作方式,以及系统能提供的服务。用例图描述了系统外部参与者如何使用系统提供的服务。注意:组合结构图、包图及用例图是UML 2.0中新增的结构图。3. 图的功能在UML 2.0中共定义了13种图。表2-2列出了这13种图的作用。表2-2 UML 2.0中的图图分类作 用描述类图描述系统中的类组成和类之间的关系与UML 1.0相同对象图描述系统在某个时刻对象的
22、组成和关系UML 1.0非正式图复合结构图描述复合对象的内部结构UML 2.0新增构件图描述构件的结构与组成与UML 1.0相同部署图描述在系统中各个节点上的构件及其构件之间的关系与UML 1.0相同包图描述系统的宏观结构,并用包来表示UML中非正式图用例图描述用户与系统如何交互及系统提供的服务与UML 1.0相同活动图描述活动控制流程及活动节点的转换过程与UML 1.0相同状态机图描述对象生命周期内,在外部事件的作用下,对象从一种状态如何转换到另一种状态与UML 1.0相同顺序图描述对象之间的交互,重点在强调消息发送的顺序与UML 1.0相同协作图描述对象之间的交互,重点在于强调对象的职责U
23、ML 1.0中的协作图定时图描述对象之间的交互,重点在于描述时间信息UML 2.0 新增交互概观图是一种顺序图与活动图的混合嫁接UML 2.0新增从使用的角度来看,可以将UML的13种图分为结构模型(也称为静态模型)和行为模型(也称为动态模型)两大类。2.4.2 视图图可视化地描绘了系统某个方面的局部特征;多个相关的图可以描述系统的某个方面的全部特征,我们把描述系统某个方面全部特征的多个图的集合称为视图。在UML参考手册第2版中,将UML图划分为4大应用类型和9种视图,如表2-3所示。表2-3 UML图和视图应用类型视 图组成结构领域静态视图类图,对象图设计视图复合结构图、协作图、构件图,对象
24、图用例视图用例图动态领域状态视图状态机图活动视图活动图交互视图顺序图、通信图,时间图,交互概述图物理领域部署视图部署图模型管理模型管理视图包图特性描述包图其中,结构领域的视图描述了系统中的结构成员及其相互关系;动态领域的视图描述了系统随时间变化的行为;物理领域的视图描述了系统的硬件结构和部署在这些硬件上的系统软件;模型管理领域的视图说明了系统的分层组织结构。2.5 规 则在UML中,代表事物的元素符号在使用时应遵守一系列规则,每个元素必须遵守的3种语义规则如下:l 名称:每个元素应该有一个名字,即,事物、关系和图都应该有一个名字。和任何语言一样,名字即是一个标识符。l 范围:每个元素起作用的范
25、围。相当于程序设计语言中变量的“作用域”。 l 可见性:我们知道,UML元素可能属于一个类或包中,因此,所有元素都具有可见属性。在UML中,为元素定义了4种可见性,如表2-4所示。表2-4 UML元素的可见性元素的可见性规 则(假设被访问的元素在包中)标准表示法public任一元素若能访问包,则就可以访问包中的元素它+protected只有包中的元素或子包才能访问它#private只有包中的元素才能访问它-package只有声明在同一个包中的元素才能访问该元素2.6 公 共 机 制在UML语言中,定义了4种公共机制:规格描述、修饰、通用划分和扩展机制。2.6.1 规格描述在UML语言中,对每一
26、个元素有一个图形符号来表示,同时,对每个图形符号的语义有一个详细的文字描述,这种对图形符号的语义进行的文字描述称为规格描述,也称为详述。如图26所示,在左边的方框中有三个用图形符号表示的用例,分别是:“存款“、“取款” 、”转账”,在右边的方框中,分别对每个图形符号表示的用例进行了详细的文字描述,即规格描述。图26 图形符号与对应的规格描述2.6.2 修饰在UML中,每个元素符号对事物的主要方面提供了可视化表示,而若想将事物的细节表示出来,则必须对元素符号加以修饰。例如,用斜体字表示抽象类,用+,-符号表示元素的访问级别,这些都是通过修饰符号来表示事物的细节。所谓修饰就是增加元素符号的内涵,为
27、被修饰的元素提供更多的信息。2.6.3 通用划分UML通用划分,即对UML元素进行分组,包括两组:类与对象、接口与实现。l 类与对象:类是对对象共同特征的描述、是对象的模板,而对象则是类的实例。l 接口与实现:接口是一种声明、一个合同、是一组方法的集合,而实现则是完成一个合同、实现接口中的声明。在UML中,用例就是一种对功能的声明和定义,是对事物功能的抽象描述;而协作则是实现用例声明的功能;操作名是声明服务的,而方法体则是实现服务的。因此,用例与协作、操作名与方法体之间就是接口与实现的关系。2.6.4 扩展机制由于UML中定义的元素符号不能表示所有的事物,因此需要通过一些方法对元素符号进行扩展
28、,主要的扩展机制有:构造型、标记值和约束。1构造型构造型就是指分析师自已定义一种新的UML元素符号,给这种新的元素符号赋予特别的含义,例如,分析师可以定义一个元素符号Interrupt,用该元素符号代表“中断”。表示同一构造型元素符号的方法有3种,图27所示就是用3种不同方式来表示设备“中断”这种构造型,其中假设Equipment(设备)是类名称。图27 构造型的3种表示方法l 第一种表示方法:创建一种新的UML元素符号Interrupt,表示“中断”,在构造元素符号右边放置一个图标。构造符号“Interrupt”与图标一起代表“中断”。l 第二种表示法:创建一种新的UML元素符号Interrupt,表示“中断”,这是一种标准表示方法。l 第三种表示方法:直接用一个图标表示新的构造元素符号,该符号的语义是“中断”。2标记值标记值是用来为事物(元素符号)添加新特征的,其表示方法是用格式如“标记信息”的字符串表示。标记信息通常是一个字符串,它由名称、分隔符和值3个部分组成。例如,标记信息:name=“李小平” 。在这个标记信息中,名称是name ; 分隔符是= ;标记
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子商务在农业领域的应用实践
- 社区健康服务与心理援助的跨学科合作
- 客户经理经验交流发言稿
- 建筑工程项目经理年终总结
- 宾馆年终总结
- 酒店管理年终总结
- 公司前台年度工作计划
- 学期班务工作个人总结
- 项目前期工作计划
- 2023年宁夏回族自治区中考地理真题(原卷版)
- 对折剪纸课件
- 膝关节痛风的影像学诊断
- 方案设计初步设计施工图设计要求模板
- 新中国成立后的中国国防
- 2023-2024人教版小学2二年级数学下册(全册)教案【新教材】
- 浙江省炮制规范2015版电子版
- 小学《体育与健康》体育基础理论知识
- JJG 144-2007标准测力仪
- GB/T 740-2003纸浆试样的采取
- GB/T 7324-2010通用锂基润滑脂
- GB/T 5916-2020产蛋鸡和肉鸡配合饲料
评论
0/150
提交评论