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