



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于网络环境高校选课系统的几点技术探讨李婷婷 庄卫华 宗平 南京河海大学计算机学院(南京 210098)摘要 本文讨论了选课系统开发过程中的选课算法分析、各种原因引发的多种矛盾冲突及系统的安全性,重点论述了分级筛选选课算法的研究及解决冲突问题的方法。关键词 选课 算法 冲突 安全1 概述 随着高校教育改革的不断深入,学分制的全面推行,教育教学管理模式在不断发生变化,教学计划需不断地进行修订,学生选课、排课的任务极其烦琐、复杂,应用计算机进行选课管理势在必行,鉴于此,我们开发设计了高校选课系统。该系统包括:教学计划安排管理、选课、教室管理、教师情况管理、辅助排课、数据备份等子模块。学校原有一个选课系统,但因选课算法不合理,使用过程中引发了多种矛盾和各种冲突,通过分析后我们认为:新系统必须设计一个比较公平的选课算法,同时要考虑因多种原因引发的矛盾冲突问题及其解决的方法,同时要进行系统的安全性考虑,这些是本系统的技术难点。2 系统分析2.1 选课流程选课系统的流程为:(1)根据教学计划来制定每学期的执行计划;(2)再由执行计划产生教学任务书,通常教学任务书发给各个学院,指定任课教师;(3)全校进行统一排课,即排出该门课程的任课教师、上课时间、上课地点和教室,产生任课教师课表;(4)根据排定的课程,学生在任一工作站进行选课;(5)最终产生学生课程表。其过程如图一所示:制定教学计划执行教学计划进行辅助排课学生开始选课产生学生课程表公平算法处理人工调剂学生选课 预处理 图一 选课流程图2.2 选课算法分析在开发选课系统的过程中,我们要解决的首要问题是如何保证选课的公平性。要保证选课公平合理,首先就要设计公平算法,因为可能由于算法不公平会引发多种矛盾冲突。2.2.1原有系统的弊病分析学校教务处最早使用的选课系统是运行在MS-DOS环境下的单机版,不能在网络上并发操作,每学期选课时都会产生选课的先后次序和选课时间安排上的诸多矛盾,具体表现为:由于讲授某门课程的教师在教学水平、教学方法、教学效果都不尽相同,有的甚至差异很大,且每个教师所上课的课程班的人数又有限,这就势必造成学生抢先选择自己喜爱的教师的课,使选课结果过于集中在一些教学经验丰富且教学效果好的教师所任的课程班。所以每次选课时只能预先把学生按学院分开,按先后次序进行选课,这样,排在后面的学院的学生因为某些课程班的人数早已爆满而失去选择的机会,所以,学生和各学院的意见都很大。针对这种情况,教务部门只好采用抽签的办法决定先后次序,但仍然解决不了矛盾。后来又采用按名额比例分配到各学院的算法,即:把需要选课的课程按课程班最多人数按照每个学院学生人数比例分给各学院,这样做避免了学院间的矛盾,但只是把大矛盾(学院间)化为小矛盾(同院学生间)。究其产生矛盾的原因,主要是系统所采用的算法是先来先服务(FCFS)的处理算法。当然,如果在学院内再采用这种算法,班级中也采用同一算法,也可以解决矛盾的冲突,但这将使系统的开销很大,同时为系统的设计带来极大的复杂性,且这种算法也很难作到实际上的公平,为此,新系统要设计一个公平算法,解决选课矛盾。2.2.2矛盾冲突问题分析在系统的设计过程中,还碰到以下一些矛盾冲突问题需要考虑。(1)上课时间、地点、课程、任课教师之间的矛盾冲突。虽然选课系统面向的用户主要是学生,学生在选课时,可能会出现一个学生同一时间段内选几门课程,造成上课时间或上课地点的冲突;但教师也可能会在一学期的同一时间段内开设几门课程,造成上课时间上的冲突。(2)长学期和短学期引发的矛盾冲突。实现学分制的管理体制后,打破了常规的排课模式,出现了长学期和短学期,即把一个学期分为两个阶段,长学期安排正常的专业理论课程的学习,短学期安排课程设计、各种实习及一些选修课程的学习,如:计算机等级考试强化、英语等级考试强化和大学语文、音乐鉴赏等课程。(3)单双周的课程安排问题引发的冲突。有些课程的安排单双周是不同的,如高等数学、物理学等,因为其学时较多,可能会安排单周上三次课,而双周上两次课,也可能相反,这样会引发上课地点安排上的冲突。(4)多个用户并发访问数据库引发的冲突由于系统在网络环境下,会有多个用户在不同的工作站上并发选课,如果并发处理不加以解决,势必会造成运行结果不确定等意外错误,甚至会出现系统死锁。 3 、系统实现环境 由于系统必须具有先进性、安全性和实用性,对硬件环境的要求比较高,经过充分论证,我们选定系统的实现环境为:运行平台采用Client/Servert体系结构,以校园网为媒体,在学校教务处内形成一个子网,通过校园网实现与各院、系的信息通信。服务器采用WindowsNT网络操作系统和MS SQLServer分布式数据库管理系统。数据库服务器由教务职能部门统一管理,各学院根据自己的权限以网络终端方式通过校园网访问服务器上的数据,网络工作站采用Windows98操作系统,以Delphi作为前端开发工具。 4、系统实现技术 4.1设计合理公平的算法前面提到,目前许多选课系统均采用先来先服务的处理算法,这种算法在选课时间安排、选课先后次序上造成了争先恐后的选课现象,引发许多矛盾冲突。为了解决这一问题,我们设计了较为合理的公平算法分级筛选算法。此算法允许学生选课时,对于有多个课程班的课程可以有几个优先级不同的志愿选择(现暂为三个志愿)。计算机处理时按不同的志愿进行不同的处理,即:首先满足第一志愿的要求,对于处于第一志愿的人数超过最大课程班上课人数时,则采用平均分布概率算法进行处理,筛选出多余的人。若第一志愿的人数小于总人数,则全部被选中。当第一志愿遍历完后,再遍历第二志愿;对第二志愿的处理方法是:当某课程班第一志愿人数已达最大限度,则不再处理第二志愿,否则,将第一志愿中该课程班不足的人数作为第二志愿的最大可选人数。随后处理方法同第一志愿。依此类推,再进行第三志愿的处理。此算法采用前台实时处理和后台批处理相结合的方法来实现的。该算法仅当所有学生选课均结束后,才进行后台公平处理,这样就克服了先来先服务和按名额比例分配的不足,使得选课结果分布均匀,落选机会少。假如还有少量的学生三个志愿都未选中则可做人工干预处理。公平算法的设计彻底解决了选课时间上安排的矛盾冲突,使用效果令人满意。4.2矛盾问题解决方法(1)解决同一时间段单双周的矛盾我们采用设计数据库中时间代码法处理的方法来解决这类问题。进行时间代码设计时,考虑将本专业的专业课程的学习通常安排在周一至周五,而辅修专业的专业课程的学习安排在周六到周日或晚上。一般专业课的上课时间以2节课为一时间段,且有单双周的情况,根据这些特点来进行设计,时间代码由3位字符表示:第一位:字母,表示星期。如A表示周一,B表示周二,依次类推。第二位:数字,表示时间段。如1表示1、2节课;2表示3、4节课,依次类推。第三位:数字,表示属性。0表示正常安排(单周和双周),1表示单周安排,2表示双周安排。例如,某课程上课时间为B12E21,表示上课时间安排在周二的12节双周及周五34节单周,因为单、双周在时间代码中有区别,冲突问题也得以解决。(2)上课时间安排与所选课程引起的矛盾解决这一矛盾,主要是控制学生不能在同一时间段上选择2门或2门以上的课本系统中,课程表的设计是在辅助排课阶段完成的。即:所有课程的上课时间和上课地点均已事先确定,因而在选课时仅仅是选某门课程在哪个课程班,所谓课程班即某一课程在何时何地由哪位教师任课,通常同一课程会有多个课程班。在选课时,对同一门课程可能会出现重复动作,因此,在设计时采用的方法是一旦选毕一门课程的多个志愿,就将其屏蔽,不再在屏幕上作为供选课程出现。因而这类冲突将集中在不同课程在时间上的冲突,针对这类冲突,我们采取的方法是:每选一门课程,如果时间段为A21D12,每三位字符表示1次课,这样每取三位就与已选课程作比较(见图一),若发现有相同的时间段,则立刻在屏幕上显示冲突提示,让用户自行处理。(选课界面见图三) 待选课 时间段 已选课 时间 高等数学 A21 C10 E20 英语 A21 C12 E11 法律 A12D30 物理学 B20E10 均为周一上午3、4节 单周 图二 时间代码示意图 该课程班已选课人数该课程班最大可选人数 每门课程可选三个志愿 供 选 课 程 该 已 课 选 程 课 供 程 选 任 课 教 师 图二 图三 学生选课界面(3)长学期、短学期的矛盾冲突在同一时间段上选择不同课程,即出现矛盾冲突,处理方法就是在屏幕上显示冲突提示,由用户根据起始周和结束周有无包含情况判断是否可选定,因而这类问题由用户根据屏幕提示而进行判断自行解决。(4)多个用户并发访问数据库引发的冲突问题并发控制可以采用两种事务控制方式来实现。即:(1)利用Delphi通过BDE为应用程序提供的隐式事务控制来实现。但这种方法要求每写入一行数据到数据库都要进行事务控制,这将会导致网络的拥挤及应用程序性能的下降。(2)在Delphi数据库应用程序中加以控制即显示事务控制,而这种控制方式Delphi又提供了两种协作又独立的事务控制方式:一种是使用Tdatabase部件的方法和属性,在应用程序中实现;另一种是利用Tduery部件中SQL语句来实现。虽然两种方法均可实现显示事务控制,但采用SQL语句更为有效、方便。显示事务控制能选择最有效的时机来开始、提交和终止事务,特别是在开发多用户环境下的客户应用程序运行访问远程SQL服务器。4.3系统的安全性为了确保系统的数据安全,系统中我们设计了用户帐户控制、数据库注册控制访问权限控制,以及基于存储过程、触发器和视图的安全性控制。数据库上应用存储过程和触发器检查基于业务规则的一致性安全性。应用程序上采用触发器和视图来控制实践访问以及屏蔽不允许的操作。任何学生可在网络中的任何一台计算机上使用该系统,但他必须拥有系统登录和注册口令,当一个学生通过学号和密码进入选课系统后,其选课状态就被设置为选课,而一旦选完课确认后,系统就退出选课状态,系统屏蔽掉前一学生的选课结果,下一个同学仍必须通过学号和密码进入系统,继续选课操作而不会破坏前一同学的选课结果。人工调节操作只能由系统管理员进行。系统运行至今,未
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 偏瘫的评定技术
- 生产班组月汇报
- 外科常用化疗药物注意事项
- 危险地点的讲解
- 全站仪技术交底
- 新生儿医院感染防控与手卫生管理
- 现代医药物流发展与管理体系
- 脑瘫儿童康复作业治疗
- 企业经营模拟实训汇报
- 升学宴营销活动策划方案
- GB/T 8424.2-2001纺织品色牢度试验相对白度的仪器评定方法
- GB/T 23806-2009精细陶瓷断裂韧性试验方法单边预裂纹梁(SEPB)法
- 自动化在组装厂的应用培训资料
- 房产税、土地使用税、印花税政策课件
- PDCA降低I类切口感染发生率
- (高职)会展实务电子课件(全套)
- 合肥国际马拉松志愿者培训
- 开拓进取:零碳汽车的材料脱碳之路
- 空预器密封改造安装工程施工方案
- 医用放射性废水衰变池设计623朱韬
- 探究高中生上课注意力不集中的原因及其对策-2019年精选文档
评论
0/150
提交评论