开放实验室网上预约平台的设计与实现

2018-04-02 05:10朱小娟
周口师范学院学报 2018年2期
关键词:系统管理员实验报告实验室

朱小娟

(安徽国防科技职业学院 信息技术学院,安徽 六安 237011)

目前,许多高校实验室预约的管理方式大多采用手工方式进行,教师或学生通过填写纸质申请表,然后逐级审核签字后交给实验室管理人员方可使用实验室.同时,由于实验室管理人员缺少有效的途径来及时发布实验室动态的预约使用信息,从而导致实验室的利用率一直很低.这样的管理方式给管理人员和预约用户都带来了很多不便.在当前“互联网+”时代,校园有线网络和无线网络已经覆盖办公室、教室、图书馆、宿舍等场所.通过互联网相关技术,采用网上的实验室预约系统,任何用户在任何时间、任何地点都可以及时查看实验室的占用情况,随时随地地提交实验室预约信息,在实验室使用完毕后可以直接在网上提交实验室使用记录.这种信息化的管理方式将大大提高实验室的管理水平和工作效率,因此本文基于当前流行的PHP技术和MySql技术设计实现一个通用的开放实验室网上预约平台.

1 相关技术介绍

1.1 Apache服务器技术

Apache是目前比较流行的服务器软件.它可跨平台且安全性比较高,使用起来也相对简单,即使初次使用也能快速上手,同时它和PHP语言、MySql数据库又是比较好的组合,因此本文中选择Apache服务器技术来实现本系统.

1.2 MySql数据库

MySql是目前软件开发中常用的数据库之一.因为其开源且运行速度快、体积小等优点而受到越来越多的开发人员的青睐.同时,Apache、PHP、MySql三者是很好的组合,因此选择使用MySql数据库作为本系统的数据库.

1.3 PHP语言

PHP是一种服务器端脚本语言,它集合了许多种语言的优点,且能够支持多种数据库和操作系统,其语法相对简单易学,开发人员可以快速地组织搭建一个动态网页.

2 系统与功能需求分析

2.1 系统需求分析

用例视图定义了系统的一些基本功能,系统的功能建模一般采用用例视图进行实现.

根据系统需求分析,本系统的设计与实现主要包括三种用户的用例图:学生用户的用例图如图1所示,预约平台的管理员用例图如图2所示,教师用户的用例图如图3所示.

2.2 功能需求分析

功能需求分析主要是来确定系统中所要实现的功能,明确系统开发的目标.开放实验室网上预约平台的设计与实现主要包含学生、教师、系统管理员三种用户,需分别实现以下功能:

图1 学生用例图

图2 系统管理员用例图

图3 教师用例图

1)学生用户 学生登录预约平台可以申请预约、查询预约状态、查看通知公告、查看实验室预约记录、修改个人信息.

2)教师用户 教师登录预约平台可以申请预约、审核预约学生信息、查询预约状态、发布实验项目、查看通知公告、查看实验室预约记录、修改个人信息.

3)系统管理员 实验室的系统管理员进入后台可以查看学校实验室的基本信息、可以对用户信息进行管理、审核用户的实验室预约的信息、查看实验室使用的记录、管理通知公告等.

通过以上分析,开放实验室网上预约平台的功能模块图如图4所示,从系统管理的功能角度进行描绘软件的层次结构,它的每一个矩形框代表的是一个模块,每个方框之间的连线代表的是层次关系.

3 数据库设计

3.1 数据库概念的设计

开放实验室网上预约平台的设计与实现主要采用E-R图方式对数据库的概念进行设计,通过E-R图将分析出各个实体关系,使它们之间的关系更加清晰.

图4 系统功能模块图

3.2 数据库逻辑结构设计

根据上述系统功能分析来设计系统存储所需的数据库,在本系统中主要包含9张数据表,分别为用户表(userInfo)、管理员信息表(adminInfo)、预约申请表(labApply)、实验室信息表(labInfo)、通知公告表(newsInfo)、用户角色表(userRole)、实验报告表(reportInfo)、院系表(depInfo)、实验室类别表(labCate).数据库设计表具体描述如下:

1)通知公告表newsInfo(newsID, newsTitle,newsContent, newsEditor, newsDate,newsClick,newsFrom)用来存储实验室发布的公告信息,其中newID为主键.

2)用户表userInfo(userID,userName, userPhone,userRole, userDepart,userPwd, userNum,userAdd)用来存储用户注册的信息,其中userID为主键.

3)用户角色表userRole(userID,userName,userRole)用来存储不同用户角色,其中roleID是这个表里的主键.

4)实验室信息表labInfo(labID,labPerson,labaddDate,xbid,sjid)用来存储实验室的基本信息,其中labID为主键.

