APP下载

基于J2EE的高校图书馆管理系统的开发与设计

2018-08-10任涛

电子设计工程 2018年15期
关键词:视图应用程序页面

任涛

(西安外事学院陕西西安710077)

随着科技的进步人类生活越来越快捷,信息化建设得到了快速发展。而高校图书馆由于具有信息复杂且数量庞大的特点,使其成为信息化建设中较为引人注目的建设目标。而图书馆管理系统不仅需要帮助工作人员完成日常的维护和服务,且还需要为读者提供图书馆各类信息,如馆藏图书的查询与借阅。因此,图书馆管理系统的开发设计复杂且具有挑战性。

回顾图书馆管理系统的发展历程,该系统最开始仅为单机版。而随着计算机技术的发展和信息时代的到来,开始使用C/S模式来架构图书馆管理系统。在上世纪九十年代,该模式下的管理系统发展成为主流[1]。随后具备分布式访问、可扩展性和开放性等优点,基于Web的B/S模式为图书馆系统的开发与发展提供了一个新的机遇[2-4]。EX LIBRIS公司、INNOVATIVE公司、SIRSI公司均相继开发出了此类图书馆管理系统。

1 技术分析

1.1 J2EE

J2EE平台包括了通信类程序、组件类程序以及服务类程序[5],且拥有3类可以研发应用程序组件的技术:服务器端小程序(Servlet)、JSP( JavaServer Pages)、EJB( Enterprise JavaBean)[6-10]。

而J2EE规范定义的5个组件模型如下:

EJB应用程序服务器:JB组件是设计开发者们针对特定应用程序而开发的组件,且其具体的操作需要在对应应用容器的操作环境中进行。第三方不仅需要为JB组件提供相应的容器环境,且还需要提供伸缩应用程序[11-12]。

Web应用程序服务器:Web组件是在Web服务器收到请求之后的处理程序,对应收到的请求指令产生Web响应。其包括Java Servlet和JSP两类。HTTP和Web服务之类的标准通信协议,可以向客户端提Web组件[13]。

小程序客户机:小程序是一类Java应用程序,其在容器环境中的放置工作也有较为详细的规范,而这些规范则是由J2EE拟定[14-16]。

资源适配器:资源适配器是一种资源管理器,起连接资源的作用。其在具体部署过程中,是与相关组件被一并放置到相应的容器中。

应用程序客户机:是起到与客户交互作用的,可以为用户提供交互界面,一般以Java为基础。

1.2 J2EE体系结构设计

为满足用户需求,本文架构一种标准的、开放的系统。

图1 系统架构示意图

如图1所示,架构一个整体系统不仅要考虑到系统的各个需求及设计目标。还要考虑到系统各部分之间的关系及系统设计的成本、复杂度、可操作性等一系列问题或影响因素。

总体而言,以J2EE为基础的网络应用程序需要提供请求的获取、逻辑的执行、网页的选择及生成这4个网络服务阶段。系统网结构包括了整个系统需要的所有部分与组件的协同工作,其包括了应用服务器及数据库服务器等5个部分。

2 系统需求分析

2.1 多个图书馆一体化分析

众所周知,传统的图书馆信息化建设仅针对单个图书馆。即所有的信息资源均为单个图书馆所有,不能实现资源共享。而当前信息共享与交换是大势所趋,且能将图书馆所蕴含的信息发挥到最大化。因此,本文设计开发的图书馆管理系统是基于图书馆群为背景,要实现数字信息的一体化。

图2 一块区域图书馆分布示意图

图3 区域图书馆联合分布示意图

如图所示,不同的字母A,B,C,D,E,F,G代表的是一块区域的不同图书馆。传统的图书馆之间是分离的,如图2所示。图书馆之间的资源无法共享,读者无法同时从不同的图书馆获得信息。而本文所设计的系统要打破传统,如图3所示。建立起图书馆之间的联系,实现资源信息的共享,让读者能够同时获取更多的信息。

2.2 功能模块建模及分析

在整个图书馆系统中包括有流通、编目、采访、典藏、期刊、推荐等6个部分(即6个子系统)。图4为该系统的功能模块下书籍流通的流程示意图,由图4可以看出,图书馆书籍流通过程较为繁琐,需要对书籍的收入及借阅进行数据记录并且还要对书籍进行日常维护,因此本文所设计的系统需要对图书馆的基础功能进行详细分析与建模,并设计到该系统中,以满足图书馆基本的功能性需求。

图4 书籍流通过程示意图

2.3 图书馆管理系统的整体构架

以J2EE为基础的系统是属于多层体系结构的。其包括了客户端层、Web表现层、商业逻辑层及企业信息系统层等部分,采用多层体系结构是为了使得该系统结构清晰,方便后续系统的管理与维护工作。

