计算机实验室排课系统的设计与实现毕业论文.docx

上传人:b****3 文档编号:5456837 上传时间:2022-12-16 格式:DOCX 页数:16 大小:92.82KB
下载 相关 举报
计算机实验室排课系统的设计与实现毕业论文.docx_第1页
第1页 / 共16页
计算机实验室排课系统的设计与实现毕业论文.docx_第2页
第2页 / 共16页
计算机实验室排课系统的设计与实现毕业论文.docx_第3页
第3页 / 共16页
计算机实验室排课系统的设计与实现毕业论文.docx_第4页
第4页 / 共16页
计算机实验室排课系统的设计与实现毕业论文.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

计算机实验室排课系统的设计与实现毕业论文.docx

《计算机实验室排课系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《计算机实验室排课系统的设计与实现毕业论文.docx(16页珍藏版)》请在冰豆网上搜索。

计算机实验室排课系统的设计与实现毕业论文.docx

计算机实验室排课系统的设计与实现毕业论文

计算机实验室排课系统的设计与实现毕业论文

 

忻州师范学院

计算机系本科毕业(设计)论文

课题名称计算机实验室排课系统的设计与实现

专业计算机科学与技术

姓名

学号

指导教师

二零一三年六月

1引言1

2系统需求分析3

2.1需求描述3

2.2系统可行性分析3

2.3系统功能分析3

3系统设计6

3.1系统主要功能模块设计6

3.2数据库设计10

4系统实现13

4.1系统开发平台介绍13

4.2系统具体实现13

5系统测试16

5.1测试环境16

5.2测试步骤16

5.3测试结果16

6结束语18

致谢19

参考文献20

计算机实验室排课系统的设计与实现

摘要:

该系统的关键是实现了实验室自动排课的功能。

系统主要包括:

班级信息管理、课程信息管理、教室信息管理、实验室信息管理、自动排课管理等功能模块。

其中班级信息管理主要包括班级信息的添加、修改与删除功能;课程信息管理主要包括课程信息的添加、修改与删除功能;教室信息管理主要包括教室信息的添加、修改与删除功能;实验室信息管理主要是对实验室的维护;自动排课管理主要是实现自动安排实验课的功能。

系统主要用到VisualBasic6.0,VS2010和SQLserver2008等实现的。

关键字:

实验室自动排课信息管理SQLserver2008

Abstract:

ThekeypointofthesystemistherealizationofthelaboratoryautomaticCourseSchedulingfunctions.Thesystemmainlyincludes:

classinformationmanagement,courseinformationmanagement,classroominformationmanagement,,laboratoryinformationmanagement.Theclassinformationmanagementmainlyincludesthattheclassinformationtoadd,modifyanddeletefunction;curriculuminformationmanagementincludesthatthecourseinformationtoadd,modifyanddeletefunctions;classroominformationmanagementincludesthatclassroominformationtoadd,modifyanddeletefunctions;laboratoryinformationmanagementmainlyisthatprotectthelaboratory;automaticcourseschedulingmanagementisthatachieveautomaticarrangementexperimentfunction.ThesystemmainlyusesVisulBasic6.0,VS2010andSQLServer2008toachievethesystem.

Keywords:

ExperimentAutoCourseSchedulingmanagerinformationSQLserver2008

1引言

排课是高校教学管理中一项重要而复杂的工作,其实质就是为学校所设置的课程安排一组适当的教学时间和空间,从而使整个教学能够有计划有秩序的进行。

目前高校实验室仍然采用传统的人工编排课模式,话费了大量的人力和物力,排出的课表还不宜调整。

系统提出了用计算机代替手工排课的方法,设计了一个利用计算机实现实验室排课的系统。

通过对手工排课过程的调研与分析,设计出了实验室排课系统的功能结构,20世纪50年代末,国外就有人开始研究课表编排问题。

1962年,Cotlieb就曾提出一个课表问题的数学模型,并用匈牙利算法解决了三维线形运输问题。

进入20实际90年代以后,国外对课表问题的研究仍然十分活跃。

在国内,对课表问题的研究开始于20实际80年代初期,具有代表性的有:

