基于web的学生选课排课系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于web的学生选课/排课系统的设
计与实现
随着中国教育制度改革的不断深化,高等院校越来越注重大学生的素质教育,并在培养学生能力方面也积累了许多的经验。现在,大部分高等院校都实施的是学分制,而学分制改革实行的关键就是学生可以自由选课。为给大学生提供一个更加自由广阔的学习空间,也为了使高校管理人员从日常繁琐的重复性劳动中解脱出来,实现高效严谨的管理,使更多的人员有精力去从事更有意义的创造性的教学、科研和管理工作,提出基于校园网的高校学生选课系统的实现方案。
一、设计思想
本系统选择面向对象的程序设计方法,对我校已有的教务管理系统进行了分析,原有的教务系统包括学生管理、排课系统等一些系统,但没有学生网上选课系统,所以本系统设计完成以后可以作为教务管理系统的一个子系统使用。系统选用大型关系型数据库SQL Server2000作为公共基础数据库,建立一个支持JSP/Servlet的Web服务器,开发基于Browse/Server结构的学生网上选课系统。利用网络安全技术,根据数据的密级进行权限设置,对不同权限的用户提供特定级别的信息。
二、系统主要功能
根据前面所述的系统设计原则,结合我校的实际需要,我们把学生选课系统分为两个大的功能模块:选课子系统和系统维护子系统,每个模块里又分为若干个小的功能模块。
(一)选课子系统:本子系统主要实现让学生或教师在网上的任一个计算机
终端上进行选课,查询结果,修改密码等功能。
1身份验证学生或教师都有唯一的一个用户ID号和密码,这样可以确保用户登录时数据的安全以及防止其它非校内人员进行选课来破坏系统的选课资源。
2学生选课学生在登录以后可以进行选课,选课时要经过预选课、正式选课和改/补选课三个过程。
首先要进行预选课,即根据本学期的开课计划所规定的选课要求进行选课,学生确认后,写入预选结果库。系统还会对每位学生所选择的课程自动判别是否冲突来为正式选课提供可靠的数据。
对预选课的结果进行一系列优化处理后,进行正式选课,并把结果写入正式结果库。在正式选课时如果遇到某一门课程选课人数比较多的情况,系统采用一种平均分布概率算法进行随机动态抽签选课,抽不中此课的学生系统允许改选其它课程。
学生上课后,有时会发现所选课程不适合自己学习,系统提供了改/补选课过程来满足此时学生对其它课程的需要。
3查询及指导在查询中系统根据用户的不同要求自动完成各种各样的统计,提
供各种不同的查询功能,并发布在网上。主要提供学生查询、教师查询、课程查询、课表查询、开课计划查询等模式。选课指导为用户选课提供详细的操作示例。*密码修改为用户提供密码修改的功能,防止用户密码被盗用的危险。
(二)系统维护子系统:本子系统主要由系统管理人员完成各种系统维护功
能,具体包括:制定开课计划并进行辅助处理,文件管理,数据维护,对预选课结果进行统计分析,公平处理和优化教学资源,对正式选课结果自动处理,生成各种统计、查询报表,输出选课结果,在线帮助等各项功能。
1选课前预处理在开始选课前,需要对课程、教师及学生信息进行加工与处理,以保证选课过程的顺利进行。主要有开课计划处理、教学资源处理、正式开课信息处理、课程容量处理等。
2选课结果处理选课结束后,由预选结果数据生成停开课程数据库、正式开课数据库及教学资源利用状况信息库,并根据正式选课数据生成最终选课结果和改/补选课程信息。生成学生、教师、课程等查询统计信息并进行数据的导出及备份。
3系统管理一个完备的系统还应包括必要的辅助功能,来使主体模块能够稳定、安全、有效地运行。选课系统的辅助性模块具体包括:文件管理,录入/编辑数据,选课密码的自动生成、修改及查询,压缩与重载系统数据库,智能升级以及系统帮助等。
三、系统结构:
本系统采用将B/S结构来满足用户网上选课和查询。B/S三层体系结构分成表示层、业务逻辑层和数据库层,其中,表示层(客户端)为用户提供应用界面,完成数据输入、输出和一般的数据处理任务;业务逻辑层(中间层)为客户端提供
程序调用的业务逻辑规则,以完成其业务操作并提供服务,同时负责连接数据层的数据库;数据库层负责储存、管理数据,可用一些存储过程、触发器保证数据的完整性和一致性。由于采用了先进的三层体系结构,客户端只需注重人机界面的设计,不必关心业务逻辑和数据库的访问,实现了瘦客户。中间层的采用使得客户端不能直接访问数据库,使数据库的安全问题得到控制。并且业务逻辑改变时客户端界面可不改变,因此,软件的易用性和可维护性得到了大大提高。在业务逻辑中,采用面向对象的组件模式,每种服务由许多可重用的组件构成,增加了系统的可重用性。
四、系统实现
在www中,浏览器是用户可见的存在界面,在该界面中,用户输入信息,浏览器将该输入信息发送到服务器端,由服务器通过外部程序访问数据库,并将结果返
回给浏览器。在设计数据库时,对数据库进行规范化来减少数据冗余。同时由于选课的数据非常重要,必需设计一个安全的数据库,主要考虑其保密性,完整性和可用性。管理人员(特权用户)可以对基础数据(课程信息,开课计划等)进行编辑,数据录入人员可以对学生相关的数据进行操作(读写等操作),而一般用户(合法)只能对部分数据进行查询。在数据库中分别设置管理员角色,操作员角色和普通用户角色,用户密码加密存储。同时使用Trigger(触发器)技术保证数据的完整性检查与控制。Trigger是数据库中一类靠事件驱动的特殊的存储过程,这种存储过程用来监控几个相关表间的修改操作,一旦出现此类修改事件,则激活相应的Trigger,由它自动完成预定的“级联”操作,从而可完成参照完整性等复杂控制。
五、结束语
该系统的开发极大的丰富了我校原有的教务管理系统,深化了高校学分制改革的实施。方便学生结合自己的需要和自身的能力进行选课,在某一领域创新。并且大大提高了高校管理人员的工作效率和管理水平,具有良好的实用性和推广性。