【《一个大学公共实验课自动排课系统设计》9000字】_第1页
【《一个大学公共实验课自动排课系统设计》9000字】_第2页
【《一个大学公共实验课自动排课系统设计》9000字】_第3页
【《一个大学公共实验课自动排课系统设计》9000字】_第4页
【《一个大学公共实验课自动排课系统设计》9000字】_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一个大学公共实验课自动排课系统设计目录TOC\o"1-3"\h\u17906一个大学公共实验课自动排课系统设计 129969摘要 2268141绪论 3323301.1选题背景与意义 3206991.2研究目的与意义 3124801.3论文组织结构 458152需求分析 5283032.1功能需求 5147892.2性能需求 6205042.3本章小结 752943系统功能设计 886813.1功能设计 8215503.2系统流程 9119493.3排课条件约束分析 935103.4E-R图 1076093.5数据库设计 10154353.6本章小结 12130464应用领域 13238704.1主要应用领域 13254064.1.1函数优化 13296084.1.2组合优化 1321394.2算法在高校排课问题中的应用 14125045详细设计 1567355.1系统主界面结 15125605.2班级信息 16162715.3教师信息 16305285.4教室信息 18215845.5课程信息 19265405.6排课 19187205.7自动排课逻辑 23165375.8自动排课详细实现 25315836系统测试与分析 27187986.1单元测试 27323336.2集成测试 28296896.2.1用例设计 28168467总结 29186097.1总结 29摘要随着高校信息化的进步,传统的排课系统已经不能满足高校的需求。为了更好的实现排课功能,排课系统也由传统的人工排课更新为智能的计算机自动排课系统。本次毕业设计旨在设计一个大学公共实验课自动排课系统,以此实现大学公共实验课自动化智能化排课。本文通过需求分析,功能设计,详细设计,系统完成,系统测验五个阶段实现自动排课系统,为高校自动排课系统实现了优化。关键词:教务管理,排课系统绪论选题背景与意义随着高校信息化的进步,高校排课系统也由传统的人工方式向着更加智能化的方式进步[1]。高校排课系统对是高校一项非常重要的系统,合理的排课系统对于课程的安排有着非常重要的作用。高等学校排课系统作为院校的一个核心系体系,对于学校的教学质量有着非常大的影响。为了赶上时代发展的脚步,各高等院校的电子信息化投资建设发展水平均在持续提升,在教务管理方面应用新的软件和技术提高效率。高校排课系统的引入大大提高了人排课的效率和排课结果的合理性[2]。排课的标准化也是高校排课系统的重中之重。在传统的人工排课不能满足当前需求的情况下,引进一个高校自动排课管理系统就十分重要。本文主要研究并实现一个大学公共实验课排课系统,为高校排课系统的应用做出一点有价值的参考。研究目的与意义高校排课系统需要拥有及时、准确的特点。在排课系统应用的过程中,系统应当做到有效的查询以及合理的修改。高校排课系统需要更加规范化,系统化,并且用程序自动实现,从而提高效率。传统的高校排课往往采取人工的方式不仅效率低下,而且错误率较高,不能实现良好的排课。后续的修改也十分不便,容易产生时间上的冲突。然而通过计算机技术实现的高校排课系统可以很好的安排排课,在及时性和准确性上都有所提高,并且后续的修改也十分的便捷[3]。高校自动排课系统还可以根据要求避免派克过程中时间上的冲突,因此综合系统设计一个高效精确的排课体系,是非常有必要的。论文组织结构论文共分为6章,各章内容简介如下:第1章论述,主要介绍了选课的背景、研究的目的和意义;第2章需求分析,对本系统的功能进行大体的需求分析,并且对运行后台程序的计算机进行性能分析;第3章系统功能设计,设计本系统的大体功能,分析系统的具体流程,写出具体的各类信息的数据库表,画出E-R模型图;第4章应用领域,主要介绍算法对实现排课的重要性及算法在目前各高校排课系统中的应用;第5章详细设计,主要展示了系统完成后在网页上所呈现的界面,也大体介绍了实现自动排课所用的算法过程;第6章系统测试与分析,对系统进行白盒和黑盒测试;第7章总结,总结在设计本系统中所遇到的各类问题和完成系统后的心得体会。

