栏目搜索
 
 
 
 
 

UML在数字图书馆中的应用

作者:不详  来源:不详  发布人:admin  发布时间:2005-10-15 23:46:30


【 标 题】UML在数
图书馆中应用
【英文标题】The Application of UML in Digital Library
  Jin Yi Yang Zongying
  (Institute of Information Science and Technology,Shanghai Jiaotong University, Shanghai 200030,China)
【 作 者】金毅/杨宗英
【作者简介】金毅,杨宗英,上海交通情报科技术研究所 上海 200030
【内容提】数图书馆研究方兴未艾,目前正处于传统图书馆向数图书馆过渡阶段,转变过程中需应用和集成最新信息技术,以达到对络信息资源最有效利用和共享。传统系统分析设计方法难以保证开发效率和质量,将UML应用于数图书馆建设,可以加速开发进程,提高代码质量,支持动态业务需求,并方便地集成已有传统图书馆信息资源。这是UML一个有着很前景应用方向。
【摘 题】实践研究
【英文摘】The study of digital library is booming. Now traditional library is converting to digital library,this needs the application and integration of the latest information technologies for the maximum usage and shareof network information resources. Traditional system analysis and design methods can't guarantee the efficiencyand quality. Using UML in developing digital library can quicken the process, improve the code quality, supportthe dynamic needs and easily integrate the traditional resources. This is a hopeful application field for UML.
【关 键 词】UML/数图书馆
  UML/Digital library
