收藏 分享(赏)

第2章 UML语言体系.ppt

上传人:buyk185 文档编号:7015137 上传时间:2019-04-30 格式:PPT 页数:37 大小:1.90MB
下载 相关 举报
第2章 UML语言体系.ppt_第1页
第1页 / 共37页
第2章 UML语言体系.ppt_第2页
第2页 / 共37页
第2章 UML语言体系.ppt_第3页
第3页 / 共37页
第2章 UML语言体系.ppt_第4页
第4页 / 共37页
第2章 UML语言体系.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、1,第2章 UML语言体系,2,目录,21 UML语言组成,22 基本元素,2.3 关系元素,24 规则,25 公共机制,3,目录,26 公共机制,27 用视图表示系统体系结构,小结,4,21 UML语言组成,我们知道,UML语言是一门设计语言,这种语言由一些构造元素、规则和公共机制构成。构造元素描述事物的基本成分,这些基本成分按某种规则关联在一起,组成图;同时,这些基本元素都遵循通用规则,即公共机制。 下面是UML语言的组成结构,如图2-1所示。,图2-1 UML语言体系,5,21 UML语言组成,1.构造元素 构造元素包括基本元素、关系和图。这3种元素代表了软件系统或业务系统中的某个事物或

2、事物间的关系。 2.规则 构造元素应该具有命名、范围、可见性、完整性和执行等属性。规则是对软件系统或业务系统中的某些事物的约束或规定。 3.公共机制 公共机制包括详述、修饰、通用划分、扩展机制。公共机制指适用于软件系统或业务系统中每个事物的方法或规则。,6,22 基本元素,我们把基本元素分为4类:结构元素、行为元素、分组元素、注释元素。221 结构元素 结构元素定义了业务或软件系统中的某个物理元素,描述了事物的静态特征。结构元素常用名词表示。结构元素有7种,它们是:类、对象、接口、主动类、用例、协作、构件、节点。,7,221 结构元素,1类和对象 类是对具有相同属性、相同操作、相同关系的一组对

3、象的共同特征的抽象,类是对象的模板,对象是类的一个实例。 (1).类的表示 在UML中,类是用一个矩形表示的,它包含三个区域,最上面是类名、中间是类的属性、最下面是类的方法 。 例如,描述People(类)用图形表示,如图2.2所示。 假设,People类包含的属性和行为如下: 类名:People, 在第一栏。 字段名:name、age ,字段名(也称属性)放在第二栏。方法名:speak()、breathe()、fly(),方法在第三栏。,图2.2 People类表示,8,221 结构元素,注意:行为、服务、方法可以等价理解;属性、域、字段 可以等价理解。(2).对象的表示 对象是用一个矩形表

4、示,在矩形框中,不再写出属性名和方法名,只是在矩形框中用“对象名:类名”的格式表示一个对象。例如,属于类People中的对象李自成的图形表示如图2.3所示。图2.3 对象”李自成”的表示方法,李自成:People,图2.3 对象”李自成”的表示方法,9,221 结构元素,2接口 因为,外界对类(或构件)的使用,是通过类(或构件)的方法来实现的,因此,我们把类或构件的方法集合称为接口。接口向外界声明了它能提供的服务。 接口分为供给接口和需求接口两种,供给接口只能向其它类(或构件)提供服务,需求接口表示类(或构件)使用其它类(或构件)提供的服务。 两种接口的表示方法如图2.4所示,图2-4 接口的

5、表示,10,221 结构元素,3主动类 主动类是指该类创建的对象至少拥有一个进程或线程,通过进程或线程控制任务的执行。 主动类的表示与一般类相似,只是最外框是粗线描述而已。如主动类”Radio”的表示如图2-5所示。4用例,图2-5主动类的表示,11,221 结构元素,在系统中,为完成某个任务而执行的一序列动作,以实现某种功能,我们把这些动作的集合称为用例实例。用例是对一组用例实例共同特征的描述,用例与用例实例的关系,正如类与对象的关系。 用例是著名的大师Ivar Jacobson首先提出的,现已经成为了面向对象软件开发中一个需求分析的最常用工具 。 用例是用一个实线椭圆来表示的,在椭圆中写入

