惠州学院 HUIZHOU UNIVERSITY |
课 程 论 文(设 计)
中文题目: 排课管理系统________________________________
姓 名_____曾伟峰_____________
学 号______1208629881____________
专业班级____________12电气工程及其自动化1班______
指导教师____陈治明______________
提交日期_____2013年12月21日___________
教务处制
目 录
摘 要
Abstract ii
第一章 引言
1.1 背景
1.1.1教师管理系统
1.2开发教师管理系统的目的和原则
1.3开发环境介绍
1.3.1 开发平台
1.3.2数据库设计工具——ACCESS数据库管理系统
第二章 系统设计
2.1 系统分析
2.2 系统流程和操作方式设计
第三章 系统界面设计
3.1系统界面设计以及代码分析
第四章 数据库的设计
4.1数据库设计
4.2 数据库概念和发展
4.3系统测试与评价
总 结
参考文献
摘 要
20世纪以来,社会生产力迅速发展,科学技术突飞猛进,人们进行信息交流的深度与广度不断增加,信息量急剧增长,传统的信息处理与决策的手段已不能适应社会的需要,信息的重要性和信息处理问题的紧迫性空前提高了,面对着日益复杂和不断发展,变化的社会环境,特别是企业间日趋剧烈的竞争形势,一个人、一个企业要在现代社会中求生存,求发展,必须具备足够的信息和强有力的信息收集与处理手段。
对于一个学校来说,大量教师课程安排难于通过传统的方法进行管理;这就迫切需要利用计算机技术来帮助学校管理者来处理教师课程安排的日常管理,合理安排课程,防止课程冲突.排课管理系统可以很好的解决以上问题.排课管理系统是管理信息系统的一个典型用例.
管理信息系统是一个集信息技术、经济管理理论、统计学与运筹学、数据库技术为一体的综合性系统,是一个资金技术密集型、劳动密集型、智力密集型的项目。我国拥有广阔的市场和丰富的人才资源,有几十年的技术积累和经验积累,有一定的后发优势。管理信息系统的创新工作既不能妄自菲薄,更不能夜郎自大。要抓住当前网络经济兴起的有利时机,以实现我国信息技术和信息产业的跨越式发展,更好地发挥信息产业对国民经济增长的拉动作用。
开发学校排课管理系统的过程就是要实现数据处理方式由人工管理向计算机管理的转变,它在计算机技术和教师管理实践活动两者之间架设桥梁。
关键字:排课管理,管理信息系统,数据库,计算机管理
第一章引言
对于一个学校来说,大量教师课程安排难于通过传统的方法进行管理;这就迫切需要利用计算机技术来帮助学校管理者来处理教师课程安排的日常管理,合理安排课程,防止课程冲突.排课管理系统可以很好的解决以上问题.排课管理系统是管理信息系统的一个典型用例.
1.1背景
1.1.1排课管理系统
如今随着教育事业的发展,学校对教师课程安排的复杂度的增加,一个单位,各个学科每天的课程安排以及教室资源的分配,排课工资等信息量将迅速的增加,传统的手工的处理方式已经跟不上信息爆炸般的扩增.所以开发一种可靠,高效的教师排课管理系统是很有必要的.
1.2 开发排课管理系统的目的与原则
排课管理系统的主要目的是服务与中小学,各高校的管理者,方便其管理本校排课信息的软件系统.其原则是做到,界面友好人性,操作简单,可靠.
1.3开发环境介绍
1.3.1开发平台
本教师管理系统的开发平台为微软windows xp visual basic 6.0 以及微软的Access作为操作数据库.
1.3.2数据库设计工具——ACCESS数据库管理系统
Microsoft Access介绍:
使用 Microsoft Access,可以在单一的数据库文件中管理所有的信息。在这个文件中,用户可以将自己的数据分别保存在各自的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。
如果要保存数据,请为每一种类型的信息创建一个表。如果要从查询、窗体或报表中的多个表中将数据合并在一起,就要定义各个表之间的关系。
如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。查询的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。
如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。在打开一个窗体时,Microsoft Access 将从一个或多个表中检索数据,并使用用户在“窗体向导”选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。
如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。例如,可以打印一份将数据分组并计算数据总和的报表,也可以打印另一份带有各种数据格式的打印邮件标签的报表。
第二章系统设计
2.1系统分析
本排课管理系统主要由以下几大模块构成.
一.教职员入库信息.
二.排课管理
三.教职员带课查询
四.本学期课程设置
五.打印课程表
六.打印教师代课表
2.2 系统流程和操作方式设计
第三章系统界面设计
3.1系统界面设计
1.登陆界面
代码分析:
Option Explicit
Public LoginSucceeded As Boolean
Private Sub cmdCancel_Click()
'set the global var to false
'to denote a failed login
LoginSucceeded = False
Unload fmStart
End Sub
Private Sub cmdOK_Click()
'check for correct password
If txtPassword = "password" Then
'place code to here to pass the
'success to the calling sub
'setting a global var is the easiest
LoginSucceeded = True
Me.Hide
fmStart.Show
Else
MsgBox "Invalid Password, try again!", , "Login"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If
End Sub
Private Sub Form_Load()
Load fmStart
fmStart.Hide
End Sub
2. 教职员入库信息界面:
3. 排课管理界面
4. 教职员带课查询
界面设计:
5. 本学期课程设置
界面设计:
6. 打印课程表
界面设计:
代码设计:
临时课表
Dim ctCon As ADODB.Connection
Dim ctrs As ADODB.Recordset
'classArray表
Dim cacon As ADODB.Connection
Dim cars As ADODB.Recordset
Dim sqlStr As String
Dim ClassCode As String
Dim wStr(5) As String
Private Sub clearStr()
For i = 1 To 5
wStr(i) = " "
Next i
End Sub
Private Sub Update_ct()
'删除所有以前的记录
ctCon.Execute ("delete * from tempCT")
'更新表
sqlStr = "select * from classArray where cclasscode='" & ClassCode & "'" & " order by iTimeN"
cacon.Execute sqlStr
cars.Open sqlStr, cacon, adOpenStatic, adLockOptimistic
cars.MoveFirst
Dim i As Integer
i = 1
clearStr
While (Not cars.EOF)
While cars!iTimeN <> i
'添加一条课程记录
strSql = "insert into tempCT values(" & i & " ," + "'" + wStr(1) + "' ," + "'" + wStr(2) + "' ," + "'" + wStr(3) + "' ," + "'" + wStr(4) + "' ," + "'" + wStr(5) + "' )"
ctCon.Execute strSql
clearStr
i = i + 1
Wend
wStr(cars!iTimeW) = cars!csjname
cars.MoveNext
Wend
'添加一条课程记录
strSql = "insert into tempCT values(" & i & " ," + "'" + wStr(1) + "' ," + "'" + wStr(2) + "' ," + "'" + wStr(3) + "' ," + "'" + wStr(4) + "' ," + "'" + wStr(5) + "' )"
ctCon.Execute strSql
clearStr
While i < 10
'添加一条课程记录
strSql = "insert into tempCT values(" & i & " ," + "'" + wStr(1) + "' ," + "'" + wStr(2) + "' ," + "'" + wStr(3) + "' ," + "'" + wStr(4) + "' ," + "'" + wStr(5) + "' )"
ctCon.Execute strSql
i = i + 1
Wend
End Sub
Private Sub Command1_Click()
ClassCode = Trim(gradeCombox.Text) & "." & Trim(classCombox.Text)
Call Update_ct
Unload Me
classRep.Show
End Sub
Private Sub Form_Load()
For i = 1 To 12
gradeCombox.AddItem (i)
Next i
For i = 1 To 20
classCombox.AddItem (i)
Next i
Set cacon = New ADODB.Connection
Set cars = New ADODB.Recordset
cacon.Open "provider=Microsoft.Jet.OLEDB.4.0; data source= " & App.Path & "\\dataUse.mdb"
Set ctCon = New ADODB.Connection
Set ctrs = New ADODB.Recordset
ctCon.Open "provider=Microsoft.Jet.OLEDB.4.0; data source= " & App.Path & "\\dataUse.mdb"
End Sub
Private Sub Form_Unload(Cancel As Integer)
cars.Close
cacon.Close
Set cars = Nothing
Set cacon = Nothing
ctCon.Close
Set ctrs = Nothing
Set ctCon = Nothing
End Sub
7. 打印教师代课表
界面设计:
代码设计:
'临时教师代课表
Dim ttCon As ADODB.Connection
Dim ttrs As ADODB.Recordset
'trClass表
Dim trcon As ADODB.Connection
Dim trrs As ADODB.Recordset
Dim sqlStr As String
Dim trname As String
Dim wStr(5) As String
Dim clStr(5) As String
Private Sub clearStr()
For i = 1 To 5
wStr(i) = " "
clStr(i) = " "
Next i
End Sub
Private Sub Update_tt()
ttCon.Execute "delete * from tempTT"
strSql = "select trclass.cclasscode,trclass.csubject,classarray.itimew,classarray.itimen" + _
" from teacher,trclass,classarray " + _
"where teacher.ctrname=trclass.cteacher and trclass.cclasscode=classarray.cclasscode" + _
" and trclass.csubject=classarray.csjname and teacher.ctrname=" + "'" + trname + "'" _
+ " order by iTimeN"
trcon.Execute strSql
trrs.Open strSql, trcon, adOpenStatic, adLockOptimistic
trrs.MoveFirst
Dim i As Integer
i = 1
clearStr
While Not trrs.EOF
While trrs!iTimeN <> i
strSql = "insert into tempTT values(" & i & " ," + "'" + wStr(1) + "' ," + "'" + wStr(2) + "' ," + "'" + wStr(3) + "' ," + "'" + wStr(4) + "' ," + "'" + wStr(5) + _
"' ,'" + clStr(1) + "' ," + "'" + clStr(2) + "' ," + "'" + clStr(3) + "' ," + "'" + clStr(4) + "' ," + "'" + clStr(5) + "' )"
ttCon.Execute strSql
clearStr
i = i + 1
Wend
wStr(trrs!iTimeW) = trrs!csubject
clStr(trrs!iTimeW) = trrs!cClassCode
trrs.MoveNext
Wend
strSql = "insert into tempTT values(" & i & " ," + "'" + wStr(1) + "' ," + "'" + wStr(2) + "' ," + "'" + wStr(3) + "' ," + "'" + wStr(4) + "' ," + "'" + wStr(5) + _
"' ,'" + clStr(1) + "' ," + "'" + clStr(2) + "' ," + "'" + clStr(3) + "' ," + "'" + clStr(4) + "' ," + "'" + clStr(5) + "' )"
ttCon.Execute strSql
clearStr
While i < 10
i = i + 1
strSql = "insert into tempTT values(" & i & " ," + "'" + wStr(1) + "' ," + "'" + wStr(2) + "' ," + "'" + wStr(3) + "' ," + "'" + wStr(4) + "' ," + "'" + wStr(5) + _
"' ,'" + clStr(1) + "' ," + "'" + clStr(2) + "' ," + "'" + clStr(3) + "' ," + "'" + clStr(4) + "' ," + "'" + clStr(5) + "' )"
ttCon.Execute strSql
Wend
End Sub
Private Sub Command1_Click()
trname = Trim(teacherCombox.Text)
Call Update_tt
Unload Me
TrRep.Show
End Sub
Private Sub Form_Load()
Set ttCon = New ADODB.Connection
Set ttrs = New ADODB.Recordset
ttCon.Open "provider=Microsoft.Jet.OLEDB.4.0; data source= " & App.Path & "\\dataUse.mdb"
Set trcon = New ADODB.Connection
Set trrs = New ADODB.Recordset
trcon.Open "provider=Microsoft.Jet.OLEDB.4.0; data source= " & App.Path & "\\dataUse.mdb"
End Sub
Private Sub Form_Unload(Cancel As Integer)
'ttrs.Close
ttCon.Close
Set ttrs = Nothing
Set ttCon = Nothing
trcon.Close
Set trrs = Nothing
Set trcon = Nothing
End Sub
第四章数据库的设计
4.1数据库设计
1.classarray信息表
2.teacher表:
3.tempct表:
4.班级表:
4.2 数据库概念和发展
关系数据库是目前各类数据库中最重要、最流行的数据库,他应用数学方法来处理数据库数据,是目前使用最广泛的数据库系统。20世纪70年代以后开发的数据库管理系统产品几乎都是基于关系的。在数据库发展的历史上,最重要的成就就是关系模型。
关系数据库系统与非关系数据库系统的区别是:关系系统只有“表“这一种数据结构;而非关系数据库系统还有其他数据结构,对这些数据结构有其他的操作。
结构化查询语言SQL(Structured Query Language)是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的、功能极强的关系数据库语言。目前已成为关系数据库的标准语言
4.3系统测试与评价
测试在软件开发过程中一直都是备受关注的,即使在传统的软件工程中,也有一个明确、的测试阶段。随着软件危机的频频出现以及人们对于软件本质的进一步认识,测试的地位得到了前所未有的提高。测试已经不仅仅局限于软件开发中的一个阶段,它已经开始贯穿于整个软件开发过程,人们已经开始认识到:测试开始的时间越早,测试执行的越频繁,所带来的整个软件开发成本的下降就会越多。Extreme Programming更是把测试推到了极限的位置,一切软件开发活动都要从首先编写测试代码开始。
总 结
排课管理系统是一个典型的信息管理系统,其主要通过软件工程方面的选择课题、需求分析、总体设计、选用工具、程序模块、系统测试等几个步骤来实现。开发本系统的过程中,首先要对排课信息管理进行系统调研,熟悉学校教师排课的程序、班级分配,课程安排管理的流程、步骤;其次在系统需求分析过程中,要透过现象看本质,敏锐观察到学校教师管理中存在的各种问题,并在总体设计把握好对问题的分析、理解,进而解决问题;选用开发工具要选用自己最熟悉、应用较多的开发工具,本系统开发选用MS Visual Basic 6.0,其具有语言简单、功能强大、组件众多的优点。程序模块的编制中,重点把握系统内部完整性、功能性、实用性、便捷性,使其能够协调统一、运行无误。运行结果证明,本学校教师信息管理系统极大提高了工作效率,节省了人力和物力,最终满足学校管理、学校员工工作的需要,同时也成为现代化学校管理的标志
参考文献
1陈明 . 软件工程学教程 .科技出版社,2002
2 萨师煊,王珊 . 数据库系统概论 . 第三版 . 高等教育出版社,2000
3 飞思科技产品研发中心 . visual basic 6.0数据库应用开发 .电子工业出版社,2003
4 飞思科技产品研发中心 . visual basic 6.0开发者手册 . 电子工业出版社, 2002
5 申旻 . visual basic 6.0高手突破 . 清华大学出版社,2002,302
6 Steve Teixeira,Xaviver Pacheco著,龙劲松,王瑜,谢尚书译 . visual basic 6.0开发人员指南 . 机械工业出版社 .2003
7 乔林 .参透Delphi/Kylix . 中国铁道出版社 .2003
8 李维 .Inside 深入核心 VCL 架构剖析 . 电子工业出版社 .2004
9 张立科编写组 .Windows API 函数参考手册 .人民邮电出版社 .2002
严蔚敏,吴伟民 .数据结构 .第二版 .清华大学出版社 .2001