基于B/S的高校实验室预约管理系统设计与实现

2024-06-03 02:22:12李丹
现代信息科技 2024年5期
关键词:MySQL数据库S结构

收稿日期:2023-08-10

基金项目:华中科技大学实验技术研究项目(HUST-syjsyj-2022077)

DOI:10.19850/j.cnki.2096-4706.2024.05.007

摘  要:为了实现实验室管理信息化,更好地为师生服务,文章设计并开发一套高校实验室预约管理系统。该系统是基于B/S结构,采用Vue视图框架、Nginx服务器及MySQL数据库构建而成的;支持专业实验室、教室和会议室的预约管理;入口对接华中科技大学统一身份认证系统,在校师生可直接使用已有的统一身份认证系统账号密码登录系统。用户可通过浏览器完成在线预约、预约查询、预约管理和数据统计等功能。该系统的应用提高了实验室管理的规范性和信息化程度。

关键词:预约管理;实验室信息化;B/S结构;MySQL数据库

中图分类号:TP311    文献标识码:A  文章编号:2096-4706(2024)05-0031-05

Design and Implementation of Appointment Management System for

University Laboratory Based on B/S

LI Dan

(School of Medicine and Health Management, Huazhong University of Science and Technology, Wuhan  430030, China)

Abstract: In order to achieve informatization in laboratory management and better serve teachers and students, this paper designs and develops a set of appointment management system for university laboratory. The system is based on the B/S structure, constructed using the Vue view framework, Nginx server, and MySQL database. It supports the appointment management of professional laboratories, classrooms and conference rooms. The entrance of it is connected to the unified identity authentication system of Huazhong University of Science and Technology, and teachers and students can directly use the existing unified identity authentication system account and password to log in the system. Users can complete functions such as online appointment, appointment query, appointment management, and data statistics through the browser. The application of this system has improved the standardization and informatization level of laboratory management.

Keywords: appointment management; laboratory informatization; B/S structure; MySQL database

0  引  言

高校实验室是进行实践教学和科学研究的重要场所[1],承擔着人才培养、科研攻关和文化传播等重要任务,在当前“双一流”建设中,已成为各高校教学与科研建设的重中之重[2]。实验室不仅为众多课程和学生提供服务,同时还为部分教师的科研应用提供服务[3]。目前高校普遍存在实验室场地资源紧张,专业实验室、教室和会议室数量有限的问题,而传统实验室场地管理主要依靠人工完成,师生需要找实验室管理员进行手动登记预约,这种基于人工的管理模式使得实验室管理员工作烦琐、效率低下,并且存在容易出错和不利于快速查询统计等问题[4]。此外,由于基于人工的管理模式信息化程度低,信息维护依靠纸质登记和电子表格记录,师生无法及时便捷地获知实验室实时使用情况,导致部分场地空闲率较高,实验室资源难以得到充分利用。目前,虽然有一些成熟的预约管理系统,但大部分都是专门针对会议室预约或者专业实验室预约,而将专业实验室、教室和会议室纳入同一个系统统一管理的尚不多见。基于这一背景,本文设计开发了一套基于B/S结构的高校实验室预约管理系统,实现实验中心专业实验室、教室和会议室预约的统一管理。

1  系统架构设计

实验室预约管理系统采用B/S结构,用户端是标准的浏览器,服务器端是标准的Web服务器,系统的维护工作主要集中在服务器上,可以有效节约开发时间大大提高系统开发效率[5]。系统采用经典的三层结构设计模式,由用户表示层、业务逻辑层和数据访问层组成,其系统架构如图1所示。

图1  系统架构图

1)表示层是用户与预约管理系统直接交互的界面,用户通过Web网页访问系统,系统通过表示层接收用户输入的数据并传输给业务逻辑层,同时将后台数据通过表示层展示给用户。