6、用例名称。如,用例”用户登录”表示如图2-65协作 协作是指有意义的交互,即,一组对象为了完成某个任务,相互间进行的交互。 用例的实现:实现某个用例的一组对象之间的交互,即,把一个用例表示为多个对象间的交互(协作)。从本质上说,协作就是用例的实现。,12,221 结构元素,用一个带2个分栏的虚线椭圆表示协作。如,用例”销售房产”,用协作” 销售房产”表示时,其对应的表示法如图2-76 构件 构件也称组件:系统设计中,一个相对独立的软件部件,它把功能实现部分隐藏在内部,对外声明了一组接口(包括供给接口和需求接口)。因此,两个具有相同接口的构件可以相互替换 。 构件是比“类”更大的软件部件,例如一

7、个COM组件、一个DLL文件、一个JavaBeans、一个执行文件等等。为了更好地对在UML模型中对它们进行表示,就引入了构件(也译为组件),图2-6 用户登录,图2-7 协作” 销售房产”,13,221 结构元素,构件通常采用带有2个小方框的矩型表示。如图2-87节点 节点是指硬件系统中的物理部件,它通常具有存储空间或处理能力 。如,PC机、打印机、服务器等都是节点。在UML中,用一个立方体表示一个节点。如,节点”server”的表示方法如图2-9所示。,图2-8 构件的表示,图2-9 节点server的表示,Server,14,222 行为元素,行为元素是用来描述业务系统或软件系统中,事物

8、之间的交互或事物的状态变化。行为元素描述了事物的动态特征。行为元素用动词表示。行为元素有2种:交互和状态机。 1交互 交互(interaction)是为了完成某个任务的对象之间相互作用,这种作用是通过信息的发送和接受来完成的。 交互的表示法很简单,用一条有向直线来表示对象间的交互,并在有向直线上面标有消息名称。如图2-10所示。,图2-10 交互,15,222 行为元素,2状态机 状态机(state machine)在对象生命周期内,在事件驱动下,对象从一种状态迁移到另一状态的状态序列,这些状态序列构成了状态机,即,一个状态机由多个状态组成。 在UML模型中,将状态表示为一个圆角矩形,并在矩形

9、内标识状态名称。 如,”等待”表示如图2-11图2-11 等待状态,16,223 分组元素,对于一个中大型的软件系统而言,通常会包含大量的类、接口、交互,因此也就会存在大量的结构元素、行为元素,为了能有效地对这些元素进行分类和管理,就需要对其进行分组。在UML中,提供了“包(Package)”来实现这一目标 。 表示“包(Package)”的图形符号,与windows中表示文件夹的图符很相似。包的作用与文件夹的作用也相似。”数据访问”包的表示法如图2-12所示。图2-12“数据访问”包,17,224 注释元素,在模型中,用来对其它元素的解释部分(文本解释)称为注释。注释元素是用一个右上角折起来

10、的矩形,解释的文字就写在矩形中。注释符号如图2-13,图2-13 注释符号,18,2.3 关系元素,前面介绍了表示事物的基本元素,本节介绍反映事物之间关系的元素。在UML中,共定义了24种关系,如表2-1所示。,表2-1 UML元素关系种类,19,2.3 关系元素,这24种关系在建模表示时可以归为关联关系、实现关系、泛化关系、扩展关系和依赖关系五种,下面介绍这些关系的表示法。 1.关联关系 关联(Association)表示两个类之间存在某种语义上的联系,这种语义是人们赋予事物的联系。关联关系提供了通信的路径,它是所有关系中最通用、语义最弱的关系。,20,2.3 关系元素,在关联关系中,有两种

11、比较特殊的关系,它们是聚合关系和组合关系。 (1)关联关系的表示 关联关系是聚合关系和组合关系的统称,是比较抽象的关系;聚合关系和组合关系是更具体的关系。在UML中,使用一条实线来表示关联关系 。如图2-14所示。(2)聚合关系,图2-14关联关系,图2-15,21,2.3 关系元素,聚合(Aggregation)是一种特殊形式的关联。聚合表示类之间的关系是整体与部分的关系 。聚合关系是一种松散的对象间关系计算机和它的外围设备就是一例。一台计算机和它的外设之间只是很松散地结合在一起。这些外设可有可无,可以与其他计算机共享,而且没有任何含义表明它由一台特定的计算机所“拥有”这就是聚合。聚合的表示

