天天看点

UML的概念

 UML是一种可视化的建模语言,对其各建模元素可进行详细说明,并能生成所建模型的文档。使用UML时,要从不同的角度观察系统,为此定义了一个概念“视图”。视图是对系统的模型在某方面的投影,注重于系统的某个方面。每个视图是图的协作,UML定义了9种图。下表是UML中的5种视图,各视图在静态和动态方面表示了系统的模型。

UML的概念

用况视图由用况图组成,描述可被最终用户、分析人员和测试者看到的系统行为;设计视图包含类图、对象图、交互图、状态图和活动图,主要反映系统的功能需求;过程视图包含类图、对象图、交互图、状态图和活动图,主要描述形成系统并发与同步机制的线程和进程;实现视图包含构件图、交互图、状态图和活动图,反映用于装配与发布物理系统的构件和文件,主要针对系统发布的配置管理,可以用各种方法装配它们。部署视图包含部署图、交互图、状态图和活动图,主要描述对组成物理系统的部件的分布、交付和安装。根据实际需要,可以组合使用这些视图。

由视图可以定义模型,模型在语义上是闭合的,它从特定的角度(系统的规约或者设计)在一定抽象层次上描述目标系统。可以把视图组织成模型,开发人员可从各视角观察使用模型。

用以描述系统的模型可以是结构性的,强调系统的组织;也可以是行为性的,强调系统的动态方面。例如,RUP有9种模型,分别是业务模型、领域模型、用况模型(也称需求模型)、分析模型、设计模型、过程模型、部署模型、实现模型和测试模型,用于从不同的角度表示系统。

系统是一组反映不同侧面的子系统的集合,为了完成特定的目的要对这些子系统进行组织(在逻辑、功能和物理位置上是高内聚、低耦合的)。

子系统是一组元素的聚集,其中的元素还可以是子系统。它由一组模型从不同的角度进行描述。子系统本身几乎应是独立的,有自己应用的环境,相互间不重叠,它们之间用接口联系。

UML的概念模型

为了理解UML,需要掌握UML的概念模型,这要求学习三个要素:UML的基本构造块、支配这些构造块如何放在一起的规则和一些运用于整个UML的机制,下面逐一予以介绍。

1. 基本构造块

UML中有三种基本构造块,分别是事物、关系和图。

事物分结构事物(包括类、接口、协作、用况、主动类、构件和节点)、行为事物(包括交互和状态机)、分组事物(包)和注释事物(注解)。

UML中有四种关系,分别是依赖、关联、泛化和实现关系。

对于上述两种构造块,通过研读相应的书籍,绝大多数不难掌握,这里就不再赘述。下面对UML中的图的要点进行阐述。

类图 类图展示了一组类、接口和协作及它们间的关系,在建模中所建立的最常见的图就是类图。用类图说明系统的静态设计视图,包含主动类的类图——专注于系统的静态进程视图。系统可有多个类图,单个类图仅表达了系统的一个方面。要在高层给出类的主要职责,在低层给出类的属性和操作。

对象图 对象图展示了一组对象及它们间的关系。用对象图说明类图中所反应的事物实例的数据结构和静态快照。对象图表达了系统的静态设计视图或静态过程视图,除了现实和原型的方面的因素外,它与类图作用是相同的。

用况图 用况图展现了一组用况、参与者以及它们间的关系。可以用用况图描述系统的静态使用情况。在对系统行为组织和建模方面,用况图的是相当重要的。

交互图 交互图展现了按一定的目的进行的一种交互,它由在一个上下文中的一组对象及它们间交互的信息组成。交互图也可用于描述一个用况的行为。顺序图和协作图都是交互图,顺序图和协作图可以相互转换。

顺序图 展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制流建模。用顺序图说明系统的动态视图。

协作图 展现了一组对象,这组对象间的连接以及这组对象收发的消息。它强调收发消息的对象的结构组织,按组织结构对控制流建模。

状态图 展示了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移。一个状态图描述了一个状态机,用状态图说明系统的动态视图。它对于接口、类或协作的行为建模尤为重要,可用它描述用况实例的生命周期。

活动图 活动图是一种特殊的状态图,描述需要做的活动、执行这些活动的顺序(多为并行的)以及工作流(完成工作所需要的步骤)。它对于系统的功能建模特别重要,强调对象间的控制流程。

高层活动图用于表示需要完成的一些任务,即用于分析用况,理解涉及多个用况的工作流、多线程及并行,显示相互联系的行为整体,还可用于对企业过程建模,对系统的功能建模。低层活动图用于表示类的方法。但活动图不适用于描述动作与对象间的关系,显示对象间的合作以及显示对象在生命周期内的运转情况。

构件图 构件图展现了一组构件之间的组织和依赖,用于对原代码、可执行的发布、物理数据库和可调整的系统建模。

部署图 部署图展现了对运行时处理节点以及其中构件的配署。它描述系统硬件的物理拓扑结构(包括网络布局和构件在网络上的位置),以及在此结构上执行的软件(即运行时软构件在节点中的分布情况)。用部署图说明系统结构的静态部署视图,即说明分布、交付和安装的物理系统。

2. 运用构造块的规则

UML用于描述事物的语义规则分别是:为事物、关系和图命名;给一个名字以特定含义的语境,即范围;怎样使用或看见名字,即可见性;事物如何正确、一致地相互联系,即完整性;运行或模拟动态模型的含义是什么,即执行。另外,UML还允许在一定的阶段隐藏模型的某些元素、遗漏某些元素以及不保证模型的完整性,但模型逐步地要达到完整和一致。

3. 机制

有四种在整个语言中一致应用的机制,使得该语言变得较为简单。这四种机制是详细说明、修饰、通用划分和扩展机制。

UML不只是一种图形语言。实际上,在它的图形表示法的每部分背后都有一个详细说明,提供了对构造块的语法和语义的文字叙述。

UML表示法中的每一个元素都有一个基本符号,这些图形符号对元素的最重要的方面提供了可视化表示,对元素的描述还包含其他细节。例如,一个类是否是抽象类,或它的属性和操作是否可见。要把这样的修饰细节加到基本符号上。

在对面向对象的系统建模中,至少有两种通用的划分世界的方法:对类和对象的划分;对接口和实现的划分。UML中的构造块几乎都存在着这样的两分法。

UML是开放的,可用一种受限的方法扩展它。UML的扩展机制包括构造型、标记值和约束。

继续阅读