高效智能排课系统
- 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所示
图3 学生功能顶层数据流程图
2.2.2教师功能模块
1)教师用例图
教师主要功能模块主要分为五个模块,分别为:教师登陆、课程查询、课程信息查询、教师的选课和退课、课程表查询。
具体教师用例图如图4所示。
教师
图4教师用例图
3)顶层流程图
图5 教师顶层流程图
2.2.3管理员功能模块
1)用例图
管理员的功能是三个角色中最强的,他除了单独具有用户管理和课程管理功能外,还具有教师和学生的所有功能。
管理员的主要功能模块主要分为五大的基本功能模块:排课管理、学生选课和退课的管理、以及课程的查询、课表的查询
和用户基本信息录入。
其中排课管理又包括教师信息的录入和修改、课程信息的录入、修改以及删除、还有课程安排(包括课程的开始时间和结束时间)和课程的管理(又分为智能排课和排课结果)。
具体管理员用例图如图6所示。
图6 管理员用例图
2)顶层流程图
由于管理员功能很多和教师、学生功能很多相同,在下面的流程图中教师部分和学生部分的功能被省去。
管理员的顶层数据流图,如下图7所示。
图7管理员顶层流程图
3.数据库设计与系统功能的设计
3.1数据库的逻辑实现
本系统是一个高校智能排课系统,在这个系统中主要是以一个班级为基本单位,利用班级与课程来进行排课。
班级与课程的关系是一对多,一个班级里面可以对应多个系别、多个年级、多个课程。
班级与课程信息之间存在的关系,也是一对多,一个班级可以对应很多不同的课程,但是一个课程只能对应一个班级。
3.2数据库的创建
数据库是本系统设计的一块重要部分,在众多的数据库中,SQL server数据库是操作最简单,使用最为广泛的数据库软件之一,它在有着使用方便、对操作员要求低等特点。
在这个系统中,我选择了使用最常用的SQL server数据库管理系统,来设计和实现高校智能管理系统。
数据库表结构如下所示。
表1用户登陆
字段数据类型字段大小必填字段允许为空
用户名Varchar 50 是否
密码Varchar 50 是否
权限Varchar 50 是否
表2课程名
字段数据类型字段大小必填字段允许为空
课程名Varchar 4 是否
课程号Int 50 是否
表3课程信息表
字段数据类型字段大小必填字段允许为空
课程名Varchar 50 是否
课程号Int 4 是否
课节数Int 4 是是
每周课数Varchar 10 是否
需要周数Varchar 10 是否教室Varchar 20 是否
年级Varchar 50 是否任课老师Varchar 50 否否
3.3系统整体功能的设计
高校智能排查询课程课管理系统的总共分为三个用户,用户模块满足的具体功能为:
学生用户界面分为:查询课程信息、进行选课和退课、查询课程表。
教师用户界面包括:教师信息、查询课程表、以及教师选课和退课这四个功能模块。
管理员用户界面分为:查询、修改、删除、增加课程信息以及确认学生选课和退课信息。
系统整体流程图如下图:
图8系统整体流程图
3.4系统登陆界面的设计
由于本系统页面设计比较简单,用户运行本系统后进入登陆界面,如实用户没有登陆,则没有权限也无法进入系统内部的其他页面;用户在填写完相应的用户名、密码后则要选择用户类别,否则是无法进入的;用户提交信息后,系统开始验证信息,若信息正确则允许进入;若不正确则提示用户或密码错误继续留在登陆界面。
登录流程图如下图9所示:
图9用户登录流程图。