维普资讯 http://www.cqvip.com 中国讥甙觳唷装备 2008年第8期(总第66期) 基于Web的实验室在线预约系统毒 黄风爱 蒋永平 蒋姣丽 杨翘 广东工业大学 广东广州 510006 摘 要:本文针对高校实验室建设,结合学院中心实验室管理的实际情况,为了协调有限的实验室资源和日益增加的使用 需求之间的矛盾,开发了基于Web的实验室在线预约系统,系统基于三层架构的系统构建方案,给出了系统模型,探讨了在 线系统安全性、实时性和个性化的实现策略,并给出了一个应用实例,为开放式实验室建设提供了必要的管理基础。 关键词:开放式实验室在线预约系统 Web 个性化 实验窀教学足高校教育的重要一环。随着毕业生实践能 力和创新能力的备受天注,各高校纷纷增加培养学生动手能 力的实验课程;乃外,高校扩招带来的学生人数剧增,有限 的实验审资源和,f 断增加的使用需求之问的矛盾日益突出, 因此,实验时 和实验内容均实行开放的管理模式,无疑是 协调这一矛 的羊f设途径 ---2。本文基于web,利用ASP (Active Serve]’Pages) ̄llADO(Act,iveX Data Objects)技术 啦 H k: ……坂 l竹理 l … 。面一苗 曰n… . 敷 螗u r _输, 辫  I … . 三 -= 田i …I“ ∞I j 开发实验事 :线预约系统,是升放式实验幸建设的核心郝 分,同时也足数 化学 支持服务的基础。应用本系统,学 Ⅱ_『以根据自己的时 安排和兴趣,通过网络预约特定实验 时间内的实聆项闷:实验审管 员可以第一时问了解实验事 的使用情况。系统基于l三层结构的实现模型,保证了开放式管 理的安全性;住线奁询和审核的操作模式,充分利用了网络的 实时性;查询结果动态显示和退约功能个性化的集中体现。 一图1 系统总 体架构设计 (1)用户界面层:完成与用户的交互操作。系统通过浏 览器提供与用户的交互平台;用户提交请求后,界面层把收 集到的数据按照业务层要求的接口参数规则,进行数据封 装。在界面层代码中,所有的数据读写均通过对象来处理, 不能出现任何SOL语句。 、系统架构及功能模块 (2)业务层:数据通道。业务层按照一定的逻辑规则, 对界面层的请求进行处理,并向数据库服务层提交访问数据 库的请求。在该层的代码中,不可以直接写表,必须通过存 储过程实现。 1.系统架构设计 系统架构设汁采用MVC(Model—View-Controller)模式, 以Web{ ̄息系统的一层体系结构(Three Tier)提供服务。MVC 模式的指导思想足把一个应用的输入、处理、输出流程按照 模型(Mode1)、 向(V Jew)和控制(Control ler)的功能进行 (3)数据库服务层:完成数据真正的写操作。将业务层 提交的访问请求转化为数据库可识别的语句(SOL),并访问 数据库。本系统的数据服务层基于SOL Server 2000,用于 存储和提供系统所需处理的数据。 在上述架构上实现在线预约系统功能结构如图2所示。 分离 。 结构足[hWeb程序“客户/服务器”(Client/ SeI’ver)模式衔 的体系结构,住传统的二层结构基础上增 加了中『I】]层,将 k务规则、数据访问、合法性验证等放到中 问层单独处理。本系统把两者有机地结合起来,以产生HTML 页血作界血显示于用户端浏览器;服务器端以A S P、 VBScript、JavaScript语言编写的程序作控制器,接受用户 输入,并决定调用何种模型(GET、POST等)去完成用,、的请 求;以SQL Server 2000作数据模型存储资源及状态。为 l囊 系统提供了良好的安全性、可移植性和扩展性。系统总体架 构设计如图1所示。 收稿日期:2 008-04-25 作者简介:黄凤爱,在读研究生。蒋永平,高级工程师 ・广东工业大学高教研究基金项目责助,项目蝙号:2 0 0 6 D 0 4. 图2 系统功能结构 阁 前台申请界面主要完成:教师根据教学需要预约实验 维普资讯 http://www.cqvip.com
2008年第8期(总第66期) 室。因为教师预约一般以教学为目的,所以预约系统允许教 师独占某特定时间段的实验室资源;学生根据个人兴趣和时 间安排,在实验室开放时间内自行预约实验项目和实验时 间。预约系统实现的使用情况实时的、个性化的显示,个人 预约查询和退约功能保证了系统良好的安全性、体现了Web 系统的实时在线功能和特色。 后台管理界面主要包括:实验室管理员对实验室设备资 源的管理和对实验室使用的调配。 其中网上审核、在线维 护实验室资源及强大的统计功能,方便了管理,充分发挥了 网络便捷的优势,达到了提高资源使用效率的目的。 2.功能模块 下面将介绍其中三个功能模块【{- ,并着重探讨系统模 块在安全性、实时性和个性化方面的具体实现方案。 (1)查看预约情况模块实现方案 本系统的核心功能是为用户(教师和学生)提供实验室的 在线预约,通过查询目标实验室的当前使用情况进行预约是 最便捷的途径。所以,查询模块实现:根据数据库返回的不 同查询结果,动态显示各种链接的功能,其中退约功能的实 现是本在线系统人性化设计的一个体现。 本模块允许用户设定三个查询条件:学年,周次和实验 室名称。同时以节数(每两节课为一个时间段)为行,星期为 列,在一个6行宰7列的表格中显示查询结果,使得用户可以 进行特定实验室特定时间段的预约。 查询模块需要同时对实验室使用情况和当前登陆用户这 两个问题进行具体分析,做出各种不同的处理,充分体现了在 线系统的实时性和个性化,显示子过程流程图如图3所示。 图3显示子过程漉程图 日 绷 够 缎露 中国现代黼装备 ①对不同使用情况的处理:在数据库预约信息表 (1abbook)中增加一个字段(checked),约定不同取值表示不 同的使用情况。我们用“1”代表该时段用户的预约已经通 过审核,“2”代表该时段不开放,“3”代表该时段用作公 共课,“4”代表该时段有用户退约。 ②对不同登录用户的处理:预约信息表中用户名与 cookies中当前用户名比较,当两者一致时,显示“退约” 链接和“修改”链接;反之,显示“预约”链接和“查看” 链接, 防止了预约信息被他人随意修改或重复预约的情况,保 护了预约数据,加强了系统的安伞性。 另外,为了方便调用,并使程序模块化,增加可读性, 具体编程中利用了VBScript的子过程。 子过程定义:sub子过程名(学年ID、实验窜ID,周次ID, 星期ID,节ID); 子过程调用:call子过程名(参数列表)。 其中学年ID,实验窀ID和周次ID是用户输入的查询条 件,星期ID,节ID分别是查询结果显示表格的列和行。 (2)实验室预约模块实现方案 往大部分的预约系统信息是以列表形式显示的,使实验 室预约时间、目的等因申请时问小 而交叉显_,J ,造成用 使用的不便。我们改变过去这种混杂的缺点,以图表形式, 更加直观,易于操作。用 、可以点击对应表格中的“预约” 链接,系统必须对用户条件数据(即用户足否已经预约过问 一时段的相同实验室)进行扫描,满足预约条件后系统弹m 预约窗口供用厂1填入预约信息,预约填写确定后,数据库自 动更新,并反馈预约结果。入库信息主要包括:实验名称, 实验室使用时问,用户姓名,用户联系方式,实验宰使用目 的(课程)。用户在本人预约被确定情况下在一定的有效时问 内可以退约。预约信息和退约信息的确定均需要经过管理员 审核。预约模块流程图如图4所示。 图4预约模块漉程图 维普资讯 http://www.cqvip.com
中国砚代黼装备 实验室预约模块主要界面显示内容有:预约信息检索、 各个时间段内实验室预约的人数统计,预约具体信息查看, 用户预约与退约等。 (3)预约系统管理模块实现方案 实验室预约管理模块主要功能包括:预约申请审核,退 约处理,实验室开放设置,实验室预约信息统计,报表生 成,并且可以根据实际情况对实验室资料添加和修改,对外 发布实验室管理中心相关文章或通知等。 管理员每次对预约的设置都会在系统中增加一条操作记 录,当同一目标操作多次时,系统将自动删除原来冗余记录 再增加新记录。通过该管理模块,管理员可对实验室资源进 行实时管理,例如需要停止某实验室的使用时,实现代码如 下: else if xian= notopen then”如果不开放则执行以 下操作: Set rs=server.createobject( adodb.recordset ) sal: select爿c from labbook rs.open sql,conn,1,3 rs.addnew rs( labid )=labid rs( aim )= 不开放 rs( termid )--termid rs( openid )=1 rs( checkked )=2 rs( choose )=1 rs.update rs.Close 当预约信息已经无效时,需要从实验室预约表labbook 中删除与时间、实验室ID等信息匹配的预约记录,代码如 下: Set rsDel=Server.CreateObject( ADODB.Recordset ) Set rsDel=conn.execute( delete爿c from labbook where openi d=1 and termid=’ &termi d& ’and labi d:’ &labi d& ’and week=’ &week& ’ and em week=’ &em week& ’and sec=’ &sec& ’、 若操作成功,系统返回操作成功提示,代码: response.write <p align=center><font color=red> 预约设置已经成功添加!<br> &freetime& 秒钟后返回上页! </font> 二、系统特点及实现 1.数据库登录 只要对数据库有所了解的用户都知道sa是默认的账户, 出于安全性考虑,我们使用自建的登录账号(cent),数据库 2008年第8期(总第66期) 连接文件关键代码: set conn=server.CreateObject( ADODB.Connection ) sql= Driver={SQL Server}:server--(1oca1): uid=cent:pwd=爿c爿c爿c爿c爿c爿c:database=center conn.open(sq1) 2.操作确认 本系统对涉及数据永久删除的操作均实行二次确认。例 如,在管理员提交删除某一实验室请求时,弹出 “删除确 认”提示窗口,只有得到再次确认后,系统才生成相应的 SQL语句,执行数据的删除操作。保护了不可恢复数据,有 效地避免了用户误操作给系统安全性带来的不良影响。 3.用户输入检查 为了使用在线预约系统更好地管理实验室资源,在必要 时需要联系预约用户,所以在提交预约信息时,我们要求用 户填写电话号码和E-mail地址。系统对电话号码和E—mail地 址分别进行了是否有非数字符号和命名规则合法性判定,保 证输入数据的有效性。 三、结语 在线预约充分利用了网络方便、快捷、灵活的特点,同 时,采用基于三层架构的系统设计方案,保证了系统的安全 性和可靠性。本系统现已投入使用,系统实施过程中,较好 地避免了实验室使用时间的冲突,提高了实验室资源的使用 效率,由于该系统包括了使用实验室所需要了解的各种信 息,可较全面的提供和支持学习者自主、协作、研究性学习 服务,同时,可推进和实施个性化教学,达到实现实验室真 正开放教学目的。 参考文献 【11高丙云,王正林.基于网络环境的开放式实验室管理 模式探讨【J】.实验技术与管理,2006,9 【2】夏兴有,潘信吉,邹广平.浅谈实验室开放【J】.实验室 科学,2006,2 【3】王东,孙彬.基于Ajax的blVC框架的改造分析【J】.计算 机应用,2007,6 【4】ASP+SQL Server网站开发项目案例【M】.北京:清华 大学出版社,2007 【5】ASP+SQL Server网站开发实例精讲【M】.北京:人民 邮电出版社,2007 眵