基于Web和Android的实验室预约管理系统

2016-07-22 01:04张观山侯加林
实验科学与技术 2016年3期
关键词:线程客户端实验室

张观山,侯加林,王 震,刘 林

(山东农业大学 机械与电子工程学院,山东 泰安 271018)



基于Web和Android的实验室预约管理系统

张观山,侯加林,王震,刘林

(山东农业大学机械与电子工程学院,山东泰安271018)

摘要针对开放式实验室在管理与使用方面存在的问题,提出了一套实验室预约管理系统,该系统实现了通过Web和Android手机客户端两种方式对开放实验室的预约管理。该文给出了系统的总体设计方案,介绍了系统所使用的三层架构,详细阐述了系统的各个功能模块以及使用的关键技术,并在此基础上完成了系统的开发。该系统的使用提高了实验预约的效率,优化了实验预约的流程,进一步增加了实验室的开放程度,有利于学生动手实践能力的提升和综合素质的培养。

关键词开放实验室;Android手机客户端;三层架构;管理系统

实验室是教师进行实验教学、科学研究,学生进行实践创新的场所,具有其他教学环境不能替代的作用[1],对学生创新思维和创新能力的培养以及理论与实践相结合的能力的培养具有十分重要的意义[2]。实验室的开放程度越高代表该学校的现代化程度越高,教学水平越先进[3]。为了最大化展现实验室价值,充分发挥实验室在学生综合素质提升以及促进科研,提高学校科研水平等方面的重要作用,从使实验室的开放程度达到最大化以及优化学生预约实验室的流程角度出发,研究设计了该实验室预约管理系统。该系统从学校现有网络平台以及优化预约流程、师资力量等方面入手,利用现有条件,整合实验室资源,为师生营造更为宽松自由的实验教学环境,有效地解决了实验室开放程度不够、实验预约流程烦琐、实验室及仪器设备使用率低等问题,提高了实验室及实验仪器、设备利用率,培养了学生的动手实践能力和自主创新能力[4]。

1系统的体系结构

系统总体框架如图1所示,用户通过Web网页或Android手机客户端两种方式进行实验预约、实验预约管理、实验室管理以及实验项目管理等工作。系统采用三层架构模式,包括表现层、业务逻辑层和数据访问层[5],分为3层的目的是为了实现程序的“高内聚,低耦合”[6]。

图1 系统总体框架图

1.1表现层的设计

表现层是系统与用户进行交互的部分,该层将结果以多种形式呈现给用户,同时表现层是连接用户与逻辑层的纽带。表现层包括Web网页和Android手机客户端两部分。Web网页设计采用B/S结构,使用Html和Javascript语言,用户不需要在电脑上安装软件,只需通过浏览器就能完成所有的功能,节约了开发成本,解除了系统使用地域的限制,这项技术逐渐成为一种流行的软件开发技术[5]。为了进一步方便用户进行实验的预约和管理,系统增加了Android手机客户端的功能,用户可随时随地进行实验项目的预约申请,方便快捷。

1.2业务逻辑层的设计

该层进行控制逻辑、数据处理等工作,一方面会处理来自表现层的数据请求;另一方面将数据访问层的数据传输至表现层以呈现给用户。该层包括两个主要功能:1)用户权限分配管理,用户登录成功后系统根据用户名判断用户类型并根据用户类型跳转到不同页面,不同页面所能进行的操作不同,从而实现对用户权限的管理;2)用户按照自身权限进行相关操作。如普通用户可进行实验项目预约,查询与实验相关的信息等,管理员可对预约进行审核管理,增加删除实验项目,并发布一些新闻、公告通知等,而其他权限的用户则无法完成这些操作。

1.3数据访问层

该层的功能为数据的存储和管理,数据库使用SQL Server 2008,其功能强大,使用方便,完全满足设计要求。中间数据访问层采用ADO.NET技术,该技术为业务逻辑层访问数据提供统一接口,减少了程序开发的难度和工作量。

2系统的总体功能概述

系统总体功能如图2所示,系统的主要模块有管理人员模块、教师模块、学生模块、实验预约模块、实验室模块、实验仪器模块、系统简介与公告信息模块等。

图2 系统总体功能图

2.1管理人员功能模块