如图5所示,本文所设计的图书馆管理系统选择MVC作为整体的系统架构。表现层、逻辑层、持久化层分别采用的是Struts Web Framework技术、Enterprise Session Bean技术和Hibernate技术。

图5 MVC系统构架示意图

3 高校图书馆管理系统的设计过程

在图书馆管理系统中,数据仓库内的信息庞大而复杂,如图书的类目信息、读者信息、书籍借阅信息等。所以在图书馆管理系统中如何管理数据仓库中的各类信息,并如何调动使用则显得尤为重要。

图书馆系统的电子数据库支持图像的输入和输出,动态浏览/导航能力,安全机制,分布式图像管理与仓库管理等等系统功能。也就是说,本文所开发的图书馆管理系统中的数据库对应各个图书馆详细地各类数据信息,且允许可访问用户进行查询访问操作。

较为为重要的是,该系统的数据库管理着该图书馆系统的电子文档。电子文档存储来自Web端用户与数据库产生的数据图像等,并在数据库与客户端之间进行流通,传递以及存储信息。

4 基于J2EE的图书馆管理系统的设计与实现

4.1 系统的代码框架

众所周知,MVC框架结构是信息系统技术中常用的框架结构,该框架结构具有以下优点:

1)耦合性低

视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。

2)重用性高

随着技术的不断进步,需要用越来越多的方式来访问应用程序。MVC模式允许使用各种不同样式的视图来访问同一个服务器端的代码,因为多个视图能共享一个模型,它包括任何WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。

MVC使开发和维护用户接口的技术含量降低。

3)部署快

使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。

4)可维护性高

分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。

5)有利软件工程化管理

由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。控制器也提供了一个好处,就是可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。

基于上述优点,本文所设计的图书馆管理系统就是选择MVC作为整体的系统架构,如图6所示,整体的技术框架又包括基础模块spring和功能模块两部分。

图6 系统的整体技术框架图

4.2 流通模块设计与实现

篇幅有限,本文以流通模块中的读者书籍借阅以及归还过程为例介绍流通模块的建模设计过程。

如图7所示,读者进入借阅书籍的操作页面,首先系统读入读者的证件信息,根据读者是否为是该图书馆读者,是,则可进行下一步借阅,不是该图书馆读者则需要验证是否可跨馆借阅,再进行下面操作。借阅书籍有3种借书途径,普通借阅,计费租借,还有定时借还。读者选择3种之一进行借书,并遵循规则归还书籍。

图7 书籍借阅操作页面示意图

借书的后台管理功能主要包括3部分:

1)在页面显示读者和相应书籍的信息。

2)在操作页面显示读者的借书处理结果,成功或者失败。

3)在操作页面显示读者所有的书籍借阅信息,读者在借阅操作过程中可以核对翻阅。

图8 归还书籍操作页面示意图

如图8所示,读者进入还书操作页面,系统读入读者的证件信息,归还书籍时读入书籍条形码进行还书,然后进行下一本书籍归还,以此类推。如果到达借阅日期,而读者想继续借阅,则可以按照以证续借和按书续借两种方式进行续借操作,届时可以再归还书籍。

4.3 系统测试

软件测试方法一般有两种,黑盒测试法和白盒测试法。

如图9所示,文中以书籍借阅为例进行操作测试阐述。首先建立多个本馆图书馆账号和外馆账号,进入借阅书籍操作页面进行借阅书籍操作。按照操作页面提示进行操作,读入读者信息和借阅书籍的信息,选择借阅方式进行借阅。通过多个账号多种借阅方式的操作测试,没有出现错误及卡顿现象,功能稳定且能正常使用。

图9 书籍借阅测试页面

文中通过建立多个图书馆账号进行具体的操作测试,并分别对系统的功能模块进行了多次检验,以保证测试结果的可靠性。如图10所示,通过9项步骤进行多次测试,测试结果均显示通过。因此通过测试结果分析,本文所设计的图书馆管理系统性能稳定,可以投入使用。

图10 测试结果示意图

5 结束语

文中从图书馆管理系统的需求出发,通过对分布式图书馆的建模分析,开发并设计了基于J2EE的图书馆管理系统。从而实现了各个模块的功能性要求以及区域图书馆群一体化的数字化建设。经过测试表明,该系统性能稳定。文中的设计对未来图书馆管理系统的进一步发展,有重要的参考意义。

猜你喜欢

视图应用程序页面
刷新生活的页面
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
5.3 视图与投影
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
网站结构在SEO中的研究与应用
浅析ASP.NET页面导航技术
三星电子将开设应用程序下载商店