JSP自动排课网站|java排课系统
一、 题目摘要
题目简要说明:
选排课系统功能的设计上,选排课系统可以分为登录、排课和选课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)排课系统编码与实现
首先,排课时设置了排课优先级:优先级最高的是公共课,因为公共课一般合班上课的班级个数较多,最容易产生时间冲突,优先级次之的是每周平均课时最多的课程,同样,因为平均课时多,选择时间时进行排课冲突的机会就大,最后是总课时最多的课程。
其次,产生的时间是在教师和所有上课的班级共同的空闲时间集合中产生,并且尽量保证时间选择上的均匀性,防止一周几次课集中于某一段时间。
再次,对教师的选择,一方面考虑到教师的时间限制(由教师确定一学期中第几周,每周哪天哪节课没空),另一方面,对教师设置排课级别,随着排课时间的增多,级别值就增大,从而再次被选择排课的几率就减小(此时要求同一门课程有多个教师讲授)。
最后,教室也设置了排课级别,同教师类似,这样便可以保证教室资源会得到合理而均匀有效地利用。
流程图如下: 排课子系统 教师信息管理 课程信息管理 信息维护 教室信息管理 课程安排 排课管理 信息维护 信息维护 课程安排 智能排课 排课结果 信息录入 信息录入 信息录入
(3)设计及连接数据库
数据库设计是本系统的起点,它的分析结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。它的基本任务是回答“系统必须做什么”的问题。至此,本阶段的主要任务有明确系统的开发目的,分析系统功能的具体要求,由此画出系统的数据库的E-R图。
学生表 课程时间 教师表 课程 班级 教室 学号 开始时间 班级号 教室号 容纳人数 人数 结束时间 课程号 课程名 姓名 教师号 姓名 教室名 课程号 年级 系别 课程名 教学周 课时 排课 属于 讲授 安排课程
对应关系:
学生与班级: n:1
教师与课程: n:1
班级与课程: n:m
班级与课程时间:n:m
课程与课程时间:n:m
课程时间与教室:n:m
数据库连接对动态网站来说是最为重要的部分,在与后端数据库连接时可以采用ODBC或JDBC技术。虽然ODBC作为传统的连接数据库的手段是一种选择,但是ODBC有以下致命缺陷,从而使它无法胜任JSP的请求。
三、题目任务
1、 主要要求
开发一个校园网门户网站其中一个子系统之学生选课排课系统,由选课信息、教室信息根据排课原则生成。
选课信息数据库中包含:学生姓名、课程名称、每周所需课时、所在班级、任课教师姓名
教室信息数据库包含:教室名称、教室容纳人数
要求生成的课程表需要包含:班级名称、课程名称、上课时间、教室名称、任课教师姓名
2、 时间要求
六、题目需求分析
1、功能需求分析
A、根据学生的所学专业、学校的教学大纲(开设的课程)、生成每个学生的选课信息;
B、学生的选课信息要求符合课程体系的实际需求,即先开课没有选修完成时,不允许选修后序课程,选修课程在专业方向上要根据专业类别设置课程的连带关系;
C、学生在累积有5门课,没拿到学分时,不允许选择新课。
D、学生未缴纳学费超过两门次时,不允许选课;
E、排课系统要根据教室情况、学生人数、每个学生选课的情况、教师的授课情况等条件自动排课、手动排课、半自动排课;可以设置不同的排课优先级。
2、 生成结果标准
有良好的交互界面
1) 新用户可以成功注册(以学号注册)
2) 用户可以成功登陆
3) 用户可以成功进行相关操作(选课操作)
4) 管理员可以成功登陆管理员界面(及相关操作)
3、 所需开发工具
JSP语言(掌握程度一般)
Eclipse,JBuild (熟练掌握)
Oracle数据库SQL语言(一般了解)
Linux系统web服务器(初步了解)
4、 需要的主要测试条目
(1)用户登录界面(题目:学生选课排课系统)
(2)学生登录功能
(3)管理员登录功能
(4)学生选课功能
(5)管理员对学生选课信息进行修改与删除功能
(6)管理员上传选课信息
(7)根据选课信息进行排课
七、题目计划安排
1、 开发进度,以周为单位进行安排。(只需安排系统开发阶段的内容,论文写作不算在内)
开发时间 |
开发内容 |
完成情况 |
第一周(3.12—3.18) |
开题报告 |
|
第二周(3.19—3.25) |
需求分析、概要设计、数据库设计 |
|
第三周(3.26—4.1) |
总体设计开始 |
|
第四周(4.2—4.8) |
(选课系统实现阶段)用户登录模块 |
|
第五周(4.9—4.15) |
(选课系统实现阶段)学生选课子系统 |
|
第六周(4.16—4.22) |
(选课系统实现阶段)课程管理子系统 |
|
第七周(4.23—4.29) |
(排课系统实现阶段) 教师管理子系统 |
|
第八周(4.30—5.6) |
(排课系统实现阶段)教室管理子系统 |
|
第九周(5.7—5..13) |
(排课系统实现阶段)课程安排子系统 |
|
第十周(5.14—5.20) |
(排课系统实现阶段)排课管理子系统 |
|
第十一周(5.21—5.27) |
测试 |
|
第十二周(5.28—6.3) |
论文 |
|
2、 测试计划(测试内容条目,时间,测试结果)
测试条目 |
时间 |
测试结果 |
用户登录模块 |
|
|
学生选课子系统 |
|
|
课程管理子系统 |
|
|
教师管理子系统 |
|
|
教室管理子系统 |
|
|
课程安排子系统 |
|
|
排课管理子系统 |
|
|
八、参考文献
1、主要的参考书籍和资料
《JSP动态网站开发》
《JAVA面向对象编程》
《tomcat与java Web开发技术详解》
《数据库原理及Oracle应用》
2、主要参考的网站和网络资料
清华大学网(www.tsinghua.edu.cn)
北大大学网(www.pku.edu.cn)
北京航空航天大学网(www.buua.edu.cn)
辽宁大学网(www.lnu.edu.cn)
目 录 第二章 系统分析......................................................... 第五章 设计进程....................................................... 19 第六章 结论和总结..................................................... 20 附件:程序清单 引 言 计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。 在中小学中用计算机管理排课的意义现在我国的中小学校中排课的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。我作为一个计算机应用的大专生,希望可以在这方面有所贡献。改革的总设计师邓小平同志说过"科学技术是第一生产力",我希望能用我三年的所学编制出一个实用的程序来帮助中小学进行更有效的课程管理。 第一章 系统概述 1.1 排课管理系统概述 排课管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以排课管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件排课,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对排课信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高排课管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
以上内容只是毕业设计作品的部分资料介绍,如果了解更多详情请联系客服QQ:57510459
购买帮助>>