![智能排课系统_第1页](http://file4.renrendoc.com/view/335437655c985cd01efa1b53b884a594/335437655c985cd01efa1b53b884a5941.gif)
![智能排课系统_第2页](http://file4.renrendoc.com/view/335437655c985cd01efa1b53b884a594/335437655c985cd01efa1b53b884a5942.gif)
![智能排课系统_第3页](http://file4.renrendoc.com/view/335437655c985cd01efa1b53b884a594/335437655c985cd01efa1b53b884a5943.gif)
![智能排课系统_第4页](http://file4.renrendoc.com/view/335437655c985cd01efa1b53b884a594/335437655c985cd01efa1b53b884a5944.gif)
![智能排课系统_第5页](http://file4.renrendoc.com/view/335437655c985cd01efa1b53b884a594/335437655c985cd01efa1b53b884a5945.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
燕山大学本科毕业(设计)论文智能排课系统PAGE2继续教育学院计算机科学与技术专业PAGE3智能排课系统“信息手段革命”转向“信息内容革命”,引发了全球性数字校园建设浪潮。在信息时代的今天,计算机参与事业单位日常业务管理以成为事业单位现代化管理的当务之急。随着电脑的普及与使用,现在的管理也提升了一个档次,渐渐实现了无纸化办公,即从原来的人工记录管理模式转变为电脑一体化管理。排课问题是一个NP-Complete问题,尤其针对高校的排课一直都没有很好的解决方法,但是此问题又是每个学校在每个学期都会碰到的必要行政作业。本文在相关理论的指导下,在分析以往一些排课软件的基础上,提出一个高校通用排课系统的设计方法,并对一些具体的问题给出相应解决方案。本文介绍了在Vb环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。该系统采用VB6.0作为开发工具,ACCESS2000作为数据库管理系统。简单介绍了VB6.0的编程环境和其数据库编程技术。在可行性研究和需求分析的基础上,对系统的设计方案、功能模块、接口设计、数据库系统设计和安全设计等进行了较详细的论述。该系统遵循先进、经济、安全、高效、可靠、易操作、易维护和开放的设计原则。最后,对课题设计作出客观评价和总结,并对系统的不足之处提出其改进方案和新的构想方案。在论文末,将列出有关的参考文献。关键词:高校;教务;排课;排课系统;专家排课第1章绪论 51.1背景分析 51.2意义 51.3需求分析 51.3.1需求 51.3.2分析 61.4功能 71.5结构 81.6算法分析 8智能排课系统全文共107页,当前为第1页。1.6.1遗传算法的基本思想 11智能排课系统全文共107页,当前为第1页。1.6.2遗传算法的结构 121.6.3遗传算法的基本原理 151.6.4遗传算法的收敛性 151.6.5遗传算法的性能(在排课中的应用) 16第2章开发语言的介绍 212.1系统开发环境介绍 212.2开发语言简介 212.2.1VisualBasic6.0基本概述和特点 212.2ACCESS简介 232.2.1ACCESS概述 232.2.2Access的启动和退出 232.2.3新数据库文件的创建 252.3数据库文件的打开及数据库对象 26第3章系统分析 283.1可行性研究 283.1.1系统可行性分析 283.2现行设计方法的优缺点 303.3系统需求 30第4章系统总体设计 314.1系统功能模块设计 314.3数据库设计 334.3.1数据库需求分析 344.3.2数据库逻辑结构设计 364.4登陆系统流程图 394.5主界面中课表生成部分流程图 394.5.1班级管理流程图 394.2.2班级课程处理流程图 404.5.3课表生成部分流程图 424.5.4报表输出功能 44第5章系统详细设计 45智能排课系统全文共107页,当前为第2页。5.1系统流程图 45智能排课系统全文共107页,当前为第2页。5.2创建工程项目 455.3创建系统的主窗体 455.4系统管理模块的设计 815.4.1系统用户管理模块主要实现: 815.4.2用户登陆窗体的创建 815.4.3用户管理窗体的创建 845.4.4日志管理窗体的创建 855.4.5修改用户密码窗体的创建 865.5班级管理模块的设计 865.5.1辅助功能模块主要实现的功能: 865.5.2课程类型管理窗体的创建。 865.5.3年级专业管理窗体的创建 935.5.4教学时间段窗体的创建。 1015.5.5班级管理窗体的创建。 1025.5.6教室管理窗体的创建 1025.5.7教师管理窗体的创建。 1035.5.8课程管理窗体的创建。 1035.6排课管理模块的设计 1045.6.1排课管理模块主要实现的功能: 1045.6.2生成课程管理窗体的创建 1045.6.3手动排课窗体的创建 1055.6.4自动排课窗体的创建 1055.7课表管理模块的设计 1065.7.1课表管理模块主要实现如下功能: 1065.7.2班级课表窗体的创建 1065.7.3教师课表窗体的创建 1065.7.4教室课表窗体的创建 1065.7.5日期课表窗体的创建 1065.8关于模块的设计 106结论 108智能排课系统全文共107页,当前为第3页。智能排课系统全文共107页,当前为第3页。第1章绪论1.1背景分析随着信息技术的飞速发展,各个行业的信息化正势在必行。科技的进步大大地提高了生产率。作为高校,如何才能提高办学效率,更好地完成教学任务,跟上社会发展步伐,这是一个摆在教学工作者面前的一个迫切的问题。应用信息化来改造传统的教学管理模式是一个重要途径。近几年来,随着各高校办公自动化工作的推进,教务管理自动化也被摆上了日程。在教务工作中占有很大比重的一项就是每学期的课程表排定工作。由于教工、教室和设备的相对紧张,如何进行合理地安排和分配,从而充分利用教学资源是我们不得不面对的问题。而人工进行排课不仅任务重,效率低,而且易出错,难于维护,想要排出一张各方面都满意的课表非常困难。并且随着高校规模的扩大手工排课的难度和工作量呈几何级数增长。高校通用排课系统正是为了减轻教务人员工作量,实现教务工作自动化,解决排课这一老大难问题的教务办公软件。1.2意义该系统是一个管理项目,旨在更好地管理高校的教学与资源整合,推动科技成果的推广转化,推进高校改革,提高高校的办学效率。在现有人力管理基础上,结合日渐成熟的当代计算机技术和各种辅助软件,对人力管理模式进行信息化改造,形成高效、便捷的计算机管理模式,是信息化改造传统产业的一个应用。1.3需求分析1.3.1需求智能排课系统全文共107页,当前为第4页。排课管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以排课管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件排课,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对排课信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高排课管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套排课管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法智能排课系统全文共107页,当前为第4页。计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。在中小学中用计算机管理排课的意义现在我国的中小学校中排课的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。我作为一个计算机应用的大专生,希望可以在这方面有所贡献。改革的总设计师邓小平同志说过"科学技术是第一生产力",我希望能用我四年的所学编制出一个实用的程序来帮助中小学进行更有效的课程管理。归纳起来,好处大约有以下几点:1.可以存储历届的排课,安全、高效;2.只需一到二名排课录入员即可操作系统,节省大量人力;3.可以按照录入人员的输入来自动生成课程表,并尽量减少冲突等情况发生。排课的设计分析根据实际情况,我们使用原型法(RapidPrototyping)即以少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。1.3.2分析智能排课系统全文共107页,当前为第5页。编程环境的选择微软公司的VisualBasic6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。VisualBasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VB是一个相对较好的选择。关系型数据库的实现Access2000就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。另外,Access允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。智能排课系统全文共107页,当前为第5页。二者的结合(DBA)微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及VisualBasic来访问数据库并对其进行各种操作。VisualBasic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。当今的微软对数据库中的ADO比较注视,并在.net上使用了ADO.net技术,鉴于ADO在很多程序里的广泛应用,使用ADO来连接数据库将是最为适用的,并且在定义了ADO的连接模块后,对于将来的升级也会很方便,只要修改一下连接源,就可以轻松的更换后台。1.4功能(1)初始设置模块包括四个子模块,即:备份以前数据、载入以前数据、清除以前数据和清除排课数据;备份以前数据包括:对原有排课数据的备份和对原有课程申请数据的备份;载入以前数据包括:对原有排课数据的载入和对原有课程申请数据的载入;智能排课系统全文共107页,当前为第6页。清除以前数据包括:对原有排课数据的清楚和对原有课程申请数据的清楚;智能排课系统全文共107页,当前为第6页。清除排课数据:是对已有排课数据进行清楚以用于新的排课数据的建立。(2)辅助功能子系统功能;课程类型信息,年级专业信息,日程安排信息,班级信息,教室信息,教师信息和课程信息的添加、删除和修改。(3)用户管理子系统功能;用户的添加和删除,用户密码的设置和修改,用户权限的设置,用户重新登陆。(4)课表管理子系统功能;包括班级课表、教师课表、教室课表、日期课表的查询功能实现的操作。(5)课表管理子系统功能;包括班级课表、教师课表、教室课表、日期课表的查询功能实现的操作。(6)系统管理子系统功能;包括用户管理、日志查看、用户密码的修改和退出系统的功能实现的操作。(7)排课管理子系统功能;包括课程申请管理,手动排课和自动排课三个子模块;其中最重要的模块就是课程申请管理子模块,它是进行自动排课的依据。1.5结构本系统主要由两个模块组成。分别是前端的用户管理模块和后端的数据库管理模块。本论文共分为摘要、正文和结尾三大部分。其中正文分为六章。第一章为绪论,第二章为系统需求分析,第三章为系统总体设计,第四章为系统详细设计,第五章为应用程序的测试,第六章为结论。摘要部分简明的概括了系统的内容和功能。最后为参考文献。1.6算法分析智能排课系统全文共107页,当前为第7页。课程表问题又称时间表问题,是一个多因素的整体优化问题。1975年,S.Even等人论证了课表问题是NP完全类问题。由于课程表问题所涉及的信息较多,并且求解课程表问题最优解的时间复杂性是课程表规模的指数级,所以一般采用求近似最优解的算法。在现实生活中,人们一般也只是要一个满足各种条件的近似最优解,或者说“满意解”,而不一定非要最优解不可。因此,对于课程表问题,关键不是如何找到最优解,而是如何提高解的满意度。智能排课系统全文共107页,当前为第7页。遗传算法是John.H.Holland根据生物进化的模型提出的一种优化算法,它是基于进化过程中的信息遗传机制和优胜劣汰的自然选择原则和搜索算法。它从一个种群开始,利用选择、交叉、变异等遗传算子对种群进行不断进化,最后得到全局最优解或近似最优解。根据其算法特点,遗传算法非常适合于排课表问题。一、问题描述考查课表的约束条件,最基本的要求无外乎这样几个:(一)每个班级在同一时间只能上一门课;(二)每个普通教室和实验室在同一时间只能容纳一个班上课,大教室和操场可以容纳其容量允许的班级数上课;(三)每个教师在同一时间只能在一个地点上课。以上约束,称为硬约束,因为不如此,课表是不可行的。还有一些约束如:某个教师希望或不希望在某个时段上课;自习课和体育课最好不排每天的一二节课;同一门课在一周内的分布尽可能均匀等,这些要求称为软约束,因为它们或者可以通过排课以外的方法,如变更其他事务的日程安排等加以解决;或者只能尽可能满足,而不可能全部满足。满足硬约束的课表是合法的,但却不一定是令人满意的。那么如何提高一个课表的满意度呢?可以请各个教师填一张“时段偏好”表,在每个上课时段上标上相应的数值,以确定他希望或不希望在某个时段上课――0表示不希望,1表示无所谓,2表示希望,3表示强烈希望。并且每个教师根据职称,或职务,或所上课程重要性的不同确定优先级:1,2,3级逐级递增,这样一张课表的满意度就很好计算了:每个上课时段所对应的上课老师的“时段偏好”值乘以这个老师的优先级的积的总和。另一个决定课表好坏的度量就是同一门课在一周内的分布尽可能均匀,即课程的分散度。如果该课程一周只上一次,分散度设为1,如果一次以上,则可以将每次间隔的时段数相乘,因为分布越平均,其乘积就越大。将所有课程的分散度相加即总的课表的分散度。定义适应度函数:适应度=满意度+分散度。二、遗传算法(一)初始化智能排课系统全文共107页,当前为第8页。根据班级信息表以及它与本学期课程信息表的关系,找到每个班的所有课元,再根据这些课元,以及本学期课程表和排课表之间的关系,找到这个班的所有排课元。假设每星期上5天课,每天2节连上,有3个时间段,则每星期有15个上课时间段。那么将这15个时间段随机地分配给上述某个班的所有排课元,也就是排好了一个班的课表。一个班的“排课元”的数目一定是小于或等于15的。如果小于则有时段未排到,即是自习时间。可在“班级信息表”新建一个临时字段“自习”,记录这些自习时间。智能排课系统全文共107页,当前为第8页。再来排教室。给每个班安排一个满足人数要求的教室作为固定教室。一般的课程就在固定教室上,如果是语音课则排语音室,如果是体育课则安排操场,如果是实验课则排实验室。排的时候注意比较该教室的“已排”字段,如与已排时段有冲突,则更换时段。对每个班做上述工作,则排好了一张初始课表。这张初始课表肯定有很多“硬冲突”,必须消除。由于排课时已经注意了教室的时段不能冲突,所以只要查看教师的时间有无冲突即可。根据教师信息表与本学期课程信息表的关系,得到每个教师的课元,再根据这些课元,以及本学期课程信息表与排课表的关系得到该教师的所有排课元。检查这些排课元的时段,如有重复,则须调课:首先考虑与自习课调,班级信息表的“自习”字段记录了该班的自习时段。如果这些自习时段都与该老师的上课时间有冲突,则考虑能否用大教室,查看该老师在该时段所上课程的教室要求能否用大教室,如能,统计该老师在该时段的上课班级的总人数,安排一个能容纳这么多学生的大教室。如果大教室方案不能解决问题,则只能和同班的其他老师调换,但注意只能和未检查过冲突的老师换,以免循环调换。(二)建立初始种群计算消除了硬冲突的课表的适应度函数,记录在数组中。将该排课表考贝到新数据集ds2。拷贝过来的这个排课表即一个“染色体”。重复上述过程,直至染色体数目达到种群规模。(三)遗传操作对ds2中的每张表做如下操作:1.选择。采用“随机竞争法”。随机选取两张表,比较它们的适应度,删除适应度小的表,复制适应度大的表替换它。智能排课系统全文共107页,当前为第9页。2.变异。设变异概率为Pm,随机产生一个(0,1)范围内的数,如果小于Pm,才进行变异操作。随机选取两天,让这两天的时段互换。这样做的好处是不用纠错。智能排课系统全文共107页,当前为第9页。3.交叉。类似地,设交叉概率为Pc,随机产生一个(0,1)范围内的数,如果小于Pc,才进行交叉操作。这里采用“单点交叉”。随机选两张表,再随机选取一个序号,让这两张表中这个序号的记录的“上课时段”值互换。互换后这两张表都要纠错,消除硬冲突。过程仿初始化时的消除冲突过程。只是要注意,如果调换的排课元涉及到大教室,须换回所在班的固定教室。重复该过程,注意每一步操作后都要更新适应度数组,使数组值与表一致。迭代500代后,选取最大适应度的表传回ds1排课表。1.6.1遗传算法的基本思想遗传算法的基本思想正是基于模仿生物界的遗传过程。它把问题的参数用基因代表,把问题的解用染色体代表(在计算机里为字符串),从而得到一个由具有不同染色体的个体组成的群体。这个群体在问题特定的环境里生存竞争,适者有最好的机会生存和产生后代。后代随机化地继承了父代的最好特征,并也在生存环境的控制支配下继续这一过程。群体的染色体都将逐渐适应环境,不断进化,最后收敛到一族最适应环境的类似个体,即得到问题最优的解。值得注意的一点是,现在的遗传算法是受生物进化论学说的启发提出的,这种学说对我们用计算机解决复杂问题很有用,而它本身是否完全正确并不重要(目前生物界对此学说尚有争议)。遗传算法的基础思想是在本世纪50年代初,由于一些生物学家尝试用计算机模拟生物系统演化时而提出的。遗传算法是模拟生物通过基因的遗传和变异,有效地达到一种稳定的优化状态的繁殖和选择的过程,从而建立的一种简单而又有效的搜索方法。它运用随机而非确定性的规则对一族而非一个点进行全局而非局部地搜索,它仅利用目标函数而不要求其导数或其它附加限制,它虽然在特定问题上效率也许不是最高,但效率远高于传统随机算法,是一种普遍适用于各种问题的有效方法。遗传算法的主要思路有:智能排课系统全文共107页,当前为第10页。1、繁殖(reproduction):繁殖是根据现有各个体的目标函数值,确定其生存概率,模拟生物界的自然选择,劣者淘汰,适者生存。在遗传算法中,我们人为地保持种群包含的个体总数不变。比较优秀的个体(模型)有较大的生存概率,并可能繁衍,比较差的个体(模型)可能会淘汰。这样产生的下一代的个体,一般都具有较大目标函数值,因而有较大的生存概率。智能排课系统全文共107页,当前为第10页。2、交配(crossover):从种群中随机地选择两两一组的双亲,分别随机地交换部分染色体,各自产生两个新染色体。3、变异(mutation):染色体按一定概率(一般很小)可随机地产生变异。遗传算法能够解决的问题不仅限于最优化问题,但无论哪种问题,都要解决两个关键问题:(1)必须能将问题的解答用一组二进制数码表示,即建立解答与二进制数码间的映射(mapping)关系。(2)定义一种对最佳解的定量量度,即适度函数。1.6.2遗传算法的结构霍兰德的遗传算法通常被称为“简单遗传算法”(SGA)。现以此作为讨论对象,分析遗传算法的结构和机理。结合如下的货郎担问题(简记TSP)分析:设有n个城市,城市i和城市j之间的距离为d(i,j),i,j=1,...,n.TSP问题是要找遍访每个域市恰好一次的一条回路,且其路径总长度为最短。一、编码与译码许多应用问题结构很复杂,但可以化为简单的位串形式编码表示。将问题结构变换为位串形式表示的过程叫编码;而相反将位串形式编码表示变换为原问题结构的过程叫译码。我们把位串形式编码表示叫染色体,有时也叫个体。对TSP可以按一条回路城市的次序进行编码,比如码串134567829表示从城市1开始,依次是城市3,4,5,6,7,8,2,9,最后回到城市1。智能排课系统全文共107页,当前为第11页。一般情况是从城市w1开始,依次经过城市w2,……,wn,最后回到城市w1,我们就有如下编码表示:智能排课系统全文共107页,当前为第11页。w1w2……wn由于是回路,记wn+1=w1。它其实是1,……,n的一个循环排列。要注意w1,w2,……,wn是互不相同的。二、适应度函数为了体现染色体的适应能力,引入了对问题中的每一个染色体都能进行度量的函数,叫适应度函数。通过适应度函数来决定染色体的优、劣程度,体现了自然进化中的优利劣汰原则。对于优化问题,适应度函数就是目标函数。目标函数是指,优化目标与设计变量之间的函数关系式,是所关心的目标(某一变量)与相关的因素(某些变量)的函数关系。目标函数是把优化问题转化成为数学问题,经过分析、研究,抓住主要因素,建立合适的数学模型。例:为了实现增产、增收、提高土地利用率的目的,利用农作物生长的季节差、时间差,把相同或不同类的农作物套种在一起。目标函数是增产增收和提高土地利用率与土地的单位面积农作物收益的总和之间的关系。Smax=f(x1,x2,x3,…)TSP的目标是路径总长度为最短,路径总长度的倒数就可以为TSP的适应度函数:请注意其中wn+1=w1。适应度函数要有效反映每一个染色体与问题的最优解染色体之间的差距,一个染色体与问题的最优解染色体之间的差距小,则对应的适应度函数值之差就小,否则就大。三、遗传操作简单遗传算法的遗传操作主要有三种:选择、交叉、变异。选择操作也叫复制操作,根据个体的适应度函数值所度量的优、劣程度决定它在下一代是被淘汰还是被遗传。智能排课系统全文共107页,当前为第12页。一般地说,选择将使适应度较大(优良)个体有较大的存在机会,而适应度较小(低劣)的个体继续存在的机会较小。智能排课系统全文共107页,当前为第12页。简单遗传算法采用赌轮选择机制,令Σfi表示群体的适应度值之总和,fi表示种群中第i个染色体的适应度值,它产生后代的能力正好为其适应度值所占份额fi/Σfi。交叉操作的简单方式是将被选择出的两个个体P1和P2作为父母个体,将两者的部分码值进行交换。假设有如下八位长的二个体:产生一个在1到7之间的随机数c,假如现在产生的是3,将P1和P2的低三位交换:P1的高五位与P2的低三位组成数串10001001,这就是P1和P2的一个后代Q1个体;P2的高五位与P1的低三位组成数串11011110,这就是P1和P2的一个后代Q2个体。其交换过程如下所示:变异操作的简单方式是改变数码串的某个位置上的数码。我们先以最简单的二进制编码表示方式来说明,二进制编码表示的每一个位置的数码只有0与1这两个可能,比如有如下二进制编码表示:其码长为8,随机产生一个1至8之间的数k,假如现在k=5,对从右往左的第5位进行变异操作,将原来的0变为1,得到如下数码串(红色的数字1是被变异操作后的):二进制编码表示时的简单变异操作是将0与1互换:0变异为1,1变异为0。现对TSP的变异操作作简单介绍,随机产生一个1至n之间的数k,决定对回路中的第k个城市的代码wk作变异操作,又产生一个1至n之间的数w,替代wk,并将wk加到尾部,得到:w1w2……wk-1wwk+1……wnwk你发现这个串有n+1个数码,注意数w其实在此串中出现重复了,必须删除与数w相重复的,得到合法的染色体。四、控制参数并不是所有被选择了的染色体都要进行交叉操作和变异操作,而是以一定的概率进行,一般在程序设计中交叉发生的概率要比变异发生的概率选取得大若干个数量级,交叉概率取0.6至0.95之间的值;变异概率取0.001至0.01之间的值。智能排课系统全文共107页,当前为第13页。种群的染色体总数叫种群规模,它对算法的效率有明显的影响,规模太小不得于进化,而规模太大将导致程序运行时间长。对不同的问题可能有各自适合的种群规模,通常种群规模为30至100。智能排课系统全文共107页,当前为第13页。1.6.3遗传算法的基本原理遗传算法类似于自然进化,通过作用于染色体上的基因寻找好的染色体来求解问题。与自然界相似,遗传算法对求解问题的本身一无所知,它所需要的仅是对算法所产生的每个染色体进行评价,并基于适应值来选择染色体,使适应性好的染色体有更多的繁殖机会。在遗传算法中,通过随机方式产生若干个所求解问题的数字编码,即染色体,形成初始群体;通过适应度函数给每个个体一个数值评价,淘汰低适应度的个体,选择高适应度的个体参加遗传操作,经过遗传操作后的个体集合形成下一代新的种群。对这个新种群进行下一轮进化。这就是遗传算法的基本原理。遗传算法思想:(1)初始化群体;(2)计算群体上每个个体的适应度值;(3)按由个体适应度值所决定的某个规则选择将进入下一代的个体;(4)按概率Pc进行交叉操作;(5)按概率Pc进行突变操作;(6)没有满足某种停止条件,则转第(2)步,否则进入(7);(7)输出种群中适应度值最优的染色体作为问题的满意解或最优解。程序的停止条件最简单的有如下2种:一是完成了预先给定的进化代数则停止;二是种群中的最优个体在连续若干代没有改进或平均适应度在连续若干代基本没有改进时停止。根据遗传算法思想可以画出简单遗传算法框图1.6.4遗传算法的收敛性智能排课系统全文共107页,当前为第14页。一些研究人员对进化算法的运行机理进行过研究,证明了一般的遗传算法不一定收敛,只有每代保存了最优个体时才收敛。在实际应用中,使用了上述结论来保证收敛性。智能排课系统全文共107页,当前为第14页。优秀个体保护法就是将每代中的最优个体,直接进入子代,相应淘汰其子代中适应度最差的个体,使种群规模不变。对保存最优个体时遗传算法是收敛的结论的证明是通过对遗传算法构造马尔柯夫(markov)链,因为遗传算法的进行过程是一个马尔柯夫过程。当遗传算法收敛时,求到的解通常只是所要解决问题的最优解的一个近似解,或者叫满意解。从数学分析的角度看,收敛过程是一个无限逼近过程,而计算过程是一个有限自动机,因此通过遗传算法程序求得的解总是一个近似解。1.6.5遗传算法的性能(在排课中的应用)上面指出遗传算法程序求得的解是一个满意解,哪些因素会影响到解的质量?这正是遗传算法的性能问题。首先要注意的是种群的规模要适当,种群规模太小,种群中就没有充分的多样性,不利于适应度值高的染色体的进化,致使算法得不到满意的解。可以认为种群规模大有利于种群的进化,种群健壮发展,但染色体多,每进行一轮进化花费的机器时间就多,致使算法的效率低。适应度函数的构造对遗传算法的性能影响较大,由于适应度是衡量染色体优劣的准则,有时优劣染色体的适应度值没有拉开距离,必要提升优良染色体的适应度值,降低劣弱染色体的适应度值,给优良染色体很多的生存机会,达到提高进化速度的目标。可以结合所求解问题的实际情况对适应度函数作适当的变换,提高选择过程的效率。如下有一个线性变换:式中fi为个体的适应度,fyi为变换后的适应度值,c1、c2为常数。C1和C2的选取主要依具体问题的情况而定,并应满足一定的约束条件(例如变换后的适应度值不能是负值等)。适应度函数直接作用到了选择操作,也就是说选择操作的性能主要是由适应度函数来决定,但是怎样运用适应度函数是需要研究的。对遗传算法的性能影响最大的也许是交叉和变异操作。智能排课系统全文共107页,当前为第15页。首先是交叉和变异操作并不是都要进行,对某些问题遗传算法求解时其性能主要由交叉操作决定,甚至没有变异操作时,算法的性能更好;而对另外的某些问题遗传算法求解时其性能主要由变异操作决定,甚至不要交叉操作更合适。智能排课系统全文共107页,当前为第15页。交叉和变异操作的更重要的是不同的问题要构造一些性能更优的交叉和变异操作,才能保证算法的高效率,构造时往往需要对所要求解的问题进行分析和运用一些经验。例如,TSP求解时,前面使用的交叉操作使回路中的左边部分的城市改变较大,但对TSP来说,对回路中的各个位置应有同等的进行机会,于是有如下改进的交叉操作,将两个被选出的染色体,都随机地分成三段(两个染色体的分法相同),再从三段中随机地选取一段在两染色体之间进行交换,形成新染色体。求解TSP的变异操作有如下更有效的方式:随机产生1和n之间的两相异整数k和m,若k<m,则将(w1,w2,…,wk,wk+1,…,wm,…,wn)变为:(w1,w2,…,wm,wm-1,…,wk+1,wk,…,wn).如果是k>m,则将(w1,w2,…,wk,wk+1,…,wm,…,wn)变为:(wm,wm-1,…,w1,wm+1,…,wk-1,wn,wn-1,…,wk).上述变换方法可简单说成是“逆转中间或者逆转两端”。这个变异操作针对TSP非常适用,仅使用这一个变异操作,不使用其他的变异操作和任何交叉操作,构造了改进的遗传算法,发现其性能相当不错,在解的质量相当的情况下,花费的总机时少。交叉概率和变异概率选取也是遗传算法的性能影响最大的因素之一,直接影响着收敛速度。我们着重讨论变异概率,变异概率大会扩大搜索范围,使搜索过程不陷入局部极小。但也可能使正朝着最优解缓慢前进的个体改变方向,破坏好个体;变异概率大则对染色体的破坏大,因此常设定一大一小两个变异概率,当整个种群平均适应度增长较快时,使用小变异概率;反之使用较大变异概率。对整个种群使用相同的变异概率,并不利于优良个体的成长和劣个体的改良。智能排课系统全文共107页,当前为第16页。回顾遗传算法常使用的收敛准则是每代保留最优个体,这个要求其实也在降低算法的效率,因为将导致一些个体早熟和降低种群的多样性。智能排课系统全文共107页,当前为第16页。讨论一个新问题:交叉或变异产生的新个体能否与父个体进行竞争。按简单遗传算法,交叉或变异产生的新个体不论优劣都取代父个体,并不科学。对新个体要有与父个体进行竞争的机会,当父个体比新个体优时,按一定的概率保留父个体而舍去新个体。停止的条件,与解的质量有关系,由于所要解决的问题的最优解预先不知道,就连一个供参考的近似解也不可能有,停止条件就成了一个值得研究的方面。如果按预设的进化代数作停止条件,由于不同的问题的复杂度不同,而且对同一问题构造的遗传操作不同其算法性能不同,因此很难合理地预设一个进化停止代数。另一个常用的停止条件是种群中的最优个体在连续若干代没有改进或平均适应度在连续若干代基本没有改进时,这是一个比较合理的方式,但可能由于构造的算法在进化机制上存在不合理因素,出现进化进程缓慢,或者个别个体早熟,导致过早结束运行,得到一个质量很差的解。例:遗传算法在试题组卷中的应用自动组卷如何保证生成的试卷能最大程度的满足用户的不同需要,并具有随机性、科学性、合理性,这是实现中的一个难点。尤其在交互式环境下用户对于组卷速度要求较高,而一个理论上较完美的算法可能会以牺牲时间作为代价,往往不能达到预期的效果。一般来说,用户在自动组卷时会对试卷的质量提出多方面的要求,如总题量、平均难度、题型比例、章节比例、重点章节比例、知识点的交叉与综合等,自动组卷就应最大程度的满足用户的要求。因此,在组卷之前,我们首先为自动组卷过程建立控制指标相应状态空间D。智能排课系统全文共107页,当前为第17页。D的每一行由某一试题的控制指标组成,如题号、题型、章节、难度等,并且这些属性指标都进行编码表示成二进制形式,而每一列是题库中的某一指标的全部取值。在具体出题时,考方可能不会用到所有的指标,所以D包含的个体d_target可以表示为d_request和d_void,d_request表示考方要求的控制指标,d_void表示考方不要求的控制指标。智能排课系统全文共107页,当前为第17页。考试自动出题的遗传算法如下:(1)根据考方的出题要求,规划状态空间库D中的数据,保留d_request部分,而不要d_void部分,对其剩余部分进行编码D[1],D[2],……D[i]。(2)初始化试题库[STK]。随机从题库中抽出一组试题,并进行编号STK[1],STK[2]……STK[j],确定合适的交换概率Pc和变异概率Pm;并定义其适应值flexibility[k](k=1,2……j)(3)从试题库[STK]中取出STK[m](0≤m≤j)与状态空间库[D]中的指标D[n](0≤n≤i)进行匹配。如果STK[m]与D[n]完全匹配,则flexibility[k]<-flexibility[k]+1如果不匹配,则有flexibility[k]<-flexibility[k]+0(4)进行淘汰选择,保留具有高适应度的试题。即把flexibility[k]为0的STK[m]去掉,这样就生成了一个新的试题模型STK[h]。(5)重复过程2生成新的试题模型STK[p]。按一定的交换概率Pc从[STK]中随机选取模型STK[h]和STK[p],交换彼此位串中对应的值,产生新的试题模型STK[h]、STK[p]。(6)按一定的变异概率从题库[STK]中随机选出一试题模型STK[h]进行基因突变,产生一个新的试题模型。(7)在完成以上选择、交叉、变异步骤后,产生一个考试试题模型,按照事先确定的误差精度对其进行收敛性的判别,当其适应度高时,试题组卷成功,转向步骤8,如果其适应度低,则转向步骤3继续执行。(8)输出相应的考试试题,组卷结束。以上用遗传算法抽题时,交换概率Pc和变异概率Pm的确定很重要。太小使选题工作进展缓慢,太大则会破坏适应值高的试题模型。通常规定其为0.4。同样,Pm太小就不能产生新的试题模型,太大又会产生过多的试题模型。它宜规定为0.1。智能排课系统全文共107页,当前为第18页。自动选题时,选题的方式可采用父辈挑选和生存选择两种。父辈挑选就是采用不返回随机抽样,它使每个题目都有被选中的可能;生存选择采用允许父辈和子代进行竞争,并让其中的优良者进入下一轮竞争环境的二分之一择优选择。智能排课系统全文共107页,当前为第18页。智能排课系统全文共107页,当前为第19页。两种选择方式共同作用于选题保证了选题的顺利完成。在选题的过程中,哪一道题目被选中是一个非均匀随机事件,其概率依赖于上一次选题的过程。智能排课系统全文共107页,当前为第19页。第2章开发语言的介绍2.1系统开发环境介绍硬件环境:AMD2200+,1GB内存,20G硬盘,64mb显卡系统软件:Windows2000AdvancedServerDBMS:SQLSEVER2000开发语言:MicrosoftVisualBasic6.02.2开发语言简介2.2.1VisualBasic6.0基本概述和特点VisualBasic是Microsoft公司推出的程序设计语言,具有简单易学、功能强大、软件费用支出低、见效快等特点。它提供了开发Windows应用程序最迅速、最简捷的方法。它不但是专业人员得心应手的工具,而且易于被非专业人员掌握使用,全世界数以百万计的程序设计人员正在使用VisualBasic开发各种类型的软件。从1.0到4.0版本,VisualBasic只有英文版,5.0版以后的VisualBasic在推出英文版的同时,又推出了中文版,这大大方便了中国的用户。VisualBasic6.0是在VisualBasic5.0的基础上推出的,在某些方面较5.0版有重要的改进,它所提供的开发环境与Windows9x或WindowsNT具有完全一致的界面,使用更方便,其代码效率已达到VisualC++的水平。在面向对象程序设计方面,6.0版的VisualBasic全面支持面向对象的程序设计,包括数据抽象、封装、对象与属性、类与成员、继承和多态等。和VisualBasic5.0一样,VisualBasic6.0也包括三种版本,即学习版、专业版和企业版,这些版本是在相同的基础上建立起来的,因此大多数程序可以在三种版本中通用。VisualBasic(以下简称VB)可以说是可视化语言的先驱了,而且它也是可视化程度最高的一个,从几年前VB诞生之日起到现在,它已经经历了六个版本,这么高的更新率,不外乎说明两个问题:用户对VB的热衷,微软对VB的重视。不可否认微软对市场的预测能力是极为高明的,而它强大的技术、财力支持也使它在许多以前未进入的领域,在不长的时间内有成为最有力的竞争对手。智能排课系统全文共107页,当前为第20页。VB的出现可以说是MicrosoftWindows的日渐成熟的必然产物。MicrosoftWindows为程序员和最终用户提供了一个共同的人机界面。对用户,Windows提供了一个图形鼠标的操作环境,该环境对所有的应用程序都一样;对于程序员,Windows提供了一组预定义工具――称之为MicrosoftWindows的软件开发工具箱(SDK),该工具能使程序员建立一个与Windows界面相同的应用程序,而且,程序员不必关心最终用户的硬件配置情况。在这一开发环境中,程序员唯一困难的是MicrosoftSDK提供了六百多个函数和与其一致的事件驱动(event-driven)编程技术。两种新方法的交叉使众多的程序员重新陷入困境,程序员不仅要掌握程序驱动编程技术和六百多个函数的功能,而且还得用C语言描述这些问题。因此一般情况下,程序员首先要掌握C程序设计技术,而后再开始学习SDK。这样的条件下就要求在Microsoft多任务环境下出现一种操作方便,使用简单的新工具--VisualBasic由此诞生。智能排课系统全文共107页,当前为第20页。英文Visual的意思是“视觉的”,“可视的Basic”这个名字可能抽象了点,但实际上它却是最直观的编程方法,之所以叫做“可视”,你只要看到VB的界面就会明白,实际上你无需编程,就可以完成许多步骤。在VB中引入了控件的概念,在Windows中控件的身影无处不在,各种各样的按钮、文本框、无线钮,都是控件的种类,VB把这些控件模式化,并且每个控件都有若干属性用来控制控件的外观,工作方法。这样你就可以象在画板上一样,随意点几下鼠标,一个按钮就完成了,这些在以前的编程语言下是要经过相当复杂的工作的。Visualbasic6.0具有的特点:(1)统一的数据访问,集成了ADO/OLE支持。(2)将可视化的数据库工具集成到了VisualBasic环境中。(3)新的Oracle模式和存储过程设计能力。(4)数据环境设计器(DataEnvironmentDesigner)工具可实现基于ADO的数据访问组件。(5)新的集成化的报表书写器(ReportWriter)工具。(6)分层的FlexGrid(HierarchicalFlexGrid)控件可用于显示分级数据。(7)具有创建数据源的功能。(8)可创建OLEDB提供者(OLEDBProvider)。(9)可方便地进行机器间和层次间的远程数据访问。智能排课系统全文共107页,当前为第21页。(10)高级数据绑定。智能排课系统全文共107页,当前为第21页。2.2ACCESS简介2.2.1ACCESS概述Access是Office系列软件中用来专门管理数据库的应用软件。所谓数据库是指经过组织的、关于特定主题或对象的信息集合。数据库管理系统分为两类:文件管理系统和关系型管理系统。Access应用程序就是一种功能强大且使用方便的关系型数据库管理系统,一般也称关系型数据库管理软件。它可运行于各种MicrosoftWindows系统环境中,由于它继承了Windows的特性,不仅易于使用,而且界面友好,如今在世界各地广泛流行。它并不需要数据库管理者具有专业的程序设计水平,任何非专业的用户都可以用它来创建功能强大的数据库管理系统。本章将专门介绍Access2002(下面简称为Access)的基本功能及其常用的操作,主要内容包括创建和使用数据表,建立和使用查询、窗体,以及数据表与其他数据文件之间的转换等。数据库技术是计算机软件的一个重要分支,它产生于20世纪60年代,最早是由IBM公司推出的IMS数据库系统。数据库技术从开始到现在大致经历了三个阶段,分别是:人工管理阶段、文件管理阶段和数据库管理阶段。Access使用标准的SQL(StructuredQueryLanguage,结构化查询语言)作为它的数据库语言,从而提供了强大的数据处理能力和通用性,使其成为一个功能强大而且易于使用的桌面关系型数据库管理系统和应用程序生成器。一个Access数据库中可以包含表、查询、窗体、报表、宏、模块以及数据访问页。不同于传统的桌面数据库(dbase、FoxPro、Paradox),Access数据库使用单一的*.mdb文件管理所有的信息,这种针对数据库集成的最优化文件结构不仅包括数据本身,也包括了它的支持对象。此外,Access2002还利用Office套件共享的编程语言VBA(VisualBasicforApplication)进行高级操作控制和复杂的数据操作。2.2.2Access的启动和退出应用Access的第一步就是启动Access,常用的启动方式有下面几种:l
从开始菜单启动Access。单击【开始】→【程序】→【MicrosoftAccess】,启动后的画面如图9-1所示。智能排课系统全文共107页,当前为第22页。l
用“运行”命令启动Access。单击【开始】→【运行】,在“运行”对话框中输入命令:msaccess,按【确定】按钮即可。智能排课系统全文共107页,当前为第22页。l
通过打开已有的数据库来启动Access。在Windows资源管理器中,双击一个Access数据库,即可启动Access,并打开该数据库(见图9-2)。要退出Access,可选择菜单【文件】→【退出】,或通过单击Access主窗口的关闭按钮。智能排课系统全文共107页,当前为第23页。直接启动Access时的窗口智能排课系统全文共107页,当前为第23页。通过打开已有的数据库来启动AccessAccess默认的窗口由标题栏、菜单栏、数据库工具栏、数据库窗口和状态栏组成,象Office的其他应用软件一样,Access2002也增加了任务窗格,它的使用方法和本书前面章节中介绍的方法一样。工具栏和菜单栏的可用项是与当前数据库窗口的内容密切相关的,也就是说,工具栏和菜单栏会随着数据库窗口显示的内容的不同而变化。2.2.3新数据库文件的创建Access中创建和处理的文件是数据库文件,其扩展名为.mdb。与MicrosoftOffice中其他的应用程序(Word、Excel等)不同的是,Access启动后,并不自动创建一个空的文件,然后让用户输入数据,再保存。在Access中,需要用户自己来创建一个新的数据库文件。智能排课系统全文共107页,当前为第24页。在图9-1新启动的Access窗口中,单击任务窗格中的“新建空数据库”项,Access会马上弹出一个对话框让用户给出要新建的数据库的文件名。这也是和Office中其他的软件不同的。输入文件名后,Access打开一个新窗口,如下图所示。智能排课系统全文共107页,当前为第24页。在该窗口的标题栏中显示了新建数据库文件的名称,如图中的“Myfirst”,窗口工作区的左窗格中列出了数据库可包含的主要对象类型,右窗格中列出的是创建当前对象的向导和具体的对象名称。另外,还可以在任务窗格中单击“根据模板新建”,使用数据库向导来创建新的数据库。数据库中具体内容的创建将在后面作介绍。2.3数据库文件的打开及数据库对象Access可打开的文件类型包括Excel电子表格、Dbase数据库、文本文件、Paradox数据库、Web页以及Access自己生成的mdb文件。在任务窗格的“打开文件”项下,可以选择曾经使用过的文件直接打开,也可以使用菜单【文件】→【打开】或常用工具栏的打开按钮,在“打开对话框”中选择文件来打开。在一个Accss窗口中,同一时刻只能打开一个Access数据库,当打开或新建一个数据库时,会自动关闭原来打开的数据库。如果需要打开多个数据库,则要启动多个Access窗口。智能排课系统全文共107页,当前为第25页。Access具有全环绕数据库文件结构,可以在一个mdb文件中包含数据对象(表、索引、查询)和应用对象(窗体、报表、宏、VBA代码模块)。在一个打开的Access数据库窗口(图9-2)中,分组显示了数据库包含的对象,其类型包括表、查询、窗体、报表、页、宏、模块等。一个Access数据库可以包含多达32768个对象(表、查询、报表等的组合),下面对这些对象作一简要介绍。智能排课系统全文共107页,当前为第25页。表:存储数据的容器,是关系数据库系统的基础。表以行列格式存储数据项,这一点和电子表格有些类似。表中的单个信息单元(列)称为字段,在表的顶部可以看到这些字段名;表的一行中所有数据字段的集合,称为记录。用户可以从其他的应用系统(如dBASE、FoxPro、Paradox)、客户/服务器数据库(如SQLServer)以及电子表格(如Excel工作表和Lotus1-2-3)中导入表。Access可以同时打开1024个表。查询:显示从多个表(最多为16个)中选取的数据。通过使用查询,用户可以指定如何表示数据,选择构成查询的表,并可以从所选表中提取出最多255个特定的字段。用户可以通过指定要查询数据的条件来决定显示的数据项。窗体:窗体是数据库和用户的一个联系界面,用于显示包含在表或查询结果中的数据,或操作数据库中的数据。窗体中可以包含图片、图形、声音、视频等多种对象,也可以包含VBA代码来提供事件处理。子窗体是包含于主窗体中的窗体,主要是用来简化用户的操作。报表:用友好和实用的形式来打印表和查询结果数据。报表中可以加入图形来美化打印效果。Access的报表处理能力比起其他关系数据库管理系统来(包括那些为小型机和大型机设计的应用管理系统在内),其报表的处理能力显得更为灵活方便。报表中同样也可以添加VBA代码来实现一定的功能。宏:宏主要是用于执行特殊的操作和响应用户激发的事件,如单击命令按钮操作等。现在宏已经过时了,Access2002之所以支持宏,是为了能够与早期的Access版本所创建的数据库应用系统保持兼容。Microsoft建议在Access应用系统中采用VBA代码来进行事件的处理,这一原则在Office系列中均适用。智能排课系统全文共107页,当前为第26页。模块:在模块中使用VBA代码的目的主要有两个:一是创建在窗体、报表和查询中使用的自定义函数;二是提供在所有类模块中都可以使用的公共子过程。通过在数据库中添加VBA代码,用户就可以创建出自定义菜单、工具栏和具有其他功能的数据库应用系统。智能排课系统全文共107页,当前为第26页。第3章系统分析3.1可行性研究正式开发管理信息系统之前进行调研是非常必要的,其必要性主要表现在以下几个方面。(1)明确用户的要求,以根据调查结果进行可行性分析,确认系统的开发是否可行。(2)提出新系统的人员并不都是系统研究人员,有些人对于的功能和处理数据的方法没有明确的认识。它们只是根据自己业务工作的需要提出了要求,系统开发人员要对此进行详细的调查和分析,确认用户的要求可以通过现有的计算机技术实现,保证开发的管理信息系统的功能与用户提出的要求相吻合。(3)企业的现行系统可能是手工系统,也可能是使用和计算机的系统,无论是何种情况,都要详细地调查现行系统中信息处理的具体情况,系统内部功能结构,以便设计出一个合理的、好的新系统逻辑模型,为新系统的设计工作打好基础,保证整个系统开发的质量。总之,必要对现行系统进行详细的调查,明确用户需求,保证开发的新系统的功能与用户的要求相吻合,避免耗费大量的人力、物力、财力,新系统的开发却失败的悲剧发生。3.1.1系统可行性分析可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。可行性分析阶段的主要工作包括以下几个方面:(1)新系统目标可行性分析:智能排课系统全文共107页,当前为第27页。分析新系统的目标是否符合企业的现状和发展的需要。智能排课系统全文共107页,当前为第27页。(2)社会可行性分析:社会可行性分析主要是指管理信息系统的开发是否符合国家法律、政策,是否能够与社会大系统实现良好的对接。(3)技术可行性分析:技术可行性分析是根据新系统的目标来衡量是否具备所需要的技术,包括系统开发人员数量和水平,硬件方面,软件方面及其它应用技术。(4)经济可行性分析经济可行性分析主要是对开发新系统所投入的资金与系统投入使用后所带来的经济效益进行比较,确认新系统是否会给企业带来一定的经济效益。(5)管理可行性分析:管理可行性分析主要是分析企业现行的管理体制和企业领导是否具有现代化的管理意识和管理水平。经过与企业领导和相关人员的研究和探讨,基本上保证了本系统的开发工作的顺利进行。本处重点讨论一下技术可行性分析:技术可行性分析主要包括四个方面:目前有关的技术能否支持所开发的新系统;新系统开发人员的数量和水平,即人力资源;硬件和软件资源。技术支持:首先根据新系统的目标,考虑目前有关的技术能否支持所开发的新系统。这里讨论的技术必须是已经普遍使用的,而不是待研究的或正在研究的。硬件资源:开发管理信息系统所需的硬件资源包含以下两个方面:系统开发人员在管理信息系统的开发过程中所需要的计算机设备及其有关的外部设备;管理信息系统开发成功投入使用后,使用单位所应具备的计算机设备及其有关的外围设备。对硬件资源进行可行性分析时主要考虑计算机的主机内存、类型、功能、联网能力、安全保护措施以及输入/输出设备,外存储器和联网数据通信设备的配置、功能、效率等指标是否符合系统方案设计要求,同时还要考虑计算机的性能/价格比。3.软件资源软件资源的可行性分析主要考虑以下几点是否满足用户的要求:(1)操作系统的选择;智能排课系统全文共107页,当前为第28页。(2)编译系统的选择;智能排课系统全文共107页,当前为第28页。(3)数据库管理系统的选择;(4)高级编程语言的选择;(5)汉字处理系统的选择;(6)应用软件包的选择。 本系统对设计环境要求不高,对软硬件的运行环境需要也不高,因此完全可以在某学校原有的基础上进行使用。3.2现行设计方法的优缺点现行的MIS系统系统的开发大都是采用结构化的开发方法,它是在对传统开发方法继承批判的基础上,通过不断探索和努力而形成的一种系统化方法。这种方法的突出优点就是它强调系统开发过程的整体性和全局性,强调在整体优化的前提下考虑具体的分析设计问题,即自顶向下的观点。它强调的另一个观点是严格地区分工作阶段,强调一步一步地、严格地进行系统分析和设计,每步工作都要及时地总结,发现问题及时地反馈和纠正,从而避免开发过程的混乱,它是目前被广泛采用的一种系统开发方法。随着时间的推移,这种开发方法也逐渐地显露很多不足。最突出的表现是起点太低,所用工具落后、繁琐,致使系统开发周期过长。这种方法要求开发者在调查中就充分地掌握用户需求、管理状况以及预见可能发生的变化,这不大符合人们循序渐进地认识事物的规律性,因此在实际工作中有一定的困难。3.3系统需求信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,学生信息管理系统软件为教学办公室带来了极大的方便。该软件是以汉语编程语言为实现语言,其功能在系统内部有源代码直接完成。通过操作说明,使用者可以了解本软件的基本工作原理。操作人员只需输入一些简单的汉字、数字,即可达到自己的目标。智能排课系统全文共107页,当前为第29页。智能排课系统全文共107页,当前为第29页。第4章系统总体设计4.1系统功能模块设计高校排课管理系统建立以学生为中心的全校集中的排课活动管理,从而规范排课管理业务处理方式,提高处理效率,为教师和学生提供优质服务,为服务创新提供坚实的基础,为管理决策提供全面的支持。通过采用计算机管理,从根本上解决了人力和物力上的耗费问题,最终实现差错率低,容易查询,计算机存储,节省物力资源,减少教务处工作量,提高效率。经过慎重考虑,并尽量使排课的速度加快,因此对各位教师和各班级都建立一个占用表,首先计算当前要排课程的老师的已排课程占用情况,将其与排课班级的占用表进行对比,获取有用空间,即得到的空间都会适合,这样使用随机推举的方式来自动生成一个新位置,达到排课效果,并且不会造成冲突等情况的发生。排课作为系统的主要重点,在编写中就要尽量避免各种各样的冲突和错误发生,因此也需要经过投入长时间的测试与使用才能使程序的功能达到最好,速度最快。在课程表输出方面,将采用目前最常用的报表形式来进行输出,并且同时使用VB中操作EXECL的方法将课程表输出到EXECL自制的课程表模板文件中,并且同时可以实现打印,这样用户如果在认为报表输出的格式并不能让您满意的话,就可以根据自己的需要来修改EXECL的模板,达到课程表的完美输出。4.2方案论证4.2.1实现功能1.1掌握学校所有的课程和教师的信息。包括每门课程的时间、班级以及任课老师的姓名等。1.2针对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年个人与单位间车辆租赁服务合同范文
- 2025年住宅小区装饰工程合同模板
- 2025年合作方共同市场开发合同
- 2025年写字楼租赁终止合同范文
- 2025年度教育信息化项目合伙人股权分配及资源共享合同
- 2025年度城市基础设施建设工程渣土运输及处理服务合同
- 2025年度生态环保工程质量监管合同
- 2025年度国际卡车租赁业务合同模板
- 2025年度智慧酒店项目筹建技术咨询与全程服务合同
- 2025年度历史文化街区保护与建筑设计合同协议书
- 2025年上半年山东气象局应届高校毕业生招考易考易错模拟试题(共500题)试卷后附参考答案
- 人教版2024-2025学年八年级上学期数学期末压轴题练习
- 【人教版化学】必修1 知识点默写小纸条(答案背诵版)
- 江苏省无锡市2023-2024学年八年级上学期期末数学试题(原卷版)
- 全国第三届职业技能大赛(无人机驾驶(植保)项目)选拔赛理论考试题库(含答案)
- 对口升学语文模拟试卷(10)-江西省(解析版)
- 成长感恩责任高中主题班会-课件
- 建设项目全过程工程咨询服务指引(咨询企业版)(征求意见稿)
- 分手的协议书模板(5篇)
- 2020年度安徽省中考数学科目试卷
- 2023年山东药品食品职业学院单招综合素质考试笔试题库及答案解析
评论
0/150
提交评论