高效智能排课系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
摘要 (1)
引言 (1)
1.绪论 (1)
1.1课题背景 (1)
1.2国内外研究的现状 (2)
1.3课题设计的意义 (2)
1.4设计方法 (2)
2.系统需求分析 (3)
2.1编程的环境的选择 (3)
2.2系统功能需求分析 (3)
2.3系统模块和流程图 (3)
3.数据库设计与系统功能的设计 (7)
3.1数据库的逻辑实现 (7)
3.2数据库的创建 (7)
3.3系统整体功能的设计 (8)
3.4系统登陆界面的设计 (9)
摘要:本论文的主要工作是设计并实现高效的智能排课系统。使用计算机自动实现课程的查询、教师的查询以及教室的查询,并且能够自动生成课程表。高校智能排课系统平台采用Windows 7操作系统,数据库主要采用SQL Server 2005,并采用Java语言实现编程。本系统运用管理员、教师、学生三级授权方式,快速的实现排课的功能,大大提高了排课的工作效率。
关键词:SQL Server;Java;智能排课
引言
随着计算机科学技术的高速发展,计算机意境成为我们学习和工作中不可缺少的重要部分,它被应用于很多领域,它已经成为了人们生活中不可缺少的一部分,我们生活的各个方面都有它的存在。这是因为计算机具有以下几个特点:第一,计算机可以为人们的工作和生活提供方面;其次,使用计算机可以节省许多的纸质文件、节省了大量的存储空间;第三,计算机可以缩短人们的工作时间;第四,计算机可以对文档进行加密,让文件更安全等等。就排课工作而言,我国各个高校使用传统手动排课的管理方法,就是一件很复杂的工作,这篇论文充分利用了计算机的特点,使用Java语言开发一个相对便利的高校排课系统。
1.绪论
1.1课题背景
排课管理系统是各个大学中不可缺少的重要组成部分,它的内容的优劣对于学校的学生、老师、决策者和管理者来说都是至关重要的。智能排课管理系统必须能够做到为用户提供及时准确的课程信息、快捷的课程查询手段、快速的生成课程表的这三项基本功能。然而,一直以来各个学校都使用着最为传统的人工管理方式进行排课,这种传统的人工排课方法不但但是效率低、保密性差的特点,并且很难进行修改。再加上时间长了之后,会产生大量的课程文件和课程数据,如果人们要查找课程信息或者修改课程信息就需要查找大量的文件。现代社会,计算机技术不断的在发展,也不断的在成熟,使用计算机进行智能排课,具有着人工排课无法相比较优点。例如:查询课程信息方便、存储课程容量大、保存时
间长、费用低等优点。这些优点不仅可以大大提高排课的效率,也是高校实行科学化管理、规范化管理的一个重要条件。
1.2国内外研究的现状
现在我国高校大部分采用人工排课方式,这种排课方式不仅仅增加了工作人员的工作量,而且容易出现错误,容易造成教室的重复占用,给学生、老师造成不便。
虽然高校智能排课的问题在很早的时候就被人提上研究日程,但是由于它具有数据规模比较大、管理复杂以及规律不断变化的特点,智能排课问题一直没有得到很大的发展,因而排课问题还在不断的研究中。随着计算机软件技术的迅速的发展,林林总总的智能排课软件随之产生,但是由于各个大学的教学资源、教学条件、教学方式、课程需求、排课方式等方面存在不同形式上的差异,使得它很难用一个统一的智能软件完成的课程安排。这就要求必须有新的智能排课软件的出现。
1.3课题设计的意义
目前,高校的排课过程,一般要经历选课、排课、编排教师、安排教室、通知学生等等一些过程。很明显,进行排课的人员工作量会很大,而且他们的这个工作流程也十分的繁琐、复杂,最重要的是还非常容易出错,所以利用现代网络技术的发展,对应的高校智能排课系统的需求也变得很大了,传统的排课系统出现的排课冲突的现象一直都很普遍,所以本系统将开发一个新的高校智能排课的系统。
1.4设计方法
1)系统应该满足不同用户角色的基本需求
学生:可以在线进行查询自己的课程信息、查询课表、以及任课教师、上课时间。
老师:查询自己和其他老师的课程信息和查询课程表的功能。
管理员:具有教师和学生的所有的查询课程的功能,同时管理所有课程资源的基本信息。
2)系统应满足用户智能排课的需求
学生登录:可以在线进行选课和退课。
老师登录功能:可以实现教师的选课和退课。
管理员能录功能:可以实现对学生、教师、课程的课程安排和课程管理,确认学生的选课和退课信息。
2.系统需求分析
2.1编程的环境的选择
系统主要采用的是Java语言技术,Java是现在计算机编程语言中最常见到的,也是现代各商家主要开发的计算机语言的一种,它具有面向对象、分布式等的特点,并且还具有可移植性、安全性等多个特点,对于刚接触这个语言的人来说,Java学起来相对于其他的编程语言而言要简单很多,它不用花大量的时间去参见培训,就可以自己编写一些简单的程序,比较适合现在企业或个人的需要。Java的编程有些部分类似C++和C#,所以学习过C++的人将很快掌握Java的基本语言。
2.2系统功能需求分析
高校智能排课系统的主要目标是实现智能排课这一中心任务,包括用户登录、课程查询、课程表的生成、选课和退课、课程信息管理等这几个中心模块,这几个中心模块中又包括具体的内容。
智能排课系统总体功能图如图1所示。
图1智能排课系统总体功能图
2.3系统模块和流程图
2.2.1学生功能模块
1)考生用例图
学生用户的主要功能模块基本分为五个主模块,分别为学生登录、课程查询、课程信息查询(又分为按老师查询、按课程查询)、选课和退课、课程表查询。课程信息查询模块可以看到详细的课程信息,包括:课程开始时间、课程结束时间、任课老师、课程名、课节、星期、班级、年级、教室等。选课和退课模块可以完成选课、退课、修改自己登录密码以及注销用户的功能。
具体考生用例图如图2所示。
图2 学生用例图
2)需求说明
学生用户用自己学号和密码进行登录系统,然后选择查询课程,可以看到课程名称、课程开始时间、结束时间时间、授课老师等信息,学生也可以看到课程表的详细情况。在选课和退课的模块中可以实现学生自己的信息管理,可以修改自己的登录密码;并根据自己的需要实现选课功能,等待管理员的选课信息确认,管理员确认之后就完成了选课的操作;如果学生想要退课,必须等管理员确认选课之后才能实现,否则不能退课。
3)顶层数据流图:如图3所示