校内图书管理系统开发与实现
2017-01-07张道华
张 道 华
(亳州学院电子与信息工程系, 安徽 亳州 236800)
校内图书管理系统开发与实现
张 道 华
(亳州学院电子与信息工程系, 安徽 亳州 236800)
为了解决校内图书管理中存在的问题,提高图书管理的效率和质量,采用BS系统体系结构,运用JSP程序语言设计一套图书管理系统。
图书管理系统; 开发流程; 模块设计
亳州学院图书馆现存纸质图书63万余册,中外文期刊839种,电子图书近62万册,为学校教师的教学科研提供了切实有效的文献信息保障,也为学生提供了必要的知识延伸和补充资源。图书馆作为高校师生精神食粮的集散地,存在着“用户多、信息量大”等特点,人工处理图书的借阅、续借、归还登记手续,不仅工作量大,而且容易出错。为了全面实现学院图书馆自动化、网络化管理,在充分考虑校内实际情况和读者需求的基础上,设计一套校内图书管理系统。
1 图书管理系统开发的一般流程
图书管理系统开发的主要环节有需求分析、数据库设计、系统设计、程序编码、测试和打包等[1]。需求分析环节,是在广泛调研的基础上对读者的需求全面、系统地进行梳理和归纳;数据库设计环节,首先要对各类数据进行分析、处理,建立数据库的逻辑结构,最终完成概要设计文本;系统设计环节,主要是对图书管理系统体系结构进行设计,完成系统模块结构划分、各模块的详细设计及模块实现等;程序编码环节,是指开发图书管理系统代码,要求编码准确无误,算法应简洁易懂,书写和命名应标准规范;软件测试和打包环节,是指图书管理系统在后期运行测试中发现问题,及时修正并记录到文档中,并进行后期升级及维护[2]。
2 需求分析
采用多种形式反复与读者进行广泛深入的交流,如问卷调查、文献查阅等,全面了解读者的需求。借助系统分析的方法和技术,明确读者需求,并通过“需求规格说明书”文档表述出来。需求规格说明书中应逐项描述系统的外部特性,全面准确地表达出该系统所要实现的功能,决定着整个系统开发的质量[3]。
2.1 系统功能需求分析
图书管理系统的根本功能是借书和还书。为了实现此功能,必须添加读者用户,办理借书证,并将图书编码入库;同时,运行中应能处理好借书还书信息,对超期借阅或损坏图书的读者进行罚款处理;此外,还应方便各类人员查询图书及其库存情况,便于系统管理员进行各种情况的统计排行等。
其中,“用户管理”功能需求描述如下:根据读者的类别分别办理借书证;系统管理员可以修改读者的密码、权限,可以删除读者的用户信息;系统提供用户身份证扫描功能等。
2.2 系统业务流程分析
以“借书”为例,基本步骤如下:读者在网上查阅或在图书馆现场查阅图书信息;读者网上预定或现场请求借阅图书;借给图书;添加一条借书记录;将该读者的可借书数量减1,将该书的库存可借量减1。整个借书活动的业务流程如图1所示:
3 数据库设计
数据库设计环节非常重要,会直接影响到系统的效率及实现效果[4]。
图1 借书业务流程图
3.1 数据字典
设计数据库首先要进行数据库的需求分析,用户数据管理中的信息需求和处理需求是重点,安全性与完整性的要求也很重要[5]。
为图书管理系统设计了如下数据结构和数据项:借书证信息,包括登录密码、允许借书天数、允许借书数量、电子照片等数据项;图书信息,包括图书编号、书名等[6]。在全面分析用户需求的基础上得出数据字典,形成数据流图,以此为基础明确系统的功能。“借书证”的部分数据字典如表1所示:
表1 “借书证”的部分数据字典表
3.2 数据库概念结构设计
采用实体联系方法,即以E-R图为工具,描述本图书管理系统的数据库概念结构,使数据对象及其关系更加清晰直观。本系统涉及的4个实体为读者、图书、管理员、借书证。用E-R图建立各实体及其关系属性图。
3.3 数据库逻辑结构设计
在完成概念结构设计的基础上,根据数据库的关系模型及系统处理过程中数据的结构,建立数据库中的表,明确各表之间的关系。本系统数据库主要包括6个表,分别是reader、book、borrow、returnbook、administrator、appointment。“borrow(借书)”表的设计如表2所示:
4 系统设计
4.1 软件系统体系结构的设计
本系统采用三层B/S体系结构。业务逻辑层位于中间,则无需考虑由何种客户来显示数据,与后端系统也可保持相对独立。三层结构利于跨平台工作,利于在多个服务器间进行负载平衡,具有更好的可移植性和可扩展性。由于将应用程序与客户隔离,其安全性也更可靠,也更容易实现[7]。
表2 borrow(借书)表
4.2 系统模块划分及详细设计
本部分的主要内容是设定系统的总体结构,划分功能模块,确定模块间的关系。本系统的功能结构,第一层划分为7个模块,即用户管理、图书管理、查询、借阅、统计、预定和系统维护等。第一、二层的功能结构图如图2所示:
详细设计也称过程设计,主要任务是明确每个模块的实现方法,给出每个模块的具体算法。处于第一层的“用户管理”含有2个二级子模块,分别是读者管理和管理员管理。二级子模块再分为若干三级子模块,如“读者管理”分为新建读者、修改读者、删除读者,“管理员管理”分为新建管理员、删除管理员、修改管理员。其具体算法以“新建读者”为例描述如下:
新建读者( )
显示新建读者页面;
获取学号或教工号;
If(学号或教工号不是我校师生学号、教工号; 已办理借书证){显示提示信息;返回主页}
Else{
进入添加用户页面;
添加新读者资料;
生成读者编号;
在“读者”数据表中添加新读者记录;
打印借书证;
}
4.3 各模块的MVC模式设计
图书管理系统采用MVC模式的三层架构设计,MVC开发模式将交互式应用分成模型(Model)、视图(View)和控制器(Controller)3部分,分别实现Web应用逻辑、显示逻辑和处理过程,以便更好地复用组件,提高程序的可维护性和扩展性[8]。视图由借书页面和借书结果页面构成。借书页面用来提交借书信息,发送给控制器;借书结果页面用来显示控制器处理过的模型信息。
借书功能的模型由bookBorrowBean.java构成,用来描述借书信息,包括借书号、读者编号、书号、借书日期等属性,以及它们对应的get和set方法。控制器由一个Servlet和多个辅助类构成。Servlet命名为readerBorrowBook.java,其功能是接收页面提交的信息、插入读者的借书信息和页面转发等操作;多个辅助的java类(borrowBll.java、borrowDal.java、DBAccess.java)为servlet提供数据和业务处理等服务,用来根据JSP页面请求发出对数据处理操作命令,以及提交处理数据后的返回结果。
4.4 各功能模块的实现
运用JSP程序设计语言对本系统的界面进行设计开发。程序界面包括登录界面、系统主操作界面、用户管理界面、借书界面、查询界面等。用户管理包括读者管理和管理员管理。读者管理含新建读者、删除读者和修改读者等界面。“新建读者(办理借书证)”的操作界面如图3所示:
图3 办理借书证操作界面
办理借书证时,输入读者的姓名、性别、读者类别、身份证号、学号或教工号、院系、联系方式等,上传电子相片,输入密码,单击“添加”按钮。符合借书条件则为其办理借书证。系统自动为该读者生成一个读者编号(借书证编号),同时向“reader”表中增添一条新读者记录。其关键代码如下:
publicintinsertReaderInfo(String readerID, String readerName,
String readerPassword, String readerPhone, String readerType){
int result=0;
String createSql="insert into reader values (?,?,?,?,?)";
DBAccess dba=newDBAccess();
try{
if(dba.getConn()!=null){
PreparedStatementpstmt;
pstmt=dba.getConn().prepareStatement(createSql);
pstmt.setString(1, readerID);
pstmt.setString(2,readerName);
pstmt.setString(3,readerPassword);
pstmt.setString(4,readerPhone);
pstmt.setString(5,readerType);
result=pstmt.executeUpdate();
if (pstmt!=null){
pstmt.close();
pstmt=null;
}
}
}catch (Exception e){
e.printStackTrace();
}finally{
dba.closeConnection();
}
return result;
}
5 系统测试和维护
编码完成之后,就进入到运行测试和维护阶段。此阶段的任务是找出系统设计的漏洞,予以及时弥补、完善、升级。
对系统进行功能测试、容错测试、压力测试、界面测试、恢复测试等专业测试。通过黑盒测试的相关方法测试图书管理系统的功能,发现功能缺陷并及时对系统进行修补与完善[9]。功能性测试内容包括用户能否正常注册与登录、数据能否录入、数据能否正确查询、能否有效统计汇总等。非功能性测试包括系统的稳定性、易用性、实时性、安全性和可维护性等方面。
系统维护主要包括硬件维护、软件及数据维护。硬件维护主要指系统外设的故障维修,在本系统中主要是指对计算机设备的维护。本系统运行中数据更新速度很快,这就加大了数据出错的几率,所以需定期对数据库进行维护和备份。
6 结 语
图书馆藏书是教师进行教学科研的文献信息保障,更是学生补充专业及课外知识的资料来源。为了向广大师生提供高效快捷的图书借阅服务及图书资源的优化配置,按照B/S体系结构,采用JSP程序开发语言设计了本图书管理系统。测试验证结果表明,本系统性能稳定,交互界面良好,可有效提高图书管理的质量和效率。
[1] 潘其琳.计算机软件开发技术的现状及应用探究[J].信息技术与信息化,2015 (3):249-251.
[2] 刘芳.新时期计算机软件开发技术的应用及发展趋向[J].中国新通信,2015(13):89-89.
[3] 范伟.浅论新时期计算机软件开发技术的应用及发展趋势[J].计算机光盘软件与应用,2014(13):80-82.
[4] 崔宁.基于JAVA的图书管理系统的设计[J].电子技术与软件工程,2014(22):76.
[5] 贾帆,马燕.应用Web技术的图书管理系统[J].重庆理工大学学报(自然科学版),2013,27(8):76-79.
[6] 舒思思.浅谈图书管理系统的设计[J].湖北科技学院学报,2013,33(2):159-160.
[7] 徐红.个性化网上图书馆的设计与实现[D].广州:华南理工大学,2013:3-20.
[8] 张亿军,羊照生.图书管理系统设计研究[J].信息技术与信息化,2014(3):47-49.
[9] 刘凯英.浅谈计算机软件开发技术的应用及发展[J].无线互联科技,2013(1):69.
Development and Implementation of Library Management System
ZHANGDaohua
(Department of Electronics and Information Engineering, BozhouUniversity, Bozhou Anhui 236800, China)
In order to solve the existing problems in management, the library management system is designed with BS as system structure, and JSP as the programming language to improve the efficiency and quality of book management.
library management system; development process; module design
2016-04-01
安徽省高等学校省级质量工程项目“名师工作室”(2014MSGZS170)
张道华(1984 — ),女,安徽省六安市人,硕士,讲师,研究方向为模式识别与图形图像处理。
TP311
A
1673-1980(2016)06-0091-05