2)业务逻辑层是系统架构中最核心的部分,是数据访问层与表示层的桥梁,实现三层之间的数据连接和指令传达,它主要关注业务规则的制定和业务流程的实现。系统业务规则由实验中心管理人员制定,主要包括不同类型场地的预约是否需要审核、场地是否支持多人同时预约等;业务流程则是根据业务规则确定业务在系统中的具体扭转步骤。系统业务逻辑层中预约管理和场地管理两个模块实现了系统的核心业务;用户管理和会话管理则实现系统登录、会话和权限管理等功能。

系统对接了统一身份认证平台,统一身份认证是指不同的业务系统通过一个认证系统验证用户身份,在各信息系统有访问权限的前提下,用户凭借一个账号密码就可以登录不同的信息系统[6]。为方便在校师生使用,本预约管理系统入口对接了华中科技大学统一身份认证系统,师生无须重新注册,可直接使用已有的统一身份认证系统账号密码进行身份认证。认证通过后,系统可根据统一身份认证接口自动获取用户姓名和学号等信息。

3)数据访问层是对原始数据的操作层,主要负责系统数据库的访问,实现对数据表的操作,为系统的业务逻辑处理提供数据访问支撑[7]。系统主要处理两类数据:一是预约管理相关的数据,包括预约地点、时间等;二是用户身份数据,既包括与学校统一身份认证系统对接获取的校内用户信息,还包括通过系统注册登记的用户信息。

2  系统数据库设计

系统采用MySQL数据库。MySQL是在Web应用方面最好的关系型数据库管理系统之一,具有快速、可靠、跨平台、使用成本低,并且源码开放等优点[8],被广泛应用于Web系统开发。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,加快了速度并提高了灵活性[9]。预约管理系统数据库表结构如图2所示,主要涉及六张数据表:场地表、用户表、预约信息表、预约审核表、课程表和课程时间表。

1)场地表,用来维护预约系统管理的场地信息,可通过在场地表中新增或删除场地数据记录以灵活调整系统管理的场地。系统支持对专业实验室、教室和会议室三种不同类型的场地进行管理,并且针对不同类型场地制定了相应预约规则。

2)用户表,主要记录通过预约系统注册的用户个人信息,包括登录名、登录密码和姓名等;同时还记录了用户角色类型,不同的角色登录系统会分配不同的操作权限,分为超级管理员、普通管理员和普通用户三类。此外,还记录了用户错误登录次数,当错误登录次数超过系统设置的指定次数时,系统会锁定该用户,在系统设置的指定时长后才能再次尝试登录。

3)预约信息表,主要记录系统的预约信息,当用户提交新的预约信息时,就会在预约信息表中生成一条预约记录。预约信息表是场地使用情况统计的数据源,根据不同的选项筛选,可以得到不同条件下的统计数据表。

4)预约审核表,记录管理员预约审核的操作记录。

5)课程表,对于教室和教学实验室,最重要的用途是满足学校教学需求,根据教学计划完成授课任务。学校教务处会在每学期末制订下学期教学计划,根据教学安排,将课表信息导入课程表,并通过调用转预约函数,将课表数据写入预约信息表,完成教室场地的预定。在无课程占用的空闲时段,教室可对师生开放预约。

6)课程时间表,由于学校作息时间表分为夏季作息和冬季作息,兩种作息时间表中同一节次对应具体时间点不同,如华中科技大学夏季作息第五节课上课时间为14:00,而冬季作息第五节课上课时间为14:30。课程时间表记录了第1-12节课在夏季作息和冬季作息时间表中分别对应的上课时间和下课时间,以便系统根据具体季节自动调整课程预定时间段。

3  系统功能设计

实验室预约管理系统的服务对象主要有普通用户、管理员和超级管理员。管理员主要负责预约审批、场地管理和普通用户管理,还可对预约记录数据进行条件查询、统计和导出;超级管理员则主要实现对普通管理员和用户的权限管理。系统的功能模块如图3所示,包含六大功能模块:用户管理、场地管理、预约查询与申请、我的预约、预约管理和数据统计。

1)用户管理。预约管理系统完成了与华中科技大学统一身份认证系统的对接,校内师生使用已有的统一身份认证系统账号和密码即可直接登录;学校兼职导师、兼职教师、聘用人员和临时人员等没有统一身份认证系统账号的用户可通过注册预约系统内部账号在专用入口登录系统。

