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

上传人:文库蛋蛋多 文档编号:3992502 上传时间:2023-03-30 格式:DOC 页数:25 大小:1.24MB
返回 下载 相关 举报
计算机实验室排课系统的设计与实现毕业论文.doc_第1页
第1页 / 共25页
计算机实验室排课系统的设计与实现毕业论文.doc_第2页
第2页 / 共25页
计算机实验室排课系统的设计与实现毕业论文.doc_第3页
第3页 / 共25页
计算机实验室排课系统的设计与实现毕业论文.doc_第4页
第4页 / 共25页
计算机实验室排课系统的设计与实现毕业论文.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

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

1、忻 州 师 范 学 院计算机系本科毕业(设计)论文课题名称计 算 机 实 验 室 排 课系 统 的 设 计 与 实 现专 业计 算 机 科 学 与 技 术姓 名杨 岩学 号2 0 1 1 0 8 1 1 2 0 4 3指导教师郑 志 荣二零一三年六月目录1 引 言12 系统需求分析32.1 需求描述32.2 系统可行性分析32.3 系统功能分析33 系统设计63.1 系统主要功能模块设计63.2 数据库设计104 系统实现134.1 系统开发平台介绍134.2 系统具体实现135 系统测试165.1 测试环境165.2 测试步骤165.3 测试结果166 结束语18致 谢19参考文献20计算机

2、实验室排课系统的设计与实现摘 要: 该系统的关键是实现了实验室自动排课的功能。系统主要包括:班级信息管理、课程信息管理、教室信息管理、实验室信息管理、自动排课管理等功能模块。其中班级信息管理主要包括班级信息的添加、修改与删除功能;课程信息管理主要包括课程信息的添加、修改与删除功能;教室信息管理主要包括教室信息的添加、修改与删除功能;实验室信息管理主要是对实验室的维护;自动排课管理主要是实现自动安排实验课的功能。系统主要用到Visual Basic 6.0, VS2010和SQL server2008等实现的。关键字:实验室自动排课 信息管理 SQL server2008Abstract: Th

3、e key point of the system is the realization of the laboratory automatic Course Scheduling functions. The system mainly includes: class information management, course information management, classroom information management, , laboratory information management.The class information management mainly

4、 includes that the class information to add, modify and delete function; curriculum information management includes that the course information to add, modify and delete functions; classroom information management includes that classroom information to add, modify and delete functions; laboratory in

5、formation management mainly is that protect the laboratory; automatic course scheduling management is that achieve automatic arrangement experiment function. The system mainly uses Visul Basic6.0, VS2010 and SQL Server2008 to achieve the system.Key words: Experiment Auto Course Scheduling manager in

6、formation SQL server20081 引 言排课是高校教学管理中一项重要而复杂的工作,其实质就是为学校所设置的课程安排一组适当的教学时间和空间,从而使整个教学能够有计划有秩序的进行。目前高校实验室仍然采用传统的人工编排课模式,话费了大量的人力和物力,排出的课表还不宜调整。系统提出了用计算机代替手工排课的方法,设计了一个利用计算机实现实验室排课的系统。通过对手工排课过程的调研与分析,设计出了实验室排课系统的功能结构,20世纪50年代末,国外就有人开始研究课表编排问题。1962年,Cotlieb就曾提出一个课表问题的数学模型,并用匈牙利算法解决了三维线形运输问题。进入20实际90年代

7、以后,国外对课表问题的研究仍然十分活跃。在国内,对课表问题的研究开始于20实际80年代初期,具有代表性的有:南京工学院的UTSS(A University Timetable Scheduling System)系统,清华大学的TISER(Timetable Scheduler)系统等01。2 系统需求分析2.1 需求描述通过对我校实验室排课的调查与研究,传统的排课系统已经不能适应学校的要求。根据教务处给出的学期课表安排以及我校现有实验室的分析,如何将需要试验的课程和班级安排到有限的实验室中,并且不能产生冲突,所以开发实验室自动排课系统是解决我校实验室排课的关键。2.2 系统可行性分析2.2.