12、如图2-15所示。图案2-15 中,棱形端表示事物的整体部分,另一端表示事物的部分。如计算机就是整体部分,外设就是部分。,22,2.3 关系元素,(3)组合关系 如果发现“部分”类的存在,是完全依赖于“整体”类的,那么就应该使用“组合”关系来描述 。组合关系是一种非常强的对象间关系,例如,树和它的树叶之间的关系。树是和它的叶子紧密联系在一起,叶子完全属于这树,它们不能被其它的树所分享,并且当树死掉,叶子也会随之死去这就是组合,组合是一种强的聚合关系。组合的表示如图2-15所示。 2.泛化关系 泛化关系描述了从特殊事物到一般事物之间的关系,也就是子类到父类之间的关系。从父类到子类的关系,则是泛化

13、关系。,图2-16 泛化关系,23,2.3 关系元素,3.实现关系 实现关系是用来规定接口和实现接口的类或组件之间的关系。接口是操作的集合,这些操作用于规定类或组件提供的服务。实现关系是从类指向接口的带空心箭头的虚线表示。如图2-17所示。4.依赖关系 有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖(Dependency)于元素X。,图2-8 依赖关系,图2-17 实现关系,24,2.3 关系元素,如果两个元素是类,则类间的依赖现象有多种,如:一个类向另一个类发消息:一个类是另一个类的数据成员:一个类是另一个类的某个方法的参数。 本质上说,关联和泛化

14、以及实现关系都属于依赖关系的一种,但是它们有更特别的语义,因此定义了其自己的名字和详细的语义。 1.扩展关系 扩展表示把一个构造型附加到一个元类上,使得元类的定义中包括这个构造型。它是一种UML提供的底层的扩展机制,与用例之间的扩展(Extend)关系是不同的。在UML中,用一个带箭头的实线表示,如图2-19所示。由于它的应用并不广泛,因此只需有一个了解即可。2.图和视图,图2-19 扩展关系,25,2.3 关系元素,基本元素描述了事物,关系描述了事物间的关系。在UML中,通过关系把多个事物连接在一起,构成了图。图可视化地描绘了系统某一方面的特征。 在UML 2.0中共定义了13种图,比UML

15、 1.0新增了3种。表2-2列出了这13种图的功能。 UML的作者们并没有把图作为UML的主要部分,因此各种图形并不是精确定义的,往往可以将一种图形中的成分合法地绘制到另外一种图形中。在UML参与手册第2版中,将UML图划分为四大领域9种视图,如表2-3所示。,表2-2 UML2.0的图型,26,2.3 关系元素,一个图只能反映系统中某个侧面和特征,多个图结合在一起可以反映系统的某些侧面和多个特征。把能反映系统某些侧面和特征的多个图的集合称为视图。 其中,结构领域的视图和图,描述了系统中的结构成员及其相互关系;动态领域的视图和图,描述了系统随时间变化的行为;物理领域的视图和图,描述了系统的计算

16、资源和部署在这些资源上的系统工件;模型管理领域的视图和图,说明了模型自身的分层组织结构。,表2-3 UML图和视图,27,2.3 关系元素,从使用的角度来看,将UML的13种图分为结构模型(也称为静态模型)和行为模型(也称为动态模型)两大类,但这里讲的结构、行为其含义与前面所说的是有一定区别的:前者是从定义角度,后者则是从使用角度。分类如图2-20所示。图2-20 从使用的角度对UML图分类,28,24 规则,在UML中,基本元素在使用时,应该遵守一序列规则,其中,最常用的3种语义规则如下: 1命名:也就是为事物、关系和图起名字。和任何语言一样,名字都是一个标识符 。 2范围:指基本元素起作用

17、的范围,相当于程序设计语言中的变量的”作用域”.,29,24 规则( 可见性 ),3可见性: 我们知道,UML元素可能属于一个类或包中,因此,所有元素都具有可见性这一属性。在UML中共定义了4种可见性,如表2-4所示。 表2-4UML的可见性,30,25 公共机制,在UML语言中,定义了4种公共机制:规格描述、修饰、通用划分、扩展机制。 261 规格描述 在UML语言中,每个元素都用一个图形符号表示,同时,对图形符号的语义可以用详细的文字进行描述,这种对图形符号的文字描述称为规格描述,也称为详述。 如图2-21所示,对每个用例来说,既有图形描述,也有对应的文字描述,即,详细描述.,图 2-21

