苏博妮,化希耀,2
近年来,随着各种新技术的不断涌现,物联网、大数据和人工智能技术已对社会产生了深远影响,这也不断促使国内高校加快了信息化的进程.由于学生人数和课程数的上升,学校课程改革的需要和学分制的实施,各个高校许多课程授课模式已打破原来的班级,由学生自由选课组班.而传统的课程管理采用人工管理模式,这种方式教务管理工作量繁重,而且还容易出现人为的不必要的错误.采用信息化教学管理和改革不仅可以减少教务人员的工作量,还增加了教师和学生选课的自主性和自由度.[1,2]国内许多高校都先后开发了选课系统.李帅和黄克敏等开发了基于SSH框架的高校选课系统;[3]俞靓亮采用ASP技术和SQL Ser ver2008设计了公共选修课网上选课系统,并投入学校的实际选课中取得了较好的效果;[4]王峰开发了基于MVC框架下的学生选课系统包括学生日常管理和高校课程管理两个模块;[5]王慧敏为减轻教务工作人员的工作量而开发了网上选课系统.[6]
PHP语言以其免费开源、面向对象和良好的跨平台性,已成为 Web领域开发的首选编程语言.本文采用PHP5+My SQL开发了分级选课系统,该系统包括课程管理、学生管理和选课管理等功能.系统的开发和使用大大提高了公共课分级选课的效率,也为分级选课的统计、存储以及分配提供一种更加快速,安全的信息平台.[7]
学生选课系统包括学生选课、学生信息管理、教师信息管理和通知信息管理等功能.学生可以通过浏览器完成选课、退课、成绩查询等相关操作.为学生提供一个快捷的操作和浏览平台.这样学生可以结合自己的兴趣爱好、专长选择课程.该系统共分为8个功能模块:注册/登陆模块、选课管理模块、通知管理模块、成绩管理模块、教师管理模块、学生管理模块、课程管理模块和课件管理模块,如图1所示.
图1 系统总体结构图
本系统采用My SQL数据库存储数据.根据选课系统的需求,系统数据库共包括课程表、选课表、教师表、学生表、管理员表和课件信息表等6张表.
选课表用来存储学生选课信息,主要包括学号、课程号、教师号和成绩等5个字段,如表1所示.
表1 选课表
学生表用来存储学生信息,其中包括用户名、密码、真实姓名、性别、年龄、学院和班级等字段,如表2所示.
表2 学生表
课件信息表用来保存教师上传的教学课件,以附件的形式保存在服务器端,学生可从选课系统里下载学习.该表包括编号、课程号、内容、文件、时间和教师等字段,如表3所示.
表3 课件信息表
其余数据库表类似,这里不再详述.
注册与登录模块是系统的基本功能.为保证系统安全,为不同账户分配不同的权限,用户权限分为管理员、教师和学生3种级别.学生注册登录之后可以操作选课功能、查看课程成绩和修改个人信息等功能.教师登录之后可以查看课程的选课情况、添加课程附件、录入成绩、修改个人信息和发布通知信息.管理员可以进行系统管理和用户管理.系统登录和注册界面如图2、3所示.
图2 系统登录界面
图3 学生注册界面
选课管理模块主要为学生参加完分级考试后查看考试成绩,如果通过考试,则可以参加选修课,并且选课总数只能为一科,选课成功后可查看选课情况,流程图如图4所示.部分选课程序如下:
$result=$sql->quer y("select score fro m co mputer where stu_id='{$_SESSION['user na me']}'");
$inf o=$result->fetch_array();
if($inf o['score']<60){
echo"";
exit;
}
图4 选课流程图
通知管理模块分为通知信息的发布、修改和删除.注册/登陆主界面上的通知信息是学生、教师、管理员都可以查看的.但由于管理员、教师、学生的权限的不同,他们各自的功能也是有所差异的.
图5 通知发布界面
课件管理模块是教师在课前或课后将课件提供给学生预习和复习.上传课件的类型包括PPT、wor d文档和pdf格式文档等,如图6所示.
图6 课件管理界面
关键程序如下:
if(is_uploaded_file($_FILES['file']['t mp_na me'])){
$file_na me=explode('.',$_FILES['file']['na me']);
$file_na me2=$file_na me[count($file_na me)-1];
if($file_na me2){
$file='../upload/'.$ti me.'.'.$file_name2;move_uploaded_file($_FILES['file']['t mp_na me'],$file);
}
else{
$file='';
}
}
$sql->quer y("insert into kejian(course_id,file,text,ti me,teacher)value('$id','$file','{$_POST['text']}','$ti me','$teacher')");
if($sql->affected_r ows){
echo"";
}
教师/学生管理模块是对教师/学生信息创建、更改和删除.在系统中,教师的信息需要管理员进行创建和删除,这样保证了系统的安全性.教师可以查看所带课程的选课情况,以及添加课程附件的功能.学生可以查看课程附件并且下载课程附件,如图7所示.
图7 教师/学生添加界面
课程管理是对课程信息的添加、更改和删除.该模块同样是有管理员进行控制.但在课程添加前应先创建教师,然后为课程指定授课教师,如图8所示.
图8 课程管理界面
为进一步减轻高校教务人员的工作量,提高课程管理效率,本文开发了基于PHP的分级选课系统.该系统操作简单、界面友好美观,易于扩充,还可自动完成各种不同的数据的统计、查询功能.我们已在近3年的计算机基础教学分级选课中采用该系统.未来还将在与现有教务管理系统数据共享等方面进一步改进.
参考文献:
[1]张书波,龙 熠,彭 明.基于.NET的选课系统的设计与实现[J].电子测试,2016(8):62-63.
[2]李 江.基于WEB的高校网上选课系统的总体设计与实现[J].山东工业技术,2016(3):236.
[3]李 帅,黄克敏,杨 义,张天然,王 倩.高校学生选课系统的研究与设计[J].电脑知识与技术,2017(9):99-100.
[4]俞靓亮.高职学生选课系统的设计与实现[J].信息技术与信息化,2017(3):76-77.
[5]王 峰.基于MVC框架下学生选课系统的设计与实现[J].电脑编程技巧与维护,2017(5):63-65.
[6]王慧敏.高校网上选课系统的设计与实现[J].内蒙古科技与经济,2016(19):56-57.
[7]廖嘉灿,侯超钧.基于SSM和Http Client的在线选课辅助系统的设计与实现[J].计算机与现代化,2016(10):116-120,126.