1 UML建模语言
UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。
UML的定义包括UML语义和UML表示法两个部分:
总体来说,UML由以下几个部分构成:
1.1视图
视图是表达系统的某一方面特征的UML建模元素的子集,视图并不是图,它是由一个或多个图组成的对系统某个角度的抽象。在建立一个系统模型时,通过定义多个反映系统不同方面的视图,才能对系统做出完整、精确的描述。
视图由图组成,UML通常提供9种基本的图,把这几种图结合起来就可以描述系统的所有视图。
1.3模型元素
UML中的模型元素包括事物和事物之间的联系。事物描述了一般的面向对象的概念,如类、对象、接口、消息和组件等。事物之间的关系能够把事物联系在一起,组成有意义的结构模型。常见的联系包括关联关系、依赖关系、泛化关系、实现关系和聚合关系。同一个模型元素可以在几个不同的UML图中使用,不过同一个模型元素在任何图中都保持相同的意义和符号。
1.4通用机制
UML提供的通用机制可以为模型元素提供额外的注释、信息或语义。这些通用机制同时提供扩展机制,扩展机制允许用户对UML进行扩展,以便适应一个特定的方法/过程、组织或用户。
2建立系统用例图
用例图是由软件需求分析到最终实现的第一步,它描述人们希望如何实现一个系统。用例图显示谁将是相关的用户、用户希望系统提供什么服务,以及用户需要为系统提供的服务,以便使系统的用户更容易地理解这些元素的用途,也便于软件开发人员最终实现这些元素。用例图在各种开发活动中被广泛的应用,但是它最常用来描述系统以及子系统。
当用例视图在外部用户前出现时,它捕获到系统、子系统或类的行为。它将系统功能划分成对参与者(即系统的理想用户)有用的需求。而交互部分被称作用例。用例使用系统与一个或多个参与者之间的一系列消息来描述系统中的交互。
本文仅以普通用户为例建立用例图,如图1所示。
图1:UML的用户用例图
图2: UML的数据录入状态图
3建立数据录入模块状态图
状态图是系统分析的一种常用工具,它通过建立类对象的生存周期模型来描述对象随时间变化的动态行为。系统分析员在对系统建模时,最先考虑的不是基于活动之间的控制流,而是基于状态之间的控制流,因为系统中对象的状态变化最易发现和理解。图2为数据录入模块状态图。
4建立数据录入活动图
活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。活动图本质上是一种流程图。
活动是某件事情正在进行的状态,既可以是现实生活中正在进行的某一项工作,也可以是软件系统某个类对象的一个操作。活动在状态机中表现为由一系列动作组成的非原子的执行过程。
虽然活动图与状态图都是状态机的表现形式,但是两者还是有本质的区别:活动图着重表现一个活动到另一个活动的控制流,是内部处理驱动的流程;而状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。录入模块活动图如图3所示。
图3:UML的数据录入活动图
5建立采集系统对象模型
5.1建立静态对象模型
类图的设计是系统设计核心的部分,明确基本的类以及相互的关系有助于使用者进一步完善整个系统。
在整个系统中用到的主要类有系统管理员、数据、用户、用户界面定制、计算机、数据查询与显示、数据交换、数据备份与恢复、数据检查、地图操作、空间查询、空间分析。
类图是对包所涉及的类的详细描述。在类图中要详细描述每个类的属性和操作,如确定属性的类型是公开的还是私有的,每个操作的属性、参数的说明等。在类图中还需描述类之间的关系,如继承、关联等,在类图中用各种箭头表示,如图4的用户与计算机就是1 对n到多的关系,即一个用户可对应0 到多个数据。
图4:UML的类图
5.2建立时序图
时序图(Sequence Diagram)描述了对象之间传送消息的时间顺序,它用来表示用例中的行为顺序。当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。
图5:录入模块时序图
6结论
本文以地质灾害数据采集系统为例,采用UML作为系统建模手段,以Rational Rose作为实现平台的新一代面向对象建模技术进行了探讨,运用UML建模语言,设计了直观简单的系统用例图,并根据所要实现的功能完成了系统的动态建模工作,可供需求相似的应用系统在建模过程中借鉴。总之,利用UML进行系统建模是行之有效的,具有非常好的利用价值。