8、1 技术可行性开发工具:Visual Basic 6.0数据库环境:SQL server 2008运行环境:Windows2000以上版本,Visual studio 2010为了提高实验教学的效率,开发出一个实验室自动排课系统,利用现有的这些工具和方法,在技术上完全是可行的。2.2.2 操作可行性该实验室排课系统的设计目标是简单易用,方便快捷,功能强大的信息管理系统。实验室自动排课系统使用简单明了的操作界面,简单易用意味着系统简易,美观的图形操作界面;功能强大意味着系统的实用性,功能的全面性,系统的安全性和可靠性。只要知道基本的业务流程即可对各项管理进行操作,因而在操作上是可行的02。2.3

9、 系统功能分析2.3.1 系统功能需求该实验室自动排课系统主要提供一个实验课程的自动编排和查询平台,涉及到管理员,教师和学生三个部分的功能。1. 管理员部分的功能(1) 管理员登录功能,根据权限进入管理员相应的页面的功能。(2) 基本数据的输入在排课之前,需要输入大量的基本数据信息,其中包括班级信息,教师信息,实验室信息,课程信息,并且提供对这些信息的增、删、修改等功能。基本数据的保存可以用数据库形式进行保存,有利于系统的集成。(3) 课表编排课表的编排分为自动编排和手工调节两部分。课表的编排不是任意的,它是一个时间,教师,班级,实验室,课程的组合规划问题,为达到最好的实验教学效果应遵循一定的

10、要求。这些要求有以下几条:1) 同一教师在同一时间不能进行两门实验课的教学;2) 同一实验室在同一时间不能安排两门实验课;3) 同一时间安排的实验课程总数不能大于实验室总数;4) 同一教师或同一班级最好选择几个相对固定的实验室;最后,管理人员可对计算机初排结果通过人工交互进行适当的调整。(4) 课表信息管理排课结束以后,可对排课结果进行多种条件的查询,并可以输出不同形式的课表,包括班级课表,教师课表,实验室课表,并且可以对这些课表进行打印2. 教师部分功能(1) 教师登录功能,根据其权限进入教师相应的页面的功能。(2) 教师对自己课表的查询功能,教师可查询本学期自己所教实验课程的课表。(3)

11、教师对自己课表的打印功能,教师可打印本学期自己所教实验课程的课表。(4) 实验室课表的查询和打印功能。3. 学生部分功能(1) 学生登录功能,根据其权限进入学生相应的页面的功能。(2) 学生对自己所在班级课表的查询功能。(3) 学生对自己所在班级课表的打印功能。(4) 实验室课表的查询和打印功能。2.3.2 系统性能需求1. 一致性:系统的数据要保证一致性、准确性,当数据库中某一记录改变,与之相关联的数据也随之变化。2. 适用性:能够广泛的用于不同院系的实验排课。系统采用模块化设计,用户可以根据自己的实际情况自行组合,使系统在不同的硬件环境下都能得以应用。3. 实用性:为实验排课提供方便,有效

12、地进行实验课表的查看和打印,尽量最大限度降低管理员日常管理工作量,提高实验教学质量和效率,优化资源,实现效益最大化03。4. 操作简单:本系统应该适用于不同的使用者,包括管理员,教师和学生,同时系统不应太复杂和烦琐,因此要求系统的操作尽可能简单易行。3 系统设计本章主要介绍该系统各个模块的设计以及数据库设计。按照实验排课的业务流程,通过对系统内数据流的控制,使各模块按照其内在的联系组成一个有机的整体,模块统又具有录入,修改,删除,查询,打印等功能,各模块界限分明,任务明确,能实现动态管理,而且界面友好,操作简单,并且有很好的纠错能力。3.1 系统主要功能模块设计3.1.1 前台功能模块设计前台

