基于Web Sevice的实验室课表移动查询系统的设计与实现

2018-02-03 05:41万相明
电脑知识与技术 2018年2期
关键词:课表

万相明

摘要:随着智能移动设备的广泛运用,使得沟通和交流更加方便。各高校的教师和学生,也可以通过智能设备随时随地获取自己所需的课表、通知等信息。针对局域网计算机实验室课表无法查询的问题,并且需要满足学生在计算机和手机上可以同时查询的需求,特设计和开发一个基于Web service的课表查询系统。课表查询系统具有课表查询、课表管理、消息通知和信息数据管理等功能。对系统结构设计、功能设计、数据库设计以及实现分别进行阐述。实践表明,依据该设计开发的最终产品可靠、易用、易扩充且使用方便。

关键词:Web service;移动查询;课表

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)02-0040-03

Design and Implementation of AMobile Query System for Laboratory Timetable Based on Web Sevice

WAN Xiang-ming

(Shenyang Aerospace University, Engineering Training Center,Shenyang110036, China)

Abstract:With the wide use of intelligent mobile devices, communication and communication are more convenient. The teachers and students of various colleges and universities can also obtain the information such as the timetable, the notice and so on at any time and anywhere by the intelligent equipment. In view of the problem that Lan timetable can not be queried, and we need to satisfy students' inquiries simultaneously on computers and mobile phones, we design and develop a Web service based timetable query system. The system has the functions of the inquiry of the class table, the management of the timetable, the message notification and the management of the information data. The system structure design, function design, database design and implementation are expounded respectively. The practice shows that the final product developed according to the design is reliable, easy to use, easy to expand and easy to use.

Key words:Web service;mobile query; schedule

1 背景

隨着各高校校园网络建设程度的推进,移动互联网终端的普及,各类信息可以在计算机或手机上方便快捷的查询。自从“互联网+”的概念被提出,各行各业都在不断推进信息化改革,各种平台接踵而生。目前国内外各大高校传统的纸质课表管理形式,在各大院校已经发展为计算机辅助管理形式。

然而,基于局域网建设的实验室,学生无法通过互联网访问,只能在局域网内查询相关信息和通知,这就导致了学生在实验室外就不能实时查询到课表,掌握实验课程的安排及变动。导致这种问题的出在,主要是因为“离线”办公的现状。若要解决这个问题,就是要将课程安排过程移植到互联网上,通过互联网的时效性、便捷性来解决排课低效的问题[1]。

结合实际情况和项目需求,设计并实现了基于 Web Sevice的计算机实验室课表移动查询系统。系统采用B/S模式,使用php、JavaScript及mysql工具开发。B/S模式主要利用浏览器技术,结合浏览器的多种Script语言和ActiveX技术,实现了原本需要复杂的软件才能实现的强大的功能,在客户机端不用安装专门的软件,只要一个浏览器即可。Web Services 是一种软件系统或平台。它的目标是提供一种标准的方法使运行在不同平台上、以不同编程语言编写的各种应用程序能够方便地在互联网上互相通信[2]。

2 功能需求分析

工程训练中心的实验课程管理方式是采用文档编辑的人工方式实现的,并且各个计算机实验室不能连接互联网,学生只能通过教师口头通知或是到实验室问询的方式得知各实验课程的安排。这导致课程信息更新不及时,编辑与查看不方便,学生和教师无法查询到课程安排等问题。针对实际情况并综合各类用户的需求,作如下需求分析。

1) 用户登录。通过用户登录,系统可分辨用户的身份,不同的用户可具有相应的功能。教师登陆后具备课程更改和发布通知等功能;学生登陆后具备查询课程和阅读通知等功能。

2) 课表查询。课表查询系统主要是用于查看当前实验室课程安排。计算机实验室除接待各类实验课程上机外,还为全校学生提供自由上机功能,当计算机实验室没有空余机房时,自由上机功能暂停开放。学生如果想到实验室上机,可以提前通过系统查询到实验室是否有可作为自由上机的空余机房,从而合理安排时间课余时间。同时,上课的学生也查询到实验课程的上课时间和教室。本着方便广大师生使用的初衷,需要在计算机或移动终端都能查询到课程安排。endprint

