基于开源框架Flask快速构建实验室预约系统

时间:2022-08-05 09:14:29

基于开源框架Flask快速构建实验室预约系统

摘要:根据实验室管理需求,该文开发一个基于开源软件的实验室预约系统。该系统的Web服务器采用稳定可靠的nginx,Web应用采用基于Python语言的Flask微框架,具有小巧易扩展的特点。数据库采用SQLite/postgreSQL,前端框架使用Bootstrap。该系统主要分为管理员模块和申请模块两种身份功能模块。在管理模块中,管理员的任务是维护管理信息;在申请模块中,申请人根据实验室空闲时间段进行预约,通过表单提交数据,并将预约详情返回于申请人。若申请人取消预约,则可以直接点击取消按钮。使用该系统,申请人不必亲自到实验管理员办公室办理预约手续,使得实验时间安排更加灵活、自主,同时降低了实验管理人员的劳动强度,提高了实验室利用率。

关键词:实验室管理;预约系统;Python;Flask框架

中图分类号:TP315 文献标识码:A 文章编号:1009-3044(2016)10-0077-02

1 概述

实验室是高校的重要组成部分,实验室信息化能够提高资源利用率和共享程度,它对深化教育改革和培养创新人才意义深远[1-3]。实验教学是高等院校教学中一个相当重要的教学环节,在整个教学过程中起到不可替代的作用[4]。如何充分利用实验室有限的教学资源,有效地提高实验室的利用率,成为实验室管理中亟待解决的一个重要问题[5]。

实验教学要求实验安排更为灵活,需要一个与实验室实际需求相适应的、现代化的实验管理手段[6-9]。将互联网应用于实验室管理,较之现有的非移动实验室管理有着不可比拟的优势。在这种情形下,开发一个基于Internet的实验室预约系统显得非常必要。

2系统设计

2.1系统需求分析

高校实验室的预约普遍采用人工方式。学生或者教师通过电话问询实验室空闲情况后进行预约,管理员将预约结果手动记录在借用申请表中,这种方式准确性低、不利于查询[10];有时学生去管理员办公室借用实验室,会出现预借用的时间段已经被预约的情况[11]。因此,需要开发一套实验室预约系统来完善实验室的使用。

2.2设计思路

本文利用Python的Flask框架,搭建实验室预约系统。实验管理员在系统上实验室空闲时间段,申请人采用网上申请的形式进行预约。

本文采用类似于淘宝购物的思路,将商品目录对应于实验室名称列表;商品订购对应于实验室空闲时间段;加入购物车这一操作对应于预约某一个时间段;购物清单对应于预约实验室的多个时间段;结账明细对应于申请人预约信息详情。

对申请人而言,实验室预约过程类似于商品订购。但是,不同于淘宝购物的是:实验室某个空闲时间段是唯一的,只允许预约一次。本文采用“先到先得”的原则来决定预约结果,即假设预约系统显示区有实验室1星期一第1节,那么代表着这个时间段是空闲的,目前没有被任何人预约,此时若申请预约这个时间,那么会立即弹出预约成功信息,不必等待管理人员审核。管理员可以根据预约情况取消无效的预约。考虑到学生实验主要以教师为引导,所以学生预约实验室的几率小[12]。

2.3数据库结构设计

该系统共设计了3个表,分别为注册信息表(users)、实验室信息表(rooms)和预约信息表(reservations)。其中,登录信息表中包含了教师的信息(ID、姓名、邮箱和密码)。实验室信息表(rooms)是实验管理员的可以预约的实验室信息(ID、实验室名字和描述)。预约信息表(reservations)包含了已经预约的实验室信息(日期、节数、申请人和实验室ID)。

2.4功能设计

基于B/S下的实验室预约,在浏览器端完成实验室预约申请,其中涉及的功能有查看实验室空闲信息、预约申请和查看预约结果[13]。

若申请人预约金融实训平台某个时间段,则点击预约,查看实验室空闲时间段。假设上午有5节课,分别是第1、2、3、4、5节;下午有4节课,分别是第6、7、8、9节;晚上有3节课,分别是第10、11、12节。如图2。根据需求预约相应的时间段。

在图2中,深色表示可预约,浅色表示有课或者已预约。假设申请人需要预约2016年3月19日下午第6、7、8节,那么点击“可预约”,弹出登录对话框。若无账号,则需先注册。若登录成功,则可以进入预约界面,如图3:

申请人输入预约开始的节数6和结束的节数8,点击预约,弹出预约信息详情,查看我的预约记录,如图4:

3展望与结束语

本文开发的预约系统基于目前国外开发极为活跃,使用相当普遍的开源框架。Web应用基于Python语言的Flask微框架,具有跨平台,轻量,易扩展的特性。该预约系统使用了大量现成的Flask扩展插件,不仅加速了系统开发的进度,而且大大提高了系统实现的安全性与稳定性。

预约实验室需要注意几个问题:避免“人满为患”现象,每个实验室的仪器设备数量是一定的,在预约时要考察人数是否已经饱和[14]。若同一实验室同一时段被多个老师预约,那么实验管理员根据预约信誉[15](即以往预约的可靠性、按时使用实验室的概率)的高低来决定本次借用实验室的优先级的高低。引入预约信誉这一机制,能够有效地解决实验室常常出现的“人满为患”和“门庭罗雀”现象。目前,该系统仅允许教师预约,在今后的努力中,需要考虑学生预约以及预约人数是否饱和问题,进一步完善实验室预约系统。

参考文献:

[1] 习晓远,庞敬轩.校园网络下的实验室网络化管理系统[J].实验室研究与探索,2006,25(4):87-88,95.

[2] 潘信吉.高校实验室开放管理系统的研究与应用[J].实验室研究与探索,2009,28(9):143-145,154.

[3] 海涛,王钧.王佳亮基于物联网的高校实验室信息化管理技术[J].实验室研究与探索,2012,31(9):166-169.

[4] 马蓉晖,冯素琴.开放实验室预约系统的设计与实现[J].电脑知识与技术,2010,31(6):8792-8794.

[5] 刘文红.开放式实验室预约管理系统的开发[D].石家庄:河北科技大学,2014.

[6] 毕海霞, 张艳蕊.自主创新开放实验室预约管理系统的设计和实践[J].实验室研究与探索,2015,34(3):162-163,167.

[7] 刘长宏,张恒庆.大学生实践与创新能力培养体系的研究与实践[J].实验室研究与探索,2006,25(5):55-554.

[8] 宋凤莲,巫世晶,刘梅清.自主创新工程训练教学模式的构建[J].实验室研究与探索,2008,27(2):113-115.

[9] 黄凤爱,蒋永平,蒋姣丽,等.基于 Web 的实验室在线预约系统[J].中国现代教育装备,2008(8):52-54.

[12] 沈军,胡晓峰.基于 的实验室预约系统的设计与开发[J].价值工程,2010(34):192-193.

[13] 金一峰.上财浙院实验室管理系统分析与设计[D].昆明:云南大学,2015.

[14] 许又泉,李仁发,苏立珍.基于WEB的开放式实验室管理系统的设计与实现[J].实验室研究与探索,2007,26(3):64-66,92.

[15] 罗咏梅,金志刚.基于二维码和新媒体的实验室预约签到与精细化管理[J].实验室研究与探索,2015,34(9):98-102.

上一篇:不停电跨越技术在电力施工中的应用探析 下一篇:浅析中国狮子雕刻艺术