需求分析功能需求解决现实应用问题,作为设计排课系统的理念。需求排课体系作用功能简易、清晰简约、使用顺畅、容易理解,能够参考独特需求人工手动调节控制教学课程组织安排,可以以班级为条件来安排学生课程,也可以以教室为要求安排课程,还要考虑老师的特殊要求和课表进行排课和更改。排课的时候要以一周七天为单位,周课时量应当要有班集体周课时量与老师周课时,这都应当能够统计分析,教学课程表要能及时有效修改调整并且长期保存,而且能够根据不相同的基本条件展开搜索。系统的最终实现目标:简单、迅速,高效的顺利完成高等院校教学课程的排课作用效果[4]。具有一定得容错性。工作业务流程示意图具体如下图2-1所示。图2-1业务流程图本次应用系统主要包含:老师、班集体、教室等各种数据信息,根据学校所安排的教学内容和计划,安排每个班的课表。随着教育基数的不断增大,校园基础设备更加的完善,越来越多的学生走入校园,不可避免的专业的种类在不断的增加,人工排课的方式已经落后,不可以符合现在高等院校的各种需求,其较大的出错性、不可补查性导致自动排课系统的出现。数据流程如图2-2所示[5]。图2-2数据流图性能需求为高效提升排课系统的稳定性,充分保证其实时性,本文选用RAM为4GB、操作系统为Windows10的计算机[6]。同时,为了提高用户体验度,使其在使用本系统进行查询和修改时,系统运行时间缩短,用户需保证本系统所占硬盘存储空间在50MB以内,并且尽量使CPU利用率在50%以下。满足以上需求,系统可以快速运行并且及时生产可视化的课表。本章小结用户需求是软件开发的目的,所以详细的了解用户需求对于软件的开发至关重要。了解排课系统的用户需求,对于后续软件的开发提供了的参考。高校排课系统的开发应严格按照即定的需求来设计开发,开发的各阶段应加以总结并且与需求分析文档进行比较[7],看看有无不同,一旦发现不同应尽可能的修改,以做到尽可能的完美。

系统功能设计功能设计实验课排课系统主要分为俩个单独的功能模块,分别是人工手动排课和系统自动排课俩部分,并且也设计了能够查询和管理一些基本信息的功能模块,系统功能结构图如下图3-1所示。图STYLEREF1\s3SEQ图\*ARABIC\s11系统实现框架班级信息:实现班级名称、人数、专业系别等信息的录入、修改和查询。课程信息:实现课程号、课程名称、系课程简介等信息的录入、修改和查询。教师信息:实现教师账号、教师编号、姓名、联系电话等信息的录入、修改和查询。教室信息:实现教室类别、教师编号、座位数等信息的录入录入、修改和查询。学生信息:实现学生账号、学生学号、姓名、联系电话等信息的录入、修改和查询。课表查询:班级课表查询、教师课表查询、教室查询。其中教室查询分为教室类别查询、按教室使用情况查询,按时间查询空教室。系统流程公共实验课排课系统的设计应当功能齐全,系统流程应该简单明了,方便用户的使用。对系统内的教师等一些基本信息进行增、删、改的处理。排课包含手动排课排课和自动排课单独的俩部分[8]。手动排课主要是根据个别老师的特殊需求手动修改课表。自动排课就是根据设定的排课条件和空闲教室等信息系统自动排课,并数据保存到后台数据库中。排课条件约束分析公共实验课排课系统主要是时间表问题的解决。需要同时考虑多方面的因素:教学效果、教师时间、教室空闲、学生人数等等相关因素。达到多方面资源的协调调用。在排课过程中我们既要满足软约束条件,又要实现硬约束条件,多方面的考虑才能使自动排课更加准确。相应约束条件如下所示。在学生听课状态较佳的时候安排主干课程。教学效果与课程时间密切相关。同一教学课程的上课时间科学合理。至少隔天安排,避免安排在同一天。如果教师有相应的教学要求,应该听取教室意见。即人性化管理课程安排。周课时量适宜,每个班的课时量需要在一个合适的范围。需要比较新添加的课程名称与原课表中在同一时间同一教室安排的课程名称。E-R图排课体系里,通常包括:4个实体,依次是教学课程数据信息综合管理,班集体数据信息综合管理,老师数据信息与教室数据信息综合管理,针对这四个主干实体建立相应的E-R图。图STYLEREF1\s3-2系统实现框架数据库设计班级信息表如表3-1所示。表3-1班级信息表序号字段名类别长度1班级编号varchar202专业班级varchar203人数int4教师信息表如表3-2所示。表3-2教师信息表序号字段名类别长度1教师账号varchar202性别varchar203教师姓名varchar204出生日期varchar205联系电话int8教室信息表如表3-3所示。表3-3教室信息表序号字段名类别长度1教室编号varchar202座位数int83校区varchar204类别Varchar20课程信息表如表3-4所示。表3-4课程信息表序号字段名类别长度1课程简介varchar202课程名称varchar20课程表如表3-5所示。表3-5课程表序号字段名类别长度1教室编号varchar202课程名称varchar203教师姓名varchar204教室编号varchar205星期int46课节int4本章小结根据教师和学生的不同需求,合理且准确的排课系统至关重要,准确的排课系统可以保证学校的教学内容和教学计划。计算机自动智能排课参考依据事先定好的排课需求自动智能排课,给教务工作带来很大的方便,对于排课系统的功能,设计方面是有统一清醒的认识的,排课过程中要模拟现实情况,班级、教室、教师的信息要准确无误的存放在数据库中,并且实现不同实体之间的映射,从而为排课系统预先准备数据。剩下的信息需要根据现实情况进行手工录入,例如教师的授课时间点等,所以授课信息的增删改查需要有专门的系统进行专门化的管理。