南京工学院的UTSS(AUniversityTimetableSchedulingSystem)系统,清华大学的TISER(TimetableScheduler)系统等[01]。

2系统需求分析

2.1需求描述

通过对我校实验室排课的调查与研究,传统的排课系统已经不能适应学校的要求。

根据教务处给出的学期课表安排以及我校现有实验室的分析,如何将需要试验的课程和班级安排到有限的实验室中,并且不能产生冲突,所以开发实验室自动排课系统是解决我校实验室排课的关键。

2.2系统可行性分析

开发工具:

VisualBasic6.0

数据库环境:

SQLserver2008

运行环境:

Windows2000以上版本,Visualstudio2010

为了提高实验教学的效率,开发出一个实验室自动排课系统,利用现有的这些工具和方法,在技术上完全是可行的。

该实验室排课系统的设计目标是简单易用,方便快捷,功能强大的信息管理系统。

实验室自动排课系统使用简单明了的操作界面,简单易用意味着系统简易,美观的图形操作界面;功能强大意味着系统的实用性,功能的全面性,系统的安全性和可靠性。

只要知道基本的业务流程即可对各项管理进行操作,因而在操作上是可行的[02]。

2.3系统功能分析

该实验室自动排课系统主要提供一个实验课程的自动编排和查询平台,涉及到管理员,教师和学生三个部分的功能。

1.管理员部分的功能

1管理员登录功能,根据权限进入管理员相应的页面的功能。

2基本数据的输入

在排课之前,需要输入大量的基本数据信息,其中包括班级信息,教师信息,实验室信息,课程信息,并且提供对这些信息的增、删、修改等功能。

基本数据的保存可以用数据库形式进行保存,有利于系统的集成。

3课表编排

课表的编排分为自动编排和手工调节两部分。

课表的编排不是任意的,它是一个时间,教师,班级,实验室,课程的组合规划问题,为达到最好的实验教学效果应遵循一定的要求。

这些要求有以下几条:

1同一教师在同一时间不能进行两门实验课的教学;

2同一实验室在同一时间不能安排两门实验课;

3同一时间安排的实验课程总数不能大于实验室总数;

4同一教师或同一班级最好选择几个相对固定的实验室;

最后,管理人员可对计算机初排结果通过人工交互进行适当的调整。

4课表信息管理

排课结束以后,可对排课结果进行多种条件的查询,并可以输出不同形式的课表,包括班级课表,教师课表,实验室课表,并且可以对这些课表进行打印

2.教师部分功能

1教师登录功能,根据其权限进入教师相应的页面的功能。

2教师对自己课表的查询功能,教师可查询本学期自己所教实验课程的课

表。

3教师对自己课表的打印功能,教师可打印本学期自己所教实验课程的课表。

4实验室课表的查询和打印功能。

3.学生部分功能

1学生登录功能,根据其权限进入学生相应的页面的功能。

2学生对自己所在班级课表的查询功能。

3学生对自己所在班级课表的打印功能。

4实验室课表的查询和打印功能。

一致性:

系统的数据要保证一致性、准确性,当数据库中某一记录改变,与

之相关联的数据也随之变化。

适用性:

能够广泛的用于不同院系的实验排课。

系统采用模块化设计,

用户可以根据自己的实际情况自行组合,使系统在不同的硬件环境下都能得以应用。

实用性:

为实验排课提供方便,有效地进行实验课表的查看和打印,尽

量最大限度降低管理员日常管理工作量,提高实验教学质量和效率,优化资源,实现效益最大化[03]。

操作简单:

本系统应该适用于不同的使用者,包括管理员,教师和学生,

同时系统不应太复杂和烦琐,因此要求系统的操作尽可能简单易行。

3系统设计

本章主要介绍该系统各个模块的设计以及数据库设计。

按照实验排课的业务流程,通过对系统内数据流的控制,使各模块按照其内在的联系组成一个有机的整体,模块统又具有录入,修改,删除,查询,打印等功能,各模块界限分明,任务明确,能实现动态管理,而且界面友好,操作简单,并且有很好的纠错能力。