13、登录设计主要包括管理员登录、教师登录、学生登录、实验室登录。其中管理员登录可以进入到系统的后台,主要对系统的后台进行管理,教师可以通过教师登录查阅实验课的安排,学生可以通过学生登录查阅实验课的安排。前台登录设计图如图3.1所示。计算机实验室排课系统统计算机实验室排课系统统 前台登录管理员登录教 师 登 陆实验室登录学 生 登 陆教 师 登 录学 生 登 录管理员登录图 3.1 系统前台模块图3.1.2 系统后台管理模块设计系统后台管理主要实现对系统各个功能模块的添加、修改及删除等。主要包括班级信息管理、课程信息管理、实验室信息管理、教师信息管理、自动排课、手工调节、班级课表查看与打印、教师课表

14、查看与打印、实验室课表查看与打印等。其中班级信息管理包括班级的修改、删除、新增等操作,课程信息管理包括课程的修改、删除、新增等操作,管理员可以通过后台管理实现对系统的维护。系统后台功能管理图如图3.2所示。教 师 登 陆实验室排课系统后台管理 基本信息管理 课表编排 课表管理教师信息管理实验室课表查看与打印 教师课表查看与打印 班级课表查看与打印手工调节自动排课课程信息管理实验室信息管理班级信息管理图3.2 实验室排课系统后台功能图3.1.3 基本信息管理模块设计基本信息管理提供对排课基本信息的录入,修改,删除等功能,这些信息包括班级信息,课程信息,实验室信息,教师信息,该模块结构图如图3.3

15、所示。班级信息输入排课班级管理员登录实验课程信息输入实验课程教师信息输入排课教师完成实验室信息输入实验室图 3.3 基本信息管理结构图第一步:输入要进行排课的班级信息,实现班级信息的初始化。第二步:输入要编排的实验课程信息。第三步:输入教师信息。教师可以教授N个班的N门课程。第四步:输入实验室信息,完成实验室信息的初始化。至此,排课基本信息的输入已经完成。3.1.4 课表编排模块设计课表编排模块是本系统的核心部分,就排课问题而言,其本质是教室,教师,班级,课程和时间5个要素在各自具备一定限制条件的情况下,寻求一种教师,班级和课程在时间和空间上合理分布的复杂的资源分配问题。该模块分为自动排课和手

16、工调节两部分。它根据输入的基本排课信息(包括班级信息,课程信息,教师信息,实验室信息),按照排课算法来实现对课表的自动编排,对于初排出来的实验课表,如有冲突,或排课人员根据自己的经验认为某门实验课程排在某个特定时间效果可能更好,都可以进行手工调节,以形成最后的无冲突又符合人的主观能动性的实验课表04。本系统的排课算法根据我校的实际情况而设计,在退火遗传算法的基础上,加以改进,在一定程度上解决了我校的实验课程编排。模拟退火遗传算法思想是:以遗传算法运算流程为主体流程,把模拟退火机制融入其中,用以进一步调整优化群体。模拟退火遗传算法如下:进化代数计数器初始化:t0;随机产生初始群体P(t);评价群

17、体P(t)的适应度;群体复制操作:P1(t)SelectionP(t);个体交叉操作:P2(t)CrossoverP1(t);个体变异操作:P3(t)MutationP2(t);个体模拟退火操作:P4(t)SimulatedAnnealingP3(t);评价群体P4(t)的适应度;下一轮遗传过程:P(t+1)ReproductionP(t)P4(t);终止条件判断。若不满足终止条件,则tt+1,转到第四步继续遗传进化过程,否则,输出当前最优个体,算法结束。本系统的排课算法流程图如图3.4所示。查找实验课程记录开始记录是否为空 YNintDay=1,intDay表示星期班级,教师,实验室在星期i