系统管理员可在后台进行新增用户信息、变更角色类型、删除用户和修改密码等操作。管理员除了可以逐条新增用户信息,当新增用户数量较大时,还可以通过Excel文件批量导入用户信息。

2)场地管理。系统支持管理的场地类型分为专业实验室、教室和会议室三种。根据实际场地情况,管理员可新增和删除场地信息,系统会根据数据库中的实时数据,动态地展示当前管理的场地。系统场地管理灵活,可适用于不同实验室推广使用。

3)预约查询与申请。预约查询与申请是系统的核心功能模块,其业务流程如图4所示。根据实际应用场景中是否支持多用户同时预约,可将系统支持管理的场地分为两类:一是专业实验室,二是教室和会议室。华中科技大学卫生管理信息实验中心的专业实验室主要是不同应用场景下带电脑机位的机房,开放专业实验室预约时根据剩余可用机位数进行预约,支持多用户预约同一时间段不同的机位;教室和会议室主要用于课堂教学和会议,同一时间段仅能一名用户预约使用。

图4  预约申请流程图

用户在查询各场地预约情况时,支持按日期查询,显示系统管理的所有场地某一天的预约情况;也可按指定场地查询,显示该场地某一周的预约情况。专业实验室查询结果以列表形式展示不同时间段已预约人数和可预约总人数。

在申请预约时,如果是申请预约教室或会议室,为提高场地利用率,用户填写提交预约信息后,在预约不冲突的情况下,无须审核即预约成功;如果是申请预约专业实验室,因为涉及实验准备工作,提交预约信息后还需等待系统管理员审核。

4)我的预约。“我的预约”菜单显示用户本人的预约记录和预约审批状态,预约状态有待审核、预约成功和审核驳回三种。用户可以修改、删除未来时间段的预约信息,历史预约记录不允许修改。

5)预约管理。管理员可以查看所有预约记录,对用户提交的预约申请进行审核。审核结果有审核通过和审核驳回两种,若驳回审核,需要填写驳回原因。还可以新增和删除预约记录,在新增预约时,既可以逐条新增,也可以通过Excel文件批量导入。

对于需要承担教学任务的场所,包括教室和专业实验室,支持导入课表文件,系统自动将课表数据转换为批量预定教室,这样就可以实现一键完成整个学期课程的教室预定,而无须逐条操作。

6)数据统计。管理员可查询所有的用户信息和预约记录,并根据筛选条件批量导出查询结果。系统支持的筛选条件包括导出日期范围、场地类型、场地名称和审核状态。导出的数据列表包含场地名、场地类型、预约日期、预约起始时间、预约结束时间、预约事由、预约人和使用时长等信息。

通过导出的预约数据可对专业实验室、教室和会议室的使用情况进行统计分析,找出各场所的集中使用时间段,提前进行设备检查;而在不常使用时间段,则可安排实验室维护工作。此外,可定期导出报表,实现实验工作量的信息化管理。

4  系统实现

4.1  关键技术

本系统是一个基于B/S结构的Web应用程序,前后端完全分离。系统前端对应于系统架构中的表示层,是用户与系统直接交互的界面。前端页面是基于Vue视图框架进行开发的,它是一款基于标准HTML、CSS和JavaScript构建的用于开发者高效构建用户界面的框架,具有框架简单灵活、低耦合、第三方UI库丰富和易于开发和维护等优点[10]。

服务器端采用的是基于Linux系统的Node.js+

Nginx+MySQL+Redis技术栈。因为系统可能出现大量用户同时使用系统的高并发问题,采用适合高并发的Node.js框架,它是系统核心框架,拥有庞大的开源生态系统,并且其采用的基于事件的异步I/O模型,非常适合处理I/O密集型的业务[11];Nginx是一个高性能Web服务器,具有稳定性高、功能集丰富和系统资源消耗低等显著优点;MySQL是一款关系型数据库管理系统,用来存储系统中的关系型数据;采用Redis缓存,将一些不经常改变但又经常访问的数据常驻内存中,并在内存中完成对数据的操作,从而提高访问效率[12]。

