第一篇:基于C#运用遗传算法的排课系统概要
第18卷 V01.18 第12期 No.12 电子设计工程
Electronic Design Engineering 2010年12月 Dec.2010 基于C舟运用遗传算法的排课系统 王军.陈建云
(南京信息工程大学计算机软件学院,江苏南京210044 摘要:排课问题是典型的组合优化和不确定性调度问题,并且是NP完全问题。随着高校的发展,在教务管理系统中 使用的排课模型也变得越来越复杂,针对遗传算法排课中存在的初始解生成不合理及一周多学时课程不好安排的问 题,为了避免同一门课程在一周内的不合理上课情况。针对这种情况。给出了排课问题的数学模型.提出了基于C群运 用遗传算法解决方案。结果表明,该算法能比较有效的解决排课问题。该方法易于学习和应用,且不毖依赖特殊的实 现模式。
关键词:排课;数学模型;C#;遗传算法
中图分类号:TP3ll 文献标识码:A 文章编号:1674—6236(201012—0085加3 Apply genetic algorithm to design timetabling system based on C sharp WANG Jun,CHEN Jian—yun(Department ofComputer Science and Technology,Nanjing Univers以ofInformation Science&Technology,Nanjing 210044,China
Abstract:The problem of timetabling system is the typical of combinatorial optimization and uncertainty,and it also is NP--completeness problem.With the development of colleges and universities,the class arrangement model is also becoming more and more complicated in the educational administration system.In view of this situation.the paper presented the mathematical model of the problem,and proposed solutions to apply genetic algorithm based on C sharp.The results show that the algorithm c肋solve the timetabling problem effectively.This method is easy to learn and apply.And it does not need any special realization model.Key words:timetabhng;mathematical model;C群:genetic algorithm 随着高校的发展,课程安排已成为教务部门头痛的事 情,经常会出现课程排列冲突,比如:一个教师在同一时间上 两门课,有两个教师同时去一个教室上不同的课程.有些教 师在特定时间不可以上课但却安排有课。如果没有很好地解 决这些冲突,必将产生教学混乱等现象。可见,排课算法的正 确性、高效性是非常关键的。
1排课问题的数学模型
学校排课问题本质上是时间表问题的一类典型应用实 例.是为了解决课程安排对时间和空间资源的有效利用并避 免相互冲突。在排课过程中,需要考虑课程教学效果、满足教 师特殊要求等多项优化指标,将各门课程安排到相应的时间 和教室需要付出一定的成本。
1.1符号与约束条件
设课程集合:P-{pl,p2,...,P。,...,p.I;教师集合:肘={m-, m2,...,nap,...,mPI;教室集合:S=f8l,s2,...,吼,...,sK};班级集合: C=fcl,c2,...,c……cNl;时间集合:r={tI,t2,...,td,...,tDI;时间与 教室对的笛卡尔积为:G=T・S=(tI,SI,(tl,s2,...,(tD,SK;G中
收稿日期:2010--05—26稿件编号:201005094 的元素称为时间教室对;课表问题的求解过程就转化成为每 一门课程寻找一个合适的时间教室对。
排课过程中必须满足各种约束条件.各种约束条件可以 归纳成2类,这样能简化分析过程。
1.1.1硬约束条件
硬约束条件是在排课过程中由于各类资源的有限.因此 必须满足而无法变更的约束条件,通常只要满足下面3类硬 约束条件就能够保证在排课的过程中不发生此类冲突。1同一时间,一个教师只能上一门课程,记为X1,且Xl ≤l,其中:p=l,...,P;d=l,....D。当XI=I时,教师‰在时间 td和教室敏上课pm;当J1=o时,不成立。
2同一时问。一个班级只能上一门课,记为X2,且X2≤ l,其中:n=l,..,N;d=l,...,D。当X2=I时,班级C。在时间td 上教师lIIp的课程pm;当X2=0时,不成立。
3同一时间.一个教室只能上一门课,记为X3,且X3≤l,其中:k=l,...,K;d=l….,D。当X3=l时,教室st在时间td 由教师IIlp上课程pm;当X3=0时,不成立。
1.1.2软约束条件
软约束条件是在排课过程中可以满足又可以不完全满
作者简介:王军(1970-一,男,安徽铜陵人,教授。研究方向:软件工程、CSCW、信息系统应用。
—-85..万方数据
《电子设计工程2010年第12期
足的约束条件,是排课过程中在满足硬约束条件的基础上能 尽量要求满足的约束条件。软约束条件会因不同的教学情况 而有所差异。通常也可以通过调节软约
束条件的满足程度而 改变排课的效果。可以将一定要满足的软约束条件转换为 “硬约束条件”。
以下是排课过程中常用的软约束条件: 1教师①老师一天之中连续上课节数;②老师课程大 部分在上午或下午;③总学分为奇数的课程一次连上三小 节;④早上8点(第一节是否排课;⑤下午4点以后(最后 一节是否排课;⑥中午12点(第五节是否排课;⑦一门课 尽量分散在一个星期中。
2学生①中午(12:00尽量不要排课;(参上完体育课 尽量不要排课;③共同科目同班级一起上;④选修科目各班 级分开选课;⑤对于总学分为偶数的课程采取两学分课连 上;⑥对于总学分为奇数的课程采取三学分课连上;⑦学生 课表中的上课时间不能过分集中。应避免一天课程很满而另 一天却一整天没课的情况。
2排课问题的算法 2.1算法流程
遗传操作流程如图l所示。图1遗传操作流程图
Fig.1How chart of Genetic operation 2.2染色体编码
遗传算法(GA中首要考虑的是如何表现其问题,即如 何对染色体编码,使之适用于GA操作。在经典的遗传算法 中,常采用浮点数或二进制的编码方法,而研究中,每条染色 体代表每位教师的课表,其结构表示如图2所示。
图2课表用染色体表示的结构
Fig.2Structu陀of schedfle《chromosomes
班级ID染色体在程序中可用十进制数编码,例如:某一 个教师编号为1234,要教“计算机基础’’这门课,课程编号为 5678,周学时为4,班级为JSJ08001、JSJ08002,随机产生上课--86-时间,随机选择大于两班总人数的教室,则可生成染色体如:“JSJ08001JSJ***401224l”其中0240l,2241分别代表教室及上课时间星期二第二个教学单元(即上午3、4节和星期四第一个教学单元(即上午1、2节。
按如上编码,两条染色体对后9位作交叉操作,不会影 响到每位教师所教授的课程。也不会造成教师课表内含其他 教师的教授课程或每代演化后染色体结构不合理等同题。2-3初始种群生成
一个染色体就是一个可能的排课结果.是一个mx26的 数组,需处理的数据量较大,结构相对比较复杂。如果初始 种群中个体的分布不好。将很容易使整个排课结果陷入局部 最优而得不到好的排课结果.因此初始种群的生成对整个算 法的影响较大。
2.4选择操作
在排课表问题中。选择操作方式采用轮盘赌方法。按照 轮盘中的比例进行区域的分配。适应度较高的方案占据区域 较大,选中的概率也较大,适应度低的方案占据区域较小,选 中的概率也较小。
2.5交叉操作
编排课时.根据点交叉算子的思想。可在P个开课时间 和教师课表中随机采样两个厶,对所有只和瓦的值进行互 换。将互换后的两个个体作为两个子代插入新种群。也可以 选择某个班级的课表TC和学生课表s。,对TC集合和S集 合中的所有时间安排进行互换。此时.交换的基因是若干个 £时间安排组成的集合。
2.6变异操作
变异虽然以很小的概率发生.但是它保证种群的多样 性。防止搜索得到的解陷入次优解。有效抑制遗传早熟现象 的发生。随机的方法可以保证个体的迥异,从而保证初始解 在解空间的均匀性。在变异操作中随机选择一个个体的基 因,这个基因可以是时间也可以是教室等,让它随机变换成 另一个时间或者教室.使其在原始空问位置做轻微扰动,有 利于搜索空间逐渐向全局最优空间靠拢。
2.7适应函数
编排课表主要将以下几方面因素作为排课表所要达到 的目标:教师对时间的期望满意度、教师课时分布密度、班级 课时日分布均匀度、大多数学生愿意上此节课的程度。将以 上4个目标分别赋予不同的权值蚍,运用线性加权法,得适 44 应函数为:F(茹=a∑WiXi,∑毗=1,Wa E【0,l】,a∈【o,11。式 ‘:I j=l
中,a代表可行系数,当进行交叉形成不可行的课表(出现了 教师、教室、时间等的冲突时,则该方案的适应度为O,在求 解过程中直接被剔除。由于在交叉过程中会产生许多适应度 为0的方案.所以采用随机生成初始种群的办法不断形成等 量的可行解,以保持群体规模,避免算法的过早收敛。
2.8停止规则
如果一轮适应度计算比较以后。利用轮盘赌的方法按照 万方数据
王军,等基于C#运用遗传算法的排课系统一定的概率进行选择操作,将适应度较高的个体选择出来, 在实际应用中也町能没有终止条件,目的是可以依次提供不 以便于保留优秀的个体为以后的操作,没有达到理想的状 同的可行解以供使用者选择直到所有解给完或者使用者终 态.则按照一定的交叉概率进行个体之间的交叉和遗传变异 止。如果只考虑最优解的问题,可以使用迭代的适应度几乎 操作,重组个体后再计算下一代的适应度。直到有一代的适 不变作为终止条件或者规定迭代次数。值得一提的是,有些 应度达到预期要求。如
果遗传的代数达到了最大数,则将结 实际问题的可行解可能是唯一的,比如教学场地或教师资源 果输出,若满足适应度.且各个约束条件都已经不存在冲突, 紧缺的情况,更严重的是如果约束条件太苛刻,甚至可能没 则认为排课结果比较合理,宣告遗传算法正常结束。有可行解,在此类情况下人工干预还是有必要的。系统结果展示
煮:曩.遗传算法的基本理论与应用【M】.北京:科学出版 开发排课系统。简要介绍C#运用遗传算法的实现过程。
在VS2005运行。生成主页面排课系统,有排课向导,如图3所示。然后输入教师lD号、教师姓名、所教课程与优先级排 课。输入完之后点击下一步,到最后有开始排课,就会给出排 课的各种方案。如图4所示。
图3排课系统主页面 Fig.3 Main page of timetabling system
图4排课后的方案 Fig.4 Scheme after the timetabling 4结论
该模型与求解方法已在实际中得到应用.取得了较好的 效果。在使用遗传算法优化后排课算法的实际效率有极大的 提高。因此用遗传算法实现类似排课问题的最优解也是一种 比较简单实用的方法。收敛速度很快,时间段分配均匀。但是
社.2002.【2】韦玉,冯速.免疫遗传算法在排课问题中的应用叨.北京师 范大学学报,2008。44(2:168—172.WEI Yu。FENG Su.1he印plication of immune genetic algo-rithm int the proble of timetabling[J1.Journal of Beijing Normal University。2008,44(2:168—172.【3】魏平熊,伟清.用遗传算法解组卷问题的设计与实现明.微 电子学与计算机。2002,8(4:44—50.WEI Ping-xiong,WEI Qins.Test paper problem solving by generic algorithm【J】-Microelectronics&Computer,2002,8(4:4和50.【4】4 Salem M,AIYakoob,Hanif D S.A mixed-integer program— ming approach to a class timetabling problem:a case study witll gender policies and traffic considerations【J】.European Journal of Operational Research。2007(180:1028.【5】膝姿,邓辉文,杨久俊.基于遗传算法的排课系统的设计与 实现【J】.计算机应用,2007,27(12:199—201.QI Zi,DENG Hui—wen,YANG Jiu-jun.Timetabling system’s
design and implementation based on the genetic algorithm[J1.Journal of Computer Application,2007。27(12:199-201.【61陈静.自动排课系统算法的分析与设计叨.科技情报开发 与经济,2007。17(34:217—219.CHEN Jing.Analysis on and design of the algorithm of the auto-arranging curriculum system[J].Sci-techinformation dev-elopment&economy。2007,17(34:217-219.【7】唐慧丰.遗传算法原理与应用[EB/OL].(2006-05—20 [2010-03—20I.http://wenku.baidu.com/view/0732d180d4d8d・ 15abe234e35.html.一87— 万方数据
基于C#运用遗传算法的排课系统
作者:王军 , 陈建云 , WANG Jun, CHEN Jian-yun 作者单位:南京信息工程大学,计算机软件学院,江苏,南京,210044 刊名: 电子设计工程
英文刊名:ELECTRONIC DESIGN ENGINEERING 年,卷(期:2010,18(12 参考文献(7条
1.李敏强.遗传算法的基本理论与应用[M].北京:科学出版社.2002.2.韦玉,冯速.免疫遗传算法在排课问题中的应用[J].北京师范大学学报,2008,44(2:168-172.WEI Yu,FENG Su.The application of immune genetic algo-rithm int the proble of timetabling[J].Journal of Beijing Normal University,2008,44(2:168-172.3.魏平熊,伟清.用遗传算法解组卷问题的设计与实现[J].微电子学与计算机,2002,8(4:44-50.WEI Ping-xiong,WEI Qing.Test paper problem solving by generic algorithm[J].Mieroelectronies & Computer,2002,8(4:44-50.4.Salem M,AIYakoob,Hanif D S.A mixed-integer program-ming approach to a class timetabling problem:a ease study with gender policies and traffic considerations[J].European Journal of Operational Research,2007(180:1028.5.膝姿,邓辉文,扬久俊.基于遗传算法的排课系统的设计与实现[J].计算机应用,2007,27(12:199-201.QI zi,DENG Hui-wen,YANG Jiu-jun.Timetabling system's design and implementation based on the genetic algorithm[J].Journal of Computer Application,2007,27(12:199-201.6.陈静.自动排课系统算法的分析与设计[J].科技情报开发与经济,2007,17(34:217-219.CHEN Jing.Analysis on and design of the algorithm of the auto-arranging curriculum system[J].Sci-techinformation dev-elopment & economy,2007,17(34:217-219.7.唐慧丰.遗传算法原理与应用[EB/OL].(2006-05-20[2010-03-20].http://wenku.baidu.com/view/0732d180d4d8d-15abe234e35.html.本文链接:http://d.g.wanfangdata.com.cn/Periodical_dzsjgc201012024.aspx
第二篇:基于遗传算法的排课系统设计 开题报告
基于遗传算法的排课系统设计开题报告 课题的意义
每个新学期开始,对于学校教务科来说首要而急需完成的任务是:如何合理而高效的排课。其本质是将课程、教师和学生在合适的时间段内分配到合适的教室中。但由于涉及到的问题较多,同时学校扩招,学生和课程数量比以往大大增加,教室资源明显不足,在这种情况下排课很难在同时兼顾多重条件限制的情况下用人工方式排出令教师和学生都满意的课表。
虽然排课问题很早以前就成为众多科研人员和软件公司的研究课题,但是真正投入使用的排课软件却很少。原因是多方面的,其中算法的选择是最关键的一个问题,S.Even等人在1975年的研究中证明了排课问题是一个NP-Complete问题,即若是用“穷举法”之外的算法找出最佳解是不可能的。然而由于穷举法成本太高,时间太长,根本无法在计算机上实现。如果假设一个星期有n个时段可排课,有m位教师需要参与排课,平均每位教师一个星期上k节课,在不考虑其他限制情况下,能够推出的可能组合就有nm*k种,如此高的复杂度是目前计算机所无法承受的。而遗传算法的出现正好解决了排课在算法上的问题,可以很有效的求出最优解。轻松而快速的解决了困扰教务科的一大难题,能在短时间内排出符合各项条件的课程表。国内外研究现状
计算机排课问题是一个多目标,有限资源,带有模糊约束条件的组合规划问题,是计算机应用领域一个具有代表性的问题。20世纪60年代末,Gotlieb.C.C教授就对课程表问题进行了形式化描述。随后,此类研究发展起来。70年代中期,S.Even等人就论证了课表问题是NP完全类问题,将该问题理论化,同时也说明课表问题有其自身的理论化模型,即课表问题存在解。并且能找到解。但是根据计算和难解性理论,目前还没有解决NP完全类问题的多项式算法。到1979年,Schmit 和Strohein在文献中就列出了 300多篇已发表的文献。近年来研究这一问题的人员不断增多,国外的运筹学杂志几乎每年都有相关内容的文章那个发表,此外它还广泛的出现在计算机,应用数学,教育管理等杂志上。80年代初,我国的很多大学也开始研究排课系统软件。大体上说这些排课系统软件可以分为两大类:第一类以所谓班——教员模型为主,它是在Gotlieb.C.C工作的基础上发展起来的。主要讨论此模型的定义扩充,解的特性及分析,不断提出新的猜测和推论。基本模型变化不大,并且这类模型适合课程长度一致,无合班教室的情况,并不适合一般院校的实际情况。第二类事所谓的课程调度问题,多于图的节点的着色问题有关,模型一旦产生,它的变量往往太多,规模太大,此外根据具体的校情对模型提出的各式各样要求对模型影响较大,有的甚至没有具体的模型可寻。通过对资料的查阅发现以往对课程问题的研究多侧重于自动生成,难度较大实现不易,往往是理论研究上的工作多,而实际应用方面的工作很少。有一些实际的例子,也往往是特定条件下对实际情况简化得到的,至今还没有自动生成可课表系统的软件应用于实际。对计算机而言,不像人工编排那样可以对任何情况进行合理的取舍,因此不存在完全冲突的课表很难排出来。
国内高校排课系统中,大连理工大学是从事此类软件开发较早单位。1987年该校开发了《教学组织管理及课程调度系统》1.00版本,之后在此基础上又推出了《教学组织管理及课程调度系统》2.00版本,1902年又推出了《教学组织管理及课程调度系统》2.01版本和安排考试补考的《考试调度系统》。1994年又推出了《教学调度系统》2.20版本。1998年 年推出的在Windows下运行的3.00版,现在在各大高校使用比较多,反映较好的有大连理工大学开发的系统和清华大学开发的《综合教务排课系统》,以及北京大学开发上的一套比较新的排课管理系统。
3毕业设计论文的主要内容
1.遗传算法的形成及基本应用,遗传算法的基本实现技术和特点。
2.排课中所要考虑的约束条件,课表编排的基本规则和课表编排中存在的矛盾和问题 3.将遗传算法应用于排课系统;
4.所采用的方法、手段以及步骤等
1.详细了解课表编排中存在的矛盾和课表编排的规则,将其逐条列举出来,选取必须兼顾的重要的约束条件,2.分析学生,教师,课程,教室之间的关系建立概念模型和逻辑模型 3.产生初试种群
4冲突检测和消除:对各种冲突进行检测,如有冲突则消除它 5计算适应度函数 期望值
6遗传操作包括选择 交叉 变异 7可行课表的生成
5.阶段进度计划
第一周——第三周:查阅资料,学习遗传算法的基本理论,查阅相关文献完成 开题报告
第四周——第五周:详细学习遗产算法,并对所做课题进行详细构思
第六周——第七周: 完成英文资料的翻译
第八周——第九周 :分析调查排课问题所面临的具体问题和矛盾以及缩影可考虑的因素,分析找出座位乖蹇的约束条件
第七周——第九周:对各个模块进行设计 第十周——第十一周:对各个部分进行分析完善 第十二周——第十三周:撰写论文
第十四周:完成PowerPoint制作的论文答辩电子稿
第十五周——第十六周:论文答辩 6参考文献
周明 孙树栋《遗传算法原理及应用》国防工业出版社 1996.6 徐艳斌 基于遗传算法的高校排课系统设计与分析(硕士生论文)
第三篇:毕业设计 C#仓库管理系统摘要
渔阳建业有限公司仓库管理信息系统设计
与实现
摘要
在传统仓库管理过程中,表单填写与查询管理都非常的耗费人力物力,最后需要盘点或统计十分耗费时间和人力。同时由于采用手工操作,不可避免造成一些的错误。现在许多公司都采用计算机来管理仓库信息,避免了手工操作的不足。采用仓库管理信息对物资的出入情况进行管理,可以很方便地完成各类统计,为生产销售人员及时提供相关信息。
本系统主要实现仓库管理的自动化,包括货物的入库、出库、调库等操作,及货物有关信息的管理,如仓库单位管理、货物类别管理、供货商信息管理、客户档案管理和仓库管事操作员信息管理等。本系统采用sql 2005作为后台的数据管理系统,以visual studio 2005作为前端开发工具,对数据进行添加、修改、保存、删除等处理,具有很强的实用性。
本系统主要功能是以管理员身份登录能够完成对库存等诸多信息进行实时管理功能。系统以提供操作简单、方便、易懂易用为开发目标,用户界面友好,及具有高效的数据处理能力。
关键词:仓库管理信息管理系统自动化
The Design and Implementation ofYuyang Warehouse Management
Information System
ABSTRACT
In the traditional warehouse management process, it is very costly to
第四篇:基于C#的家政服务管理系统
C#系统开发
题目:家政服务管理系统
系别:计算机科学与技术系 班级:软件102 学号:101012241 姓名:吕明敬 辅导老师:孙波 日期:2012-6-14
摘要
家政服务管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面.对于前者要求建立数据一致性和完整性强,数据安全性好的数据库.而对于后者则要求应用程序功能完备,易使用等特点。
随着计算机技术的高速发展,人们对计算机的依赖性越来越强,特别是用计算机开发的数据库以及数据管理系统在生活应用中表现得更为突出,为此开发此系统。通过使用家政服务管理系统,使家政服务店的管理工作系统化、规范化、自动化、简易化、智能化,从而达到提高家政服务管理效率的目的。
一、绪论
在现代社会中管理的作用越来越显得重要和突出。一般来讲,管理通过计划、组织、指导与领导、控制等手段,为组织制定目标,应用组织的各种要素,以实现组织的目标。传统的管理活动中,把人、才、物作为企业的主要资源。但是随着社会化大生产的不断扩大和社会对产品多样化的需求,人们越来越重视信息在生产经营及企业管理中的作用,并把它当做企业的一种极其重要的资源,人们称之为“信息资源”,信息资源的处理已经成为当今世界上一项主要的社会活动。
本世纪以来,由于社会生产力的迅速发展和科学技术的突飞猛进,人们进行信息交流的深度和广度不断增加,管理所需要的信息量急剧增长,同时对信息的处理要求及时、准确,这导致了传统的信息处理方法和手段已不能适应现代管理的需要;电子计算机的诞生和在信息处理中的应用,标志着一个崭新时代——“信息时代”的开始,它使企业管理现代化成为可能。
一定意义上说,管理信息系统的产生和发展是建立在电子计算机基础之上的。硬件方面,自1946年第一台电子计算机诞生以来,计算机技术的发展可谓日新月异,从庞大的只能在实验室里供研究使用的计算机到如今能适应不同环境满足不同需求的各种各样的计算机;运算速度从每秒几千次到每秒几百亿次;处理器从焊有上百万个电子管的大的惊人的电子板到只有指甲大小的集成电路;现在计算机在硬件方面的发展已达到了每三个月更新换代一次的惊人速度。软件方面,也已从机器语言、汇编语言、高级语言发展到现如今的第四代语言——非结构化、面向对象、可视化的语言。管理信息系统的发展 管理信息系统通过对企业当前运行的数据进行处理来获得有关信息,以控制企业的行为;利用过去和现在的数据及相应的模型,对未来的发展进行预测;能从全局目标出发,对企业的管理决策活动予以辅助。从工业发达国家来看,管理信息系统的发展经历了以下几个阶段。
第一阶段:(1953年至1965年)单项数据处理阶段,也称电子数据处理(EDP)阶段。这是电子计算机在管理领域应用的起步阶段。这一阶段,由于当时计算机硬、软件的限制,数据处理的性质只是使用计算机代替人的手工劳动,进行简单的单项数据处理工作,如计算工资、数据统计、报表登记、编制计划等。这个阶段的处理方式主要是集中式的批处理。
第二阶段:(1965年至1970年)综合数据处理阶段,也称事务处理系统(TPS)阶段。这个阶段计算机硬、软件有了很大的发展,出现了多用户的分时系统,计算机开始应用于对某一个管理子系统的控制,并具有一定的反馈功能。如库存管理系统、生产调度系统、学籍管理系统等。这个阶段的处理方式已发展为面向终端的联机实时处理。
第三阶段:(1970年至今)管理信息系统(MIS)阶段。这个阶段是在企业中全面的使用计算机把各种管理子系统的功能集中起来,构成了计算机化的全方位的信息系统,即现代管理信息系统。这个阶段的处理方式是在数据库和网络基础上组成分布式处理系统。它的特点是使用数据库和分时处理的计算机网络,并充分利用运筹学等数学方法,实现了硬件、软件和数据资源的共享。
总的说来,计算机技术的发展,其性价比大幅的下降,使得其被大量广泛的使用。针对现实中的各种应用需求,相应的产生很多技术体系、技术标准,如J2EE、。NET,COM/COM+等。这又大大的推动了企业的信息化进程。其影响可以归纳为如下两点:
(1)计算机已经成为我们学习和工作的得力助手:
今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:
①计算机可以代替人工进行许多繁杂的劳动; ②计算机可以节省许多资源;
③计算机可以大大的提高人们的工作效率; ④计算机可以使敏感文档更加安全,等等。(2)开发家政服务管理信息系统的意义
家政服务管理系统的使用,加强对客户资料的管理。通过对客户使用情况的分析,可以掌握用户的喜好,而有针对性的采购家政,减少了不必的家政的购置,加快资金的流转速度。另一方面,家政服务店的管理工作系统化、规范化、自动化、简易化、智能化,从而提高家政服务管理效率。
二、需求分析
1、系统的初步调查:
建立一个好的管理信息系统,必须要有一个好的管理基础。所谓好的管理基础,指的是合理的管理体制、完善的制度、科学的管理方法和准确的原始数据。与企业管理相比,我国的企业管理在这方面占有较大的优势。
应该看到,我国发展管理信息系统的时间还不长,设计开发的实际经验也很不足。要使管理信息系统在企业建立、使用,并从中获得巨大的效益,必须具备以下基本条件。
(1)领导重视、管理人员积极性高
管理信息系统的建立,需要企业提供资源、经费、人力和时间,要涉及管理体制、规章制度的变化、调整和大量数据的编码、表格形式协调等工作,这些企业管理的全局性问题必须在企业高层领导的重视和支持下才能获得解决。
管理人员的积极性也是不容忽视的条件。管理人员是管理信息系统的直接用户,它们的积极性和配合程度,关系到管理信息系统的使用效果和生命力。
(2)具备一定的资源条件
管理信息系统的资源主要包括计算机硬、软件设备,不间断电源(UPS)、空调等辅助设备和计算机房设施等,有条件的企业应尽量发掘和利用现有计算机设备。管理信息系统的费用可分为开发费用和运行费用,前者包括设备购置、人员工资、培训和开发过程中的一系列支出等,后者包括机器运行、维护和修理费,人员工资和水、电、纸张和软盘等日常开支。
要有足够的资金保证,才能顺利完成整个系统的开发工作。当然,资金的投入也可以在开发和运行过程中分阶段进行,在逐步取得阶段成果的基础上补充更多的资源。(3)组织一个强有力的开发小组
管理信息系统的质量,在某种意义上直接取决于开发人员的水平和素质。开发小组的人数因系统规模大小而异,通常包括系统分析员、程序员、数据录入员和硬、软件维护人员。由于管理信息系统的开发通常是从逐个子系统分期分批进行的,同时,已开发完毕投入使用的系统仍需不断维护、改进和完善,因此这个开发小组应该在相当长的时期内存在。
在正式的立项之前必须进行可行性分析,而可行性分析主要是对现行系统进行充分的调查研究,细致了解现行系统的现状流程,以及存在的主要问题,在此基础上提出新的系统的逻辑模型。
详细的现状调查目的是为了弄清现行系统的基本功能及信息流程,为了新系统逻辑模型提供基础。它是建立新系统的前期工作,也是进行系统分析和设计的重要基础。因此要建立新的家政管理系统就必须对家政店现行租借流程进行分析,以导入逻辑模型,进尔形成目标系统的逻辑模型。
2、系统的可行性分析
系统的可行性分析包括两个详细的部分:分析开发新的系统的必要性和可能性。必要性在前面系统初步调查中已经作了详细的分析,在这里就不再赘述;可能性主要包括经济可行性、技术可行性和运行可行性三个方面。
经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。
技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。家政服务管理系统用的是VF开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行。硬件方面,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。
运行可行性是对组织结构的影响,现有人员和机构、设施设施和环境对系统的适应性及人员培训补充计划的可行性。当前我们信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。
3、系统的开发步骤
一般说来,管理信息系统的建立与应用可以划分成总体规划、系统开发和系统运行三个阶段,其中系统开发阶段还可进一步分为系统分析、系统设计和系统实施等工作环节。上述各个阶段排列成一个严格的线性开发序列,在每个工作阶段均产生完整的技术文档作为下一阶段工作的指导和依据,每一阶段都应对文档进行评审,确信该阶段工作已完成并达到要求后才能进入下一阶段,同时在以后的工作中不能轻易改变前面经过评审的成果。
上述开发方式的主要优点是便于开发工作的组织和管理,并且可大大降低管理信息系统开发的复杂性。国内外许多系统开发的实例都证明这是一种行之有效的开发方式。
国外曾有人对一些软件项目开发各阶段的工作量进行了统计,结果表明,在开发过程中各工作阶段所占全部工作量的比重分别达到系统分析:系统设计:编程:模块调试:系统调试=20%:15%:20%:25%:20%。由此可见,程序编写在开发工作中只占很小比例,而调试工作却占整个开发工作量的一半左右,因此“系统开发就是编程”的习惯说法显然是片面的。另据统计,在建立管理信息系统的三个阶段中,总体规划和系统开发阶段的工作量约占整个工作量的2/3,而运行、维护阶段要占1/3,这说明一个管理信息系统开发后,仍应十分重视它的维护工作,以便使系统不断完善并充分发挥其作用。
4、对本系统的分析 对本系统的目标设计
通过使用家政服务管理系统,使家政服务店的管理工作系统化、规范化、自动化、简易化、智能化,从而达到提高家政服务管理效率的目的。
(1)开发设计思想:
①尽量利用基础软硬环境,采用先进的管理系统开发方案从而达到充分利用现有资源,提高系统开发水平和应用效果的目的;
②系统应符合家政服务管理的规定,满足家政店相关人员日常使用需要,并达到操作过程中的直观、方便、实用、安全等要求;
③系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员进行补充、维护;
④系统应具有各种票据的打印功能,并有这些票据的存根,报表; ⑤系统应具备数据库维护功能,及根据用户需求进行数据的删除、备份等操作。
(2)现状分析
当家政公司的客户较少时,能较好的安排员工为客户提供服务。但当客户较多时,对客户信息及员工的信息的管理,会花费大量人力及物力,结果往往不理想,比如,不能及时更新客户联系信息,以致使不能及时的联系客户,更甚者失去客户。其次,在对客户的服务进行计费,对员工的工作进行计酬,往往存在着分岐。
(3)系统功能分析
①员工资料管理:可以完成对员工信息的查询,添加,删除,修改等操作。②员工服务安排管理:可以根据员工编号查看员工具体的分工。③客户服务跟踪管理
④客户查询:提供客户对基本信息的查询。⑤员工查询:可以查看员工的基本信息。⑥相关表册打印:打印相关联的信息。
三、系统设计
1、功能模块
管理信息系统设计阶段的主要目的是将系统分析阶段所提出的反映了用户信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案。
具体要求对系统进行功能分解,不断下去,直到分解成含义明确,功能单一的单元功能模块,从而绘制出系统的功能模块图,即HIPO图。家政服务管理信息系统的HIPO图如下:
家政服务管理系统用户操作公司概况数据查询报表打印添加用户删除用户删除用户公司信息重新登录服务情况客户预约查询服务项目价格员工信息客户预约添加客户资料用户切换退出系统
2.数据库概念结构设计
在数据库设计中,先要对系统分析所得的数据字典中的数据存储进行分析,然后得出系统的关系模式,可以采用实体——联系图(简称E——R图)的方法进行数据结构的描述。E——R图由实体、属性、联系三部分组成。
3、数据表如下:
普通用户表:
公司信息表:
管理员表:
员工信息表
服务项目价格表:
客户意见表:
服务情况表:
预约表:
客户资料表:
4、数据库的安全性、完整性、并发控制和恢复
信息数据是是一种非常重要的资源,因此保证数据库的安全可靠、正确有效是非常重要的问题。一般的数据库管理系统(DBMS)都有提供了一定的数据保护功能。数据库保护也称为数据控制,主要包括数据的安全性、完整性、并发控制和数据库的恢复
四、系统编码与实现
1、登录界面的设计及实现
2、删除用户
3、添加员工信息
4、服务信息表
服务情况代码:
namespace jiazheng { public partial class Form10 : Form { SqlDataAdapter adapter;
public Form10(){ InitializeComponent();this.StartPosition = FormStartPosition.CenterScreen;}
private void Form10_Load(object sender, EventArgs e){
// TODO: 这行代码将数据加载到表“dbbaseDataSet.服务情况表”中。您可以根据需要移动或移除它。
this.服务情况表TableAdapter.Fill(this.dbbaseDataSet.服务情况表);BindingSource tableBindingSource = new BindingSource();tableBindingSource.DataSource = dbbaseDataSet.服务情况表;
}
private void button1_Click(object sender, EventArgs e){
string xiangmu = textBox1.Text;string bianhao = textBox2.Text;string name = textBox3.Text;string dianhua = textBox4.Text;string diqu = textBox5.Text;string sql = string.Format(“insert into 服务情况表(服务项目,客户编号,客户姓名,联系电话,居住地区)values('{0}','{1}','{2}','{3}','{4}')”,xiangmu ,bianhao ,name ,dianhua ,diqu);try { SqlCommand command = new SqlCommand(sql, Class1.connection);Class1.connection.Open();int result = command.ExecuteNonQuery();if(result!= 1){ MessageBox.Show(“添加失败!”);} else { MessageBox.Show(“添加成功!”);} } catch(Exception ex){ MessageBox.Show(ex.Message);Console.WriteLine(ex.Message);} finally { Class1.connection.Close();}
}
private void button2_Click(object sender, EventArgs e){ if(dataGridView1.SelectedRows.Count == 0){ MessageBox.Show(“请先单击最左边的空白列选择要删除的行,可以按住
string name = this.dataGridView1.SelectedRows[0].Cells[0].Value.ToString();MessageBox.Show(name);string sql = “delete from 服务情况表 where 服务项目='” + name + “'”;adapter = new SqlDataAdapter(sql, Properties.Settings.Default.dbbaseConnectionString);adapter.Fill(dbbaseDataSet.服务情况表);bindingSource1.DataSource = 服务情况表BindingSource;dataGridView1.DataSource = bindingSource1;textBox1.Clear();textBox2.Clear();textBox3.Clear();textBox4.Clear();textBox5.Clear();} }
}
private void button3_Click(object sender, EventArgs e){ this.Validate();try {
MessageBox.Show(“保存成功!”);this.服务情况表TableAdapter.Fill(dbbaseDataSet.服务情况表);
} catch(Exception ex){ MessageBox.Show(ex.Message, “保存失败!”);}
}
private void groupBox1_Enter(object sender, EventArgs e){
}
private void label2_Click(object sender, EventArgs e){
}
private void label1_Click(object sender, EventArgs e){
}
private void label3_Click(object sender, EventArgs e){
}
private void label5_Click(object sender, EventArgs e){
}
private void label4_Click(object sender, EventArgs e){
} } }
5、预约项目表
6、用户操作表
7、主界面
8、公司信息表
9、客户预约表
客户预约代码:
namespace jiazheng { public partial class Form11 : Form { SqlDataAdapter adapter;
public Form11(){ InitializeComponent();this.StartPosition = FormStartPosition.CenterScreen;}
private void Form11_Load(object sender, EventArgs e){ // TODO: 这行代码将数据加载到表“dbbaseDataSet.预约表”中。您可以根据需要移动或移除它。
this.预约表TableAdapter.Fill(this.dbbaseDataSet.预约表);// TODO: 这行代码将数据加载到表“dbbaseDataSet.预约表”中。您可以根据需要移动或移除它。
this.预约表TableAdapter.Fill(this.dbbaseDataSet.预约表);BindingSource tableBindingSource = new BindingSource();tableBindingSource.DataSource = dbbaseDataSet.预约表;}
private void button1_Click(object sender, EventArgs e){ string yuyuehao = textBox1.Text;string fuwuming = textBox2.Text;string kehuming= textBox3.Text;string haoma = textBox4.Text;string dianhua = textBox5.Text;string sql = string.Format(“insert into 预约表(预约号,服务项目名,客户名称,楼牌号码,联系电话)values('{0}','{1}','{2}','{3}','{4}')”,yuyuehao,fuwuming,kehuming,haoma,dianhua);try { SqlCommand command = new SqlCommand(sql, Class1.connection);Class1.connection.Open();int result = command.ExecuteNonQuery();if(result!= 1){ MessageBox.Show(“添加失败!”);} else { MessageBox.Show(“添加成功!”);} } catch(Exception ex){ MessageBox.Show(ex.Message);Console.WriteLine(ex.Message);} finally { Class1.connection.Close();} }
private void button2_Click(object sender, EventArgs e){ if(dataGridView1.SelectedRows.Count == 0){ MessageBox.Show(“请先单击最左边的空白列选择要删除的行,可以按住
string name = this.dataGridView1.SelectedRows[0].Cells[0].Value.ToString();MessageBox.Show(name);string yuyuehao = textBox1.Text;string sql = “delete from 预约表 where 预约号='”+yuyuehao+“'”;adapter = new SqlDataAdapter(sql, Properties.Settings.Default.dbbaseConnectionString);adapter.Fill(dbbaseDataSet.预约表);bindingSource1.DataSource = 预约表BindingSource;dataGridView1.DataSource = bindingSource1;textBox1.Clear();textBox2.Clear();textBox3.Clear();textBox4.Clear();textBox5.Clear();} }
}
private void button3_Click_1(object sender, EventArgs e){ this.Validate();try {
MessageBox.Show(“保存成功!”);this.预约表TableAdapter.Fill(this.dbbaseDataSet.预约表);
} catch(Exception ex){ MessageBox.Show(ex.Message, “保存失败!”);}
}
} }
五、实验小结:
通过本次做的家政服务管理系统,在设计期间,我也遇到了不少的困难和问题,例如,知识掌握的不牢固,不能灵活的运用所学的知识,实践动手能力不强等,但是,本着学习和实践的目的,我认着的查阅了相关的资料,并积极,虚心的向老师和同学请教,解决了不少的问题,在解决问题的同时,还使我学习到了更多的专业知识,也使我对所学知识掌握的更加的牢固。也使因为这样,才使我提高了独立分析问题,解决问题的能力,也提高了我的动手操作的能力。
第五篇:计算机实验室自主排课系统的设计
计算机实验室自主排课系统的设计
计算机实验室自主排课系统的设计
刘毅,俞炘
(江苏大学计算机科学与通信工程学院,江苏镇江212013)
摘要:本文总结了目前计算机实验室自主排课系统的主要模式,针对当前各类移动终端的普及,为了进一步提高计算机实验室的服务水平和管理效率,利用目前最新的跨平台开发框架PhoneGap,结合使用HTML5等新技术,设计了一套移动计算机实验室自主排课系统,实现了计算机实验室自主排课从PC端到移动端的转移,系统使用的离线缓存机制,提高了系统的健壮性和用户体验。
关键词:实验室管理;排课系统;
跨平台;PhoneGap;HTML5
基金项目:江苏省普通高校研究生科研创新计划(CXZZ11_0575);江苏省自然科学基金(BK20130529);中国博士后科学基金(2013M541616)
作者简介:刘毅(1979-),男,江苏张家港人,硕士,实验师,研究方向:信息安全、嵌入式系统、人工智能。
一、引言
从运行方式的角度来看,目前高校计算机实验室的排课系统主要有两种:一种是将计算机上机课和教室课程混合在一起,由教务系统的排课系统通过智能算法统一来排。这种方式需要教务系统掌握计算机实验室的详细情况,包括机器数、操作系统、软件等。其优点是不需要人干预,完全自动实现排课。其缺点是不容易实现。首先计算机实验室的操作系统、软件每隔一段时间可能有更新,需要教务系统能够及时的同步相关信息,而目前大部分教务系统都是独立运行的,并没有与计算机实验室连接。
其次,对于自动排课来说,计算机实验课不同于普通的教室排课,不仅要保证时间、地点、人数的统一,而且对于不同课程所使用的软件也要分别对应,增加了系统自动排课的难度。因此,目前的智能排课系统很难做到能够完全满足智能排课需求。第二种是计算机实验课和教务系统分开排的情况,实验课的编排由任课教师自主到计算机实验室预约完成。这种方式的优点是技术上比较容易实现,同时对于教师、学生或者机房来说比较灵活。笔者所在的江苏大学计算中心便是这种方式,因此本文主要讨论第二种方式。
从系统实现的架构来看,自主式的计算机实验室排课系统主要有两种一种是C/S(Client/Server)架构,另一种是B/S(Browser/Server)架构。C/S架构的优点在于事务处理能力强、响应速度快;缺点在于系统部署、维护、升级需要在每台客户端进行,增加了难度和成本。B/S架构由于是基于网页浏览模式的,只
要有浏览器可以上网就可以使用,其优点是系统的部署、维护和升级只要在服务器端就可以完成,不需要在客户端操作。因此对于排课系统这种对实时性要求不高的系统来说,B/S架构比C/S架构具有更大的优势。
现有的排课系统绝大多数都是用于PC端的,只能运行在PC机上,即使是B/S架构的,通过浏览器访问系统也不能适应移动端如手机、平板电脑的屏幕大小。而随着无线通信技术及嵌入式技术的发展,通过智能手机、平板电脑上网越来越成为一种主流的上网方式。开发移动端的排课系统,让老师随时随地可以预约计算机实验课,学生可以随时随地查询计算机实验课表,将大大节省师生的时间,对于提高计算机实验管理的效率具有重要的意义。
本文将从上述思想出发,针对目前计算机实验排课系统的问题,运用最新的跨平台开发技术,设计一套可以在移动端如手机、平板电脑运行的自主排课
系统,以进一步提高计算机实验室的服务水平和管理效率。
二、移动应用开发
(一)移动应用开发简介
移动应用开发就是在移动设备(如智能手机、平板电脑等)上开发应用程序。由于目前不同的移动设备往往基于不同的操作系统平台,若要让应用程序在不同的移动设备上运行,就需要分别在相应的平台上开发不同版本的程序。目前主要的移动操作系统平台有:安卓(Android)、iOS、Windows Phone、黑莓(Black-Berry OS)等。在不同平台上,开发应用的编程语言或者开发环境都是不同的,对于开发者来说,这无疑大大增加了开发的难度和维护成本。如下表1是目前最流行的四种操作系统所使用的开发语言。
(二)跨平台开发及PhoneGap
一款移动应用软件为了在不同的移动终端上需要进行多次的开发,大大
增加了开发、运营、维护的成本。为了解决这一问题,跨平台开发技术应运而生。利用跨平台开发技术,开发者只要开发一次应用便可以让程序在不同的平台上运行,开发者不再需要为不同的移动终端平台重复开发,以大大降低开发成本和难度,缩短开发周期。根据实现方式的不同,现有的跨平台开发技术主要通过两种技术来实现,跨平台运行引擎技术和跨平台应用编译技术。跨平台运行引擎技术主要是通过安装在目标设备上的引擎来屏蔽终端底层操作系统差异来实现,开发者开发应用部署或编译打包后,用户下载到目标设备上由引擎解释执行;跨平台应用编译技术则通常采用一种标准开发语言开发应用,应用开发完成后由代码编译器针对不同目标终端平台分别进行编译,生成有针对性的可执行程序。
跨平台开发技术的优越性,也吸引了很多公司来开发跨平台开发工具。根据VisionMobile 2012年移动开发者跨平
台开发工具报告,现有的跨平台开发工具包括Flex、Titanium、AppMobi、PhoneGap、Mono-Touch/Droid等,其中被用的最多的是PhoneGap。
PhoneGap是Adobe公司的一款基于WEB的开源跨平台开发框架,通过PhoneGap框架提供的API开发者可以非常方便调用移动设备的核心功能,包括GPS、摄像头、重力感应、陀螺仪等功能。利用PhoneGap提供的开发平台,开发者使用HTML5、JavaScript和CSS就可以快速开发出跨平台的移动应用程序,并发布到AppleStore、Google Play等各个平台应用商店。目前PhoneGap已支持几乎所有主流移动操作系统包括Android、iOS、BlackBerry、WindowsPhone、Symbian等。
PhoneGap是作为一套优秀的跨平台开发框架,具有如下特点:(1)开源、免费。(2)支持主流多数移动平台,支持云端编译功能编译成各种平台下的应用。(3)基于HTML5标准的手机应用
框架,支持HTML5、CSS3、JavaScript等Web技术。(4)提供非常丰富的API,它们包括Accelerometer移动感应器、Camera摄像头、Notification等。(5)提供硬件访问控制,比起传统的Web程序,PhoneGap提供了一些列的JavaScript类,可以直接访问硬件,比如加速、相机、指南针、GPS、文件访问等。
三、系统设计
(一)系统体系结构及功能
本文设计的跨平台机房预约系统也是一种基于B/S结构的系统。根据用户角色的不同,系统包含了三个主要功能模块,分别是访客模块、教师模块和管理员模块,如图1所示,登录界面提供不同角色的选择引导用户进入相应模块。下面分别介绍这三大模块的主要功能。
1.访客模块。访客指的是那些仅仅想查看实验室排课情况、实验室公告或者计算机有关信息的人。访客不用登录系统,可以查看本学期的实验室预约情
况,实验室公告(如实验室否有考试等活动通知),实验室不同教室计算机的配置、软件等。访客的功能方便学生、教师等快速的了解实验室的状况。
2.教师模块。教师模块主要有五部分功能。①预约机房。教师可以根据机房状况(机房是否空闲、机器配置、所装软件)和课程情况预约相应机房。②班级管理。教师可以增加删除自己所带的班级。③课程管理。教师可以增加删除自己所带的课程。④个人信息管理。教师可以修改自己的密码、联系方式等个人信息。⑤统计查询。教师可以统计查询自己预约或历史上机情况,导出自己的课表。
3.管理员模块。管理员由计算机实验室的系统管理担任,管理员模块主要包括如下功能模块。①机房信息管理,包括计算机机房的数量、计算机的配置、计算机上所安装的软件等信息的更新维护。②人员信息,主要包括新注册用户的审核,教师密码的初始化等。③公告
管理,主要是有关公告通知的发布。④统计查询,主要是针对所有机房,机时、费用、人员等相关新的查询、统计和汇总,可以将结果导出到EXCEL表中,方便统计和报告,为实验室管理提供数据支撑。⑤系统设置模块。
(二)关键技术实现
本系统的实现使用最新的跨平台开发框架PhoneGap,前端页面使用HTML5、CSS3、Javascript,为了兼容现有的桌面版的排课系统,后台数据库没有变化还是使用现有的SQL Server 2008。
运行在移动终端的程序和PC端的程序最大的变化就是网络不稳定。一般情况下在程序运行过程中如果出现网络中断的情况,可能会导致程序界面锁死、程序崩溃等问题,因此如何保证在网络状况不佳的情况下能够保持系统的稳定运行,是无线应用APP开发的一个关键问题。
本系统使用了离线缓存机制,在网络正常时,将用户的个人排课信息读取并保存在本地缓存文件中,正常情况下程序直接通过网络实现数据库的增删改查操作。网络中断时,用户的增删改查操作先记录到本地缓存文件,等到网络通畅再与数据库进行同步。离线缓存机制如图2所示。
四、结语
在智能手机、平板电脑等移动设备日益流行的今天,各个系统在移动端的开发是目前软件开发的一个流行趋势。大学计算机实验室是培养学生实践能力的一个重要基地,开发移动计算机实验室排课系统,方便教师、学生的查询预约,可以提高计算机实验室的服务水平和管理效率。本文利用目前最新的跨平台框架PhoneGap开发了一套移动计算机实验室排课系统,实现了不同智能终端平台上的系统的运行,从而实现师生随时随地进行排课预约与查询等工作。
系统使用的离线缓存机制确保了终端程序能够在网络环境不理想的环境下系统的流畅运行,提高了系统的健壮性和用户的体验。此系统的不仅可用于计算机实验室,通过修改也可用于教室或别的类型的实验室。
参考文献:
[1]孟昭霞。高校实验室创新性管理[J].实验室研究与探索,2013,(06)。
[2]厉旭云,梅汝焕,叶治国,等。高校实验教学研究的发展及趋势[J].实验室研究与探索,2014,(03)。
[3]宗薇。高校智能排课系统算法的研究与实现[J].计算机仿真,2011,(12)