




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Java的图书馆座位预约系统的设计与实现摘要近年来我国大学的门槛逐年降低,各高校的在校学生在逐年增多,大学生主要学习场所是图书馆,图书馆的座位成了学生们的钟爱,图书馆座位预约的模式也面临着巨大的挑战。计算机互联网方面的应用在高速经济发展的带动下,亦在迅速发展。电脑、手机、平板等成了现在大学生的校园必备。那么可以将传统的固定的图书馆座位预约的机制,转换为移动端的线上的预约机制。不仅可以节约预约排队的等待时间,还可以使图书馆座位得到更加合理的使用。本系统是通过计算机来管理图书馆的座位资源,目的是让在有限的图书馆座位资源得到充分的利用。该图书馆座位预约系统的基础是Java,使用MySQL数据库为后台,应用B/S(浏览器/服务器)架构,Tomcat为Web应用服务器,运用JSP+MySQL+SSM框架实现。该系统有三种角色,包括学生、教师和管理员。系统的主要功能模块为系统管理、师生信息管理、阅览室管理、信用积分管理、选座管理。关键词Java/图书馆/座位预约/MySQL目录摘要 绪论1.1研究背景国内高校建设近年来呈现出一片欣欣向荣的景象,大学逐渐普及,在校生人数逐年增多。图书馆作为大学生学习的主要场所,日益拥挤,尤其是图书馆的自习座位,是每一位大学生应该享有的高校公共资源。但是图书馆座位有限,在校生人数远远多于图书馆的座位数,在供不应求的情况下出现了占座的现象,致使原本就拥挤的图书馆,座位的使用率的下降,于是图书馆座位预约业务应运而生。先前的图书馆座位预约是基于人工的,由图书馆座位管理员现场安排座位,这样不仅需要耗费人力,而且人多的时候排队等候的时间比较长,耽误了学习的时间,影响了学生对图书馆自习室的热情。后来,图书馆开始引进刷学生卡预约座位系统,但此系统需要现场持学生卡在座位预约机进行。如果没有持学生卡,则不能进行座位的预约,虽然省去了图书馆座位管理员的人力,并且也相应地节省了时间,但是却增加了刷卡预约机的设备投入,并且也限制了学生端的灵活性。随着网络技术的逐步发展,图书馆也将会改变它的服务模式,而采用以现代计算机技术和网络技术为主的服务模式,图书馆座位预约系统具有一定的实用价值。1.2国内现状分析目前国内高校的图书馆座位管理都在转变模式,从传统的纸笔记录模式,到现在的信息化管理模式。传统的纸张记录模式存在不少缺陷。例如查询效率低、需要较多的人力和物力、纸质记录易丢失、备份比较困难、而且管理起来也有一定复杂程度。为了解决这些问题,各个高校的师生也在这方面做了非常多调查与研究。经过这些调查而发现,从传统的模式走出来的第一步是用图书馆的现场刷卡机预约。这个方法也有一些缺点,这样虽然解决了部分人工的成本,但是却增加了设备的成本,在工作量没有太大减少的前提下成本也随之增长了不少。现在的座位预约模式逐渐转化成了线上预约的模式,出现了基于网页的和基于一些APP小程序的座位预约系统,线上预约,线下刷卡进入图书馆并享有座位。但是这种线上预约、线下刷卡的模式也并没有简化流程,也没有节约设备成本。为了继续简化流程,该论文提出一个省略线下的刷卡流程、直接线上进行座位的预约的解决办法,预约成功后,直接到位,省去刷卡签到的步骤。1.3课题研究目的与意义图书馆存在的意义是给予学生一个具有良好环境的自我学习的环境,然而图书馆座位的预约与管理也是其中重要的一点,这样能够给有学习意向的学生提供更大的方便。本系统是在先前图书馆座位预约业务的基础上提出的,保留方便学生并且方便管理员的部分,优化图书馆座位预约系统的服务模式。结合计算机技术和网络技术,使线下业务转化为线上业务。目的是为了简化繁琐的业务流程步骤,营生出一种新的现代化的模式。2系统分析图书馆座位预约系统的主要工作是面向学生和座位,让学生在移动端进入图书馆座位预约系统,预约成功之后可直接到图书馆入座。减少了现场预约的排队情况,以及占座的问题。离开时也可以在移动端结束预约。座位预约流程图如图2.1所示。NNY开始结束登陆登陆验证座位预约退出图2.1座位预约流程图本系统不支持学生自主注册,因为学生自主注册可能会出现一些恶意注册用户的情况。因此需要一个管理员,此管理员登陆系统后可以添加学生信息。添加学生信息流程图如图2.2所示。NNY开始结束登陆登陆验证添加学生信息退出图2.2添加学生信息流程图 将座位预约业务放到线上会相应地减少图书馆管理员和学生的交流,为此在本系统上添加一个交流的模块。由管理员发布信息,学生登陆后可查看信息,管理员发布信息的流程图如图2.3所示。NNY开始结束登陆登陆验证添加通知信息退出图2.3添加通知信息流程图2.1需求分析在课堂之外,在校生的学习主要是在图书馆进行。作为图书馆座位管理员,希望座位得到充分利用,不希望有长时间占座的行为。作为学生,希望来到图书馆就有位子可以入座,甚至在到图书馆之前能选好座位,会更加节省时间。传统的图书馆座位不需要预约,随来随坐,但是由于高校在校生人数的升高,但是图书馆的座位没有相应地增加,导致一些占座现象的出现。为了解决占座问题,一些高校选择刷学生卡来预约座位,这样虽然占座问题得到了解决,但是效率却往往不高。因为刷学生卡的选座机器有限,刷卡选座的高峰期则需要排队,又浪费了学生的时间。结合互联网技术,将线下的刷卡预约座位转换成线上自主预约的模式。这样既节省了排队的时间,有节省了刷卡机的成本。2.2可行性分析(1)社会可行性分析图书馆座位作为大学中热手的公共资源,面临着座位使用不充分的问题,是值得各个层次去解决。学校层次应该建立一套完整的图书馆座位预约制度,学生层次应该自觉遵守此制度,并且杜绝私自占座的现象。为了巩固和加强学校方面和学生方面的沟通与联系,有必要搭建本论文所述的座位预约系统。(2)技术可行性分析软件方面以Java为基础,MySQL数据库为后台数据库,应用JSP为前端,整合技术框架:HTML+CSS+JavaScript+JSP+MySQL+SSM,使用JSP、SSM、MySQL来完成该系统整体开发。2.3开发环境该图书馆座位预约系统可以基于C/S架构来设计,但是C/S架构需要安装客户端,高校图书馆的使用人群大多数是学生,而且非常集中,给每一位用户安装客户端是一项大工程。在此,本论文的实现选择B/S架构来实现,用户只需要在浏览器登陆校园网,即可在线选座预约座位。系统架构图如下图2.4。响应响应请求浏览器(用户操作行为)服务器JSP业务层(Service)数据层(DAO)DBWeb层Servelt(SpringMVC)图2.4系统架构图编程语言选择Java选择JDK1.8版本。数据库选择关系型数据库MySQL,因为面向对象的思想和关系型数据库匹配度高,而且也有很多Java和MySQL的交互接口。Web服务器选择使用一个轻量级的应用服务器Tomcat,在后期性能需求不能满足时,再考虑换其他服务器。
3数据库分析本系统采用关系型数据库,关系型数据库可以很好地解决本系统中实体间复杂的关系。3.1数据库概念模型设计一个良好的软件系统必须要有一个好的数据库系统,根据需求分析出该系统的实体主要有admin管理员、学生、老师、座位、通知公告等。其中学生的属性有学生ID、学号、姓名、其他信息,教师的属性有教师ID、工号、姓名、电话,座位的属性有时间和其他信息,通知的属性有内容、标题、时间。各个实体之间的关系为:管理员与学生、管理员与教师、管理员与座位、管理员与通知均为一对多的管理关系;学生与座位之间为一对一的关系,学生与通知之间为多对多的关系。ER图如图3.1所示。nnnmn11111nn1教师学生座位学生ID学号姓名教师ID工号姓名选择管理其他信息时间管理员ID其他信息内容时间标题其他信息管理员电话管理管理通知管理查看图3.1系统主要实体ER图3.2数据库表设计根据上述的实体图和ER图,本系统数据库中表的设计如下。如下表3.1为student表,其中ST_ID属性为该表的主键,ST_NO属性用来记录学生的学号,该属性唯一且不能为空值,ST_NAME属性用来存放学生的名字,ST_SEX属性用来存放学生的性别,C_ID是外键,用来存放学生所在的班级情况。表3.1student表如下表3.2为teacher表,其中T_ID属性为主键,T_NO属性为教师的工号,T_NAME教师的姓名,T_SEX属性为教师的性别,T_PHONE属性为教师的电话,T_POSITION属性为教师的职位。表3.2teacher表属性名数据类型备注ST_IDINT(11)学生信息主键ST_NOVARCHAR(32)学号ST_NAMEVARCHAR(32)姓名ST_SEXVARCHAR(32)性别C_IDINT(11)班级ST_BIRTHVARCHAR(32)生日ST_PHONEVARCHAR(32)电话属性名数据类型备注T_IDINT(11)教师信息主键T_NOVARCHAR(32)工号T_NAMEVARCHAR(32)姓名T_SEXVARCHAR(32)性别T_PHONEVARCHAR(32)联系电话T_POSITIONVARCHAR(32)职位如下表3.3class表,其中C_ID为主键,C_NAME属性为班级名称,C_XUEYUAN属性为班级所属的学院,C_ZHUANYE属性为班级所属的专业,T_NO属性为外键表示此班级的辅导员。表3.3class表属性名数据类型备注C_IDINT(10)班级主键C_NAMEVARCHAR(128)班级名称C_XUEYUANVARCHAR(128)所属学院C_ZHUANYEVARCHAR(128)所属专业T_NOVARCHAR(32)辅导员,编号如下表3.4seat表,其中SEATID属性为主键,ROOMID属性为外键表示作为所在的阅览室,S_ROW属性表示座位的所在行,S_COL属性为座位的所在列,ST_ID属性为外键表示该座位被占时学生的学号。表3.4seat表属性名数据类型备注SEATIDINT(11)座位信息主键ROOMIDINT(11)所属阅览室S_ROWINT(11)所属行S_COLINT(11)所属列ST_IDVARCHAR(20)被占用学号TIMEVARCHAR(32)时间段DATEVARCHAR(32)日期如下表3.5为通知表,其中包含标题、内容、时间等属性。表3.5notice表属性名数据类型备注TITLEVARCHAR(32)标题CONTENTTEXT内容TIMEVARCHAR(32)时间
4系统设计4.1系统功能模块概述和分析按功能模块分,可以分为信息管理模块、选座管理模块、阅览室管理模块等,如图4.1。系统管理模块主要控制系统的用户和角色,包括对一些角色授予一些权限。信息管理模块包括学生信息、教师信息和班级信息,本系统主要完成的是学生进入系统后预约选座的功能,所以本论文主要展示学生信息。阅览室管理模块包括阅览室类型和信息,不同的自习阅览室的座位设置数量不同。选座功能模块主要是学使用的选座业务的实现,是本论文主要突出的部分。信用分管理模块是在后期,如果违规人数较多可以启用,现阶段先不启用。通知信息管理模块是管理员和学生的一个线上交流的方式。图4.1系统功能模块图本系统基于B/S(浏览器/服务器)架构,首先由管理员admin添加学生信息,学生信息添加成功后,学生方可登录并进行座位的预约和通知的查看。管理员主要功能有管理学生、管理教师、管理座位、管理阅览室、管理通知,学生的主要功能有预约座位和查看通知。学生和管理员用例图如4.2。图4.2学生和管理员用例图由上述用例图可将本系统分为管理员功能模块和学生功能模块,管理员功能模块的主要功能如下。(1)管理学生模块:可以添加新的学生信息和修改现有的学生信息。管理员管理学生信息用例图如图4.3所示。图4.3管理员管理学生用例图(2)管理教师模块:可以添加教师信息,在管理员工作量较大时,可以授予教师一些权限,来分担管理员的工作。管理员管理教师信息用例图如下图4.4所示。图4.4管理员管理教师用例图(3)管理座位模块:对座位的添加和修改操作。管理员管理座位信息用例图如下图4.5所示。图4.5管理员管理座位用例图(4)管理阅览室模块:主要是对自习阅览室的管理。管理员管理阅览室用例图如图4.6所示。图4.6管理员管理阅览室用例图(5)管理通知的模块:座位一个图书馆管理员与学生交流的一个小平台,管理员可以在此模块上发布一些消息,学生登陆后可以查看。管理员管理通知公告信息用例图如图4.7所示。图4.7管理员管理通知公告信息用例图学生用户的主要功能如下:(1)预约选座模块:学生登陆本系统后,选择时间段、选择座位位置,进行座位的预约。学生选座用例图如图4.8所示。图4.8学生预约座位用例图(2)查看通知模块:学生登陆本系统后,可以查看到图书馆管理员发布的通知公告。学生查看通知公告用例图如图4.9所示。图4.9学生查看通知用例图4.2功能设计根据上述系统分析与设计,本系统按不同的用户可以分为管理员子系统和学生用户子系统,如图4.10所示。图4.10管理员和学生用户管理员子系统主要包括学生信息添加模块、教师信息添加模块、座位管理模块、阅览室管理模块、通知公告信息管理模块,管理员子系统的功能模块如图4.11所示。图4.11管理员子系统功能模块图学生子系统主要包括选座模块和查看通知模块,如图4.12所示。图4.12学生子系统功能模块图
5系统实现5.1登陆页面设计网站的首页是登录界面如图5.1所示,学生、老师、admin均从此登陆系统。图5.1登陆页面登陆页面使用controller层LoginController类的login()方法实现。5.2管理员主要功能模块(1)管理学生模块如下图5.2为学生信息模块,展示了一些学生的信息。其中的添加、修改、删除按钮可以完成对学生的管理。图5.2学生信息模块学生信息的展示调用controller层StudentController类的studentList()方法来实现。如下图5.3为添加新学生页面,添加的学生信息包括学号、姓名、电话、班级等一系列基本信息。图5.3添加新学生页面添加新学生调用reserveStudent()方法(2)管理教师模块如下图5.4为管理教师信息展示页面,其中包括一些教师的基本信息,如工号、姓名、电话、职位等。图5.4教师信息页面调用TeacherController类teacherList()方法来展示其中的添加、修改、删除操作与学生模块类似。(3)管理阅览室模块如下图5.5为阅览室信息展示模块,该模块包含了阅览室的名称和类型等信息。图5.5阅览室信息调用RoomController类roomList()方法来实现展示。(4)管理座位模块座位的管理是在阅览室管理里的,每个阅览室包括有几行几列,在创建阅览室的时候设置座位的行列,设置完成后不能随意修改。如图5.6添加一个6号阅览室,此阅览室有10行10列,因此6号阅览室一共有100个座位。图5.6添加新的阅览室(5)管理通知模块如下图5.7为通知信息的展示,由标题和时间来识别和展示。管理员拥有添加新的通知信息的权限,学生用户只有查看的权限图5.7通知信息页面调用NoticeController类noticeList()方法来展示此页面,reserveNotice()方法来添加通知,deleteNotice()方法来删除通知。5.3学生主要功能模块(1)预约座位模块学生登陆成功后进入本系统,打开选择座位页面如下图5.8所示。一个小方格代表一个座位,绿色小方格表示已经被选的座位,黑色小方格表示可选择的座位,红色小方格表示自己。图5.8座位预约页面展示座位信息调用SeatController类seatList()方法,保存选中的座位用saveSeat()方法。取消预约的座位用cancelSeat()方法。(2)查看通知模块在学生用户查看通知信息的页面如图5.9所示,仅比管理员少了增删改的功能。调用seatList()方法来展示通知信息。图5.9通知查看页面
6系统测试6.1测试的目的与意义系统测试是在系统初步完成时,对每个功能模块的测试,保证每个功能模块都能正常运行,达到预期效果。在测试中出现的问题可以为系统的升级改进提供标准和参考。进而提高系统的健壮性,提高用户的体验。6.2管理员角色测试(1)管理员登陆测试,管理员的用户名为admin,密码也为admin,输入验证码4050,点击登陆按钮,如图6.1管理员登陆页面。图6.1管理员登陆页面(2)添加学生信息测试:进入学生信息管理页面,点击添加按钮,如图6.2添加学生信息页面,输入学生信息学号为2017105110119,姓名为潘潘,性别为男,生日设置为2000-04-01,电话邮,班级选择计算机科学与技术。图6.2添加学生信息页面点击保存按钮,会有保存成功提示如图6.3保存成功提示页面。图6.3保存成功提示页面添加学生信息成功之后在学生信息页面会有学生潘潘的信息,如图6.4所示查询学生信息页面。图6.4学生信息页面(3)添加通知信息测试:进入信息页面,点击左上角的添加按钮,标题输入欢迎使用图书馆座位如图6.5所示添加通知信息页面。图6.5添加通知信息页面点击保存按钮,会有保存成功提示,然后在通知信息页面会查看到新建的通知信息,如图6.6查看通知信息页面。图6.6查看通知信息页面6.3学生角色测试(1)学生登陆测试:在登陆页面输入用户名为学号2017105110119,密码为默认密码123456,验证码为6971,如图6.7所示学生登陆页面。图6.7学生登陆页面(2)选座模块测试:学生用户通过登陆验证后,可以进入图书馆座位预约系统,进入座位的预约。预约界面如下图6.8选座页面。图6.8选座页面绿色表示已选,黑色表示可选,红色表示用户自己。选择第一列第一排的座位,然后点击保存座位。会得到如图6.9成功预约的提升信息。图6.9预约成功提示页面点击取消占座按钮,会得取消此座位的预约,并得到取消成功的提示消息如下图6.10取消预约成功页面。图6.10取消预约成功页面6.4密码修改测试点击修改密码,修改密码的页面会出现如下图6.11修改密码页面,将学生用户2017105110119的默认密码改为zxcvbnm,点击保存按钮。图6.11修改密码页面修改密码成功时如图6.12修改成功提示页面。图6.12修改成功提示页面6.5退出系统测试点击左侧菜单栏最下面的安全退出按钮,会得到如下图提示,点击确定即可退出本系统如图6.13退出系统提示页面,并且自动返回到登陆页面。图6.13退出系统提示页面
7总结本文通过分析当下图书馆座位使用一些实际问题,例如现场预约时人多需排队的问题,预约机制欠缺有长时间占位而不入座的问题,现场刷卡预约需要大量刷卡机的经济问题等。通过对上述问题的分析,提出了一套基于B/S架构的线上图书馆座位预约系统。改变了传统的预约机制,将预约业务放到线上,大大减少了人力和财力。只需要在校内网的服务器部署好该系统,学生用户只需要登陆校园网,即可在线预约座位,不受空间限制,预约完成后直接入座即可。管理员只需要登陆该系统就可以管理座位和查看座位的预约情况,此外还添加了通知公告的功能模块,使管理员可以在线上发布通知信息,学生登陆后即可查看,方便了管理员与学生的沟通。但本系统任然有不足的地方,线上预约虽然大大方便了学生的预约途径,但如果只是在线上预约座位后,而不到图书馆入座,也是一种资源浪费。因此本系统需要同学们自觉按需预约,图书馆也可以建立预约后的检查机制。通过本课题的撰写,我更加熟练掌握了Java的基础知识和MySQL数据库的知识,熟悉了一些Java的框架结构。对Java的泛型和MySQL的事务特性有了更深层次的理解,对前端的一些设计模式也有了一定的新认识。通过本项目论文的撰写,让我更加了解了程序员的职责,一个好的程序员不仅仅是写出优质的代码,而且还要简化一些繁琐的业务流程,使系统更加人性化、更加简易。参考文献王彦,田文夫,冯晴.高校图书馆座位管理系统中预约系统的现状与实现[J].科技情报开发与经济,2013,23(14):12-14.林琴,王庆伟.基于JavaWeb的图书馆座位预约系统设计与实现[J].电脑知识与技术,2019,15(05):78-79.于素荣.高校图书馆预约座位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全隐患排查总结模版
- 医疗信息化中的数据加密技术与应用
- 医疗行业的数据治理与合规性管理
- 供水泥合同范例
- 区块链技术助力音乐人维护原创权益
- DeFi与NFT科技赋能重塑支付生态
- 低成本装修卖房合同范例
- 医疗信息化建设的未来趋势与挑战分析
- 医保业务与数字技术的深度融合实践案例分享
- 从用户需求出发-医学生类应用的优化与迭代趋势探讨
- 起重吊装作业安全管理培训
- 人工智能在药物研发中的辅助作用与潜力
- 2025届河北省石家庄第一中学高三下学期二模地理试题及答案
- 2025年山东省应急管理普法知识竞赛参考试题库大全-下(多选、判断题)
- 2024年山东开放大学招聘考试真题
- PSP问题解决流程分析
- 6.5 国家司法机关 课件-2024-2025学年统编版道德与法治八年级下册
- 语文-华大新高考联盟2025届高三3月教学质量测评试题+答案
- 低空经济行业分析报告
- 2025年安徽省C20教育联盟中考三模语文试题(含答案)
- 药品注册与生产作业指导书
评论
0/150
提交评论