论文部分内容阅读
中图分类号:TP393.09 文献标识码:A
摘要:在介绍XML和ASP技术的基础上,讨论了网上选课系统的需求分析,并结合高校教学特点,对系统的功能模块、数据库表、选课算法进行设计,将XML技术应用到选课冲突判断、加载和验证、数据发布等方面。
关键词:XML;网上选课系统;设计
1、引言
网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式是学生按照学校安排好的课程上课,已不能适应新型的教学手段,如果仍然通过纸上的方式选课,一方面浪费的大量的人力、物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着高校人数的增多,这种弊端会越来越多的暴露出来。
XML是可扩展标记语言的简称,为web上的结构化文档和数据提供了通用的格式。随着Internet的发展,尤其是Web技术的广泛应用,越来越多的系统采用了XML作为数据表示和交换的标准,通过数据库技术结合XML语言进行信息管理也变得越来越重要。
通过对网上选课系统的业务和功能要去方面的研究,以及对XML技术在基于Web的系统开发中的应用研究,笔者设计了基于XML的网上选课系统。
2、系统功能设计
2.1功能设计
本系统主要涉及到的用户有三种:选课学生、任课教师和管理员。
(1)学生信息模块:学生登录进入选课页面,选择开始选课按钮后后,将出现选课页面(该页面不会显示学生已经选修过的课程),然后学生可自主的选择自己想选修的课程,但在选课过程中,学生需要注意il前导课,时间,人数上限,课程重复等一系列因素,以使选课准确高效的进行。除选择课程外,学生用还可以退课,查看已选课程、已考课程的成绩以及已修学分等信息。
(2)教师信息模块:教师用户可以执行的操作有:查看系统发布的新闻信息,通过浏览新闻页面,教师可以了解最新的学校动态;查询教师本人所教授课程内容,以便教师详细了解每学期的教学任务,合理安排时间;查询教授的每门课程的学生信息;在课程结束后,提交该门课程的考试成绩等。
(3) 管理员模块:要实现的就是对信息的管理工作,教师、学生、课程和系信息的管理,此外当教师提交成绩错误时管理员还可以行使成绩修改功能。其中,课程信息管理包括必修课程和选修课程,学生必需先登陆才能进行对课程的选课否则不能进入选课系统。
2.2 数据库设计
(1)系部信息表:系代码、系名。(2)学生信息表:学号、姓名、系部、班级、密码。(3)教师信息表:教师姓名、教师工号、教师职称、教师所属系。(3)课程信息表:课程号、课程名、教师号、课程简介、学分、学时、上课时间、上课地点、课程状态。(4)管理员表:超级用户名和超级用户密码,验证管理员用。
2.3 选课算法设计
选课系统要解决很多约束条件,如教学班级、教师、时间和地点等,这给选课过程带来了极大的复杂性,如果这些限制条件不能够公平的得以解决,先登录系统的学生就会选中希望选到的教学班,而后来的学生就可能选不到中意的教学班,从而导致学生抢课、秩序混乱的情况,使选课工作难以进行,因此提供一个公平的,合理的选课算法至关重要。
本文采用按志愿分级筛选算法,采用类似于高考录取志愿的处理方法,根据学生的选课志愿来实现选课处理。学生在选课时,每人最多可以有三个志愿,可按选择课程的优先级排好序,程序先遍历第一志愿,当第一志愿的人数超过最大上课人数限制时,则采用随机抽取算法进行进一步处理,筛选出多余的人数,多出来的学生,在处理第二志愿、第三志愿时进行分配。如果第一志愿人数小于该课程的限选人数,选课结果全部生效,不再处理第二志愿,否则继续遍历第二志愿,第二志愿的最大可选人数为第一志愿课程班的不足人数,处理过程与第一志愿相同。以此类推,再用同样的方法处理第三志愿。按志愿分级筛选算法操作简便,运行速度快,容易实现,是性能较好的算法基本能实现公平选课,适用于网上选课。该算法的执行结果与选课时间无关,因为算法是在全体学生选课结束后,才进行后台处理,克服了先来者优先的缺点。后台处理完毕后,可能会存在极少数学生所有志愿都未选中,需人工处理,形成最终课表。整个过程尽可能满足学生愿望,在选课期间内,权利平等,超出总人数的课程,采用随机抽签方法再次分配,确保了选课结果的公平。
3、XML在网上选课系统的应用
(1) XML 在选课冲突判断方面的应用
在选课过程中, 会经常出现选课冲突的问题, 如选课的上课时间冲突和前导课冲突等, 如果在服务器端解决选课冲突, 必然会给系统造成极大的负担, 因为在选课时, 存在大量的并发操作, 服务器端的工作已经相当繁重, 因此将选课冲突的判断迁移到客户端是减轻服务器端负载的最好方法。在实际的选课系统的开发中, 本人利用XML 数据岛技术, 成功地解决了上课时间冲突和前导课冲突的判断问题, 而且冲突的判断准确, 效果明显。
把多个不同用户同时访问数据库数据产生的冲突称为并发访问冲突。在web环境下,假设能够保证多个不同用户可以对数据库进行排他存取,动作与动作之间互不影响,就可以实现对数据库并发存取。多个用户并发访问数据库引起的冲突问题,可以在系统数据库环境上加以考虑, SQL Server具备完善的锁定技术,可以实现多用户的并行事务处理,在程序实现时不必考虑这一问题,因为其锁定工作是通过后台数据库自动处理的。SQLServer2008等大型数据库具备这样完善的锁定技术,可以有效地解决数据库的并发访问冲突问题。
(2) XML 在数据加载和验证方面的应用
在大多数 WEB 应用中,数据的加载都是通过表单提交进行的,每次只能提交一条记录,使数据频繁地在 Server 和 Client 之间流动,加大了服务器的负荷,浪费了时间。提交之后的数据,必须通过 WEB 服务器连接数据库,才能实现修改操作,给用户带来一定的麻烦。
首先在客户端利用Recordset对象的方法将XML数据添加到数据岛中;验证无误后,再利用XMLHTTP对象向服务器传送已经准备好的数据包;运用DOM技术在服务器端对数据包进行分析检验。在检验没有错误后提取结点数据,并在数据库中添入结点数据,若未通过,将错误信息返回给客户。
(3) XML 技术在数据发布中的应用
数据发布的过程就是从数据库中提取数据转入相应 XML 文件的过程, 首先发布程序会遍历新年级的所有专业及相关学制和学生类型信息, 然后提取培养计划表中的所有相关信息, 并利用 ASP的 FileSystemObject 对象将获得的数据写入到 XML文件中。因为 XML 文件本身是一个文本文件, 所以数据写入的方法与向文本文件中写入数据的方法相同。
参考文献:
[1]罗雨滋,付兴宏.基于XML的高职学分制选课系统的设计与实现[J].保山师专学报,2006年 9 月.
[2]范丽梅.基于XML_ASP的选课系统研究及其访问冲突的解决[D].吉林大学,2010.
摘要:在介绍XML和ASP技术的基础上,讨论了网上选课系统的需求分析,并结合高校教学特点,对系统的功能模块、数据库表、选课算法进行设计,将XML技术应用到选课冲突判断、加载和验证、数据发布等方面。
关键词:XML;网上选课系统;设计
1、引言
网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式是学生按照学校安排好的课程上课,已不能适应新型的教学手段,如果仍然通过纸上的方式选课,一方面浪费的大量的人力、物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着高校人数的增多,这种弊端会越来越多的暴露出来。
XML是可扩展标记语言的简称,为web上的结构化文档和数据提供了通用的格式。随着Internet的发展,尤其是Web技术的广泛应用,越来越多的系统采用了XML作为数据表示和交换的标准,通过数据库技术结合XML语言进行信息管理也变得越来越重要。
通过对网上选课系统的业务和功能要去方面的研究,以及对XML技术在基于Web的系统开发中的应用研究,笔者设计了基于XML的网上选课系统。
2、系统功能设计
2.1功能设计
本系统主要涉及到的用户有三种:选课学生、任课教师和管理员。
(1)学生信息模块:学生登录进入选课页面,选择开始选课按钮后后,将出现选课页面(该页面不会显示学生已经选修过的课程),然后学生可自主的选择自己想选修的课程,但在选课过程中,学生需要注意il前导课,时间,人数上限,课程重复等一系列因素,以使选课准确高效的进行。除选择课程外,学生用还可以退课,查看已选课程、已考课程的成绩以及已修学分等信息。
(2)教师信息模块:教师用户可以执行的操作有:查看系统发布的新闻信息,通过浏览新闻页面,教师可以了解最新的学校动态;查询教师本人所教授课程内容,以便教师详细了解每学期的教学任务,合理安排时间;查询教授的每门课程的学生信息;在课程结束后,提交该门课程的考试成绩等。
(3) 管理员模块:要实现的就是对信息的管理工作,教师、学生、课程和系信息的管理,此外当教师提交成绩错误时管理员还可以行使成绩修改功能。其中,课程信息管理包括必修课程和选修课程,学生必需先登陆才能进行对课程的选课否则不能进入选课系统。
2.2 数据库设计
(1)系部信息表:系代码、系名。(2)学生信息表:学号、姓名、系部、班级、密码。(3)教师信息表:教师姓名、教师工号、教师职称、教师所属系。(3)课程信息表:课程号、课程名、教师号、课程简介、学分、学时、上课时间、上课地点、课程状态。(4)管理员表:超级用户名和超级用户密码,验证管理员用。
2.3 选课算法设计
选课系统要解决很多约束条件,如教学班级、教师、时间和地点等,这给选课过程带来了极大的复杂性,如果这些限制条件不能够公平的得以解决,先登录系统的学生就会选中希望选到的教学班,而后来的学生就可能选不到中意的教学班,从而导致学生抢课、秩序混乱的情况,使选课工作难以进行,因此提供一个公平的,合理的选课算法至关重要。
本文采用按志愿分级筛选算法,采用类似于高考录取志愿的处理方法,根据学生的选课志愿来实现选课处理。学生在选课时,每人最多可以有三个志愿,可按选择课程的优先级排好序,程序先遍历第一志愿,当第一志愿的人数超过最大上课人数限制时,则采用随机抽取算法进行进一步处理,筛选出多余的人数,多出来的学生,在处理第二志愿、第三志愿时进行分配。如果第一志愿人数小于该课程的限选人数,选课结果全部生效,不再处理第二志愿,否则继续遍历第二志愿,第二志愿的最大可选人数为第一志愿课程班的不足人数,处理过程与第一志愿相同。以此类推,再用同样的方法处理第三志愿。按志愿分级筛选算法操作简便,运行速度快,容易实现,是性能较好的算法基本能实现公平选课,适用于网上选课。该算法的执行结果与选课时间无关,因为算法是在全体学生选课结束后,才进行后台处理,克服了先来者优先的缺点。后台处理完毕后,可能会存在极少数学生所有志愿都未选中,需人工处理,形成最终课表。整个过程尽可能满足学生愿望,在选课期间内,权利平等,超出总人数的课程,采用随机抽签方法再次分配,确保了选课结果的公平。
3、XML在网上选课系统的应用
(1) XML 在选课冲突判断方面的应用
在选课过程中, 会经常出现选课冲突的问题, 如选课的上课时间冲突和前导课冲突等, 如果在服务器端解决选课冲突, 必然会给系统造成极大的负担, 因为在选课时, 存在大量的并发操作, 服务器端的工作已经相当繁重, 因此将选课冲突的判断迁移到客户端是减轻服务器端负载的最好方法。在实际的选课系统的开发中, 本人利用XML 数据岛技术, 成功地解决了上课时间冲突和前导课冲突的判断问题, 而且冲突的判断准确, 效果明显。
把多个不同用户同时访问数据库数据产生的冲突称为并发访问冲突。在web环境下,假设能够保证多个不同用户可以对数据库进行排他存取,动作与动作之间互不影响,就可以实现对数据库并发存取。多个用户并发访问数据库引起的冲突问题,可以在系统数据库环境上加以考虑, SQL Server具备完善的锁定技术,可以实现多用户的并行事务处理,在程序实现时不必考虑这一问题,因为其锁定工作是通过后台数据库自动处理的。SQLServer2008等大型数据库具备这样完善的锁定技术,可以有效地解决数据库的并发访问冲突问题。
(2) XML 在数据加载和验证方面的应用
在大多数 WEB 应用中,数据的加载都是通过表单提交进行的,每次只能提交一条记录,使数据频繁地在 Server 和 Client 之间流动,加大了服务器的负荷,浪费了时间。提交之后的数据,必须通过 WEB 服务器连接数据库,才能实现修改操作,给用户带来一定的麻烦。
首先在客户端利用Recordset对象的方法将XML数据添加到数据岛中;验证无误后,再利用XMLHTTP对象向服务器传送已经准备好的数据包;运用DOM技术在服务器端对数据包进行分析检验。在检验没有错误后提取结点数据,并在数据库中添入结点数据,若未通过,将错误信息返回给客户。
(3) XML 技术在数据发布中的应用
数据发布的过程就是从数据库中提取数据转入相应 XML 文件的过程, 首先发布程序会遍历新年级的所有专业及相关学制和学生类型信息, 然后提取培养计划表中的所有相关信息, 并利用 ASP的 FileSystemObject 对象将获得的数据写入到 XML文件中。因为 XML 文件本身是一个文本文件, 所以数据写入的方法与向文本文件中写入数据的方法相同。
参考文献:
[1]罗雨滋,付兴宏.基于XML的高职学分制选课系统的设计与实现[J].保山师专学报,2006年 9 月.
[2]范丽梅.基于XML_ASP的选课系统研究及其访问冲突的解决[D].吉林大学,2010.