【 正 文】
  【分类号】G250.76
      1 引言
  在信息技术迅猛发展及基于Internet络应用日益普及今天,传统图书馆正在向自动化、络化、电子化化方向发展,这是目前络信息资源开发和研究热点。数图书馆建设涉及到信息资源数化、多媒体数据库、分布式络、信息管理系统结构等多方面问题,需有效地集成和应用最新信息技术。何在宏观上有效地把握和组织,并运用到数图书馆开发建设上,是数图书馆研究重点。UML(The Unified Modeling Language,即统一建模语言)是一种编制系统蓝图标准化语言,可以对复杂系统建立可视化系统模型,目前已经被工业标准化组织OMG(Object Management Group)接受,一经推出便得到许多著名计算机厂商Microsoft、HP、IBM、Oracle等支持,在国际上应用日益广泛。数图书馆开发建设是一个复杂软件工程,需集成不同操作系统、数据库和应用软件,有众多不同级别用户、管理员,满足图书馆从书目查询、普通和电子书刊借阅到提供上信息服务、资源共享等各种需求。用传统系统开发和集成分析设计方法难以保证效率和质量,UML特点及数图书馆求,决定UML在数图书馆中应该有很应用前景。
    1.1 数图书馆基本特征和模式
  数图书馆组织了一系列与平台无关、面向对象、分布式化信息资源并且提供相关服务,它应该具有以下一些特征[2][4]:
  (1)数图书馆拥有海量化资源, 其信息度量单位不再是KB、MB,而是GB、TB甚至PB。数资源又是多种媒体(、图像、音频、视频、虚拟空间等),具有多种存储和压缩格式。
  (2)数化资源并不是孤立,而是相互关联动态。 数图书馆是数化资源统一,可以通过一定相关关系,由特定协议和存取方法来查找和访问这些数化资源。
  (3)数图书馆必须为用户提供统一访问手段, 能够让用户透明方便地获取所需信息而不必关心这些信息具体位置。对数资源检索应该是智能化、交互式,对全文、多媒体信息、多语言信息检索都可以达到很查全率和查准率。
  (4)数图书馆建立在异构平台上,具有分布、 开放信息结构,高速、可靠络环境是其运行基础。它突破了时间、空间限制,让用户可以在任何地方、任何时间获取自己所需信息。在此基础上提供导航式和个性化服务,使服务内容更多样、服务模式更广泛,这是对传统图书馆服务功能突破。
  数图书馆模式,可以用图1简单说明, 用户通过络和通信系统,连接到数图书馆咨询系统,通过这个统一访问界面,用户可以透明地获取各种信息资源。
  附图
  图1 数图书馆模式
    1.2 UML概述及特点
  UML是一种编制系统蓝图标准化语言, 可以对型复杂系统各种成分可视化、说明并构造系统模型,以及建立各种所需文档。UML通过三类图形建立系统模型:Use Case图、静态结构图(对象类图、对象图、组件图、配置图)和动态行为图(顺序图、协同图、状态图、活动图),这些图可以从不同抽象角度使系统可视化。UML 具有以下特点[1]:
  (1)面向对象。UML支持面向对象技术概念,提供了一批基本模型元素表示图形和方法,能简洁明了地表达面向对象各种概念。
  (2)可视化,表示能力强。通过UML模型图能清晰地表示系统逻辑模型和实现模型,可用于各种复杂系统建模。
  (3)独立与过程。UML是系统建模语言,独立与开发过程。
  (4)独立于程序设计语言。用UML建立软件系统模型可以用Java、VC++、Smalltalk等任何一种面向对象程序设计来实现。
  (5)易于掌握使用。UML图形结构清晰,建模简洁明了,容易掌握使用。
  使用UML进行系统分析和设计,可以加速开发进程,提高代码质量,支持动态业务需求。UML适用于各种规模系统开发,能促进软件复用,方便地集成已有系统并有效处理开发中各种风险。
      2 UML在数图书馆中应用
  UML是一种建模语言,是系统开发一个组成部分,本身并没有关于开发过程概念定义和表示符号。UML创始者Booch、Jacobson和Rumbaugh在Rational公司支持下综合了多种系统开发过程长处,提出新面向对象开发过程,称为Rational 统一过程(RationalUnified Process, RUP)。RUP过程核心工作流包括:业务建模、需求分析、系统分析与设计、实现、测试和系统配置。下面通过UML来分析并构造数图书馆模型,并结合Rational统一过程加以描述,图形用Rational Rose工具软件绘制。
    2.1 数图书馆业务建模和需求分析
  业务建模和需求分析是对数图书馆进行评估,采集和分析系统需求,理解系统解决问题,重点是充分考虑系统实用性。结果可以用一个Use Case模型表达(图2), 模型中活动者代表外部与系统交互单元,包括用户、图书馆工作人员和外部信息源;UseCase是对系统需求描述,表达了系统功能和所提供服务,包括采购子系统、编目子系统和流通子系统。对于数图书馆而言,流通子系统还应该考虑到普通书刊流通和电子书刊流通区别。电子书刊是指内容为数格式、发行为电子方式、用计算机阅读和存储电子读物,可以实现普通书刊所没有全文检索、页面批注、摘体缩放等功能。用户无论何时何地,都可以在线借还,这是数图书馆服务功能一个重组成部分,也是对传统图书馆服务功能延伸和拓展,其中关键是流通子系统在实现时必须能对电子书刊版权、以及可以同时借阅用户数进行保护和控制。
  附图
  图2 数图书馆Use Case模型
  图2中模型元素之间实线表示二者存在关联关系, 带空心箭头实箭线说明存在泛化关系,这有两种情况,一种是一般与特殊关系,“流通子系统”与“普通书刊流通”、“电子书刊流通”关系;另一种是使用关联,表示一个模型元素需使用另一个模型元素,在箭线上标有<<Use>>, “流通子系统”需使用“编目子系统”生成书目数据,图2是数图书馆系统层Use Case模型, 只包含了最基本Use Case模型,是系统高层抽象。在开发过程中,随着对系统认识不断加深,Use Case模型可以从顶向下不断精化,演化出更为详细Use Case模型。
    2.2 数图书馆系统分析与设计
  系统分析与设计是研究欲采用实现环境和系统结构,结果是产生一个对象模型,即设计模型,设计模型包含了Use Case实现,可以表现对象是何相互通信和运作来实现Use Case流。对于系统静态结构,可以通过对象类图、对象图、组件图和配置图来描述;对于系统动态行为,可以通过顺序图、协同图、状态图、活动图描绘。这些图再加上支持说明文档就构成一个完整设计模型。
  (1)静态结构分析与设计
  数图书馆拥有量数化信息资源,这些资源是多种媒体、多种格式,而且还是相互关联。其数据量,信息长度不定,非结构化信息与结构化信息并存。传统数据库和信息管理系统在数据模型、系统结构、用户接口等方面都难以实现对这些数化信息资源管理和操作,这就决定了数图书馆必须采用面向对象方法来建立数据模型和管理模型,建立面向对象数据库,实现面向对象信息管理系统。使用UML 对数图书馆系统进行基于面向对象分析和设计,可以从开发第一步开始,从系统底层就把握住数图书馆信息资源特征,为下一步具体实现打基础。在为数图书馆系统建立模型时涉及到处理模型元素,对象类、接口、组件、节点、图等,可以将语义上相近模型元素组织在一起,这就是UML包, 包从较高层次来组织管理数图书馆系统模型。
  在详细设计阶段可以对包图中所有类、对象从实现角度再进一步进行细化,绘制具体对象类图、对象图等。图3 是数图书馆系统包图,虚箭线说明包之间依赖关系,“流通”包依赖于“数据库”包,使用“数据库”包中类及数据。带空心箭头实箭线说明包之间泛化关系,这是一般与特殊关系,“编目”包与“本馆编目”包、“联合编目”包之间存在泛化关系。
  附图
  图3 数图书馆系统包图
  (2)动态结构分析与设计
  数图书馆提供各种服务都是建立在分布、开放信息结构之上,依托高速、可靠络环境来完成。每项服务都可以看成一个事件流,由若干相关对象交互合作来完成。对于这种系统内部协作关系和过程行为,可以通过绘制顺序图和协同图来帮助观察和理解。
  一个对象在其生存期间所经历状态序列,对于把握对象行为和状态迁移变化是非常重,可以通过状态图来了解一个对象历史,引起一个状态向另一个状态转移事件,以及由于状态转移而引发动作。
  此外,描述工作流和并发处理行为还可以用活动图,表达从一个活动到另一个活动控制流。
  顺序图和协同图适合描述多个对象协同行为,而状态图适合描述一个对象穿越多个Use Case行为。状态图与活动图区别是,状态图描述是对象类响应事件外部行为,活动图描述是响应内部处理对象类行为。
  附图
  图4 数图书馆电子书刊流通服务顺序图
  图4是一个电子书刊流通服务顺序图例子, 用以说明数图书馆电子书刊基本流通服务。用户向流通子系统用户接口登录,经用户合法性验证后,向流通子系统电子书刊流通模块提交服务请求,电子书刊需经过版权和复本验证,以保证电子书刊每一个复本在同一时间只允许一个用户借阅或阅读。比购买了一本电子书五个复本,那么就可以有五个用户同时借阅或阅读这本书,而且必须能够控制用户对电子书刊任意复制和打印,以保护电子书刊出版者合法权益。然后就可以完成电子书刊借、还、预约、续借等流通服务,最后退出。
  通过顺序图可以清晰地看出用户、流通子系统用户接口和电子书刊流通模块之间按时间顺序消息交换,这对于把握系统控制流、顺序行为和交互行为是非常有益。建立在分布、络环境下图书馆其事件流和控制流是十分复杂,需从层顶到底层进行一步步分解,用多幅能反映动态结构图来分析与说明。
    2.3 数图书馆实现、测试和系统配置
  经过系统分析与设计后,就可以根据设计模型在具体环境中实现系统,生成系统源代码、可执行程序和相应软件文档,建立一个可执行系统。然后需对系统进行测试和排错,保证系统符合预定求,获得一个无错系统实现。测试结果将确认所完成系统可以真正使用。最后系统配置任务是在真实使用运行环境中配置、调试系统、解决系统正式使用前可能存在任何问题。
      3 小结
  数图书馆发展方兴未艾,目前正处于传统图书馆向数图书馆过渡阶段,转变过程中需应用和集成最新信息技术,以达到对络信息资源最有效利用和共享。传统系统分析设计方法难以保证效率和质量,将UML应用于数图书馆建设,可以加速开发进程, 提高代码质量,支持动态业务需求,并方便地集成已有传统图书馆信息资源。这是UML一个有着很前景应用方向。
【参考文献】
  [1]张龙详.UML与系统分析设计.人民邮电出版社,2001
  [2]郑巧英.杨宗英.图书馆自动化新论:信息管理自动化.上海交通出版社,1998
  [3]郑巧英.数图书馆一种模式——络图书馆. 现代图书情报技术,2000,(2)
  [4]陈英.UML多视点建模机制应用研究.北京理工报.2001,(2)
  [5]于升峰.数图书馆关键技术研究.情报报,1999,(12)
 
 
  信息栏