4.2  系统运行的主要界面

如前文所述,系统支持两类场地的预约管理:一是教室和会议室,二是专业实验室。图5和图6展示了两类场地的查询页面,图5是教室和会议室预约情况查询页面,用户可以直观看到各教室和会议室的预约情况,并且课程占用和会议占用使用不同颜色进行了区分展示。图6是专业实验室预约情况查询页面,由于实验室支持多用户同时预约,展示的是可用机位总数和已预定机位数。

图7和图8是两类场地的预约申请页面,主要区别在于教室和会议室预约申请时需要指定具体开始时间和结束时间,而实验室则是按照上午、下午和晚上进行整时间段预约。

图7  教室和会议室预约申请页面

图8  专业实验室预约申请页面

5  结  论

本文研究開发了基于B/S结构的高校实验室预约管理系统,充分考虑专业实验室、教室和会议室等不同类型场地的具体使用场景,制定不同预约规则,提高了实验室的利用率和开放性。通过本系统实现实验室场地的信息化管理,相较传统人工管理模式,提升了师生使用的便利性,降低了实验室管理与维护成本,大大提高实验室管理水平。系统场地管理功能灵活,适用于同类型实验室,具有很高的推广使用价值;也可根据不同需求,调整和完善系统功能,对于其他实验室管理系统开发具有一定的借鉴意义。

参考文献:

[1] 邱坤,顾亦然,魏莉.高校文科实验室信息化管理系统的探究 [J].实验技术与管理,2019,36(8):260-262.

[2] 龙海洋,夏彬伟,姜永东,等.实验室管理平台的建设与实践 [J].实验室研究与探索,2021,40(10):252-255.

[3] 刘高君,郑舸.机械类开放实验室信息管理系统应用研究 [J].实验技术与管理,2020,37(7):254-256.

[4] 吴浩,孙毅超,柳淑学.基于B/S模式的实验室设备管理系统的设计与实现 [J].实验技术与管理,2019,36(7):270-273.

[5] 李凯,毛文卉,张裕娇,等.基于B/S结构的高校教师个人主页系统建设 [J].中国教育信息化,2019(1):93-96.

[6] 彭勇,黄剑华,王喆,等.分布式协同统一身份认证平台的设计与实现 [J].软件工程,2020,23(10):52-54+41.

[7] 刘一丹,陈立,李娜.高校访客车辆预约管理系统设计与实现 [J].中国教育信息化,2020(7):58-62.

[8] 闫宗一,任德均,李鑫,等.基于B/S架构的图像处理深度学习平台设计 [J].现代电子技术,2022,45(16):60-66.

[9] 古晓艳,夏志强.基于二维码的高校教学设备管理系统的设计与实现 [J].计算机科学,2017,44(S1):523-525+556.

[10] 刘晓.一种基于Vue的云管理平台前端优化方法 [J].冶金自动化,2022,46(S1):214-218.

[11] 王雪,焦乾明.基于B/S结构的实验预约管理系统研究 [J].实验室科学,2021,24(2):212-216.

[12] 甘一鸣,李东鑫,王徽.基于Redis的潜艇部队训练信息管理系统设计 [J].现代电子技术,2022,45(16):99-102.

作者简介:李丹(1991—),女,汉族,湖北武汉人,工程师,硕士研究生,研究方向:实验室信息化、计算机技术与应用。

猜你喜欢
MySQL数据库S结构
基于android的脸部识别校园服务APP的研究与开发
Linux负载度量
充电桩状态实时监控系统与C/S框架设计
基于Java的BBS开发
基于PHP的发印管理系统的实现
基于Java的网上商城开发
基于B/S结构的通信部队训练管理系统的设计研究
基于B/S结构的高校毕业设计选题系统的设计与实现
大学教育(2016年1期)2016-01-19 07:34:50
改进的SSH框架技术在医药管理系统中的研究及应用
基于PHP技术网上纪念园的设计与实现