排课系统设计
- 格式:doc
- 大小:99.00 KB
- 文档页数:11
智能排课系统设计与实现摘要排课问题是所有教育行业都要面对的问题,尤其针对高校纷繁复杂的课程和专业,一直没有很好解决方法。
但这又是每个学校在每个学期都会碰到的必修课。
本文在相关理论的指导下,在分析以往一些排课软件的基础上,提出一种排课系统的设计方法,对一些具体的...<P>摘 要<BR>排课问题是所有教育行业都要面对的问题,尤其针对高校纷繁复杂的课程和专业,一直没有很好解决方法。
但这又是每个学校在每个学期都会碰到的必修课。
本文在相关理论的指导下,在分析以往一些排课软件的基础上,提出一种排课系统的设计方法,对一些具体的问题给出相应解决方案。
希望对于相关部门有所帮助。
此系统主要被分为三个部分:界面的设计、排课算法的设计、以及报表的自动生成。
纵观全局,我们确定用Visual Basic 语言作为程序设计语言以及运用ACCESS 数据库作为后台的数据库支持(所有权: 毕业设计网) <BR><BR>目 录<BR>摘 要. I <BR>Abstract II <BR>第一章 引言. 1 <BR>第二章 可行性研究. 3 <BR>2.1 系统目标及任务. 3 <BR>2.2 开发工具的选择和介绍. 3 <BR>2.3 对现有的排课系统的分析. 5 <BR>2.4系统的逻辑模型. 6 <BR>2.4.1 系统结构图. 6 <BR>2.4.2 系统流程图. 6 <BR>2.4.3数据字典. 7 <BR>2.5 系统的可行性. 8 <BR>2.5.1经济可行性分析. 8 <BR>2.5.2操作可行性分析. 9<BR>2.5.3 技术可行性分析. 9 <BR>2.6成本效益分析. 9 <BR>第三章 需求分析. 10 <BR>3.1 系统的运行环境要求. 10 <BR>3.1.1硬件要求. 10 <BR>3.1.2软件要求. 10 <BR>3.2 系统的功能要求. 10<BR>3.3系统的性能要求. 11 <BR>3.3.1 E-R图. 11 <BR>第四章 总体设计. 13 <BR>4.1 模块设计. 13 <BR>4.2 功能分解. 14<BR>4.3 数据库设计. 14 <BR>4.3.1 定义属性表. 14 <BR>4.4 排课系统总构架. 16 <BR>第五章 详细设计. 17 <BR>(所有权: 毕业设计网) <BR>5.1用户界面设计. 17 <BR>5.1.1简单易用和个性化需求. 17<BR>5.1.2对数据的查询. 17 <BR>5.1.3系统菜单功能. 17 <BR>5.2 课程表的生成. 19 <BR>5.2.1 班级课程表查询打印设计. 19 <BR>5.2.2 教师课程表查询打印设计. 25 <BR>5.2.3 教室课程表查询打印设计. 31<BR>第六章 测试. 37 <BR>6.1 排课系统功能测试. 37<BR>6.2 排课系统课表合理性测试. 37 <BR>6.3 该系统的不足和改进方案. 37 <BR>第七章 总结. 39 <p class='Hfh874'></p> <BR>7.1软件设计小结. 39 <BR>参考文献. 40 <BR>附 录. 41<BR>Survey Report 45 <BR><BR>功能分解<BR>基本信息管理子系统功能:班级信息,教室信息和教室信息的添加、保存、编辑和删除:<BR>1、用户管理子系统功能:用户密码的设置和修改,用户权限的设置,用户重新登陆;<BR>2、数据管理子系统功能:包括对教室、教师、班级、教学计划和课表数据的保存、查询、更新、删除;<BR>3、教学计划管理子系统功能:某一确定的学期的教学工作计划,对于班级而言,每门课程的学时、开始周、结束周以及每门课程的任课教师,该子系统对教学计划进行管理和完善;<BR>4、排课管理子系统功能:包括自动排课,手动排课两个部分;<BR>5、课表查询子系统功能:对于具体的班级、教师、教室进行课表查询,打印<span class='Hfh874'></span> </P><P> </P><P> <font color='#9a9a9a'></font> </P><P></P><p>1、研究思路<br />本文首先从选题研究的背景、意义进行归纳研究。
基于web的学生选课/排课系统的设计与实现随着中国教育制度改革的不断深化,高等院校越来越注重大学生的素质教育,并在培养学生能力方面也积累了许多的经验。
现在,大部分高等院校都实施的是学分制,而学分制改革实行的关键就是学生可以自由选课。
为给大学生提供一个更加自由广阔的学习空间,也为了使高校管理人员从日常繁琐的重复性劳动中解脱出来,实现高效严谨的管理,使更多的人员有精力去从事更有意义的创造性的教学、科研和管理工作,提出基于校园网的高校学生选课系统的实现方案。
一、设计思想本系统选择面向对象的程序设计方法,对我校已有的教务管理系统进行了分析,原有的教务系统包括学生管理、排课系统等一些系统,但没有学生网上选课系统,所以本系统设计完成以后可以作为教务管理系统的一个子系统使用。
系统选用大型关系型数据库SQL Server2000作为公共基础数据库,建立一个支持JSP/Servlet的Web服务器,开发基于Browse/Server结构的学生网上选课系统。
利用网络安全技术,根据数据的密级进行权限设置,对不同权限的用户提供特定级别的信息。
二、系统主要功能根据前面所述的系统设计原则,结合我校的实际需要,我们把学生选课系统分为两个大的功能模块:选课子系统和系统维护子系统,每个模块里又分为若干个小的功能模块。
(一)选课子系统:本子系统主要实现让学生或教师在网上的任一个计算机终端上进行选课,查询结果,修改密码等功能。
1身份验证学生或教师都有唯一的一个用户ID号和密码,这样可以确保用户登录时数据的安全以及防止其它非校内人员进行选课来破坏系统的选课资源。
2学生选课学生在登录以后可以进行选课,选课时要经过预选课、正式选课和改/补选课三个过程。
首先要进行预选课,即根据本学期的开课计划所规定的选课要求进行选课,学生确认后,写入预选结果库。
系统还会对每位学生所选择的课程自动判别是否冲突来为正式选课提供可靠的数据。
对预选课的结果进行一系列优化处理后,进行正式选课,并把结果写入正式结果库。
摘要排课问题是所有教育行业都要面对的问题,尤其针对高校纷繁复杂的课程和专业,一直没有很好解决方法。
但这又是每个学校在每个学期都会碰到的必修课。
本文在相关理论的指导下,在分析以往一些排课软件的基础上,提出一种排课系统的设计方法,对一些具体的问题给出相应解决方案。
希望对于相关部门有所帮助。
此系统主要被分为三个部分:界面的设计、排课算法的设计、以及报表的自动生成。
纵观全局,我们确定用Visual Basic 语言作为程序设计语言以及运用SQL Server 2000 数据库作为后台的数据库支持。
关键词:排课、排课系统、设计、高校AbstractCourse arranging Problem is a problem which working in the development of education is facing. Especially, there is no a good solution for this matter of the college. However, it is also a necessary administration task for every school in every semester. This essay, with the correlative theory’s guidance, on the basis of analyzing some courses-arraying software, proposes a design method of commonly used courses arraying information system in college, and solves some of the certain problems. Hoping it is useful for the relative department. The system consist of three parts: the interface design, the algorithm of Course Timetable system, and printing the tables. On the whole, we decided to use VB computer language to design and SQL Server 2000 Data Base to support.Key Words: courses arranging; courses arrangement management system; design; college目录摘要 (I)ABSTRACT (II)第一章引言 (1)第二章可行性研究 (3)2.1系统目标及任务 (3)2.2开发工具的选择和介绍 (3)2.3对现有的排课系统的分析 (5)2.4系统的逻辑模型 (6)2.4.1 系统结构图 (6)2.4.2 系统流程图 (6)2.4.3数据字典 (7)2.5系统的可行性 (8)2.5.1经济可行性分析 (8)2.5.2操作可行性分析 (9)2.5.3 技术可行性分析 (9)2.6成本效益分析 (9)第三章需求分析 (10)3.1系统的运行环境要求 (10)3.1.1硬件要求 (10)3.1.2软件要求 (10)3.2系统的功能要求 (10)3.3系统的性能要求 (11)3.3.1 E-R图 (11)第四章总体设计 (13)4.1模块设计 (13)4.2功能分解 (14)4.3数据库设计 (14)4.3.1 定义属性表 (14)4.4排课系统总构架 (17)第五章详细设计 (18)5.1用户界面设计 (18)5.1.1简单易用和个性化需求 (18)5.1.2对数据的查询 (18)5.1.3系统菜单功能 (18)5.2课程表的生成 (20)5.2.1 班级课程表查询打印设计 (20)5.2.2 教师课程表查询打印设计 (25)5.2.3 教室课程表查询打印设计 (32)第六章测试 (36)6.1排课系统功能测试 (36)6.2排课系统课表合理性测试 (36)6.3该系统的不足和改进方案 (36)第七章总结 (38)7.1软件设计小结 ............................... 错误!未定义书签。
课表编排系统的设计与实现一、课表编排的重要性1、课表编排系统的设计其实关系到每个学生的日常生活,想想看,刚开学那会儿,大家手里的课表就像是“命运之书”。
哪个时间段上课,哪一天有体育,哪个时间段能偷点懒,这些都是每个学生最关心的事儿。
你说,这个课表要是排得合适,学生心里就美滋滋的,什么烦心事都没了;但如果排得不合适,那可真是“人人自危”,尤其是那些时间表满得像八达岭长城的同学,恨不得能有两个“自己”,一个去上课,一个去做自己的事儿。
2、课表编排的核心,其实就在于“平衡”二字。
早上8点就开始课,下午又有课,晚上还得写作业,连个喘息的时间都没有,学生怎么能专心呢?如果能在科学的编排下,每个学生都能合理分配精力,既不影响学习效果,又能有时间休息,那才是真正的“因材施教”。
也就是说,课表不仅仅是安排课程的工具,更是学生生活节奏的一部分。
比如,假如体育课和数学课排得很近,那可真是让人捉急,“一个跑步,一个算公式”,谁能专心呀。
3、课表编排的事情说简单不简单,既要考虑到课程的性质,又要考虑到不同年级、不同班级的需求。
有的班级学科较多,有的班级则偏重某些科目。
设计者们要把这些都照顾到,才能达到最好的平衡。
特别是大班制的学校,每个学生的需求都不同,如何做到“人人满意”简直比买彩票还难,但好在有了课表编排系统,这个问题就变得不那么头疼了。
二、课表编排系统的功能与优势1、说到课表编排系统,它最大的优势就是“智能化”。
以前,编排课表就像玩拼图,老师和管理员们得对照教材,得一个个核对,手动填进去,效率低得不行。
而现在,借助课表编排系统,整个过程变得快捷而精准。
你只需要输入课程需求,系统就会根据预设的规则自动调整,简直比人类还聪明。
要是出现冲突,系统还能及时提醒,免得出现“课程撞车”的尴尬。
2、现代的课表编排系统不仅仅是做“安排”这么简单。
它还能根据学生的个人兴趣,帮助学校做课程调整,让每个学生的需求尽可能得到满足。
例如,某些学生可能比较偏爱文科,那么系统就可以根据课表安排给他们更多的文科课时,反之,理科学生也可以享受更多的数学、物理时间。
教务管理系统(软件工程课程设计)1000字一、需求分析一所大学的教务管理系统是一个全校公共的支持多角色操作的系统,它包含多个子系统,如学生信息管理系统,教师信息管理系统,课程信息管理系统等等。
本系统的主要功能是对学校内的教师和学生进行统一管理,并提供方便快捷的服务,帮助教职员工和学生更好地管理自己的信息和资源,提高教学质量,提高学生成绩。
二、系统设计(一)技术选型1.前端技术本系统采用HTML5、CSS、JavaScript 和Bootstrap框架等技术来开发,以保证系统界面的美观、流畅和兼容性。
2.后端技术本系统采用MySQL数据库,以及Java语言和Spring Boot框架,实现后端的主要功能,如数据持久化、权限验证、敏感数据加密等。
(二)系统模块划分根据系统分析,我们将教务管理系统分为以下模块:1.登录模块:学生、教师、管理员通过不同的角色登录系统,每种角色对应不同的界面和功能。
2.学生管理模块:对学生信息进行统一管理,包括基本信息、选课信息、成绩信息等。
3.教师管理模块:对教师信息进行统一管理,包括基本信息、授课信息、考试信息等。
4.课程管理模块:对课程信息进行统一管理,包括开课信息、排课信息、成绩评定信息等。
5.系统管理模块:对整个系统进行管理,包括权限管理、数据备份、系统设置等。
(三)系统流程图(四)系统数据结构设计数据库主要包含以下表:1.学生表:用于存储学生的基本信息,如姓名、性别、年龄、学号等。
2.教师表:用于存储教师的基本信息,如姓名、性别、工号、联系方式等。
3.课程表:用于存储课程的基本信息,如课程名称、授课教师、授课时间等。
4.选课表:用于存储学生报名的选修课程,包括学生学号、选课课程编号等。
5.成绩表:用于存储学生的成绩信息,包括学生姓名、课程编号、成绩等。
三、安全性设计为了保证数据安全,本系统采取以下安全性措施:1.权限控制:学生、教师、系统管理员需要通过不同的账号密码登录,系统根据不同角色进行权限控制,防止信息泄露和非法操作。
校评—试卷存在问题 页脚内容1 一、 需求分析 需求分析是数据库设计的必要和首要设计阶段,将会影响以后数据库设计的延续和质量,需求分析方法也很多,最重要是形成有实用价值的实际性的数据字典和数据流图。在该排课系统的需求分析阶段,主要是通过询问和自己所掌握的关于该系统的数据联系方式和工作方式,形成了关于该系统的数据字典和数据流图。
1.1 需求表述
1.1.1 基本功能描述 排课系统的数据库设计主要完成工作有: 1、 数据库管理员对数据的录入和相关完整性条件约束的建立, 2、 数据库相关的触发器与存储过程对数据库中数据的联系的管理; 3、 执行程序能够高效率地完成数据处理和调用; 4、 能够通过DBMS建立一系列视图来更方便的操作数据库。
1.1.2 开发技术描述 开发工具:Microsoft SQL Server 2005 SQL Server 2005 是microsoft 公司推出的数据库管理系统,该版本继承了SQL Server 2000 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 2000 电脑到运行Microsoft Windows XP 的大型多处理器的服务器等多种平台使用。本实验中最终将使用Microsoft SQL Server 2005数据库管理系统将我们设计的数据库实现。
1.2 分析形成初步数据字典 数据字典(Data Dictionary,DD)是数据库设计需求分析阶段后通过科学的处理方法得到的该系统中各类数据描述的集合,也是进行详细数据收集和数据分析所获得的主要成果,它在数据库设计中占有恨重要的地位。 数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部校评—试卷存在问题 页脚内容2 分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,以下将把分析收集的数据及其结构列出:
1、 课程相关数据(表1) 字段名称 说明 功能 数据类型 宽度 kcdh 课程代号 表示该课程的一个代号 int
kcm 课程名 这个课程的名称 char 8 kclb 课程类别 该课程的上课形式(教室类) tinyint
注:教室类别中的tinyint从1~4分别代表取值为普通教室、多媒体教室、半多媒体教室、实验机房,也可以由具体其它教师类别进行扩充。
2、 班级数据(表2) 字段名称 说明 功能 数据类型 宽度 bjdh 班级代号 代表这个班级的号码(表示院系) int 11
bjmc 班级名称 表示这个班级的名字 char 8 bjrs 班级人数 该班级包括的人数 int 11
3、 教师数据(表3) 字段名称 说明 功能 数据类型 宽度 js_dh 教师代号 老师的代码 int 11 jsxm 教师姓名 教师的名字 char 10 jszc 教师职称 反映了这个老师的职称 char 10 jsxb 教师性别 表示老师的性别 char 2
4、教室数据(表4) 校评—试卷存在问题 页脚内容3 字段名称 说明 功能 数据类型 宽度 jsdh 教室代号 表示这个教室位置 int 11 jsgm 教室规模 表示这个教室可以容纳的人户 int
jslb 教室类别 表示是否有多媒体设置 int 注:教室类别中的tinyint从1~4分别代表取值为普通教室、多媒体教室、半多媒体教室、实验机房,也可以由具体其它教师类别进行扩充。
5、班级课程数据(表5) 字段名称 说明 功能 数据类型 宽度 bjdh 班级代号 表示这个班级 int kcbh 课程代号 表示该班级的该课程 int ks_num 课时数目 表示该班级该课程的课时数目 int
z_num 课时周数 表示该班级该课程的上课周数目 int
6、班级课时数据(表6) 字段名称 说明 功能 数据类型 宽度 bjdh 班级代号 班级的代号 int
kcdh 课程代号 课程的代号 int sjdh 时间代号 该班级上该课程的时间点 int js_dh 教师代号 上课老师的代号 int jsdh 教室代号 上该次课的教室 int
注:星期的属性值范围tinyint中从1~5分别代表值是周一到周五;节次的属性值范围tinyint中从1~4分别代表值是1~2节,3~4节,5~6节,校评—试卷存在问题 页脚内容4 7~8节。 7、授课数据(表7) 字段名称 说明 功能 数据类型 宽度 jdh 教师代号 int
kcdh 课程代号 int
注:一个老师可能教授多门课程的情况也存在。 8、教室使用状态数据分析(表8) 字段名称 说明 功能 数据类型 宽度 jsdh 教室的代号 int
jcdh 时间代号 哪个时间点教室在用状态 int syqk 使用情况 该教室在时间段内是否被使用 char 2
注:标注教室使用情况,以便于进行排课时不至于冲突。 9、学期的时间分配数据(表9) 字段名称 说明 功能 数据类型 宽度 sjdh 时间代号 int
zc 时间周 tinyint xq 时间星期 inyint
jc 节次 tinyint 注:星期的属性值范围tinyint中从1~5分别代表值是周一到周五;节次的属性值范围tinyint中从1~4分别代表值是1~2节,3~4节,5~6节,7~8节。
以上各是需求分析后形成的数据的部分数据字典,基本描述了各种数据及其结构,没有对数据的数据存储进行较多的描述。 校评—试卷存在问题 页脚内容5 1.3 基本数据流图 通过以上的分析和各类数据的形成,也将在以下画出该系统的基本简单数据流图,数据流图(Data Flow Diagram,DFD)为概念结构设计和形成初步基本E-R图做好准备。
下图为得到的基本数据流程图:
基本数据流程图(图1) 注:在该数据流程图中简要将系统的数据流向标示,在排课处理中综合所有的相关数据,最后得到一个班级一门课程在一个时间点的上课地点和任课老师。
班级 排课班 教 分析课 教室教师班级上课数据流出课班
人人
教室可用
课老
师号时校评—试卷存在问题
页脚内容6 二、 概念结构设计 将以上需求分析阶段得到的数据字典及数据流程图整合为对应得到实体联系图,为下一步逻辑结构设计中创建关系代数模型和建立相应得表做最后的分析准备。
2.1 数据各实体及其属性 以下各图将系统所有实体的属性集合表示如下: 教
班级课班课周授课 教课
班 班班代代姓专
性
教 室
教教教室课
课课上课校评—试卷存在问题
页脚内容7 以上将数据各实体分别将图表列出。 2.2 基本E-R图的形成 实体联系部分情况: 1、 一个班级可以是在一个学期内学习没M门课程,一门课程也可以同时在我们学校的N个班级内开课; 2、 一个老师可以教M门课程的情况,同时一门课程有N个老师在教授课程; 3、 一个班级有M个老师授课学习,一个老师也可能在N个班级中讲课; 4、 一个班上课只能在1个教室,同时一个教室在一时刻只能一个班上课(大课及公选课没有考虑进去); 5、 一个老师上课在1个教室,一个教室只能1个老师在上课; 6、 一个时间点有M个班级在上课,一个班级只能只能在1个时间点上课。 基本E-R图:
学期时代周星节班级课时班课教教
教室状教时是校评—试卷存在问题
页脚内容8 系统基本E-R图 在形成E-R图的过程中,由于将各实体联系到一块,可能会产生命名冲突,结构冲突和属性冲突,在此将不具体介绍相关冲突的解决办法,只在后面的模型中自行分析并解决。
老师 班级 课 程 学
讲教教
占 占
讲
M N
M N M
N 1 1 1 1 1 1 校评—试卷存在问题
页脚内容9 三、 逻辑结构设计 逻辑结构设计是在概念结构设计好的基础上把形成的基本系统实体联系图转化为我们现在要使用的DBMS关系模型结构,在此将具体将E-R图的各实体和属性联系转化为一个个的关系模式,并对各关系模式分析各规范要求。
3.1 E-R图转化为关系模式 生成的关系表: 1、课程表(课程号,课程名,课程类别) 该表记录全校所有课程的相关信息,包括该课程的上课类别,也就是上课教室的类别,将课程号作为主码。 该关系中其它两个非主属性完全依赖于码值课程代号,也不存在传递依赖,同时满足于1NF,2NF,3NF三个规范。 2、班级表(班级代号,班级名,班级人数) 表记录学校各班级的的简单信息,包括班级名称和班级人数,班级人数同时将会确定该班级上课的教室规模,班级代号为主码约束,班级名和班级人数完全依赖于该码,不存在传递依赖,该关系满足3范式规范要求。 3、教师表(教师代号,教师性别,教师姓名) 教师表将学校所有老师的信息记录,教师代号为为主码,也满足三范式的规范要求。 4、教室表(教室代号,教室规模,教室类别) 将记录全校所有教室信息的表,其中实体完整性为教室代号为主码,教室规模为教室容纳人数,教室类别取值有int型数据4种,两个非主属性完全依赖于码且不传递依赖于主码。 5、时间表(时间代号,星期,节次,周次) 记录学校一个学期所有上课时间的表,将节假日和双休日可以不再表内,包含周次,星期,节次三个时间属性,时间代号为主码约束,三个属性完全依赖于主码,也不传递依赖于主码,满足关系范式要求。 6、班级选课表(班级代号,课程代号,课时数,周数) 班级选课表将记录一个班级一门课程的上课信息,包括课时数,和上课总周数,班级代号和课程代号为主码,同时也是班级表和课程表的外码,一个班的某门课程的上课课时和周数一定的,两个属性完全依赖于主码,同时这个关系也将是编程实现时进行排课所需要的表,将会生成视图和编写触发器对应外码的参照完整性。 7、班级派课表(班级代号,时间代号,课程号,教师代号,教室代号) 班级派课表中记录排课后的班级上课表,也是最终得到的班级课表信息,以班级代号和时间代号为主码约束,其他属性有该班级在该时刻上课的课程,上课的老师代号,以及上课的教室代号。 8、教室状态表(教室代号,时间代号,使用状态)