5)预约申请表labApply(applyID, applyPerson, applyPhone, applyTime, applyJieCi, applyState, applyNum, applyRole, applyAdd, applyJs, applyInfo)用来存储用户的预约信息,其中applyID为主键.

6)实验报告表reportInfo(syID,syTitle,syPeople,syAddtime,syEndtime)用来存储教师用户发布的实验报告的信息,其中syID为主键.

7)系统管理员表adminInfo(adminID, adminName, adminPhone,adminSalt,adminPwd,adminAddDate)用来存储系统管理员的基本信息,其中adminID为主键.

8)实验室类别表labCate(sid,jsname,sxid)用来存储实验室名称和实验室的id编号,其中sid为主键.

9)院系表depInfo(xid,xbname,xkey)用来存储所有院系名称和实验室的id编号,其中xid为主键.

图5 实验室预约管理E-R图

4 系统详细设计与实现

4.1 公共类的设计

为了便于软件的复用和提高代码的可维护性,在软件项目的开发阶段需设计一些公共的模块,主要包含数据库的连接、数据库的基本操作以及一些其他公共方法.在本次项目实施中对数据库的相关操作进行了封装,表1是DB类中的属性和方法的介绍.

表1 DB类的属性和方法

4.2 用户注册功能模块

用户注册模块通过POST方式获取form表单中用户填写的注册信息.在用户填完表单信息后,点击注册的按钮提交数据时,首先对用户输入的验证码进行验证,如果验证码填写不正确会给出提示信息,其次对用户输入的电话号码格式和密码长度等进行验证,这种匹配方式的检验主要借助正则表达式来实现.此外,为了保证用户名的唯一性,在添加用户之前首先查询用户表中是否已经存在相同的用户名,如果此时用户名在数据库里面已经存在,系统则给出相应的信息“您的用户名已经被注册,请更换用户名重新注册”.如果用户名不存在则将用户注册的信息插入到userInfo表中,注册成功后系统会进入登录页面.

4.3 用户登录功能模块

用户按要求输入账号、密码信息进行登录,单击登录按钮后根据用户输入的用户名和密码在用户表userInfo中进行查询,如果用户所输入的用户名和密码不存在,则提醒“用户不存在或密码错误”;若用户的名称和密码输入正确,系统会将用户的信息保存在session中,然后在其他页面根据session中保存的信息进行判断,以便于跳转到不同的个人中心页面.

4.4 普通用户功能模块

普通用户(教师或学生)登录开放实验室网上预约平台后,页面跳转到个人中心页面,用户可以对自己的信息进行完善,也可以修改自己的密码等,还可以查看实验室的通知公告、预约的最新消息、实验报告等内容.

1)查看通知公告 在开放实验室网上预约平台的前台首页无论是教师用户、学生用户、管理员或者游客都可以查看系统管理员最新发布的实验室通知公告,以便于用户及时了解实验室的动态信息.

2)浏览实验室最新预约情况 在系统首页可以实时动态展示实验室当前的预约信息,最新预约情况展示了预约人的姓名、实验室的名称、实验室的预约时间、预约节次以及提交时间等信息,如果预约人临时有事放弃使用实验室,则便于其他预约人及时了解信息,充分提高实验室的利用率.

3)浏览实验报告内容 学生用户在前台首页可以浏览教师最近发布的实验报告题目,每次实验报告设置有截止时间,这样可以指导学生有目的地进行实验室预约,在实验结束后学生可以在线提交实验报告,以便于教师及时掌握学生实验完成情况.

4)个人信息管理 用户成功登录后系统跳转到个人中心页面,首先完善自己的个人信息,学生和教师用户都可以对自己的资料进行修改,同时也包含查看实验室预约记录、修改密码,教师用户除此以上功能外还增加了对学生实验室预约审核、发布实验报告、管理实验报告等功能,教师用户只能审核选择了自己发布的实验的学生用户提交的实验室预约信息.

5)进行实验室预约 该模块允许教师和学生用户进行实验室的预约申请.在预约时首先根据Session中保存的数据判断用户是否登录,未登录的用户无法对实验室进行预约,用户登录系统后方可进行实验室的预约申请.用户选择所要预约的实验室、使用日期、实验人数等信息后提交预约申请.该功能的实行首先通过POST方式获取用户提交的数据,然后借助封装好的DB类,将用户数据通过insert语句添加到预约申请表labApply中.

6)教师用户对学生实验室预约进行审核 该模块是针对教师用户的,学生用户没有此功能.教师用户登录平台进入个人中心页面,可以对学生的预约信息进行审核,审核功能主要是通过设置标志位来实现.但是教师不能对学生的预约信息进行删除等操作,只有系统管理员有权限对用户预约信息进行删除等操作.