管理人员指系统的后台管理人员,主要负责对系统相关的数据进行信息化的管理。具体的功能有添加删除用户、实验项目、实验室信息及仪器信息,初步审核实验预约请求,师生实验考勤,协调实验室各方面资源,保证系统正常运行。除了上述的工作之外,管理员还要负责系统的维护升级、网站维护、数据更新、初始密码、权限分配、角色分配、公告信息发布等工作。

2.2教师功能模块

教师功能模块的用户包括实验指导教师、任课教师以及校外聘请的兼职教师,每位教师的信息已经存储到数据库中。教师在该模块看到学生的预约请求后,会根据自己的时间处理该请求。同时该模块也有在线交流、作业管理、实验成绩管理的功能。

2.3学生功能模块

该模块的用户为全体在校学生,每个学生的信息已经存储在系统之中,学生可通过该模块查询实验相关信息。用户通过该模块选择实验项目后,可手动选择需要的实验室、实验仪器、指导教师等,另外系统也可根据实验项目及实验室资源的使用情况自动分配实验室、实验仪器、实验时间以及实验指导教师。除了上述功能之外,该模块还有在线交流、在线预习实验、在线查询实验成绩等功能。

2.4实验预约模块

该模块用于进行实验预约,系统中的开放实验项目有3种:基础实验项目、教师科研项目和学生自拟项目。基础实验项目为满足教学大纲规定的实验项目,在正常的实验课之外,学生可按照教学大纲要求进行基本实验技能训练或者补做实验。教师科研项目中,学生利用已学知识能够完成的部分,可根据项目需求安排在不同实验室,学生根据个人能力及兴趣申请参与教师科研项目。学生自拟项目是指包括各类科技竞赛、挑战杯在内的大学生项目,学生根据项目需要申请实验室,学生自拟项目一般在大学生创新实验室内完成。管理员提交基础实验项目,任课教师提交教师科研项目,学生提交自拟项目,管理员对教师科研项目和学生自拟项目进行审核,审核无误后发布。

图3 学生实验预约流程

学生实验预约流程如图3所示,学生通过实验项目查询模块查询已开设的实验,并根据个人情况确定申请实验项目的种类。学生提交申请后,管理员对预约项目进行初审,检查实验项目是否与学生的专业等条件相符。初审完成后,进入实验基本知识考核阶段,实验基本知识考核考查学生是否具备完成该实验的基础知识和能力,学生只有通过实验基本知识考核,才能成功预约。管理员会进一步进行预约确认,确认后系统会通过短信和邮件方式通知实验教师和学生实验的内容、时间、地点。实验开始前,实验教师会将学生用到的仪器、元件等提前准备好,以便学生开展实验。实验过程中,教师会对学生实验进行考勤,并将考勤结果录入系统,作为下次该学生申请实验的参考。实验结束后学生通过系统在线编辑实验报告并上传至服务器,最后由实验教师评价打分。

2.5其他模块

在实验室模块用户可通过浏览或查询方式了解实验室简介、实验项目等内容。实验仪器模块包括实验仪器简介、使用方法、适用的实验等信息。系统简介与公告信息模块包含系统的使用方法和操作规程,管理员通过该模块发布公告信息。

3系统实现的关键技术

3.1数据库设计

数据库选用了SQL Server 2008,该数据库内部有很多外围工具实现对数据库的管理,如创建数据表、数据备份等,这些原本需要开发人员专门解决的内容,通过该系统得以轻松实现[7]。根据系统的功能设计了以下7个数据库表,如用户信息表、实验室信息表、实验项目表、实验预约信息表等,这些表格分别存储不同的信息,如实验预约信息表存储预约的实验项目名称、所需要的实验仪器、预约时间、预约实验室等字段的信息。

3.2Web网页设计

Web网页采用浏览器和服务器模式,前台页面设计采用DIV+CSS的方式实现,前台页面与后台处理程序交互采用AJAX技术[8],页面局部刷新,提高了用户体验。系统的后台设计使用ASP.NET技术,开发语言选用C#,开发环境选用VS2010,数据存储采用ADO.NET技术和数据存储过程。服务器使用Windows Server 2003自带的IIS架构Web服务器。根据系统的功能要求,Web网页包括用户登录界面、学生用户界面、教师用户界面以及管理员用户界面等。