3.1系统主要功能模块设计

前台登录设计主要包括管理员登录、教师登录、学生登录、实验室登录。

其中管理员登录可以进入到系统的后台,主要对系统的后台进行管理,教师可以通过教师登录查阅实验课的安排,学生可以通过学生登录查阅实验课的安排。

前台登录设计图如图3.1所示。

图3.1系统前台模块图

系统后台管理主要实现对系统各个功能模块的添加、修改及删除等。

主要包括班级信息管理、课程信息管理、实验室信息管理、教师信息管理、自动排课、手工调节、班级课表查看与打印、教师课表查看与打印、实验室课表查看与打印等。

其中班级信息管理包括班级的修改、删除、新增等操作,课程信息管理包括课程的修改、删除、新增等操作,管理员可以通过后台管理实现对系统的维护。

系统后台功能管理图如图3.2所示。

图3.2实验室排课系统后台功能图

基本信息管理提供对排课基本信息的录入,修改,删除等功能,这些信息包括班级信息,课程信息,实验室信息,教师信息,该模块结构图如图3.3所示。

图3.3基本信息管理结构图

第一步:

输入要进行排课的班级信息,实现班级信息的初始化。

第二步:

输入要编排的实验课程信息。

第三步:

输入教师信息。

教师可以教授N个班的N门课程。

第四步:

输入实验室信息,完成实验室信息的初始化。

至此,排课基本信息的输入已经完成。

课表编排模块是本系统的核心部分,就排课问题而言,其本质是教室,教师,班级,课程和时间5个要素在各自具备一定限制条件的情况下,寻求一种教师,班级和课程在时间和空间上合理分布的复杂的资源分配问题。

该模块分为自动排课和手工调节两部分。

它根据输入的基本排课信息(包括班级信息,课程信息,教师信息,实验室信息),按照排课算法来实现对课表的自动编排,对于初排出来的实验课表,如有冲突,或排课人员根据自己的经验认为某门实验课程排在某个特定时间效果可能更好,都可以进行手工调节,以形成最后的无冲突又符合人的主观能动性的实验课表[04]。

本系统的排课算法根据我校的实际情况而设计,在退火遗传算法的基础上,加以改进,在一定程度上解决了我校的实验课程编排。

模拟退火遗传算法思想是:

以遗传算法运算流程为主体流程,把模拟退火机制融入其中,用以进一步调整优化群体。

模拟退火遗传算法如下:

进化代数计数器初始化:

t←0;随机产生初始群体Pt;评价群体Pt的适应度;群体复制操作:

P1t←Selection[Pt];个体交叉操作:

P2t←Crossover[P1t];个体变异操作:

P3t←Mutation[P2t];个体模拟退火操作:

P4t←Simulated?

Annealing?

[P3t];评价群体P4?

t的适应度;下一轮遗传过程:

Pt+1←Reproduction?

[Pt∪P4t];终止条件判断。

若不满足终止条件,则t←t+1,转到第四步继续遗传进化过程,否则,输出当前最优个体,算法结束。

本系统的排课算法流程图如图3.4所示。

Y

N

图3.4实验室排课算法的流程图

在完成了课表的编排之后,特意设计此模块来对课表进行统一的管理。

该模块主要功能是实现教师课表,班级课表和实验室课表的查询和打印。

该模块设计思路为:

在页面中设计三个相应的下拉框,从这三个下拉框中选定相应的项目后,便可以进入相应的课表页面,从而可查看和打印相应的课表[05]。

在经过课表的自动排课和手工调节之后,已形成最终既无冲突又符合人为意愿的实验课表。

要实现班级课表的查询,只需调用最终实验课表中字段为班级名称的记录即可,同样要查询教师课表和实验室课表,只需调用最终课表中字段分别为教师编号和实验室名称的记录即可[06]。

在对各课表查看了之后,还可对课表进行打印。

3.2数据库设计

数据流图,简称DFD,用于表示系统逻辑模型的一种工具。

本系统的数据流图顶层图如图3.5所示。

图3.5系统顶层数据流图根据数据流图,设计实验室排课系统E-R图如图3.6所示。