3) 课表维护。各实验课程安排确定后,须要成批录入课程信息,每门课程都需要课程名称、任课教师及上课教室等信息。可以批量修改删除课程信息,或按课程名、教师名等修改删除课程信息。

4) 各任课教师可预约实验室,可修改自己所授课程的课程安排。当任课教师需安排课表之外的实验课程时,或所授课程更改时间或教室时,可向系统管理员提出申请实验室开放或更改,管理员同意后可填写课程信息。

5) 具备消息通知推送功能。当任课教师修改实验课程安排时,更改的消息会发布给每位上课的学生,学生在登陆查询系统后会首先接收查看各条通知。

6) 界面美观,操作简单便捷。面向不同的用户,查询系统能以美观的课表界面呈现个人课表;能方便快捷的查询课表信息;通知类信息显示要明显。

3 系统设计

3.1 系统结构设计

基于Web Sevice的计算机实验室课表查询系统分为两部分,一部分是计算机或移动终端提供浏览查询的网页部分,另一部分是服务器数据管理及维护部分[3]。用户通过计算机或移动终端访问系统网页并发送请求,服务器获取到请求后,以WebSevice的方式将要查询数据返回到终端,终端解析数据并呈现。系统总体结构分为用户登陆、课表查询、通知发布、课程预约、课表维护及用户信息维护,如图1所示。

3.2 数据库设计

数据的存储是该系统的重要组成之一,本系统中包含两张数据表,分别是用户信息表和课程信息表。用户表有三条字段,包括id,userName,password,表中password除了具有验证用户身份的作用,同时还用来限制用户的操作权限。课程信息表有六条字段,包括id,classRoomNum,week,courseId,userId,info。因为教室相对固定且数量少,所以将每个教室编号,具体体现在classRoomNum字段,编号的代码在应用系统内,数据库收到数据的时候,就已经是编号后的数据,所以只需对应存储就行。其中week字段主要是用来协助查询的,它与用于表示课程编号的courseId字段相互协作。每天固定安排5节课,这样所有的课程都能以某一个起点为锚。UserId字段存储的是用户的id字段,info字段當然存储的就是每个课程的具体内容了。

3.3 功能模块设计

根据系统结构的分析,系统需要实现的功能从总体上分为两部分,第一部分为网页端,要同时适用于计算机网页浏览和手机网页浏览;第二部分为后台系统数据库管理端。用户在计算机或移动终端上通过网页浏览器打开系统所在网页,身份认证后登录页面。系统中的用户主要有三类,即学生、教师和管理员。学生登陆后,可以在网页上查询课表信息,可以按周次、按教师及按实验室三种方式查询;登录后学生还能看到系统或教师发布的消息,及时获取课程变动情况。如下图2,用户登录后在课表页面上即可显示本周次课表,每个时段的黑色圆框数字代表当前时段使用情况,点击即可查看具体的内容,如图3所示。教师登录后可以按周次显示课表,也可以按自己所授课程的安排来显示课表。当有新的实验课程室,可以通过预约实验课程功能,提出预约某时间段的实验室,同时会给管理员发送消息,等管理员核实通过后该预约即可生效。如果教师更改了上课的地点或时间,将会给上该门课程的学生发送通知。管理员具有系统数据维护、管理系统消息发布及核实预约实验课程信息的功能。

后台系统数据库管理端,主要是用于各类用户的数据维护及课程数据维护。课程信息维护不仅提供了简单的添加、删除等维护功能,还为用户提供了批量添加、批量修改及批量删除课程的功能。用户信息维护的功能,在页面左上角有工具按钮,这些操作都被集成到了工具之中。

4 实现

4.1 客户端实现

