作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。
l UML语义:描述基于UML的精确元模型定义。
l UML表示法:定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。
标准建模语言UML可以由下列5类图来定义。
l 用例图:从用户角度描述系统功能,并指出各功能的操作者。
l 静态图:包括类图和对象图。类图描述系统中类的静态结构,不仅定义系统中的类,表示类之间的联系,如关联、依赖、聚合等,也包括类的属性和操作,类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。
l 行为图:描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件,状态图是对类图的补充,活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并进行活动。
l 交互图:描述对象间的交互关系,包括时序图和协作图。时序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;协作图描述对象间的协作关系,协作图跟时序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用时序图;如果强调上下级关系,则选择协作图。
l 实现图:包括组件图和部署图。组件图描述代码部件的物理结构及各部件之间的依赖关系,组件图有助于分析和理解部件之间的相互影响程度;部署图定义系统中软硬件的物理体系结构。
采用UML来设计系统时,第一步是描述需求;第二步根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图、对象图、组件图和部署图等5种图形,是标准建模语言UML的静态建模机制。其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、时序图和协作图等4种图形,是标准建模语言UML的动态建模机制。
1.用例图
用例图是从用户角度描述系统功能,并指出各功能的执行者。UML用例图的使用示意图如图2.1所示。
在这个用例图中,执行者有两个:用户和管理员,其中管理员继承用户,即管理员也是用户中的一个。管理员可以发布内容,其他用户可以浏览已发布内容、注册用户和登录系统。
2.活动图
活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别进行活动。UML活动图的使用示意图如图2.2所示。
3.时序图
时序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互。UML时序图的使用示意图如图2.3所示。
4.状态图
状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。UML状态图的使用示意图如图2.4所示。
5.协作图
协作图描述对象间的协作关系,协作图跟时序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。UML协作图的使用示意图如图2.5所示。
6.类图
类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系,如关联、依赖、聚合等,也包括类的属性和操作,UML类图的使用示意图如图2.6所示。
7.对象图
对象图是类图的实例,几乎使用与类图完全相同的标识。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。UML对象图的使用示意图如图2.7所示。
8.组件图
组件图描述代码部件的物理结构及各部件之间的依赖关系,组件图有助于分析和理解部件之间的相互影响程度。UML组件图的使用示意图如图2.8所示。
9.部署图
部署图定义系统中软硬件的物理体系结构。UML部署图的使用示意图如图2.9所示。