图3.6实验室排课系统E-R图

根据概念模型,按照概念模型向逻辑结构转换的相关规则并结合规范化理论设计数据库逻辑结构如表3.1、表3.2、表3.3、表3.4、表3.5、表3.6、表3.7

所示。

根据系统的数据需求,本系统归纳出7个数据表格,分别为班级信息表,实验科目信息表,教师信息表,实验室信息表,学生信息表,课表,管理员信息表。

各表的组成,字段名及表格之间的关系。

表3.1班级信息表

字段名称数据类型长度主键允许空

身份整型4是否

班级名称字符型30是

表3.2课程科目信息表

允许空字段名称数据类型长度主键

否身份整型4是

是课程名称字符型50

是课时整型4

是一周课时整型2

表3.3教师信息表

字段名称数据类型长度主键允许空

身份整型4是否

班级身份整型4是

科目身份整型4是

教师编号字符型15是

姓名字符型10是

密码字符型15是

表3.4实验室信息表

字段名称数据类型长度主键允许空

身份整型4是否

姓名字符型30是

教师编号字符型15是

表3.5学生信息表

字段名称数据类型长度主键允许空

身份整型4是否

班级号整型4是

学号字符型15是

姓名字符型10是

密码字符型15是

表3.6课表

字段名称数据类型长度主键允许空

身份整型4是否

日期整型4是

学期整型4是

教师编号字符型15是

教室编号字符型15是

班级编号字符型15是

表3.7管理员信息表

字段名称数据类型长度主键允许空

身份整型4是否

用户名字符型16是

用户密码字符型16是

4系统实现

4.1系统开发平台介绍

开发工具:

MicrosoftVisualBasic6.0中文企业版,VS2010

数据库管理系统DBMS:

SQLserver2008

4.2系统具体实现

系统登录界面供三种权限的用户登录:

管理员,教师,学生,以及可实现对实验室课表的查询和打印。

管理员在输入自己的帐号和密码之后进入系统,可对整个排课业务进行操作,待排课都完成后,教师输入自己的名称和密码,可进去查询自己的课表,并可对该课表进行打印;学生根据自身的权限,可进入系统查询和打印自己班级的课表[10]。

教师,学生还可以查询和打印某个实验室的课表。

该页面文件为Login.aspx,其界面如图4.1所示。

图4.1实验室排课系统登录主界面图

管理员输入自己帐号和密码后点击“登录”按钮触发事件如下:

Sublogin_ClickByValsenderAsObject,ByValAsEventArgs

Ifusername.Text""Orpassword.Text""Then

msg.Text"帐号和密码不能为空"

Else

DimMyCommandAsNewSqlCommandInsertCmd,myConnection

DimdrAs//.n

drMyCommand.ExecuteReader

Ifdr.ReadThen

ifTrimdr"UserPass".ToStringpassword.TextThen

DimcookieAsHttpCookie

cookieNewHttpCookie"chkadmin",username.TextResponse.AppendCookiecookie

DimMyCookieAsNewHttpCookie"chkadmin"

MyCookie.Valuedr"UserName".ToString

MyCookie.Expires//.Hours1

//.MyCookie

Response.Redirect"Main.aspx"Elsemsg.Text"密码错误"

EndIf

Elsemsg.Text"帐号错误"

//.se

EndIf

EndSub

该页面为实验课表自动编排页面,再经过对排课基本信息的录入,确保无误之后,排课算法可自动生成一个初排课表。

在该课表中,显示出了实验课程编排后包含的一些必须因素,如上课地点,上课班级,授课教师和上课时间包括星期和节次。

考虑到周末教师和学生需要时间来休息或者处理自己的一些事情,故周六和周日不安排实验课;同时考虑到学校第一大节课都是排一些公共课或是一些理论知识课,基本上不排实验课,故排课时先从第二大节到第五大节排起,若2?

5大节已经排满,再排第一大节。

其界面如图4.2所示。

图4.2课表自动编排实现界面图

实现如下:

先定义三个函数IsPkOver,IsPkOver1,IsPkOver2来判断课表中有无重复记录,再定义函数IntoPk来往课表中插入排课数据。

