智能排课系统 毕业设计.docx
- 文档编号:6372776
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:34
- 大小:285.31KB
智能排课系统 毕业设计.docx
《智能排课系统 毕业设计.docx》由会员分享,可在线阅读,更多相关《智能排课系统 毕业设计.docx(34页珍藏版)》请在冰豆网上搜索。
智能排课系统毕业设计
沈阳化工学院
本科毕业论文
题目:
智能排课系统
院系:
计算机科学与技术学院
专业:
计算机科学与技术
班级:
计0802
************************
***********************
论文提交日期:
年月日
论文答辩日期:
年月日
内容摘要
排课问题是所有教育行业都要面对的问题,尤其针对高校纷繁复杂的课程和专业,一直没有很好解决方法。
但这又是每个学校在每个学期都会碰到的必修课。
本文在相关理论的指导下,在分析以往一些排课软件的基础上,提出一种排课系统的设计方法,对一些具体的问题给出相应解决方案。
希望对于相关部门有所帮助。
此系统主要被分为三个部分:
界面的设计、排课算法的设计、以及报表的自动生成。
纵观全局,我们确定用VisualBasic语言作为程序设计语言以及运用SQLServer2000数据库作为后台的数据库支持。
关键词:
排课、排课系统、设计、高校
Abstract
CoursearrangingProblemisaproblemwhichworkinginthedevelopmentofeducationisfacing.Especially,thereisnoagoodsolutionforthismatterofthecollege.However,itisalsoanecessaryadministrationtaskforeveryschoolineverysemester.Thisessay,withthecorrelativetheory’sguidance,onthebasisofanalyzingsomecourses-arrayingsoftware,proposesadesignmethodofcommonlyusedcoursesarrayinginformationsystemincollege,andsolvessomeofthecertainproblems.Hopingitisusefulfortherelativedepartment.Thesystemconsistofthreeparts:
theinterfacedesign,thealgorithmofCourseTimetablesystem,andprintingthetables.Onthewhole,wedecidedtouseVBcomputerlanguagetodesignandSQLServer2000DataBasetosupport.
Keywords:
coursesarranging;coursesarrangementmanagementsystem;design;college
智能排课系统
二.绪论
二.1背景与意义
随着信息技术的飞速发展,各个行业的信息化势在必行。
正所谓“科学技术是第一生产力”,科技的进步大大地提高了生产率。
然而,在高校这个知识密集的地方,如何才能提高办学效率,更好地完成教学任务,跟上社会发展步伐,这是一个摆在教学工作者面前的一个迫切的问题。
应用信息化来改造传统的教学管理模式是一个重要途径。
近几年来,随着各高校办公自动化工作的推进,教务管理自动化也被摆上了日程。
在教务工作中占有很大比重的一项就是每学期的课程排定工作。
由于教工、教室和设备的相对紧张,如何进行合理地安排和分配,从而充分利用教学资源是我们不得不面对的问题。
而人工进行排课不仅任务重,效率低,而且易出错,难于维护,想要排出一张各方面都满意的课表非常困难。
并且随着高校规模的扩大手工排课的难度和工作量呈几何级数增长。
二.2课题研究内容
排课系统正是为了减轻教务人员的工作量,实现教务工作自动化,解决排课这一老大难问题的教务办公软件。
尤其针对高校的排课一直都没有很好的解决
方法,但是此问题又是每个学校在每个学期都会碰到的必要行政作业。
本文在相关理论的指导下,在分析以往一些排课软件的基础上,提出一个高校通用排课系统的设计方法,并对一些具体的问题给出相应解决方案。
但是,由于技术、经验的有限和数据量过大,目前我们很难做出一个满足所有需要的排课系统。
因为它不仅要考虑到教室冲突问题和教师冲突问题,还要考虑到分段课、单双周课时的资源利用问题;另外由于高校的教学特点,还要处理合班课、分班课、体育课与选修课等特殊课程。
针对这些问题,在此专门对数据库设计作了一些探索,并于架构的选择和模块的划分上经过精心调整,在菜单的设计上也体现了人性化的操作。
该设计贴近用户需求,功能完整,架构合理,并用大量的框图模型体现了系统的规划。
本软件使用MicrosoftBasic6.0进行编写和SQLServer2000数据库相连接。
数据库的特点:
1.实现数据共享2.实现数据独立3.减少了数据冗余度4.避免了数据不一致性5.加强了对数据的保护。
一个数据库应用系统通常是由数据库和应用程序两部分组成,它们是在数据库管理系统支持下设计和开发出来的。
三.方案设计与论证
三.1可行性研究
三.1.1系统目标及任务
本软件主要是适用于高等学校教务部门的办公软件,运用此软件,可以免去工作人员繁忙而枯燥的手工排课过程,直接通过计算机进行排课。
我的任务是完成排课系统的界面设计以及排课后报表的生成
三.1.2开发工具的选择和介绍
针对目前世界上流行的大量软件和开发工具,经过认真分析其优缺点,结合排课系统的需要和目前的硬件环境,我们选用微软WINDOWS平台下的VisualBasic6.0(简写为VB6.0)作为软件开发工具和SQLServer2000数据库进行连接。
作为数据库系统的开发,VisualBasic是一个非常理想选择。
VisualBasic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的应用程序。
它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。
在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、
动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
总的来说,VisualBasic具有以下特点:
1、可视化编程
用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。
如果对界面的效果不满意,还要回到程序中修改。
有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。
VisualBasic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。
只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。
VisualBasic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。
2、面向对象的程序设计
4.0版以后的VisualBasic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C++)不完全相同。
在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而VisualBasic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。
在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,VisualBasic自动生成对象的
程序代码并封装起来。
每个对象以图形方式显示在界面上,都是可视的。
3、结构化程序设计语言
VisualBasic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。
VisualBasic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。
VisualBasic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。
在设计VisualBasic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离VisualBasic环境,直接在Windows环境下运行。
4、事件驱动编程机制
VisualBasic通过事件来执行对象的操作。
一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。
例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击”(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。
在用VisualBasic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。
这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。
5、访问数据库
VisualBasic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理SQLServer2000数据库,并提供了强大的数据存储功能。
VisualBasic提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQLServer,Oracle等。
在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库。
6、对象的链接与嵌入(OLE)
对象的链接与嵌入(OLE)将每个应用程序都看作是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。
OLE技术是Microsoft公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看作是一个对象进行链接和嵌入,是一种应用程序一体化的技术。
利用OLE技术,可以方便地建立复合式文档(compounddocument),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。
7、动态链接库(DLL)
VisualBasic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。
但它可以通过动态链接库技术将C/C++或汇编语言编写的程序加入到VisualBasic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。
此外,通过动态链接库,还可以调用Windows应用程序
接口(API)函数,实现SDK所具有的功能。
三.1.3对现有的排课系统的分析
随着我国市场经济的快速发展和信息化水平的不断提高,如何利用先进的管理手段,提高教育单位教学排课管理的水平,是当今社会所面临的一个课题。
提高教育管理水平,必须全方位地提高教育管理意识。
只有高标准、高质量的管理才能满足教育事业的发展需求。
面对信息时代的挑战,利用高科技手段来提高教学排课管理无疑是一条行之有效的途径。
在某种意义上,信息与科技在教学管理与现代化建设中显现出越来越重要的地位。
教学排课管理方面的信息化与科学化,已成为现代化生活水平步入高台阶的重要标志。
有关排课管理系统的软件市面上有不少,教学管理人员也试用过一些,但总觉得不是很好用,不能完全满足我们的要求,所以都放弃用这些软件了,改为每次输入数据后,用手工更改数据库存量和安排课程,另外课表也无法用限制条件自动生成.以及直接导出到EXCLE表中,所以,迫切希望有一套完全适合排课管理应用的软件,以减轻管理人员的工作负担。
另一方面由于这类软件大多数是单机版的,现在也有不少是网络板的,但大部份都是在本地网络上运行的。
因此系统的开发方向应当是面向网络版的排课管理系统开发。
这点在今后的学习中将不断完善。
三.1.4系统的逻辑模型
系统结构图
图2-1系统结构图
系统流程图
为了实现管理信息系统的计算机化,仅仅用文字来描述信息的流动和存储还远远不够,还要进一步调查分析舍去物质流,抽象出信息流,绘制出数据流程图,并对各种数据的属性和各项处理功能进行详细分析。
系统分析的主要成果是系统的逻辑模型。
本系统主要是以数据流图、数据字典和E-R图为主要描述工具来勾画系统的概貌。
数据流图(DFD,dataflowdiagram)是描述数据处理过程的有力工具。
数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。
图2-2系统流程图
Chart2-2Systemdiagram
数据字典
名字:
班级编号
描述:
唯一地标识班级库表中一个特定班级的关键域
定义:
班级编号=10{char}
位置:
编辑班级信息,课程信息,教学计划,班级课程表
名字:
教室编号
描述:
唯一地标识教室库表中一个特定教室的关键域
定义:
教室编号=10{char}
位置:
编辑教室信息,教室课程表
名字:
教师编号
描述:
唯一地标识教师库表中一个特定教师的关键域
定义:
教师编号=10{char}
位置:
编辑教师信息,教学计划,教师课程表
名字:
学院编号
描述:
唯一地标识学院库表中一个特定学院的关键域
定义:
学院编号=10{char}
位置:
编辑教师信息
名字:
班级课程表
描述:
每学期一个确定班级的上课情况信息表
定义:
班级课程表=班级名称+课程名称+上课地点
位置:
输出到打印机
名字:
课程编号
描述:
唯一地标识课程库表中一门特定课程的关键域
定义:
课程编号=10{char}
位置:
编辑课程信息,教学计划
名字:
教室课程表
描述:
每学期一个确定教室的上课时间安排情况信息表
定义:
教室课程表=教室名称+班级名称
位置:
输出到打印机
名称:
教师课程表
描述:
每学期每个教师的上课情况信息表
定义:
教师课程表=教师姓名+课程名称+班级名称+教室名称
位置:
输出到打印机
三.1.5系统的可行性
经济可行性分析
本系统开发简单但要耗去一定的时间,所用的开发工具和软件都差不多是免费的。
本系统在以后的使用中对于教育办公自动化管理,节省教育人力、物力资源等都有很大的帮助。
由此可见,开发此系统在经济上是完全可行的。
操作可行性分析
如今的计算机已经走进千家万户,硬件成本的下降,导致计算机购买成本的降低.我的这套系统是利用自己的计算机加微软的集成开发环境MicrosoftVisualBasic6.0作为软件的开发平台和SQLServer2000数据库连接。
使开发出来的系统有直观的用户界面、有良好的安全性设置、有详细的操作说明书,这样更使各类用户很快地掌握系统的使用方法和操作,因此在操作上是可行的。
技术可行性分析
从目前IT业界比较流行的数据库开发、管理软件来看,对于比较简单的中小型数据库,VB和SQLServer2000的结合无疑是在实际应用中较为成功的一种解决方案。
为用户提供了业界软件开发一直坚持的操作简单的用户界面、完善强大的数据库操作功能和简洁明了的数据库接口。
所以技术实行起来相对会容易。
三.1.6成本效益分析
本系统的开发平台和开发工具都是免费提供的,所以不存在经济成本问题。
由于本软件还处于开发初期,所开发出的软件需要不断的修改和维护,就效益而言,它取代了传统的手工排课方式,节省了人力和时间。
如果要创造更高的效益需要对系统进行更多的优化。
三.2需求分析
三.2.1系统的运行环境要求
硬件要求
1486/DX66Mhz以上CPU
2内存16M以上(使用WindowsNT需要32M以上内存)
3硬盘容量1GB以上(典型安装需要128MB硬盘空间,完全安装须要147MB硬盘空间,外加Microsoft开发者文档67MB硬盘空间)
4VGA以上分辨率的显示器.
5一个CD-ROM驱动器
6鼠标、打印机
软件要求
1操作系统应使用MicrosoftWindows95及以上版本或者更高版本。
2安装有VisualBasic语言及SQLServer2000数据库。
三.2.2系统的功能要求
利用计算机实现计算机自动排课管理势在必行。
对于教育单位来说,利用计算机支持其高效率完成排课管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而排课管理是一项琐碎、复杂而又十分细致的工作,课表信息录入,教师授课安排,限制条件输入,课表的自动生成等管理,一般不允许出错,如果实行手工操作,须手工填制大量的表格,这就会耗费教育工作人员大量的时间和精力,计算机进行排课工作的管理,不仅能够保证各项信息准确无误、快速输出,同时计算机具有手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高排课管理的效率,也是教育的科学化、正规化管理,与世界接轨的重要条件。
三.2.3系统的性能要求
本系统在性能上应达到如下要求:
●系统软件运行应该速度快、稳定、可靠,具有很高的健壮性和容错、纠错能力;
●系统软件操作上应简单、方便,界面简洁明了、美观;
●系统软件应能具有较高的安全性,对内对外都有严格的身份认证和数据保密的措施;
●系统软件在结构上应具有很好的可扩展性,便于将来的功能扩展和维护;
数据计算准确无误,精确度符合业务的需要。
1.教师E-R图
图2-3教师E-R
2.班级E-R图
图2-4班级E-R
3.课程E-R图
图2-5课程E-R
4.教室E-R图
图2-6教室E-R
三.总体设计
三.3模块设计
模块是软件结构的基础,软件结构的好坏完全由模块的属性体现出来,把软件模块化的目的是为了降低软件复杂性,使软件设计,测试,调试,维护等工作变得简易,但随着模块数目的增加,通过接口连接这些模块的工作量也随之增加。
从这些特性可得出如图的一条总的成本(或工作量)曲线,在考虑模块化时,应尽量使模块数接近于图中的M,它使得研制成本最小,而且应尽量避免不足的模块化或超量。
图3-1模块与成本关系图
Chart4-1Relationbetweenmoduleandcost
基于上述原因,在进行总体规划的初步设想中,以高校各种资源和资源的分配为依据,综合多种相关因素,将该系统划分成以下六个子功能模块:
基本信息管理子系统、用户管理子系统、数据管理子系统、教学计划管理子系统、排课管理子系统、课表查询子系统。
在数据库设计上,遵循“功能分离,数据共享”的原则,将数据库分成基础数据库及目标数据库两大部分,其中,基础数据库又可分为初始设置信息库、基本信息库、用户信息库三个功能子库。
目标库主要存放系统运行过程中的动态数据,目标方案等。
三.4功能分解
基本信息管理子系统功能:
班级信息,教室信息和教室信息的添加、保存、编辑和删除:
1、用户管理子系统功能:
用户密码的设置和修改,用户权限的设置,用户重新登陆;
2、数据管理子系统功能:
包括对教室、教师、班级、教学计划和课表数据的保存、查询、更新、删除;
3、教学计划管理子系统功能:
某一确定的学期的教学工作计划,对于班级而言,每门课程的学时、开始周、结束周以及每门课程的任课教师,该子系统对教学计划进行管理和完善;
4、排课管理子系统功能:
包括自动排课,手动排课两个部分;
5、课表查询子系统功能:
对于具体的班级、教师、教室进行课表查询,打印;
三.5数据库设计
排课管理系统是一项复杂的系统工程,其间需要大量的数据来支撑,从某种程度上来讲,排课管理系统的设计过程,其实也就是一个规范和完整的数据库设计过程。
经过多年的发展,关系型数据库系统(RDBMS)是最成熟的一种数据库管理模式,也是当前最流行的数据库管理系统。
故在此也采用该模式(在加一些关系数据库的介绍)。
三.5.1定义属性表
1.bClass表
字段名称
类型
说明
ClassID
字符
班级编号
ClassName
文本
班级名称
DepID
文本
学院编号
SpecID
文本
专业编号、
ClassStuNum
整型
班级人数
图3-2班级表
Chart3-2Classtable
2.bClassRoom表
字段名称
类型
说明
ClassRoomID
字符
教室编号,字段大小10
ClassRoomName
文本
教室名称,字段大小16
ClassTypeID
字符
教室类型,字段大小16
ClassRoomStuNum
整型
容纳人数,字段大小4
BuildingID
字符
教学楼编号,字段大小10
ClassRoomFlag
整型
教室标识符,字段大小4
图3-3教室表
Chart3-3Classroomtable
3.bCourse表
字段名称
类型
说明
CourseID
字符
课程编号,字段大小10
CourseName
字符
课程名称,字段大小20
CourseYXJ
字符
课程优先级,字段大小10
ClassID
字符
班级编号,字段大小10
CourseFlag
整型
课程标识符,字段大小4
图3-4课程表
Chart3-4Coursetable
4.bTeacher表
字段名称
类型
说明
TeacherID
字符
教师编号,字段大小10
TeacherName
文本
教师名称,字段大小16
DepID
文本
学院编号,字段大小16
CourseID
字符
课程编号,字段大小10
图3-5教师表
5.bTeachPlan表
字段名称
类型
说明
CourseID
字符
课程编号,字段大小10
CourseName
文本
课程名称,字段大小16
TeacherID
字符
教师编号,字段大小10
TeacherName
文本
教师名称,字段大小16
WeekNum
字符
周学时,字段大小10
CourseNum
字符
总学时,字段大小10
图3-6教师计划表
Chart3-6Reachplantable
6.bTempTable表
字段名称
类型
说明
ClassID
字符
班级编号,字段大小10
CourseID
字符
课程编号,字段大小10
TeacherID
字符
教师编号,字段大小10
ClassRoomID
字符
教室编号,字段大小10
TTime
整型
时间标识,字段大小4
Week
整型
周数,字段大小4
图3-7临时表
Chart3-7Temporarytable
三.6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能排课系统 毕业设计 智能 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)