18、ntDay内是否没有排课NY把星期intDay作为该课的上课时间S=1,S表示上课节次 S=S+1判断S是否小于6YNintDay=intDay+1Y判断intDay是否小于6N读取下条记录 结束图 3.4 实验室排课算法的流程图3.1.5 课表管理模块的设计在完成了课表的编排之后,特意设计此模块来对课表进行统一的管理。该模块主要功能是实现教师课表,班级课表和实验室课表的查询和打印。该模块设计思路为:在页面中设计三个相应的下拉框,从这三个下拉框中选定相应的项目后,便可以进入相应的课表页面,从而可查看和打印相应的课表05。在经过课表的自动排课和手工调节之后,已形成最终既无冲突又符合人为意愿的实验

19、课表。要实现班级课表的查询,只需调用最终实验课表中字段为班级名称的记录即可,同样要查询教师课表和实验室课表,只需调用最终课表中字段分别为教师编号和实验室名称的记录即可06。在对各课表查看了之后,还可对课表进行打印。3.2 数据库设计3.2.1 数据流图教师信息管理数据流图,简称DFD,用于表示系统逻辑模型的一种工具。本系统的数据流图顶层图如图3.5所示。教师表实验室表输入各类基本信息实验室信系管理 管理员实验室排课系统排课表 自动排课图3.5系统顶层数据流图 根据数据流图,设计实验室排课系统E-R图如图3.6所示。 ID实验室名称课程ID教师编号班级ID ID 教师地点联系1M 实验室姓名M1

20、地点联系 教授NN课时上课NM实验课程班级班级名称 ID周课时课程名称 ID图 3.6 实验室排课系统E-R图3.2.2 逻辑结构设计根据概念模型,按照概念模型向逻辑结构转换的相关规则并结合规范化理论设计数据库逻辑结构如表3.1、表3.2、表3.3、表3.4、表3.5、表3.6、表3.7所示。根据系统的数据需求,本系统归纳出7个数据表格,分别为班级信息表,实验科目信息表,教师信息表,实验室信息表,学生信息表,课表,管理员信息表。各表的组成,字段名及表格之间的关系。表 3.1 班级信息表字段名称数据类型长度主键允许空身份整型4是否班级名称字符型30是表 3.2 课程科目信息表允许空字段名称数据类

21、型长度主键否身份整型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是

22、表 3.7 管理员信息表字段名称数据类型长度主键允许空身份整型4是否用户名字符型16是用户密码字符型16是4 系统实现管理员登录教 室 登 陆实验室登录学 生 登 陆4.1 系统开发平台介绍开发工具:Microsoft Visual Basic 6.0 中文企业版,VS2010数据库管理系统(DBMS): SQL server20084.2 系统具体实现4.2.1 系统登录主界面的实现系统登录界面供三种权限的用户登录:管理员,教师,学生,以及可实现对实验室课表的查询和打印。管理员在输入自己的帐号和密码之后进入系统,可对整个排课业务进行操作,待排课都完成后,教师输入自己的名称和密码,可进去查询自

23、己的课表,并可对该课表进行打印;学生根据自身的权限,可进入系统查询和打印自己班级的课表10。教师,学生还可以查询和打印某个实验室的课表。该页面文件为Login.aspx,其界面如图4.1所示。图 4.1 实验室排课系统登录主界面图管理员输入自己帐号和密码后点击“登录”按钮触发事件如下:Sub login_Click(ByVal sender As Object, ByVal As EventArgs) If username.Text = Or password.Text = Then msg.Text = 帐号和密码不能为空 Else Dim MyCommand As New SqlComm

