选课排课系统设计与实现-开题报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开题报告《选课排课系统设计与实现》
学号:200502331136
姓名:
题目指导教师:
一、题目摘要
题目简要说明:
选排课系统功能的设计上,选排课系统可以分为登录、排课和选课3个子系统。登录子系统区分排课者(也即系统的管理者)、教师和学生这三者的不同身份,给出不同的权限,在页面中根据身份判断其相应具有的功能来使用这套系统。排课子系统主要供排课者使用,排课者可以在这里进行一切与排课有关的活动。选课系统主要供学生选课使用,在这里可以进行与选课有关的活动;教师可在教师反馈系统中对排课者提出反馈意见,供排课者在排课时可参考使用。
二、题目背景
1、国内国外发展
随着Internet的逐步发展,网络不仅仅是科研部门学术交流的平台,在其他的方面上也得到了很大的发展,尤其是在校园网的分支教务管理上,同时在教务管理的主要分之选课排课系统的应用上得到了较大的发展,国外针对此问题展开的研究较早。1963年C C Gotlieb 在他的文章《The Construction of Class-Teacher Time-Tables》中提出了课表编排的数学模型。这篇文章引起了人们对于选排课问题的重视。1976年S Even在其论文《The Complexity of Timetable And Multi Commodity Flow Problem 》中,第一次证明了课表问题是NP完全的。S Even的论证进一步地将人们对课表问题复杂性的认识提高到理论高度。
而国内对排课问题的研究较晚。1984年,清华大学在《清华大
学学报》上发表了林漳希和林尧瑞在该课题上的实验性研究成果《人工智能技术在课表编排中的应用》。
如今国内软件市场上也有很多通用型的排课软件,例如“排课无忧”、“排课高手”等等。这些通用软件往往无法满足学校的某些特殊要求。因此,针对学校的一些特殊要求,我设计并开发了基于校园网之子系统选排课系统。
2、需求背景分析
网上选排课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等学校开始实行的是学生的自主选课模式,而传统的教学模式:学生按照学校安排好的课程上课已经不能适应新型的教学方式,如果按照传统方式宣科,一方面浪费了大量的人力和物力;另一方面浪费时间以及在人为的统计过程中不可避免出现的差错的情况。从教师的角度来说,由于教师提出代课申请完成课程发布的工作,因此通过网上进行课程发布能大幅度的减少教师的工作量,减少错误的发生几率。作为教师,只要通过自己的电脑来操作即可,不必于奔波在教务处和办公室之间。基于此等原因从而提出网上选排课系统的研究进行实施与探讨。
3、主要技术JSP语言和Oracle数据库
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单
元提供了一个接口来服务于HTTP的应用程序。在传统的网页HTML文件中加入Java程序片段(Script let)和JSP标记(tag),就构成了JSP网页(扩展名为.jsp)。
Oracle数据库相对于其他数据库也有很多优点:
(1)无范式要求,可根据实际系统需求构造数据库。
(2)采用标准的SQL结构化查询语言。
(3)具有丰富的开发工具,覆盖开发周期的各阶段。
(4)支持大型数据库,数据类型支持数字、字符、大至4GB 的二进制数据,为数据库的面向存储提供数据支持。
(5)具有第四代语言的开发工具(SQL*formS、SQL*REPORTS、SQL*MENU等)。
(6)具有字符界面和图形界面,易于开发。
(7)通过SQL*DBA控制用户权限,提供数据保护功能,监控数据库的运行状态,调整数据缓冲区的大小。
(8)分布优化查询功能。
(9)具有数据透明、网络透明,支持异种网络、异构数据库系统。并行处理采用动态数据分片技术。
(10)支持客户机/服务器体系结构及混合的体系结构(集中式、分布式、客户机/服务器)。
(11)实现了两阶段提交、多线索查询手段。
正因于此,所以采用此数据库编程语言。
4、题目所采用的主要技术
服务器系统为Linux系统,前台采用JSP语言,后台采用sqlserver2000/Oracle数据库。
5、所应用技术的难点
(1) 选课系统设计
根据功能的不同可以将本系统划分为三个主模块,九个子模块:
一、用户登录子系统
操作对象:学生、教师、管理员。
用户登录子系统功能:用户登录时,首先要选择自己登录的类型,才能实现自己所需求的服务功能。即用不同身份登录系统会拥有不同的权限。
用户登录操作流程:首先用户应先输入账号(学号、教师号、管理员号)和密码,再选择登录的类型,如果相应的账号和密码正确,则顺利进入系统,如果账号或密码不正确,则提示用户登录失败。
二、学生选课子系统
操作对象:学生。
学生选课子系统功能:学生可以查询课表、查询课程详细信息(课程,教师)、选课和退课等操作。
学生选课操作流程:学生登录验证成功后,进入学生选课子系统,点击相应的课程号就可以直接选课。如果输入课程号或教师号,可以进行可选课程查询,同时,自己的选课表会显示出来,在选课版面还可以进行密码修改,退出系统。除此之外,学生还可以进入课表查询、课程查询和选课查询版面进行相应操作。
三、课程管理子系统
操作对象:管理员。
课程管理子系统功能:管理员可以进入排课系统,还可以进行课表查询、课程查询、选课查询,但不具有学生拥有的选课功能。
管理员操作流程:管理员登录验证成功,进入系统,即可以进行相应的操作,如进入排课系统,可以进行排课、发布选课信息、对学生的选课信息进行确认。
(2)排课系统编码与实现
首先,排课时设置了排课优先级:优先级最高的是公共课,因为公共课一般合班上课的班级个数较多,最容易产生时间冲突,优先级次之的是每周平均课时最多的课程,同样,因为平均课时多,选择时间时进行排课冲突的机会就大,最后是总课时最多的课程。
其次,产生的时间是在教师和所有上课的班级共同的空闲时间集合中产生,并且尽量保证时间选择上的均匀性,防止一周几次课集中于某一段时间。