18、 图形与规格描述,31,26 公共机制,262 修饰 UML中,基本元素的符号对事物最重要的的方面提供了可视化表示,而要把元素的细节方面表示出来,就必须通过对元素进行修饰。例如,用具体的可视性的符号修饰元素、用斜体字表示抽象类,这些都是对元素细节的描述。 263 通用划分 UML通用划分,就是对UML元素进行分类。有2种分类方法:类与实例、接口与实现。 1. 类与对象的划分:类是一种抽象,一个模型,对象是类的实例。 2. 接口与实现的分离:接口是一种声明、是一个合同、一个计划;实现则是完成一个计划、一个合同、执行声明。 在UML中,用例就是一种对功能的声明和定义,是对事物功能的抽象描述;而协作

19、则是实现用例声明的功能实现;操作名是声明服务的,而方法体则是实现服务的,因此,用例与协作、操作名与方法体之间就是接口与实现的关系。 264 扩展机制,32,26 公共机制,由于,UML中的基本元素不能表示所有事物,因此,我们通过一些方法对基本元素进行扩展,主要的扩展机制有:构造型、标记值和约束 1.构造型 构造型就是构造一种新的UML元素,例如,我们构造一个元素exception,用该元素来表示软件的异常。 表示构造型的符号有三种,图2-22就是用3种不同的方式来表示”异常”这种构造型。假设Overflow是类名称。,图2-22 构造型的三种表示方法,33,26 公共机制,第一种表示法:创建一

20、种新的UML元素符号的方法是,用符号把构造名字括起来,这是一种标准表示方法。如,exception就是新构造的元素。 第二种表示方法:用符号把构造名字括起来,并为元素增加一个图标。 第三种表示方法:直接用一个图标表示新的构造元素。,34,26 公共机制,2标记值 标记值是用来为事物(元素)添加新特征的。标记值的表示方法是用形如“标记信息”的字符串表示。标记信息通常由名称、分隔符和值组成。标记值是对元素属性的表示,因此,标记值放在UML元素中的,如,name=”邓小平”。 3约束 约束是用来标识元素之间约束条件,是用来增加新的语义或改变已存在规则的一种机制(自由文本和OCL两种表示法)。约束的表

21、示法和标记值法类似,都是使用花括号括起来的串来表示,不过,不能够把它放在元素中,而是放在相关的元素附近。,35,27 用视图表示系统体系结构,在RUP中,从5个角度对系统进行建模,5个视图分别是用例视图、设计视图、组件视图、并发视图、部署视图。即,从5个角度来描述系统。 1用例视图:描述了系统的功能和参与者,由多个用例图组成,是主要的需求模型。 2.设计视图:又称逻辑视图,描述了软件系统的组成、结构、行为,是软件系统的蓝图,该种视图常由类图、交互图、状态图和活动图组成。 3.组件视图:描述了软件系统的组成成分,即,软件发布时,系统包含的软件构件和文件。这种视图常用构件图、交互图、状态图、活动图

22、描述。 4.并发视图:描述系统各部分之间的同步和异步执行情况。常用状态图和协作图来描述。,36,27 用视图表示系统体系结构,5部署视图:描述了软件系统的各部分,如何部署到各硬件节点上。常用部署图、交互图、状态图、活动图描述。下面是描述软件系统的5种视图,图 2-23,图 2-23软件系统,37,小结,本章一开始,指出了UML是由构造块、规则和公共机制三个方面所组成的,然后对这三个方面展开进一步说明。 首先,阐述了事物构造块、关系构造块,它们是UML建模元素的主体。其中事物构造块又包括结构事物、行为事物、分组事物、和注释事物四种类型;关系构造块详细地描述了关联、泛化、依赖、实现四种主要的关系。 接着,简要阐述了UML中公共的规则,并以命名规则、范围规则和可见性规则为例说明了它们对UML模型的影响。 然后,系统地介绍了规格说明、修饰和通用划分和扩展机制。通过构造块添加新的事物,通过标记值添加新的特性,通过约束更好地体现模型,通过扩展机制为UML建模能力添加新的功能。 在本章的最后又将读者的目光转回到“图”这个最重要的构造块中,简要地阐述了UML 2.0中定义的13种图,以及不同图的划分和类别。同时还结合RUP中“4+1”视图来说明系统体系结构的表示方法。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > UML理论/建模

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报