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

2017-05-18 12:58王瑞娜
漯河职业技术学院学报 2017年2期
关键词:组件架构管理系统

王瑞娜

(三门峡职业技术学院, 河南 三门峡 472000)

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

王瑞娜

(三门峡职业技术学院, 河南 三门峡 472000)

针对高校图书馆存在的问题,采用基于J2EE的三层架构,设计和实现了图书管理系统。利用JSP、Servlet等主流技术实现系统主体功能,重点从架构设计、需求分析、功能模型方面对图书管理系统进行设计,并对系统进行测试,结果显示系统符合指标要求。

J2EE;架构设计;图书管理系统

0 引言

随着人们生活水平的不断提高和计算机技术的快速发展,利用计算机对图书进行管理对人们来说显得越来越重要。目前有的高校图书管理系统仍以人工为主,存在工作效率低、查询速度慢等弊端,不能及时掌握和了解师生的学习需求。因此,设计一套使用方便、可靠性高、检索迅速、界面友好的图书管理系统,能够使图书管理人员从繁重的工作中摆脱出来,能够极大地提高图书管理的效率。

1 相关技术

本文设计的图书管理系统是在基于JSP、Java和SQL server数据库技术的基础上,采用基于J2EE的设计方案,使用多层次的B/S架构模式来实现的,如图1所示。B/S是一种瘦客户机结构,具有对客户端的硬件配置要求不高,系统易于维护和管理的优点[1]。在B/S体系中,应用系统完全运行于Web服务器端,数据由数据库服务器处理,客户端只需通过浏览器并输入正确的Web服务器域名即可。

图1 系统B/S结构

1.1 J2EE

J2EE是建立在Java 2平台上的企业级应用解决方案,是一种多层次的软件开发架构,能够实现对JSP、Servlet、XML等技术的全面支持,为开发、部署和管理繁杂的企业解决方案提供技术支持[2]。具有稳定性强、扩展性好、支持异构环境等优点。该体

系结构能够提供中间层集成框架,能够降低开发多层应用的费用和复杂性。

基于软件“高内聚,低耦合”的思想,J2EE分为表现层、业务逻辑层、数据访问层三层架构,其三层架构如图2所示。

图2 J2EE三层架构图

1.2 JSP技术

JSP技术是简化的Servlet设计,它是在传统的HTML文件上添加Java程序段或JSP标记所形成的。JSP文件是一种运行在服务器端的能够响应客户端需求而动态生成HTML、XML等文档的WEB网页的技术标准。使用JSP技术能够将网页逻辑与网页设计和显示分离,用该技术开发的WEB应用程序不仅支持跨平台的使用,而且程序开发过程较为简单。

对于终端用户来说,只需要安装浏览器就可以浏览页面。当浏览器调用JSP文件时,首先执行其中的程序段,重新操作数据库,以访问包含被请求页面的WEB服务器,并将执行结果连同JSP文件中的HTML代码一起返回给客户。JSP的基本原理如图3所示。

基于上述的B/S系统架构,基于J2EE的图书管理系统选择JSP作为Web服务器程序的基本开发语言,实现良好的程序效果。

1.3 MyEclipse

MyEclipse是Eclipse的插件,是功能强大的J2EE

图3 JSP基本原理示意图

集成开发环境,用于开发Java、J2EE的Eclipse插件集合平台,它具备编码、调试、测试和发布功能,能够提高基于数据库和J2EE的开发、发布及运行效率,支持代码的编写、配置、测试以及Debug。因此本文选择了MyEclipse作为后台程序的开发平台。

1.4 Servlet技术

Servlet能够实现网络的远程动态加载,与运行在客户端的applet程序相对应,是运用Java语言编写的程序,运行在服务器端,能够动态生成WEB页面[3]。它可以通过“请求-响应”编程模型访问应用程序。其工作过程如图4所示。

图4 JSP/Servlet工作过程

2 架构设计

2.1 物理部署架构设计

问卷调查系统数据库部署在数据库服务器上,应用程序逻辑、中间层组件和Web界面程序部署在Web服务器上。教师和学生可以使用PC机或便携式电脑等终端通过浏览器访问Web服务器上的应用程序。物理上使用防火墙隔离信任区和非信任区。Web服务器、数据库服务器部署在防火墙后面的信任区,客户端处于非信任区,客户端通过80端口访问Web服务器。系统物理架构如图5所示。