应用领域主要应用领域函数优化函数是算法中重要的组成,也是评价算法的常用方法,函数的优化主要体现在时间复杂度和空间复杂度的提升上。对大学公共实验课排课系统进行函数优化,可以减少体系的运行工作时间,提升运行工作速率,从而达到更好的结果。组合优化随着问题规模的扩大,函数的任务可能出现几何式增长。所以对于算法的改进至关重要,通过NP问题优化算法,例如旅行商问题、背包问题等NP难题得到了很好的解决,算法的应有领域也有所扩大。基本流程如图4-1所示。图4SEQ图\*ARABIC\s11算法流程图算法在高校排课问题中的应用排课操作需要逐一设计约束及判断函数。简洁明了地说就是给教学课程调配时间与课堂教室。排课矛盾问题里教学课程组织安排最为关键的是时间、教学课程、课堂教室没有矛盾冲突。一张准确的课表应该至少符合如下基本条件:在同一时间分布段内一个老师、班集体、课堂教室只可以组织安排一门教学课程;学生数小于安排的教室可容纳的最多人数;对每一个班集体,每一门教学课程固定一周内的上课时间数目;上午必修课,而下午选修课程;.思考并且组织安排少数教师对上课时间的独特需求;一个老师的课不可以排满一整天;资源使用效率,也就是课堂教室有效容量和上课总人数的相互关系等。这些软约束条件各院校有所不同,在我这次设计中在我本人定义的约束中进行解决和优化操作。详细设计经过一系列的准备,对于系统的规划已经完成,如下开始大学公共实验课排课系统的具体综合设计。系统主界面结如图5-1所示,图为大学公共实验课排课系统主界面。图5SEQ图\*ARABIC\s11系统主界面主页面关联每一个功能应用模块,界面作侧按键为导航菜单栏按键。导航栏中主要分为课程教学安排、信息查询、系统基本数据设置、账户或其他设置。每一个作用功能将会在各自的界面列举出数据信息登记,执行修改操作时将打开新页。班级信息班集体数据信息,主要用于综合管理班集体数据信息资源,能够时行增添、删减、修改调整等作用功能综合系统设计。班集体数据信息的数据信息需求操控者人工增添,班集体总人数,班集体编码号人工自动输入,班集体总人数如下数据,不能够为空。页面设计如图5-2所示。图5-2班级信息在班集体数据信息里第一步默认的页为数据信息增添页,班集体编码号及总人数2个增添项要求既定限制。修改调整班集体数据信息按键能够开启一个新页,跟据班集体编码号,展开修改调整班集体数据信息,搜查班集体数据信息的时候,界面把以信息列表的方式把最终结果可知出来。界面上有2个数据信息源,依次关联系别表,以及班集体数据信息报表。教师信息页面如图5-3所示。图5-3教师信息在老师数据信息界面里,增添老师数据信息,老师名字、老师账号、联系电话等项目登记不能够为空,老师授课程是复选框。周课时自动输入的需要是一位或者两位数据,教授课程为复选框的实现方法是将复选框控件关联数据源至课程信息表,显示在页面中,如果记录过多将进行分页。搜查老师数据信息按键在界面里自动生成一个信息列表,修改调整数据信息按键把开启一个新页,在老师数据信息修改调整页里,以老师编码号是主控制键展开选用,把选择确定的数据信息主要内容读入到界面上展开修改调整,最终自动更新调整数据资料库。修改教师信息页面如图5-4所示。图5-4修改教师信息教室信息在课堂教室数据信息里,主要写入课堂教室数据信息,容纳总人数有如下数据。页面如图5-5所示。图5-5教室信息课程信息课程信息写入课程信息记录,有课程名称、课程简介。页面如图5-6所示。图5-6课程信息在教学课程数据信息页里第一步默认的页是数据信息增添页,教学课程名称及课程简介俩个增添项为既定限制。修改调整教学课程数据信息按键能够开启一个新页,跟据教学课程编码号,展开修改调整教学课程数据信息,搜查教学课程数据信息的时候,界面把以信息列表的方式把最终结果可知出来。界面上有2个数据信息源,依次关联系别表与教学课程数据信息报表。排课排课界面是大学公共实验课排课系统里的最为重要的界面,在这一界面综合系统设计里,最后自动生成课表。本问介绍按班级排课页。按班级排课页,如图5-7所示。图5-7排课教学课程表的人工修改调配有一个关键的环节,就是每一个登记增添时,如果教学课程表格里没有登记,将会展开增添操作应用,假如现有登记的话,将展开修改调整操作应用。同时还有删减操作应用。在数据将要写入数据库之前,首先在数据库中进行查询,找出是否在这个课时有相同的项,一旦发现相同项目那么就进行修改操作。针对添加记录时,同一教室上课不可以加添不同课程和教师的处理条件,要求对现如今增添的登记和教学课程表格里的同一课时同一课堂教室上课的登记里教学课程名字1项展开对比分析。教学课程表格里的登记要求搜查,搜查的主要条件是,星期等同,课节等同,课堂教室等同,班集体编码号不相同。假如教学课程名字相同,能够增添登记写入数据资料库,不然把自动输出问题错误编码号“6”。用一个课时中的控件,与表中的记录对比查找,统计满足条件且课程名不同的记录,如果为>=1代表不可以添加记录,否则,有两种情况,1,现在录入的记录本身已经存在于课程表内,2,在该课时该教室中无人上课。解决方法:在记录录入完毕之后,进行查询检查,发现课程名冲突时,删除已添加记录并返回条件标识“0”。课程冲突判断具体流程如图5-9所示。图5-9程序流程图针对课程表页面打开时初始值显示问题的处理方法,即根据班级编号对表中数据进行查询,查找到属于这个课时同时属于这个班级的信息的时候,将下拉列表中的项选定为该项,注意,所赋的值必须与下拉列表所绑定的值相同。具体实现如图5-10所示。图5-10程序流程图页面显示是最初的值,首先并行各个课时的控件,每个控件都要如上图运行该流程,首先读入课时信息,如星期三第二节课等,再读取查询条件,如班级查询或者教师查询,根据这样的条件在课程表中读出记录,此时的记录只有一条,将所读取的记录信息分离,分步写入页面控件上,最终显示在页面上。针对合班上课时教室容纳人数是否充足处理条件:查询此时正要录入的记录教室容纳人数。统计在这一课时在此教室的上课人数,需要在课程表中查询符合条件的记录,相同星期,相同课节。查询结果将为多条记录,班级人数并不存于课程表中需要复合查询。解决方法:将教室容纳人数存入变量,将这一课时在此教室上课的人数累加存入数据变量,与教室容纳人数进行比较,如果上课人数大于容纳人数将返回错误代码“5”,如果上课人数小于容纳人数就可以将记录存入数据库进行修改或删除操作。具体实现如图5-11所示。图5-11程序流程图教室人数的判断,首先要在课程表中读取教室容纳人数存入变量,然后,联表查询查找已经安排在这个教室上课的人数,这时候的记录有多条,并且未知的数量利用循环存入另外一个变量,另外,在页面控件中读出将要排入该教室的人数累加进入该变量。进行比较之后判断是否满足条件,如果满足将写入数据库,并将结果显示在页面上,如果不满足将在页面上报错。自动排课逻辑1.结果数据库(1)教师时间表(教师信息、时间信息、教室信息、班级信息)(2)班级时间表(班级信息、时间信息、教室信息、教师信息)(3)教室时间表(教室信息、时间信息、班级信息、教师信息)2.集合定义(1)教师集合:teacher1,……,teachern1其特征属性主要包含:名字、已上过教学课程、所上教学课时等。(2)课程集合:subject1,……,subjectn2其特征属性主要包含:教学课程名字、教学课程号、周教学课时等。(3)班级集合:class1,……,classn3其特征属性主要包含:班集体名字、学生总人数等。3.变量定义(1)时间变量:T=(t)每一星期按照6天计,每一天按照四个时间分布段计。用一个6×4矩阵T表示。t:星期i第j时间段。第1时间段:上午1、2节。第2时间段:上午3、4节。第3时间段:下午1、2节。第四时间段:下午3、4节。(2)时间段效率变量:α=(ai)用一个长是6的数组表a代表。ai:第i时间段上课作用效果数值。例如,我们能够规定要求每一天每一个时间分布段的作用效果数值,具体如表5-1所示。表5-1时间段效率时段号123410.90.80.7(3)时间表初始约束变量:C=(c)c=1:代表星期i第j时间分布段可排课;c=0:代表星期i第j时间分布段不可以排课。(4)时间间距约束变量:B=(b)(一个24×24时间段关联矩阵)i=4w+d,j=4w´+d´。0≤w,w´≤4;0≤d,d´≤5。i,j表示两个时间段,w为星期号,d为时间段号。4.可行解的检验条件(1)同一个老师不可以在同一时间分布段上两门教学课程;(2)同一个班集体不可以在同一时间分布段组织安排两门教学课程。5.系统具体解决方法选择确定老师排列集合、教学课程排列集合及每一星期教学课程重复多次数目、班集体排列集合。(1)成立老师排列集合、教学课程排列集合、班集体排列集合的关联相互关系。(初始关联关系,由各系教学任务计划书可以确定)(2)预留每周可排课时间段。能够取班集体教学课程量最高数值作为周可排课时间分布段。(例如:星期一至五,上午与下午1、2作为周排课时间分布段表)(3)总时间分布段分布空间:班集体排列集合×周时间分布段可以使用分布空间。(4)使用教学课程和班集体的关联相互关系,严格限制教学课程选用时间分布段的作用范围。也就是,一个班集体与之对应一张教学课程表,一一对应。(5)随机形成解分布空间。解的方式是:班集体教学课程表排布序列是一个解。(6)检测每一个解的协调管理基本条件,挑选出可行解排列集合。(7)运算每一个可行解的评价判定数值。选取最高数值与之对应的解是一个满意解。(8)以上过程能够重复多次展开。(9)保存最终解。(10)参考依据老师、教学课程、班集体的关联相互关系。由最终解生成分类课程表。自动排课详细实现针对必要的资源信息进行相应的初始化的处理,实现4个主体实表在数据库中的建立。然后对查询的查询的结果信息以及相应要求实现初始化自动排课。多个班级同时在一个教室上课问题的解决方法,在组织安排教学课程表时,一个大的课堂教室能够与此同时,有数个班集体展开上课,所以在进行到班级选择的阶段之后选定一个班级之后,要在已经确定的课程、教师、教室的基础之上再次选择一个班级,并且判断这个班级的人数是否小于该教室现在所余的空座数,如果小于空座数,那么将继续进行选择班级,当判断出现班级人数大于教室所余空座数的时候,将班级信息表中的记录删除,班级信息表中的记录为空时,循环将结束。当时行第二次组合课程表信息的时候,同样是首先建更新暂存表然后选定课时信息,这个时候将启动一个查询方法,将重新建立所有的暂存表中所有与已经排定的课程表中信息相冲突的记录删除。并且,随机选择的可选项为0时循环结束。每次课时选择的时候发生可选项为0的情况时,将在课时信息表中将该条课时记录删除,当所有课时记录删除之后,课时信息表为空时循环结束,自动排课完成。自动智能排课实现了之后,能够在界面上展开搜查,搜查以信息列表的方式自动显示在界面上,搜查最终结果如图5-9所示。图5-9自动排课查询系统测试与分析单元测试本次采用黑盒测试的技术对系统的用户的登陆进行测试。黑盒测试是在已经明白了功能模块的下进行的用户的功能测试,不思考功能模块内部之间的逻辑思维组成结构,履行应用程序。更多的是模拟一个不知情的的用户,对系统测试,站在使用者的角度,来测试系统的的功能是否已经符合最初设计的规格和要求。(1)系统登录模块等价类划分表如表6-1所示。表6-1划分出的等价类表有效输入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论