中文摘要:随着网络的快速发展,信息化管理被更多的学生所接受。结合当下 图书馆传统管理的不足,使用信息化管理的图书馆选座系统被提出。先 前类似管理系统大多使用硬件技术,使用性和可拓展性较差。本系统使 得图书馆选座系统变得更科学化、简单化。本系统极大地方便了图书管 理员的管理以及用户的使用,提高了图书馆选座的效率和图书馆座位的利用率。本论文介绍了图书馆选座系统的设计与实现。
图书馆选座系统的设计与实现采用了 B/S (浏览器/服务器) 结构,系统使用了 Java 开发语言,采用了 Spring Boot 框架,使用了 Windows 操作系统和MySQL 关系型数据库,从使用场景到使用目标、再到MySQL 关系型数据库等方面进行了全面的设计。通过编程实现了一个比较完备 的的图书馆选座的管理系统。本系统实现的功能有管理员:账号管理、 班级管理、学生管理、课程表管理、公告发布管理、图书馆预约管理、 反馈意见管理等功能。学生:个人中心、图书馆管理、预约管理、意见 反馈管理、公告管理等功能。通过对系统进测试后,图书馆选座系统运 行效果良好,系统操作简单易懂,实现的系统具有全面性,实用性以及 能保障学生账号安全等特点,是一个较为完善的图书馆选座系统。
关键词:图书馆选座;Java;MySQL 数据库;B/S 结构
目 录
1 绪论
图书馆选座系统通过使用网络和浏览器实现了学生对图书馆进行预约选座,与传统的管理方式相比有所不同。通过使用计算机来实现速度快、系统的安全性有保障、系统运行的成本低。通过使用计算机实现信息的查询效率更高以及搜索速度快。图书馆选座系统的管理变得的更科学化、简单化。
随着校园网络的快速发展,信息发展模式以全新的姿态展现在学生面前。同时网络的发展也日趋走向成熟,任何地方都逐渐引进信息管理模式进行管理。互联网带给学生实时、准确高效的需求,从根本上改变了管理的方式,所以图书馆选座系统的发展更具有开发的意义和价值。
本系统的目的是建立一个简单易用、高效稳定的图书馆选座系统。随着信息系统的不断完善,图书馆选座系统愈加应当采用信息化的管理。所以开发本系统结合了高校图书馆选座的实际情况,让其方便高校学生的同时也减轻图书馆管理员的工作量。
本系统可以令图书馆预约选座的效率提升,节省了人力投入的成本。让以前的图书馆管理员繁重的工作量有了很大的改观,同时更是方便了学生对座位进行预约。通过利用校园网络让学生进行更加方便地预约图书馆座位,满足学生们使用图书馆座位的需求。同时实现了图书馆预约选座的信息化。
高校的图书馆,为在校的学生提供了丰富的图书以及杂志报刊资源[1]。但是,大部分高校图书馆存在一个很严重的问题,那就是占座问题[2]。这个问题是极难管理的,即使是投入大量的人力[3]。接受高等教育的人越来越多,高校图书馆座位在硬件上就比较匮乏,资金保障不够强,管理体制和管理理念没有与时俱进,人数与资源的不对等才带来了这一大问题[4]。
国外也存在同样的问题,但是国外计算机管理系统起步较早。在欧洲一些发达国家早已出现了图书馆选座系统。如以色列ExLibris公司开发的Aleph500以及澳大利亚的公司开发的Horizon管理系统[5]。这些图书馆选座系统被普及后确实给学生们带来了便利,同时也产生了非常大的作用。
在国内很多人也都想解决这一大难题[6]。所以在较久以前,因为使用网络编程还不太常见[7],图书馆座位管理系统大都使用了硬件技术。东南大学的刘杰等人提出了用红外接近技术来检测判断座位的使用状态[7],以此来解决图书馆占座问题。可是这样的使用性和可拓展性都比较差[8]。杜波采用单片机和卡片读取终端结合的方式构建了座位管理系统。随着科技技术的不断进步以及网络的发展[9],越来越多的软件管理系统开始出现[10],谢红、王炳江两人设计的基于VB的图书管阅览座位管理系统,通过VB语言来实现可视化界面,通过Oracle座位数据库并与门禁系统相结合同步了验证身份和座位选择[11]
这些最终都未能充分满足高校图书馆的需求,我决定通过本图书馆选座系统来最大程度的为用户服务,实现图书馆选座系统的科学化、高效化。
系统分析可以实现对学生的具体需求进行更加了解,同时也使学生对产品进行深入的了解,系统分析对系统开发的方向、研究的目标以及系统开发的可行性进行分析,最后开发的方案通过系统分析进行确定。对开发者开发出符合学生需求以及科学的程序具有很大的帮助。
可行性分析主要是对系统开发过程中的成本费用、学生操作和使用的技术等方面进行分析,通过详细的分析图书馆选座的需求后,确定了SpringBoot框架和要实现的功能[12],然后确定合理的开发方式,所以本系统的开发主要对其进行判断技术是否可行、成本是否易实现、操作是否简单以及是否可持续性发展等方面进行可行性分析,协助我们开发出更满意的程序。
图书馆选座系统编程语言选择了Java语言,使用了SpringBoot框架,关系型数据库使用了MySQL数据库实现对系统数据的存储。技术可行性分析包括系统软件和硬件两方面:
图书馆选座系统的开发对硬件的要求很低,并无其他特殊要求,普通的电脑配置就可以实现系统的运行和访问,学生使用的普通笔记本即可满足要求,所以系统在硬件方面的开发具有可行性。
图书馆选座系统的软件开发方面,编程语言选择了Java语言,使用了SpringBoot框架,数据的存储使用了关系型数据库MySQL数据库,MySQL数据库建立的数据库存储量大并且安全稳定[13]。所以图书馆选座系统在开发者掌握了具体的开发技术后实现起来非常简单,所以系统开发在软件方面具有开发的可行性。
图书馆选座系统开发的软件、硬件环境要求低,不需要付费购买就可以使用,并且后期维护和整个开发的过程都成本较低,易于开发者和使用者的开发和使用[14],系统开发过程中对人力和财力的要求很低,系统开发的功能全面简单,开发周期短,所有在开发的的经济方面具有可行性。
图书馆选座系统的操作只是需要电脑对界面进行访问,登陆界面非常的简洁易懂,通过不同身份登录进不同界面。进入后侧边栏清晰的显示了所有实现的模块,点击不同的模块从而可以进行不同的操作。因此在操作方面完全可以进行开发。
图书馆选座系统对环境的影响较低,仅需使用少量的电力资源。旧的管理方式使用纸和笔记录,本图书馆选座系统无纸化管理,节约了纸张,保护了树木。图书馆选座各方面信息的不断增多,相关管理的事务也越来越多,所以设计功能全面的图书馆选座系统会备受欢迎,通过本系统实现图书馆选座相关信息的管理,管理的方法应具备信息化、科学化。将图书馆选座信息的管理编程具有可持续发展的工作管理模式。所以开发本系统在环境和可持续发展方面具有可行性。
在社会使用方面上,本系统简易方便,便于上手,完全可以大范围推广,可以实现在社会上大面积使用。在法律方面上,本系统的设计与实现从开发到结束过程中没有违反任何法律规定。本系统的正常使用不会对社会造成不良影响,不触及相关法律。在社会与法律方面具有可行性。
图书馆选座系统后端可选择的方案有SpringBoot和SSM框架。SpringBoot不需要大量样板化的代码以及XML配置,并且它可以实现第三方框架的快速整合,不需要配置文件。SSM框架需要导入依赖,在这一点上经常出现问题。相比之下SpringBoot更加简单易操作,综上所以本项目选择了SpringBoot。
通过实地考察与研究,图书馆管理员确实对以下功能有需求。管理员主要负责图书馆选座系统的后台数据的管理,通过点击侧边栏的各个模块实现操作。主要功能有:账号管理、班级管理、学生管理、课程表管理、公告管理、图书馆管理、意见反馈管理等功能。图书馆选座系统管理员的用例图如图2.1所示。
图2.1管理员用例图
通过结合实现的功能,从而得出管理员用例描述表。管理员在图书馆选座系统中的用例描述表,如表2.1所示。
项目 用例符 用例描述 参与者 前置条件 后置条件 基本操作流程 | 内容 用例- 1 系统管理员对班级、学生、课程表、公告、意见反馈和图书馆进行添 加、修改和删除 图书馆系统管理员 系统管理员已成功登录系统 班级、学生、课程表、公告、意见反馈和图书馆信息被修改 1 系统管理员查询出所有的班级、学生、课程表、公告、意见反馈 和图书馆信息 2 系统管理员对班级、教师、用户、角色和权限信息进行修改、删 除 |
表2.1管理员用例描述表
通过实地考察与研究,图书馆用户确实对以下功能有需求。学生进入系统可进行的操作有管理个人中心、图书馆查询、预约管理、反馈意见管理、公告管理等功能。如图2.2所示。
图2.2学生用例图
通过结合实现的功能,从而得出学生用例描述表。学生用户在图书馆选座系统中的用例描述表,如表2.2所示。
项目 | 内容 | |
用例符 | 用例-2 | |
用例描述 | 学生用户对个人信息、图书馆信息、预约信息、反馈意见和公告进行 查看 | |
参与者 | 学生 | |
前置条件 | 学生已成功登录系统 | |
后置条件 | 学生个人信息被修改 | |
基本操作流程 | 1 2 | 学生用户查询个人信息、图书馆信息、预约信息、反馈意见和公 告。 学生用户对个人信息可以进行修改 |
可选操作流程 | 学生用户添加自己的预约信息 | |
假设 | 学生已成功登录图书馆选座系统 |
表2.2学生用户用例描述表
系统分析结束后进行系统设计。系统设计只是搭建一个大体框架,并不能实现具体功能,但是这是不可或缺的。系统设计中包含了系统结构设计以及数据库设计。
系统通过Internet环境就可以实现访问。图书馆选座系统工作原理图如图3.1所示。
图3.1系统工作原理图
系统分析结束后,系统结构的设计要根据图书馆选座系统的实际需求来设计,系统结构设计是系统设计的一部分,要对图书馆选座系统系统开发的性能、成本等进行比较分析,从而确定要使用哪个方案进行开发。系统结构的设计主要是要实现此次开发的图书馆管理系统可以做到成本低,较少的增加经济负担和便于多用户使用两个方向来设计,这两点也是设计的重要点[15]。图书馆选座系统功能结构图如图3.2所示。
图3.2系统结构图
用户在图书馆选座系统的操作基本上全都都是针对于数据库的操作。所以数据库的重要性不言而喻。图书馆选座系统当中的数据库的质量就决定了图书馆选座系统系统的质量。
数据库概念实质就是应用实体图和E-R图来进行相互联系的。具体的E-R图它的组成元素实际包括:实体、属性之间相互的联系,同时也是用户以及它的属性,而且实体就是各个属性之间的联系。对于数据库来说,实体属性图起到了关键性的作用。
首先应当具有一致性,以确保数据的一致。其次应当遵从完整性的原则,以保证数据的完整。再次,应当具备安全性,防止数据库被破坏或者遭到泄露。从次,应当具有合适的可伸缩性和可拓展性。最后应当遵从规范化原则,防止出现操作时的异常和错误。
数据模型中的实体(Entity),也被叫做实例,它可以很直观的区分出图书馆选座系统当中的东西。图书馆选座系统当中的五个实体属性图如下所示:
(1) 管理员这个实体包含的属性是序号、账号、密码。管理员所有的信息实体
E-R 图如下图 3.3 所示:
图3.3管理员信息实体属性图
(2)图书馆的实体包含的信息较为全面,有图书馆的序号、编号、名称、共几排共几列、备注以及有课是否可以预约。图书馆信息实体E-R图如下图3.4所示:
图3.4图书馆信息实体属性图
(3)到场入座实体包括序号、预约id、预约编号、开始时间、结束时间、名称、座位号、入座时间、到场人等属性。到场入座信息实体E-R图如下图3.5所示:
图3.5到场入座信息实体属性图
- 对于公告信息的描述,从序号、编号、公告主题、公告内容、发布人这几个方面。公告信息实体E-R图如下图3.6所示:
图3.6公告信息实体属性图
- 学生含有的属性有序号、学号、密码、姓名、性别、手机、积分、班级、头像。学生信息实体E-R图如下图3.7所示:
图 3.7 学生信息实体属性图
(6) 系统总体 E-R 图如下图 3.8 所示:
图 3.8 系统总体图
数据库表的设计是数据库设计的一部分。这个图书馆选座系统使用了MySQL数据库管理系统,以下是数据库主要表的详细信息。
(1)管理员信息表存储了管理员的序号、账号以及密码。如下表3.1所示
字段名 | 数据类型 | 允许非空 | 自动递增 | 备注 |
id | INT( 11) | NO | 是 | 序号 |
username | VARCHAR(25) | YES | 账号 | |
pwd | VARCHAR(25) | YES | 密码 |
表3.1admins管理员信息表
(2)图书馆信息表存储了图书馆的序号、图书馆编号、名称、共几排、共几列、备注、有课是否可预约。如下表3.2所示
字段名 | 数据类型 | 允许非空 | 自动递增 | 备注 |
id | INT( 11) | NO | 是 | 序号 |
tushuguanbianhao | VARCHAR( 15) | YES | 图书馆编号 | |
mingcheng | VARCHAR( 12) | YES | 名称 | |
gongjipai | VARCHAR(55) | YES | 共几排 | |
gongjilie | VARCHAR(55) | YES | 共几列 | |
beizhu | VARCHAR(255) | YES | 备注 | |
youkeshifoukeyuyu e | TEXT | YES | 有课是否可 预约 |
表3.2tushuguan图书馆信息表
(3)到场入座信息表存储了序号、预约id、预约编号、预约开始时间、预约结束时间、名称、图书馆座位号、入座时间、到场人。如下表3.3所示
字段名 | 数据类型 | 允许非空 | 自动递增 | 备注 |
id | INT( 11) | NO | 是 | 序号 |
yuyueid | VARCHAR(20) | YES | 预约 id | |
yuyuebianhao | TEXT | YES | 预约编号 | |
kaishishijian | VARCHAR(255) | YES | 开始时间 | |
jieshushijian | VARCHAR(255) | YES | 结束时间 | |
mingcheng | VARCHAR(20) | YES | 名称 | |
zuoweihao | VARCHAR(255) | YES | 座位号 | |
ruzuoshijian | VARCHAR(255) | YES | 入座时间 | |
daochangren | DATETIME | YES | 到场人 |
表3.3daochangruzuo到场入座信息表
(4)公告信息表存储了图书馆公告的序号、编号、公告主题、公告内容以及发布人。如下表3.4所示
字段名 | 数据类型 | 允许非空 | 自动递增 | 备注 |
id | INT( 11) | NO | 是 | 序号 |
bianhao | VARCHAR( 15) | YES | 编号 | |
gonggaozhuti | VARCHAR(25) | YES | 公告主题 | |
gonggaoneirong | VARCHAR(255) | YES | 公告内容 | |
faburen | VARCHAR( 10) | YES | 发布人 |
表3.4gonggao公告信息表
(5)学生信息表存储了学生的序号、图书馆选座系统登陆的账号、密码以及如下表所示的各种个人信息。如下表3.5所示
字段名 | 数据类型 | 允许非空 | 自动递增 | 备注 |
id | INT( 11) | NO | 是 | 序号 |
xuehao | VARCHAR(255) | YES | 学号 | |
mima | TEXT | YES | 密码 | |
xingming | VARCHAR( 10) | YES | 姓名 | |
xingbie | VARCHAR(2) | YES | 性别 | |
shouji | VARCHAR( 12) | YES | 手机 | |
jifen | VARCHAR( 100) | YES | 积分 | |
banji | VARCHAR(20) | YES | 班级 | |
touxiang | VARCHAR(255) | YES | 头像 |
表3.5xuesheng学生信息表
系统开发的总流程就是先进行需求分析然后进行设计,设计完成后进行具体
编程,编程结束后测试功能是否完善以及调试整个系统。图书馆选座系统的开发总流程如图3.9所示。
图3.9系统开发流程图
登录系统首先要选择是学生还是管理员,然后输入账号和密码,点击登录按钮,这时系统会进行验证账号和密码以及身份是否正确,如果验证正确,就会显示登陆成功然后进入系统,如果验证错误,系统就会弹窗出现用户名或密码错误。图书馆选座系统登录流程如图3.10所示。
图3.10登录流程图
系统操作流程首先要判断用户是否登录,已正常登录即可进行系统操作提供正常的服务。如果没有登录到图书馆选座系统,则会跳转到登陆界面。图书馆选座系统操作流程如图3.11所示。
图3.11系统操作流程图
管理员可以对图书馆选座信息、学生课表、学生个人资料、等信息进行修改,管理员首先输入要修改的数据,会对输入的数据是否合法进行验证,如果验证成功,那么刚刚修改的数据就会替代之前的数据,如果输入的数据不合法,管理员就需要重新修改数据。图书馆选座系统修改信息流程如图3.12所示。
图3.12修改信息流程图
管理员可以对不需要的数据进行删除操作。点击删除后,数据库则会更新数据。删除掉需要删除的数据信息。图书馆选座系统删除信息如图3.13所示。
图3.13删除信息流程图
管理员登入图书馆选座系统需要先选择自己的身份然后输入用户名、密码以及验证码来进入图书馆选座系统的主页。如果输入正确,页面会弹出登陆成功的提示。如果验证码输入错误,则会提示验证码输入错误。如果账号密码输入错误则会弹出用户名或密码错误的弹窗。图书馆选座系统登录界面如图4.1所示。
图4.1系统登录界面图
管理员可以修改密码、添加图书馆管理员、删除图书馆管理员等。图书馆选座系统的管理员账号管理界面如图4.2所示。
图4.2账号管理界面图
管理员通过点击侧边栏的班级管理可以添加班级,删除班级以及搜索班级等,图书馆选座系统班级管理界面如图4.3所示
。
图4.3班级管理界面
管理员通过点击侧边栏的学生管理可以添加学生,删除学生以及搜索学生等功能,图书馆选座系统学生管理界面如图4.4所示。
图4.4学生管理界面
管理员通过点击侧边栏的课程表管理可以对课程表进行添加、查询以及管理。图书馆选座系统课程表管理界面如图4.5所示。
图4.5课程表管理界面
管理员可以通过点击侧边栏的公告管理进行对图书馆公告的添加、查询以及编辑公告。图书馆选座系统公告管理界面如图4.6所示。
图4.6公告管理界面
管理员可以通过点击侧边栏的图书馆管理进行对图书馆的添加、编辑、查询。也可以查询预约、取消预约、到场入座和离场。图书馆选座系统图书馆管理界面如图4.7所示。
图4.7图书馆管理界面
管理员可以通过点击侧边栏的意见反馈管理中的意见反馈查询对学生提出的关于图书馆意见进行回复以及删除意见,同时也可以在意见反馈列表中进行搜索。因为考虑到实际情况,图书馆用户很多,提出的意见也应当是较多。所以设置了意见反馈搜索功能。图书馆选座系统意见反馈管理界面图4.8所示。
图4.8意见反馈管理界面
4.2 学生功能模块的实现
4.2.1 学生中心界面
学生登录后主要功能有管理个人中心、图书馆管理、预约管理、反馈意见管理、公告管理等功能。其界面如图4.9所示。
图4.9学生中心界面
处理器:pc端:因特尔酷睿处理器I3
内存:pc端:4GB
硬盘:pc端:100G以上
操作系统:pc端:Windows10
关系型数据库:MySQL
通过功能测试来测试图书馆管理、预约管理、意见反馈管理、公告管理。图书馆选座系统功能测试如表5.1所示
测试模块 | 测试内容 | 预期结果 | 测试结果 |
图书馆管理 | 对已存在的图书馆进行编辑,添 加新的图书馆 | 成功对已有图书馆 进行编辑,成功添 加新的图书馆 | 达到预期效果 |
预约管理 | 对已有预约进行删除,添加新的 预约 | 成功对已有预约删 除,成功添加新的 预约 | 达到预期效果 |
意见反馈管理 | 对已有意见进行回复,删除意见 | 成功对已有意见进 行回复,成功删除 意见 | 达到预期效果 |
公告管理 | 对已有公告进行编辑,添加新的 公告,删除已有公告 | 成功对已有公告进 行编辑,成功添加 新的公告,成功删 除已有公告 | 达到预期效果 |
表5.1功能测试
用例测试包含较多的方面,以下是图书馆选座系统部分用例的测试。图书馆选座系统用例测试如表5.2所示:
测试用 例编号 | 测试项 目 | 测试标 题 | 预置条件 | 输入 | 执行步骤 | 预期输出 |
01 | 添加功 能测试 | 输入值 为空 | Input Name:张 三 | Input Name: null | 添加 | 请填写姓名 |
02 | 添加功 能测试 | 输入正 确数据 | Input Name:张 三 | Input Name: 张三 | 添加 | 信息添加成功 |
03 | 查询功 能 | 不输入 学生姓 名进行 查询 | Input Name:张 三 | Input Name:null | 查询 | 无法查询相应数 据 |
04 | 查询功 能 | 输入多 个姓名 进行查 询 | Input Name:张 三 | Input Name: 张三 王五 | 查询 | 无数据 |
05 | 查询功 能 | 输入正 确数据 进行查 询 | Input Name:张 三 | Input Name: 张三 | 查询 | 查询成功 |
表5.2用例测试
(1)硬件方面普通的笔记本电脑即可实现对图书馆选座系统的访问,进行预约。同时图书馆在实际情况中对图书馆选座系统也便于维护,完全可实现。
(2)本图书馆选座系统功能完备,功能测试中所用功能均可正常运行,暂无功能bug,完全满足了图书管理员和学生的需要。
本图书馆选座系统在系统分析时通过对已经完成的类似系统进行参考,汲取精华,去其糟粕。设计出了本图书馆选座系统,简单易操作,保证了图书管理员和学生都能轻松上手本图书馆选座系统。
图书馆选座系统的设计与实现主要采用的编程语言是Java语言,关系型数据库使用的是MySQL数据库。大学期间对Java语言进行了两个学期的深入学习,所以选择Java语言进行编程。在各个数据库的对比下选用了MySQL数据库进行数据的存储。
图书馆选座系统的设计与实现解决了当下的高校图书馆预约难的问题,同时也解决了旧的图书馆管理方式带来的占座问题。对图书馆来说,减少了人力资源的投入,用更少的人解决了问题。对学生来说,便利了图书馆座位的预约流程,同时也减少了图书馆占座带来的烦恼。先前类似管理系统大多使用硬件技术,使用性和可拓展性较差。本系统使得图书馆选座系统变得更科学化、简单化。本系统极大地方便了图书管理员的管理以及用户的使用,提高了图书馆选座的效率和图书馆座位的利用率。旧的管理方式上通过笔和纸记录管理,数据不易更改。本系统的使用可以减少纸张的使用,节约了用纸,保护了树木,数据也更加容易的进行修改。本图书馆选座系统在环境和可持续发展上有很好的前景。
设计之初进行了系统分析,通过各个方面的分析,认为图书馆选座系统的可行性高,完全可以着手设计与实现。当然在此次设计中也有很多困难,通过个人努力给予了解决办法。在开发本系统的过程中我提高了自己的理论知识,实践的能力也被提高了,尤其是对自我解决问题的能力有了很大的提升。同时,也提高了我独立开发项目的能力。这必将为我以后的工作中提供很大的帮助。