2.2 开发架构设计

基于J2EE的图书管理系统采用多层软件架构体系。主要分为用户界面层、业务逻辑层、数据访问层和实体对象层。

图5 物理架构视图

2.2.1 用户界面层

用户界面层是各类用户使用系统的接口,核心模块包含三类用户界面:图书管理界面、统计查询界面和读者登录界面。各类用户界面使用Web页面构建。在构建Web用户界面时,使用ASP.NET服务器控件、ASP.NET用户自定义控件、母版页、主题和样式等技术。

2.2.2 业务逻辑层

逻辑层负责与上层的用户界面层进行交互,构成界面层的应用处理逻辑,同时调用下层的数据访问层组件实现对数据库的访问。逻辑层的组件按模块分类封装,主要有系统管理信息模块逻辑处理组件、图书信息模块逻辑处理组件、读者信息模块逻辑处理组件和借阅信息查询及统计管理组件。各类组件构建于JDK之上,使用Java语言编写。

2.2.3 数据访问层

数据访问层封装各类模块对数据库的访问组件。核心模块的数据访问层组件主要有:系统管理组件、图书信息组件、读者信息组件和借阅信息查询及统计组件。四类组件调用公共组件“数据库访问助手(SQL Helper)”实现对底层数据库的访问。每类核心模块的组件均由接口、工厂类、接口实现类构成。接口声明模块业务处理方法,业务的具体实现封装在实现类(各模块的SQL DAL)中,各模块的数据访问层对象实例在各自的工厂类中创建。逻辑层调用数据访问层时,首先调用模块工厂类的静态方法创建模块对象实例,然后才使用模块对象实例的业务方法实现对数据库的访问[4]。

2.2.4 实体对象层

实体对象层定义系统的数据结构,构建与底层数据库的数据映射关系。实体对象层服务于用户界面层、业务逻辑层和数据访问层,提供各层次之间数据交互的平台。

2.2.5 数据存储

系统使用Microsoft SQL Server 2012作为数据存储管理平台。系统的业务表及其存储的数据、构建数据关系的视图以及描述简单业务逻辑的存储过程等使用Microsoft SQL Server 2012构建。

2.3 系统设计原则

2.3.1 严格按照软件需求设计

高校图书管理系统具有馆内所有图书信息的管理,被借图书及借阅者的信息管理,图书及还书者的信息管理,图书每日的借阅、归还信息的管理等功能。因此在设计开发系统时,应与图书管理者及用户做好沟通,尽量保证系统功能全面,方便图书的管理工作及用户的操作使用。

2.3.2 具备成熟严谨的设计架构

为保证图书管理系统的安全性、实用性、可扩展性及易维护性,应尽量选取合适的产品型号进行合理配置,对于硬件结构、网络架构和软件系统结构等都要做到设计合理、结构优化。系统还要预置系统管理接口,以便随时维护。

2.3.3 严格按照图书管理制度设计

系统要根据高校图书管理的相关制度和特点进行严格的流程设计和整体框架设计,结合数字化校园的思想,借助一定的计算机技术,提高图书管理的效率,方便读者的检索及借阅。

3 需求分析

图书馆内书籍的种类繁多,读者的信息量也比较大,本系统主要实现图书馆图书的入库、借阅、归还、检索功能以及读者的信息管理、查询功能。因此,在需求上应考虑以下几个方面的因素:

(1)能够实现图书管理功能,包括图书信息的添加、删除、修改及检索,能够统计图书的出借、归还、挂失等状态。

(2)能够实现对读者信息的添加、删除、修改和查询,并且能对读者的借阅及归还信息进行记录。

(3)充分考虑数据的存储性和安全性,保证系统的正常访问量,同时通过权限设置,防止数据被随意修改或删除,并提供数据的备份服务,确保数据的完整性。

4 功能模型

4.1 用例

通过对基于J2EE的图书管理系统的物理部署架构和开发架构的设计分析,并依据本系统的需求分析,对图书管理系统用例图进行阐述,如图6所示。

图6 图书管理系统用例图