课表查询系统是基于Web Services服务,用户可在不同平台上均可以通过Web Services技术实现调用本系统所提供的接口。Web service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。可以通过多种语言,在任意平台上编写代码,只需通过Web service标准对这些服务进行查询和访问。客户端采用web services 与后台通信,后台从数据库中取数据,再返回给客户端,客户端再做相关的显示或者其他处理。客户端代码编写最基础的一环就是课程表数据结构的设计,系统中自定义了table,tr,th的数据变量,代码如下。

课程表的创建中使用JavaScript代码动态创建是最为合适的[4],这样就不仅可以随意更改页面,还能随意添加特性。这样就可以轻松地获得每个课程表元素(th),再通过回调函数SETTING,给每个th设置动作或者内容。程序编写中所有对th的操作都是通过SETTING实现的。日程表元素遍历代码如下所示。

4.2 服务器端实现

服务器端主要实现的是课程数据管理和用户数据管理。其中课程管理是重中之重,而课程管理必不可少的就是周次的计算和推演。由此定义课clacWeekDayCourse函数,该函数是实现通过课程ID推算课程周数的算法。在数据库中通过week字段辅助查询,week的数据就是通过clacWeekDayCourse方法计算得来。这其中并没有选择在传入后台的通讯数据中直接携带week这条数据,主要是为了系统可扩展性,同时可以简化代码。courseId数据隐含week所需数据,浏览器端的代码中皆不去显性的操作week数据,而是通过后台计算的方式得出,这样就可以省去一条参数。服务器端的部分代码如下。

private function clacWeekDayCourse($courseId){

$timeData=array();

$theNumOnWeek=$courseId % 35;endprint

$week=intval($courseId / 35)+1;

$day=$theNumOnWeek % 7;

$course=intval($theNumOnWeek / 7) + 1;

if($day == 0){

$day=7;

$course=intval($theNumOnWeek / 7);

}

if($theNumOnWeek == 0){

$course=5;

$week=$courseId/35;

}

$timeData['week']=$week;

$timeData['day']=$day;

$timeData['course']=$course;

return $timeData;

}

private function insertOne($user,$courseId,$info,$classRoomNum){

$model=new ClassMysql();

$timeData=$this→clacWeekDayCourse($courseId);

$model→userId=$user;

$model→classRoomNum=$classRoomNum;

$model→week=$timeData['week'];

$model→courseId=$courseId;

$model→info=$info;

$model→save();

}

5 結束语

基于Web Sevice的实验室课表移动查询系统解决了局域网实验室课表不能在实验室外查询到课表的实际问题,兼容于移动终端和计算机,并且不需要安装App软件。

依据软件项目流程,从基于Web Sevice的实验室课表移动查询的需求分析入手,对系统的结构、功能模块、数据库设计以及系统的实现四个方面进行了阐述。操作界面简洁明了、美观友好,服务器管理端使用方便,完美的实现了系统最初设计全部功能。系统运行稳定,业务运行数据正确无误,用户体验良好[5]。系统试运行两学期,用户数量从最初的一百多人达到现在的两千多人,且随着不断宣传,用户数量一直在增高。

参考文献:

[1] 蔡久评, 况和平, 周强.开放型计算机网络实验室建设[J].实验室研究与探索, 2011,30(5):166-170.

[2] 杨晨.基于Web Services的高职院校教务平台的设计与实现[D].成都:电子科技大学, 2014.

[3] 徐炳文.基于四层架构J2ME移动课表查询系统的开发设计[J].天津师范大学学报, 2011(4):5-63.

[4] 明日科技. Java Web从入门到精通[M].北京:清华大学出版社, 2012(9):1-569.

[5] 肖海慧, 廖定安, 沈新宇.基于Android的课表查询APP设计与实现[J].福建电脑, 2017(9):22-23.endprint

猜你喜欢
课表
今天的课表我来排
学生出招解决”日课牌“问题
高校课表编排的原则性与艺术性
如果我是校长
运用VBA自动生成子课程表
正则表达式在网页课表抓取中的应用
各地区学生课表
交互式课表管理系统设计实现
基于教学质量的高校课表编排及其运行管理
高职院校课表过程化管理探讨*