7)教师用户发布实验报告 该模块是针对教师用户进行设计的功能,教师用户在个人中心页面可以发布实验报告,对实验报告进行编辑等操作,实验报告发布后在前台首页显示,主要展示实验标题、实验报告详细内容、发布人、发布实验报告的时间、上交时间等信息.通过实验报告模块学生可以在教师指导下进行课外实验,帮助学生更好地完成实验,取得更好的实验效果.

4.5 网站后台功能模块

开放实验室网上预约平台的后台功能模块只有系统管理员可以使用,需要首先进行登录验证,具体功能的实现如下.

4.5.1实验室的预约审核模块

在实验室预约审核模块,首先通过select语句对labApply表、labInfo表进行连接查询,显示当前所有预约信息的状态.labInfo表中yuyueState字段为0,表示未审核,1表示审核通过,2表示审核未通过,默认状态下,yuyueState字段为0,通过select语句查询,用where条件筛选出未审核的用户预约信息.在审核过程中如果预约当前实验室的人数达到了labInfo表中labPerson字段的值,则表示人数已经达到上限,此时将yuyueState的值更新为2,表示审核不予通过,否则将yuyueState的值更新为1,表示审核通过.

4.5.2实验室信息模块

实验室的信息管理主要分为实验室信息的展示与实验室的添加及实验室使用的记录展示,其中添加实验室和修改实验室的实现过程如下:

添加实验室信息的实现方法是:先获取界面中实验室信息的不同字段的值,然后通过insert语句将实验室信息添加到实验室信息labInfo表中.通过select语句查询数据库实验室信息labInfo表中的值,通过遍历结果集将实验室信息进行展示,并可对查询出的实验室信息进行编辑,删除操作.

修改实验室的信息实现方法是:在实验室信息列表界面,传递要修改的实验室的编号,在修改页面根据接收的编号显示实验室的信息,待数据修改完毕后通过update语句进行实验室信息的更新.

4.5.3实验室通知公告管理模块

系统管理员登录后台可对实验室的通知公告进行管理,发布有关实验室的新闻,还可以对发布的通知公告进行编辑操作,在发布通知公告时使用了Ueditor,支持公告内容的图文混排.

5 小结

通过对实验室预约工作流程的调研及相关需求分析,基于B/S框架,采用PHP语言以及MySql数据库管理系统设计实现了开放实验室网上预约平台,并对通知公告管理、用户管理、实验室预约管理、实验室管理等功能模块进行了实现.系统简化了繁琐的预约流程,方便了实验室预约的管理,提高了实验室的使用效率.

参考文献:

[1] 王西芳,王西平,杜慧芳,等.实验教学示范中心实验预约系统的设计与应用[J].实验室研究与探索,2016,35(5):158-161.

[2]李国娟.高校开放式实验室预约管理系统[J].长春工业大学学报,2016,37(4):411-416.

[3]李志军.武警院校实验室预约系统的研究与设计[J].科教导刊,2016(8):154-155.

[4]李燕歌,杜轻,韩雪.高校开放实验室管理系统设计[J].电脑知识与技术,2016,12(29):94-95.

[5]胡海宇,胡云琴.实验室预约与管理系统的开发与设计[J].通讯世界,2016(1):220-221.

[6]谢杰.开放实验室管理系统的研究与设计[J].无线互联科技,2017(21):50-51.

[7]陈冬.开放式实验系统实现[J].信息技术与信息化,2016(4):54-55.

[8]李连峰,仲伟和.实验室预约管理系统的功能设计[J].通讯世界,2016(20):260-261.

[9]李志河,王佳.高校开放式实验室管理系统平台的设计与开发[J].中国教育信息化,2015(7):56-59.

[10]伏昕,刘惠.基于B/S结构的实验教学平台管理系统的设计与实现[J].高校实验室工作研究,2016(2):118-120.

[11]程琼,徐松,汪海东,等.智能实验室管理系统下的实验室大型分析测试设备的开放管理[J].山东化工,2013,42(11):153-156.

[12] 吴文华,杨庆,沈新元,等.智能实验室管理系统下的实验室开放管理[J].实验技术与管理,2011,28(02):172-176.

猜你喜欢
系统管理员实验报告实验室
实验报告
电竞实验室
电竞实验室
电竞实验室
电竞实验室
计算机文件安全管理系统研究与设计
问卷星在无纸化实验报告中的设计
生物化学检验实验报告书写综述
实验报告无纸化管理平台研究初探*
Windows 7中将采用Xml格式保存日志文件