4.2 类模型

根据图书管理系统的用例图,对该系统的类模型进行阐述,如图7所示。

图7 类模型

4.3 动态建模

以“借出书目”为例,分为有预约借阅者和无预约借阅者两种情况。下面着重以“无预约借阅者”为例介绍动态建模的过程。

没有预约的借阅者,在动态建模的过程中需要考虑输入标题、显示该标题下的书目、输入借阅者信息、增加一条新的借书记录等项目。“无预约借阅者”的“借出书目”的序列图如图8所示。

图8 “借出书目”的序列图(没有预约)

以“返还书目”为例,分为没有超期还书和超期还书两种情况。下面着重以“没有超期”为例介绍动态建模的过程。

以“没有超期”为例,在动态建模的过程中需要考虑输入标题、显示该标题下的书目、输入书目、输入借书者、增加一条新的还书记录、更新该书目的记录等项目。“没有超期”的“返还书目”的序列图如图9所示。

4.4 对象关联图

图书管理系统的对象关联图如图10所示。

图10 对象关联图

5 系统测试

5.1 系统开发环境

操作系统为Windows 7或Windows 8;服务器为Tomcat 6.X;数据库为Microsoft SQL server2012;开发工具为MyEclipse 8.5;开发语言为Java。

5.2 系统功能测试

本系统使用等价值划分法、边界值法和场景法进行测试[5]。

首先进行测试项等价类划分,由于测试项众多,因此只列出典型值作为示例。如表1所示。

将表1中的最大值、最小值进行提取,就可以得到边界值。通过对各项数值的输入检测,有效数值的输入确认能够达到预期效果。符合系统的设计需求。

5.3 系统性能测试

本文选取适用于各种体系架构自动负载测试的

Load Runner测试工具,通过模拟大量用户同时访问,从系统的响应速度、资源使用情况及网络吞吐量这几方面进行测试,并采用实时并发负载以及实时性能监测的方式确认和查找问题,预测系统行为并评估系统性能。通过测试,在给定的用户平台下,系统的稳定性、实用性、方便性均能达到要求。测试软硬件环境如图11所示。

表1 图书管理系统等价值划分表

图11 系统保存的各项数据的性能测试结果图

6 结语

在分析高校图书管理系统现状及需求的基础上,从架构设计、需求分析、功能模型方面对系统进行设计与开发,并从运行环境、功能测试、性能测试三个方面对系统进行了测试,结果显示系统性能完全达到指标要求。

[1] 王建章.枣庄职业学院教师信息管理系统的设计与实现[D].上海:华东师范大学,2009.

[2] 李俊.基于Asp.net的B2C电子商务系统设计与实现[D].重庆:重庆大学,2012.

[3] 龙勇.高职院校毕业生就业管理系统研究[J].科技论坛,2015(14):127-128.

[4] 董萍.基于SSH框架的学工管理系统的设计与实现[J].周口师范学院学报,2015(2):111-115.

[5] 金涛,白月飞.基于J2EE的Struts框架技术的应用与研究[J].自动化与仪器仪表,2010(4):68-71.

[责任编辑 吴保奎]

Design and Implementation of J2EE-based Library Management System

WANG Rui-Na

(Sanmenxia Polytechnic,Sanmenxia, Henan 472000,China)

In this thesis, University Libraries problems based on J2EE three-tier architecture, design and implementation of a library management system. Use JSP, Servlet and other mainstream technology system body functions, focus from architecture design, requirements analysis, functional model aspects of library management system design, and system test results show that the system in line with the indicator.

J2EE; architecture design; library management system

2016-12-17

王瑞娜(1984-),女,河南灵宝人,硕士,讲师,研究方向:计算机应用技术。

10.3969/j.issn.1671-7864.2017.02.011

TP315

A

1671-7864(2017)02-0037-06

猜你喜欢
组件架构管理系统
基于FPGA的RNN硬件加速架构
无人机智能巡检在光伏电站组件诊断中的应用
基于James的院内邮件管理系统的实现
功能架构在电子电气架构开发中的应用和实践
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
基于云服务的图书馆IT架构
基于LED联动显示的违停管理系统
WebGIS架构下的地理信息系统构建研究
海盾压载水管理系统