摘要:该文介绍了UML的基本概念、五大视图,阐述了UML类图作为数据库建模的方法,以产品生产管理系统作为案例分析了UML类与关系数据库表及表访问操作之间的映射方案。
关键词:UML;建模;关系数据库
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)03-0457-04
1 概述
关系数据库是人们使用已久的抢持久信息存储方法,E-R模型是关系数据库建模的标准方法。而随着数据库规模不断的扩大,简单的E-R模型已无法清晰地、详细地分析和描述关系数据库建模问题,从而导致了系统开发难度增大。但是,数据库设计在软件开发中占重要地位,如有不甚将直接影响整个软件系统的数据存取速度,而数据库建模又是其系统开发的重中之重。而采用UML的分析方法设计数据库模型,不仅能够使数据库模型清晰易懂,还能够清晰地反映软件系统结构,便于开发,也提高软件系统开发的效率,以缩短了软件系统开发周期。
UML(Unified Modeling Language)[1][2],统一建模语言(标准建模语言),是始于1997年一个软件系统开发的图形化语言,为软件系统开发的所有阶段提供模型化和可视化支持,是在多种面向对象建模方法的基础上的建模语言,也是前面向对象分析设计中的一种标准建模技术,它的应用领域很广泛。UML规范用来描述建模的概念有,类(对象的)、对象、关联、职责、行为、接口、用例、包、时序、协作等。[3]本文将基于UML的数据库建模技术为核心进行分析,系统地阐述了UML的对象类图用于数据库建模方法,同时加以应用。
2 UML简介
标准建模语言UML的重要内容可以通过用例视图、逻辑视图、实现视图、进程视图、部署视图五类视图来定义。一般称作为“4+1”视图[3]。
每一种视图都是由多个图组成的,每一种图都是系统结构中某个侧面的表示,所有的图在一起就能组成系统的完整视图。在UML语言中共有10种类型的图(图1):
1)用例图。展示系统外部的各类执行者与系统提供的各种用例之间的关系。
2)类图。展示系统中类的静态结构。类是指具有相同属性和行为的对象,类图用来描述系统中各种类之间的静态结构。
3)对象图。是类图的一种实例化图。
4)顺序图。展示对象之间的一种动态协作关系。一组对象组成,随时间推移对象之间交换消息的过程,突出时间关系。
5)合作图。从另一个角度展示对象之间的动态协作关系。对象之间的动态协作关系,突出消息收发关系。
6)状态图。描述一类对象具有的所有可能的状态及其转移关系。它展示对象所具有的所有可能的状态以及特定事件发生时状态的转移情况。
7)构件图。展示程序代码的物理结构。
8)活动图。展示系统中各种活动的执行流程。
9)部署图。展示软件在硬件环境中配置关系。
10)包图。是一种分组机制。
若将以上10种图根据它们描述系统的结构和行为来分,还可以将它们分为静态图和动
态图两大类。UML数据建模规范使得开发人员能够用一种统一的语言开发应用软件和建立数据模型,即UML可以对任何具有静态结构和动态行为的系统进行建模。其建模方法是,将所有软件系统都用对象或类人选为其主要构造块。简单地说,对象通常是从问题空间或解决空间的词汇中抽取出来的东西;类是对具有共同属性的一组对象的描述。每一个对象都有标识名、状态和行为。根据对象和类来进行块模型建模。
3 基于 UML中的数据库相关的术语
对象:是指客观世界中的事物。每个对象都具有自身的结构特征和相应的行为。是类的实例化。
类(Class):是指一组具有相同属性、操作、关系和语义的对象的描述。是对象的集合、抽象,是UML模型中最基本的模型元素。
类图(Class Diagram):是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。它主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。
联系(Rational):类与类之间的静态关系,是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系。联系包含有:关联(Association)、泛化(Generalization)、聚合(Aggregation)、组合(Composition)、依赖(Dependency)(图2)。
属性(Attribute):描述类的基本结构特征,是对象的具体值。
主键(Key):用来存放对象标识符,并作为主键唯一识别对象。
外键(Foreign Key):表示两个类之间的相关联系,以确保数据的一致性,完整性。
4 基于UML的类与数据库映射实例
UML实例是基于软件工程的一些原理,例如,聚合、耦合和封装等。UML中的类是面向对象系统结构中的最核心部分,其建模原理来自于离散数学,而关系数据库的关系其原理是基于数学原理中的传统集合。虽然它们的原理来自不同的数学模型,但是其根本也是如出一辙的,事必有着很强的内丰联系。所以,如果要想将UML中的类与关系数据库进行最好、最优化的结合,则必须让类(对象)和关系数据库之间建立相应的映射。我们以产品生管理系统为例,进行基于UML的类图与数据库建模分析。针对UML中类与数据库之间的相应概念及特点,将产品生产管理系统中数据库表及操作方法映射分为三种情况:一是类与数据表的属性映射,二是类与数据表的关联映射,三是类与数据表中数据的操作映射。
4.1 类与数据表的属性映射
UML类图是由属性和操作两个部分组成。其中,属性,它描述了该正被建模的事物的一些特性,这些特性为类的所有对象所共有,一般是用数据结构来描述。与关系数据库中数据表的字段相对应,故而类中的属性映射为数据表中的字段。为了确保类中对象能得以更好的区分,则必然有一个有效的标识符以示区别,所以在类中属性中有一个属性(主键)来映射数据表中的主键字段。