基于J2EE的高职院校电子阅览室座位预约系统的研究
2022-08-12王新科
李 凯 王新科
(郑州职业技术学院软件工程系,河南 郑州 450000)
1 引言
近年来,随着我国对职业教育的重视程度越来越高,高职院校在校大学生的人数不断增加。为了更好地就提升自身的专业素质,获取更加专业、丰富的知识,学生不仅仅要努力掌握好课堂上的知识,还要充分利用学校电子阅览室获取更多专业外的知识。大学生的学习方式不同于以往,自学成为获取知识的主要模式,一个良好的学习环境能为学生的自主学习提供必要条件。电子阅览室可以提供比宿舍和教室更加安静的环境,并且有丰富的学习资源可供查阅使用。为此许多专升本及考各类证书的学生们纷纷前往电子阅览室学习。虽然当前各个高校的软硬件环境都在不断完善,但是许多高校电子阅览室的座位数量远远无法满足学生的需求。学生需要花大量的时间与精力去电子阅览室占座位,不文明占座也时有发生,使得电子阅览室座位的利用率大大降低[1]。针对此问题,本文设计开发了高职院校电子阅览室座位预约系统,旨在让电子阅览室座位的分配与使用更加合理,为学生提供更为便捷的座位预约方式。
2 需求分析
2.1 功能需求分析
在电子阅览室座位预约系统中,主要从登录管理、学生管理、座位预约管理、座位管理、公告管理、意见管理等功能进行分析。
(1)登录管理
只有被录入数据库的学生才能登录系统进行相关操作,学生使用自己的学号与密码登录系统,系统将会验证学生的信息是否存在。
(2)学生管理
管理员能对学生的信息进行操作,如录入信息、更新信息及删除信息等。
(3)座位预约管理
为了提高座位利用率,学生通过电子阅览室座位预约系统可以查看阅览室中所有座位的当前使用情况[2]。另外,学生能够提前一天预约阅览室的座位,预约某个座位上午、下午、晚上这三个时间段的使用。学生预约成功后,需要在预约时间前半小时内进行入座操作。如果学生没有在预约时间前进行入座,将会被系统视为违规,扣除相应的系统信誉分,并释放座位。学生预约成功并在规定时间内入座后,想要离开座位,可以主动退座,如果不主动进行退座操作,系统将在预约时间结束自动释放座位的使用权,但要求离座时间不得长于半个小时,否则也将扣除相应的信誉分。如果学生预约了座位但临时有事,可以对预约座位进行取消预约操作。另外,学生不能连续出现预约并撤销预约的情况,一月之内,有三次预约成功,但又取消预约,则视为恶意预约,扣除对应的信誉分数。
(4)通知与公告功能
管理员可发布电子阅览室的相关信息,学生可通过系统实时查阅发布的有关消息。
(5)意见反馈功能
为提供学生更好的阅读环境和学习环境,学生可以就电子阅览室环境或座位使用情况向管理员反映,管理员及时了解相关情况并进行处理。
(6)座位管理
管理员可以对电子阅览室座位的布局进行修改,如添加座位、标记故障座位等。
2.2 角色需求分析
系统主要针对在校的学生,用户角色分为普通用户(学生)和超级用户(管理员)两种用户角色。
(1)普通用户
学生是系统中的普通用户,通过账号与密码登录系统。学生登录系统后,可以查看所有座位的使用情况,座位的状态会根据不同的颜色进行反映。学生需要选择有空余时段的座位进行预约,预约成功后会进入预约记录界面,在这个界面上可以查看登录学生的所有预约记录,每一条预约记录都有相关的座位位置、预约时间、离开座位时间、预约状态等信息。在这里学生可以进行取消预约、入座、离座等操作。学生可以向管理员反映自己的意见,还能随时查看通知公告信息。
(2)超级用户
管理员可以实现对学生信息、座位信息、预约记录信息、意见信息、公告信息等进行操作。在学生信息管理中,管理员可以查看所有学生的详细信息,包括学号、姓名、密码、性别、联系电话、上一次违规时间、信誉积分等;录入新增的学生信息,在录入的过程会对输入的数据进行验证,判断格式是否正确等;对学生资料中出现错误或者变更的信息进行更新;对过期的学生资料进行删除。在预约记录管理中,管理员可以查看所有学生的所有预约记录,搜索不同状态或时间段的预约记录。在座位管理中,对座位信息进行管理以更改电子阅览室座位布局。在公告通知管理中,发布电子阅览室的相关信息,如阅览室近期举办的活动等。在意见反馈管理中,查阅学生的意见并根据实际情况进行反馈。
3 系统设计
3.1 总体功能设计
根据系统的功能需求分析,本系统的主要功能模块主要有:学生管理、座位管理、公告管理、意见管理及预约管理等。总体功能模块如图1所示。
图1 总体功能模块图
(1)学生管理模块
管理员能够对学生信息进行操作,如录入信息、更新信息、删除信息、查询信息等。学生的信息应尽可能地完善,如当学生有遗落物品时,可以通过查看学生预留的基本信息及时联系。
(2)座位管理模块
电子阅览室的座位会随学院的发展不断扩充和修整,由管理员对座位的整体分布情况进行更改,对有问题的座位进行标注,让学生能够及时查看座位的使用情况。
(3)公告管理模块
管理员可以在系统上发布电子阅览室的最新信息或者政策,如电子阅览室整修等信息。
(4)意见管理模块
若学生使用电子阅览室时,发现软硬件故障、座位损坏、违规占座、吵闹等情况时,可利用该功能向管理员反馈,使得管理员能够及时发现问题、解决问题。
(5)预约管理模块
该模块是电子阅览室座位预约系统的核心模块,主要有座位预约、空余座位查询、取消预约、确认入座、离开座位等功能[3]。
3.2 数据库设计
座位预约系统的实体包括学生、管理员、座位、预约记录、意见、公告。下面是具体的实体设计,在此主要给出学生实体和座位实体的属性实例图。
(1)学生实体
学生实体有学生ID、学号、姓名、密码、性别、联系电话、信誉积分、上一次违规时间八个属性,学生ID是该实体的主键。该实体属性如图2所示。
图2 学生实体属性图
(2)座位实体
公告实体主要有六个属性组成,分别为座位ID、座位编号、座位的状态、座位添加的时间、备注、座位被预约的时间段的标号,其中座位ID是该实体的主键。该实体属性如图3所示。
图3 座位实体属性图
学生实体与座位实体之间是多对多的关系,一个学生能够查看多个座位的信息,一个座位也能够被多个学生查看。管理员实体与座位实体之间是多对多的关系,一个管理员能够管理多个座位的信息,一个座位也能够被多个管理员管理。学生实体与预约记录实体之间是一对多的关系,一个学生能够有多条预约记录。管理员实体与预约记录实体之间是多对多的关系,一个管理员都能够查看多条预约记录,一条预约记录也能被多个管理员查看。学生实体与意见实体之间是一对多的关系,一个学生可以发布多条意见。管理员实体与意见实体之间是多对多的关系,一个管理员可以查看多条意见,一条意见信息也能被多个管理员查看。学生实体与公告实体之间是多对多的关系,一个学生能够查看多条公告信息,一条公告信息也能被多个学生查看。管理员实体与公告实体之间是一对多的关系,每个管理员都能够发布多条公告信息。总体实体联系图如图2所示。
图4 实例E-R图
根据电子阅览室座位预约系统的实体对数据库进行设计分析[4],主要涉及的数据表有:普通用户表(user)、管理员信息表(super)、座位表(seat)、预约表(order)、公告表(notice)、意见表(opinion)。
普通用户表(user)主要用来存储学生的相关信息,见表1。
表1 普通用户信息表
管理员信息表(Super)主要用来存储系统管理人员的基本信息,一般是电子阅览室的管理老师,见表2。
表2 管理员信息表
座位表(seat)主要是用来存储座位的信息,见表3。
表3 座位信息表
预约表(orders)主要用来存储普通用户的预约记录信息,见表4。
表4 预约记录信息表
公告通知表(notice)主要用来公告通知的信息,见表5。
表5 公告通知信息表
意见表(opinion)主要用来存储学生意见的信息,见表6。
表6 意见信息表
4 系统实现
系统开发平台采用MyEclipse10,使用MySQL作为数据库管理系统,后台使用Java 语言。前台使用HTML5、CSS3、Ajax、JQuery、Javascript 等技术,以及bootstrap 响应式框架,实现页面内容随浏览器大小而变动。
预约管理模块是整个系统的核心,重点对此模块进行分析。学生进入预约管理界面后,通过观察座位的图形列表,查看座位的分布情况、使用情况。其中,根据座位标识的颜色来确定座位的状态,蓝色座位:空余且完好的座位;黄色:被预约的座位;绿色:已经入座的座位;灰色:故障的座位。每个座位都有“1~6”这6 个时间段,代表从8:00~20:00,每两个小时为一个标段,例如1代表“8:00~10:00”,依次类推。当某一个时间段被预约了,该时间段按钮将显示“已约”,并且不能再被选择。这是通过获取座位数据表中的座位被预约时间段序号,然后使用JSP 标签中的
另外,学生在选择时间和座位后将选中的数据填入表单中,点击下方提交表单时会进行判断,首先是信誉积分的判断,在获取登录学生的信誉积分后,判断信誉积分为0分时,则不能预约座位。每个月的1号,系统会将所有学生的信誉分重置为6分,每次违约扣2分。学生成功预约后,可以在预约开始时间之前随时取消预约,则不算违约。到达预约时间后,学生可以对座位进行入座操作。预约管理座位界面如图2所示。
图5 预约座位管理界面
核心代码如下所示:
5 结语
本文从需求分析、系统设计和系统实现三个方面分析了高职院校电子阅览室座位预约系统的设计。电子阅览室的座位紧张一直各高校普遍面临的问题,但由于经费和场所限制,高校不能随意扩充相关设施。通过本系统可以有效提高座位的利用率,为学生营造更好的学习条件。