24、and(InsertCmd, myConnection) Dim dr As SqlDataReader MyCommand.Connection.Open() dr = MyCommand.ExecuteReader() If dr.Read() Then if Trim(dr(UserPass).ToString() = password.Text Then Dim cookie As HttpCookie cookie = New HttpCookie(chkadmin, username.Text) Response.AppendCookie(cookie) Dim MyCookie

25、As New HttpCookie(chkadmin) MyCookie.Value = dr(UserName).ToString() MyCookie.Expires = DateTime.Now.AddHours(1) Response.Cookies.Add(MyCookie) Response.Redirect(Main.aspx) Else msg.Text = 密码错误 End If Else msg.Text = 帐号错误 MyCommand.Connection.Close() End IfEnd Sub4.2.2课表自动编排的实现该页面为实验课表自动编排页面,再经过对排课基

26、本信息的录入,确保无误之后,排课算法可自动生成一个初排课表。在该课表中,显示出了实验课程编排后包含的一些必须因素,如上课地点,上课班级,授课教师和上课时间(包括星期和节次)。考虑到周末教师和学生需要时间来休息或者处理自己的一些事情,故周六和周日不安排实验课;同时考虑到学校第一大节课都是排一些公共课或是一些理论知识课,基本上不排实验课,故排课时先从第二大节到第五大节排起,若25大节已经排满,再排第一大节。其界面如图4.2所示。图 4.2 课表自动编排实现界面图实现如下:先定义三个函数IsPkOver,IsPkOver1,IsPkOver2来判断课表中有无重复记录,再定义函数IntoPk来往课表中

27、插入排课数据。函数IntoPk代码如下:Function IntoPk(ByVal strtblTeacherID As String, ByVal strRoomNo As String, ByVal ClassNo As Integer) As Boolean ExeSql(delete from tblTime where TeacherNo = & strtblTeacherID & and RoomNo= & strRoomNo & and ClassNo= & ClassNo) Dim strSql As String Dim D, s If intDay = 0 Then int

28、Day = 1 If intDay = 6 Then intDay = 1 For D = intDay To 5 For s = 2 To 5 If IsPkOver(D, s, strRoomNo, ClassNo) = False Then If IsPkOver1(D, s, ClassNo)=False then If IsPkOver2(D, s, strRoomNo)=False then If s sTemp Then strSql=Insertinto tblTime(DateID,StepID,TeacherNo,RoomNo,ClassNo) values ( & D &

29、 , & s & , & strtblTeacherID & , & strRoomNo & , & ClassNo & ) sTemp = s ExeSql(strSql) intDay =D + 1 GoTo 1 End If End If End If End If Next If IsPkOver(D, 1, strRoomNo, ClassNo) = False Then If IsPkOver1(D, 1, ClassNo)=False then If IsPkOver2(D, s, strRoomNo)=False then strSql = Insert into tblTim

30、e(DateID,StepID,TeacherNo,RoomNo,ClassNo) values ( & D & , & 1 & , & strtblTeacherID & , & strRoomNo & , & ClassNo & ) ExeSql(strSql) intDay =D+1 GoTo 1 End If End If NextEnd Function5 系统测试5.1 测试环境操作系统 windows 2000以上版本数据库管理系统 SQL server2008开发平台 Microsoft Visual Basic 6.0 中文企业版和VS20105.2 测试步骤向数据库中输入一

31、些模拟数据,然后运行系统,观察系统各个模块的运行情况,发现问题便于及时作出调整。,5.3 测试结果经过测试系统基本上满足了学校的需求,各个功能模块运行基本正常。1. 班级信息录入功能如图5.1所示。图 5.1 班级信息录入功能图2. 教师信息录入功能如图5.2所示。 图 5.2 教师信息录入功能图学生信息录入,实验室信息录入等功能模块经测试都符合要求,且系统各个模块经测试都运行正常,完全符合学校实验室的安排需求,该软件的测试成功预示着我校实验室将告别传统的人工排课,进入一个全新的实验室自动排课时期。6 结束语实验室自动排课系统是面对学校实验课程编排的数据库管理系统,它主要完成排课基本信息的管理

32、,课表的自动编排和手动调节以及各种课表的查询和打印等功能。本系统采用新一代网络编程语言Visual Basic6.0来完成整个系统的设计,在数据库的设计上利用了SQL Sever 2008的安全、可靠和高效的数据管理特性。实验室自动排课系统是集班级信息,课程信息,教师信息,实验室信息,课表信息于一体的管理系统。本系统主要分为基本信息管理,课表编排,课表管理等几个模块,并且实现了这几个模块的功能。在课表编排方面,待录入的基本排课信息无误之后,排课算法可自动生成课表;而排课人员根据自己的主观意愿,还可对自动生成的课表进行手动调节,以形成最后的既无冲突,又符合人的主观能动性的课表;在课表管理方面,可

33、实现对教师课表,班级课表,实验室课表三类课表的查看和打印。教师和学生根据自身不同的权限,在登录界面输入自己的名称和密码后,便可查询和打印各自的课表。系统在设计过程中不可避免地遇到了各种各样的问题,有关许多细节问题都要靠自己去摸索,加之本人水平有限,没有完全充分利用Visual Basic6.0的强大功能,在数据设计上还不够完善,系统也还存在着一些不足之处。该系统离实际使用也还有相当的距离,需要进行不断地补充和完善。通过本次毕业设计我学到了不少新的东西,也发现了大量的问题,让我懂得只有在学校里把基础知识学扎实了,才能在实践的过程中灵活运用,得心应手,有些在设计过程中存在的问题已经解决,有些还有待

34、今后慢慢学习。只要不断学习,就会有更多的收获。 致 谢毕业论文即将圆满结束,首先要感谢我的指导老师郑志荣老师,她严谨的工作态度和平易近人的学者风范都使我受益匪浅,在我的课题研究中遇到困难时,她总能无私的、孜孜不倦的耐心指导我。从论文的选题、文献的采集、框架的设计、结构的布局到最终的论文定稿,从内容到格式,从标题到标点,她都费尽心血。没有郑志荣老师的辛勤栽培、孜孜教诲,就没有我论文的顺利完成。再次向郑老师致以真诚的谢意。还要感谢和我一起奋斗了几个月的同学,朋友们,是他们给我莫大的帮助和支持,使我在失去信心的时候帮我重新树立起信心。我最后能完成任务,和他们的耐心努力是分不开的,特别是我们组的同学,

35、跟他们一起做毕业设计的期间从他们身上学到很多东西,在此我要感谢他们!总之,感谢一切帮助我和关心我的领导们,老师们,亲人,朋友,尤其是我的指导老师郑志荣老师。 通过设计和论文,我深刻领会到基础知识的重要性,毕业设计和论文不仅仅能帮助大学生检验大学四年的学习成果,更多的是可以帮助我们更加清楚的认识自我,磨练学生的意志与耐性,这将是我日后工作和生活的宝贵的财富! 杨岩 2013年 6月 参考文献01 张海藩.软件工程导论(第四版)M.北京:清华大学出版社,2003.02 陈惠贞,陈俊荣.ASP.NET程序设计M.北京:中国地道出版社,2006.03 马军.精通ASP.NET2.0网络应用系统开发M.

36、北京:人民邮电出版社,2006.04 李万宝.ASP.NET技术详解与应用实例M.北京:机械工业出版社,2005.05 杨云.ASP.NET典型系统开发M.北京:人民邮电出版社,2006.06 王珊,陈红.数据库系统原理教程M.北京:清华大学出版社,2001.07 周傲英.数据库原理、编程与性能M.第2版. 北京:机械工业出版社,2002.08 丁宝康等.数据库实用教程M.北京:清华大学出版社,2001.09 黄明,梁旭. Visual Basic 6.0信息系统设计与开发实例M.北京:机械工业出版社,2005.10 Edmund Burke,Kirk Jackson. Automated U

37、niversity TimetablingD.Brelin etc:Springer,2004.11 苏睿先,米金刚.高校自动排课系统的设计与实现D.天津:天津师范大学城市与环境科学学院,2005.12 兰若玉,马若飞.一个自动排课系统的设计和开发D.北京:中央民族大学计算机与科学系,2002.13 黄仙姣,张琳.高等院校排课系统的研究D.郑州:河南财经学院电教计算中心,2005.14 Kiaer L, Yellen J. Weighted graphs and university course time tablingJ.Computers and Operations Reseach,2002.15 杨怡.高等院校自动排课系统的设计与实现D.北京:北京工商大学硕士论文,2001.

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号