3.3Android手机软件开发

为了方便用户使用,设计了一套Android手机程序。Android的软件开发环境是在Linux操作系统下,由“JDK+Eclipse+Android SDK+ADT”构建。Android手机软件的界面和功能与Web网页的界面和功能类似,根据软件的功能不同,设计了不同版本的软件以适用于不同用户,如学生版适用于学生,教师版适用于实验教师。Android手机软件的使用,使得学生可随时预约实验,实验教师和管理员也可随时处理实验预约项目,提高了工作效率。

3.4完成端口模型

完成端口模型结构如图4所示。

图4 完成端口模型结构图

该系统面向的是全校师生,同时在线人数最高达到几千人,如果几千人同时用手机连接服务器,服务器为每个请求连接建立一个线程的话,CPU在几千个线程之间切换是非常低效的,而完全端口模型能管理数百乃至上千线程,只有应用程序同时有成百乃至上千个线程连接时才考虑该模型。完成端口的工作原理是这样的:先开好几个线程,然后系统让这几个线程等待请求,当有请求时,系统将这些请求按照一定规则加入到一个公共消息队列中,然后刚开始开好的几个线程按照顺序轮流从队列中取出客户端请求进行处理。它使得每个线程平等地处理来自客户端的请求,并且在没有客户端请求时,系统会自动将线程挂起。

4结束语

基于Web和Android平台的开放式实验室管理系统解决了实验预约难,时间不灵活以及预约流程烦琐等问题。学生通过互联网及手机客户端随时对实验进行预约,管理员和实验教师也可随时处理实验预约请求,提高了实验预约的工作效率,优化了实验预约的流程。该系统的推广和使用将进一步增

大实验室的开放程度以及利用率,进而提高学生动手实践能力,为大学生步入社会打下坚实的基础。

参 考 文 献

[1]陈大鹏,孙尔康.开放教学实验室 提高学生实践创新能力[J].实验室研究与探索2001,20(2):15-17.

[2]郝子强,詹伟达.大学生科技创新能力培养的研究与实践[J].长春理工大学学报,2008,21(6):149-151

[3]李娜.实施开放式实验教学 提高学生创新能力[J].职业教育研究 2009:122-123.

[4]王晓明,易兵,徐粤宇,等.提高染整工艺实验教学质量,培养学生创新实践能力[J].广东化工,2010,37(201):160-161.

[5]孙红亮.基于三层架构的校园网站设计与实现[D].石家庄:河北师范大学,2013.

[6]程春蕊,刘万军.高内聚低耦合软件架构的构建[J].计算机系统应用,2009(7):19-22.

[7]张观山.果园智能灌溉控制系统的开发[D].泰安:山东农业大学,2014.

[8]李永革,潘卫,邢红梅.等.深入理解ADO.NET的更新机制[J].计算机应用,2005,25(12):163-166.

·实验仪器研制·

收稿日期:2015-06-30;修改日期: 2015-07-20

作者简介:张观山(1988-),男,硕士,主要从事电工电子实验教学、管理和科研工作。

中图分类号TP319;G642.0

文献标志码B

doi:10.3969/j.issn.1672-4550.2016.03.014

Laboratory Order and Management System Based on Web and Android

ZHANG Guanshan,HOU Jialin,WANG Zhen,LIU Lin

(College of Mechanical and Electronic Engineering,Shandong Agricultural University,Taian 271018,China)

AbstractAiming at the existing problem of open laboratory management and use,this paper develops open laboratory managem-ent system.This system can manage open laboratory through Web and Android.This paper presents overall design scheme and introduces the tier architecture in use.This paper also describes the function modules and key technology of the system.The open laboratory management system improves the efficiency of experiment appointment and optimize the process of experiment appointment.This system also improves the degree of openness and improves the students’ scientific and technological innovation capacity.

Key wordsopen laboratory;Android mobile phone client;three-tier architecture;management system

猜你喜欢
线程客户端实验室
基于C#线程实验探究
基于国产化环境的线程池模型研究与实现
如何看待传统媒体新闻客户端的“断舍离”?
电竞实验室
电竞实验室
电竞实验室
电竞实验室
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
浅谈linux多线程协作