财经职业技术智能排课系统的设计与实现(源码)
随着国家经济的飞快发展,计算机科技也日新月异。将计算机科学应用到人们的日常生活中,已经成为了一种必然趋势。它可以为人们带来另一种快捷、新颖的生活方式。面对目前庞大的教育资源,传统人工方式已经不能满足高校排课的实际需要,本毕业设计解决的问题正是利用计算机进行排课。教务处人员可以通过财经学院智能排课系统进行自动排课,并且系统为其提供查询教务资源信息功能。学生和老师则可以通过本系统查询课程信息以及个人课表。财经职业技术学院排课系统使用JSP技术进行开发,它能够出色的完成系统界面设计,并且和数据库的交互也很方便。该系统使用Myeclipse作为开发工具,它内部自带Tomcat,可以让服务器启动更加方便。使用具备跨平台功能的MySQL作为数据库,并使用Navicat作为其可视化管理工具,这样可以令对数据库的操作更加简单快捷。采用B/S架构,这样能够降低开发本系统的复杂性,适应度高。财经职业技术学院智能排课系统实现了自动排课的功能。并且在此基础上,实现教务人员查询教务资源信息功能、学生查询课表和课程具体信息功能以及教师查询授课表和查询课程具体信息功能。关键词 排课系统,B/S,JAVA,JSP
目 录
1 引言 1
1.1 课题研究的背景 1
1.2 国内外研究现状 1
2 系统相关技术 3
2.1 J2EE技术 3
2.2 MVC模式 3
2.3 B/S结构 4
2.4 数据库技术 4
3 系统需求分析 4
3.1 系统总体目标 4
3.2 系统可行性分析 5
3.3 用户需求分析 5
3.4 系统功能需求分析 7
3.5 系统非功能需求分析 7
4 系统总体设计 8
4.1 总体功能设计 8
4.2 系统逻辑设计 11
4.3 系统数据库设计 12
4.4 系统算法设计 12
5 系统详细设计与实现 14
5.1 数据库详细设计 14
5.2 系统登录界面设计 16
5.3 系统功能详细设计 17 *好棒文|www.hbsrm.com +Q: ¥351916072$
6 系统测试 22
6.1 测试方法 22
6.2 系统配置要求 22
6.3 测试内容 22
6.4 测试结果 25
结 论 26
致 谢 27
参 考 文 献 28
1 引言
1.1 课题研究的背景
目前,计算机技术飞速发展,它和人们的日常生活、学习和工作早已密不可分。如何利用计算机技术实现办公自动化进行优化日常工作已经成为非常重要的课题。各个行业都已经开始使用计算机作为管理工具,不管是街边的商店,还是公司的人员管理,由此可见,计算机应用领域已经非常广泛。计算机可以很好的代替人工处理庞大的数据,并且准确性比人工高出太多。
在高校中,学期开始的时候,排课必然是教务处工作中的重点和难点。只有合理安排课表,高校的教学方可正常展开。高校排课是一项繁重的工作,在排课过程中,如果出现任一教学资源冲突,都会令排课任务更加繁重。为了保证教学质量,制定合理的课表是高校迫切需要解决的问题。目前,排课问题已经成为国内外学者重要的研究课题之一。排课是一个典型的NP问题,最基本的要求是能够保证教学资源不发生冲突,比如同一个教师不能再同一时间段在两个不同的教室进行授课。在保证无冲突后,再去满足教师和学生的额外要求,并满足教室的约束。然而在人工排课过程中,实现这种要求会很困难,工作量特别大。高校扩招使得教学资源更加紧张,并且使得原本的排课工作量变得更大,人工排课愈加困难。而计算机能够很好的解决这个问题,如果能够实现相应的智能化的排课系统软件,排课问题就能迎刃而解。
利用计算机解决高校排课问题,是科技进步的良好表现。一旦财经职业技术学院智能排课系统开始被使用,便不需要过多的人工,教务人员只需要设置好教室资源、教师资源、学生资源以及排课要求,即可完成新学期排课任务。
1.2 国内外研究现状
从20世纪五十年代开始,国外就有人研究排课问题。排课问题是为了确定在哪天和哪个时段,哪位教师在哪个教室讲授哪门课程。1963年,Gotlieb曾经提出一个数学模型用来排课,但是由于它包括大量的的教育规则和约束,所以排课问题易受实际问题的影响。并且大量课程和讲师的存在使问题变得更加复杂,所以实际上这个模型并没有真正令排课实现。
高校排课算法有很多种,如图论方法,但是这些方法在约束过多的情况下则会导致排课失败,所以它们都不具备通用性,而且关联规则很难获取[3]。目前,为了解决排课问题已经出现了很多新的算法。国外的Salwan Abdullah等人采用混合进化方法解决排课问题;ShawChingChang等人采用遗传算法解决排课问题。国内的排课问题研究中,宗薇则采用遗传算法来优化排课方案。谭保华、李玉吉等人将遗传算法和蚁群算法相结合,形成了一种时间效率和求解效果都比较好的启发式算法,不足之处在于约束条件较为简单。沈桂芳则提出了类似于蚁群算法的一种算法,萤火虫算法[3]。接下来主要对贪婪算法、遗传算法、蚁群算法和萤火虫算法进行阐述。
萤火虫算法,是一种仿生算法,它根据教室,教师,班级,课程以及授课时间要求建立一个多目标、多约束的排课数学模型,采用二分图完美匹配操作初始可行排课方案;最后利用优化算法在可行方案中寻找最优解[3]。
贪婪算法解决排课问题的思路是:针对现有问题确定好算法目标,然后在根据算法确定得到最优解所需的约束,然后针对该约束设计优化规则,最后针对该规则制定贪婪规则。根据贪婪算法可以获得局部最优解,但是从全局方面考虑,就不太适合排课系统了。如今学生数量、教师数量、课程数量和教师数量都非常多,排课系统必定会面临庞大的计算量,而局部最优则会导致系统运行时间过长,严重影响排课效率。
遗传算法比较通用,源于生物学,特点是其所需计算时间少。但在当今高校,面对当今高校如此庞大的教师数量和学生数量,遗传算法不在适用,因为它已经不能够很好的解决大规模计算量的问题。遗传算法的工作原理是:在一个群体不能获得最优解的情况下,因为个体特征超过上一代会违反规则,所以群体之后的个体也无法生成最优解。在当今排课系统中,大量数据处理是必然的,一旦群体无法获得最优解,很可能导致系统运行失败。所以遗传算法已经无法良好的解决高校的排课问题了。
目 录
1 引言 1
1.1 课题研究的背景 1
1.2 国内外研究现状 1
2 系统相关技术 3
2.1 J2EE技术 3
2.2 MVC模式 3
2.3 B/S结构 4
2.4 数据库技术 4
3 系统需求分析 4
3.1 系统总体目标 4
3.2 系统可行性分析 5
3.3 用户需求分析 5
3.4 系统功能需求分析 7
3.5 系统非功能需求分析 7
4 系统总体设计 8
4.1 总体功能设计 8
4.2 系统逻辑设计 11
4.3 系统数据库设计 12
4.4 系统算法设计 12
5 系统详细设计与实现 14
5.1 数据库详细设计 14
5.2 系统登录界面设计 16
5.3 系统功能详细设计 17 *好棒文|www.hbsrm.com +Q: ¥351916072$
6 系统测试 22
6.1 测试方法 22
6.2 系统配置要求 22
6.3 测试内容 22
6.4 测试结果 25
结 论 26
致 谢 27
参 考 文 献 28
1 引言
1.1 课题研究的背景
目前,计算机技术飞速发展,它和人们的日常生活、学习和工作早已密不可分。如何利用计算机技术实现办公自动化进行优化日常工作已经成为非常重要的课题。各个行业都已经开始使用计算机作为管理工具,不管是街边的商店,还是公司的人员管理,由此可见,计算机应用领域已经非常广泛。计算机可以很好的代替人工处理庞大的数据,并且准确性比人工高出太多。
在高校中,学期开始的时候,排课必然是教务处工作中的重点和难点。只有合理安排课表,高校的教学方可正常展开。高校排课是一项繁重的工作,在排课过程中,如果出现任一教学资源冲突,都会令排课任务更加繁重。为了保证教学质量,制定合理的课表是高校迫切需要解决的问题。目前,排课问题已经成为国内外学者重要的研究课题之一。排课是一个典型的NP问题,最基本的要求是能够保证教学资源不发生冲突,比如同一个教师不能再同一时间段在两个不同的教室进行授课。在保证无冲突后,再去满足教师和学生的额外要求,并满足教室的约束。然而在人工排课过程中,实现这种要求会很困难,工作量特别大。高校扩招使得教学资源更加紧张,并且使得原本的排课工作量变得更大,人工排课愈加困难。而计算机能够很好的解决这个问题,如果能够实现相应的智能化的排课系统软件,排课问题就能迎刃而解。
利用计算机解决高校排课问题,是科技进步的良好表现。一旦财经职业技术学院智能排课系统开始被使用,便不需要过多的人工,教务人员只需要设置好教室资源、教师资源、学生资源以及排课要求,即可完成新学期排课任务。
1.2 国内外研究现状
从20世纪五十年代开始,国外就有人研究排课问题。排课问题是为了确定在哪天和哪个时段,哪位教师在哪个教室讲授哪门课程。1963年,Gotlieb曾经提出一个数学模型用来排课,但是由于它包括大量的的教育规则和约束,所以排课问题易受实际问题的影响。并且大量课程和讲师的存在使问题变得更加复杂,所以实际上这个模型并没有真正令排课实现。
高校排课算法有很多种,如图论方法,但是这些方法在约束过多的情况下则会导致排课失败,所以它们都不具备通用性,而且关联规则很难获取[3]。目前,为了解决排课问题已经出现了很多新的算法。国外的Salwan Abdullah等人采用混合进化方法解决排课问题;ShawChingChang等人采用遗传算法解决排课问题。国内的排课问题研究中,宗薇则采用遗传算法来优化排课方案。谭保华、李玉吉等人将遗传算法和蚁群算法相结合,形成了一种时间效率和求解效果都比较好的启发式算法,不足之处在于约束条件较为简单。沈桂芳则提出了类似于蚁群算法的一种算法,萤火虫算法[3]。接下来主要对贪婪算法、遗传算法、蚁群算法和萤火虫算法进行阐述。
萤火虫算法,是一种仿生算法,它根据教室,教师,班级,课程以及授课时间要求建立一个多目标、多约束的排课数学模型,采用二分图完美匹配操作初始可行排课方案;最后利用优化算法在可行方案中寻找最优解[3]。
贪婪算法解决排课问题的思路是:针对现有问题确定好算法目标,然后在根据算法确定得到最优解所需的约束,然后针对该约束设计优化规则,最后针对该规则制定贪婪规则。根据贪婪算法可以获得局部最优解,但是从全局方面考虑,就不太适合排课系统了。如今学生数量、教师数量、课程数量和教师数量都非常多,排课系统必定会面临庞大的计算量,而局部最优则会导致系统运行时间过长,严重影响排课效率。
遗传算法比较通用,源于生物学,特点是其所需计算时间少。但在当今高校,面对当今高校如此庞大的教师数量和学生数量,遗传算法不在适用,因为它已经不能够很好的解决大规模计算量的问题。遗传算法的工作原理是:在一个群体不能获得最优解的情况下,因为个体特征超过上一代会违反规则,所以群体之后的个体也无法生成最优解。在当今排课系统中,大量数据处理是必然的,一旦群体无法获得最优解,很可能导致系统运行失败。所以遗传算法已经无法良好的解决高校的排课问题了。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/1098.html