函数IntoPk代码如下:

FunctionIntoPkByValstrtblTeacherIDAsString,ByValstrRoomNoAsString,ByValClassNoAsIntegerAsBoolean

ExeSql"deletefromtblTimewhereTeacherNo"&strtblTeacherID&"andRoomNo"&strRoomNo&"andClassNo"&ClassNo

DimstrSqlAsString

DimD,s

IfintDay0ThenintDay1

IfintDay6ThenintDay1

ForDintDayTo5

Fors2To5

IfIsPkOverD,s,strRoomNo,ClassNoFalseThen

IfIsPkOver1D,s,ClassNoFalsethen

IfIsPkOver2D,s,strRoomNoFalsethen

IfssTempThen

strSql"InsertintotblTimeDateID,StepID,TeacherNo,RoomNo,ClassNovalues"&D&","&s&","&strtblTeacherID&","&strRoomNo&","&ClassNo&""

sTemps

ExeSqlstrSql

intDayD+1

GoTo1

EndIf

EndIf

EndIf

EndIf

Next

IfIsPkOverD,1,strRoomNo,ClassNoFalseThen

IfIsPkOver1D,1,ClassNoFalsethen

IfIsPkOver2D,s,strRoomNoFalsethen

strSql"InsertintotblTimeDateID,StepID,TeacherNo,RoomNo,ClassNovalues"&D&","&1&","&strtblTeacherID&","&strRoomNo&","&ClassNo&""

ExeSqlstrSql

intDayD+1

GoTo1

EndIf

EndIf

Next

EndFunction

5系统测试

5.1测试环境

操作系统windows2000以上版本

数据库管理系统SQLserver2008

开发平台MicrosoftVisualBasic6.0中文企业版和VS2010

5.2测试步骤

向数据库中输入一些模拟数据,然后运行系统,观察系统各个模块的运行情况,发现问题便于及时作出调整。

5.3测试结果

经过测试系统基本上满足了学校的需求,各个功能模块运行基本正常。

1.班级信息录入功能如图5.1所示。

图5.1班级信息录入功能图

2.教师信息录入功能如图5.2所示。

图5.2教师信息录入功能图

学生信息录入,实验室信息录入等功能模块经测试都符合要求,且系统各个模块经测试都运行正常,完全符合学校实验室的安排需求,该软件的测试成功预示着我校实验室将告别传统的人工排课,进入一个全新的实验室自动排课时期。

6结束语

实验室自动排课系统是面对学校实验课程编排的数据库管理系统,它主要完成排课基本信息的管理,课表的自动编排和手动调节以及各种课表的查询和打印等功能。

本系统采用新一代网络编程语言VisualBasic6.0来完成整个系统的设计,在数据库的设计上利用了SQLSever2008的安全、可靠和高效的数据管理特性。

实验室自动排课系统是集班级信息,课程信息,教师信息,实验室信息,课表信息于一体的管理系统。

本系统主要分为基本信息管理,课表编排,课表管理等几个模块,并且实现了这几个模块的功能。

在课表编排方面,待录入的基本排课信息无误之后,排课算法可自动生成课表;而排课人员根据自己的主观意愿,还可对自动生成的课表进行手动调节,以形成最后的既无冲突,又符合人的主观能动性的课表;在课表管理方面,可实现对教师课表,班级课表,实验室课表三类课表的查看和打印。

教师和学生根据自身不同的权限,在登录界面输入自己的名称和密码后,便可查询和打印各自的课表。

系统在设计过程中不可避免地遇到了各种各样的问题,有关许多细节问题都要靠自己去摸索,加之本人水平有限,没有完全充分利用VisualBasic6.0的强大功能,在数据设计上还不够完善,系统也还存在着一些不足之处。

该系统离实际使用也还有相当的距离,需要进行不断地补充和完善。

通过本次毕业设计我学到了不少新的东西,也发现了大量的问题,让我懂得只有在学校里把基础知识学扎实了,才能在实践的过程中灵活运用,得心应手,有些在设计过程中存在的问题已经解决,有些还有待今后慢慢学习。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1