推荐期刊

通用实验室排课辅助系统的具体实现

时间:2015-12-21 01:53:33 所属分类:计算机技术 浏览量:

摘要:应用VisualFoxpro数据库管理系统进行通用实验室排课辅助系统的设计,并通过Windows的OLE技术实现了与目前流行的Microsoft Excel及Word等办公软件的无缝连接。 关键词:排课辅助系统;数据库; OLE 引言 用纯人工对实验室排课,其工作量大且十分繁琐,

摘要:应用VisualFoxpro数据库管理系统进行通用实验室排课辅助系统的设计,并通过Windows的OLE技术实现了与目前流行的Microsoft Excel及Word等办公软件的无缝连接。
关键词:排课辅助系统;数据库; OLE

引言
用纯人工对实验室排课,其工作量大且十分繁琐,耗时也长,且容易出错。由此考虑引入数据库管理代替手工管理,以提高工作效率,减少工作失误。用数据库管理辅助排课是十分方便的,比如增加、查询、删除单个记录或大批量记录都方便快速,并能对所输入的数据进行各种运算。引用数据库管理代替手工处理排课并自动生成目前流行的Microsoft Excel及Word等办公软件对应的处理文件,其方法是完全可行的,在注重效率的今天,开发有特色、快速应用的管理辅助系统尤为重要,这样的处理可以极大提高工作效率,减少工作失误。
考虑到目前VisualFoxpro数据库管理系统比较流行,并且对计算机硬件配置要求不高,本文拟在Win2000操作系统中,在安装了Microsoft Office系列办公软件的前提下,使用VisualFoxpro6.0数据库管理系统进行具体开发实现,并且生成Microsoft Excel及Word等文档。

1 通用实验室排课辅助系统设计

1.1 需求分析
通用实验室排课辅助系统设计是利用数据库管理系统,通过对录入的数据按一定的规则进行运算处理,然后生成所需要的查询表,并对该表通过Windows的OLE技术生成目前流行的Microsoft Excel及Word文档作为输出。具体要求实现排课信息的录入,包括安排实验时间、实验地点、实验人物、实验用时、实验项目等,并实现时间冲突的检测,再到排课数据的各种运算处理,最后实现处理数据的查询输出,其关键技术是对输入的排课数据进行运算。该系统设计思路是广泛应用需用安排实验室上课的单位,应用此系统将极大地方便管理,提高工作效率。

1.2 功能分析
  根据上述需求分析,现将通用实验室排课辅助系统归纳为版权信息、排课录入、数据查询、数据维护四个功能模块:
  (1) 版权信息:包括版本信息、作者介绍、联系方式等内容,用于保护版权及方便使用者;
  (2) 排课录入:包括实验时间、实验地点、实验人物、实验项目等录入,以及时间冲突检测、录入后处理等操作;
(3) 数据查询:包括实验室、教学单位、教学班级、教师等查询,并有将查询内容导出到Microsoft Excel及Word等文档中的操作;
(4) 数据维护:包括总库数据、实验室数据、教学单位数据、其他数据等维护,其中,其他数据包括生成教学计划表及工作人员工作量表。

2 系统实现
2.1 总体结构设计
建立一个数据库,内含基本信息表、实验室数据表、教学单位数据表,其中表结构相应地结合对应信息参数设置,其中基本信息表每一个记录对应一个最小时间单位、最小空间单位、最小实验人物单位,这是时间冲突检测算法的强硬要求,实验室数据表每一个记录对应每个实验室数据,教学单位数据表每一个记录对应每个教学单位数据,数据库具体结构略去。用面向对象程序设计思想,在VisualFoxpro6.0数据库管理系统中快速建立该数据库管理系统的框架,并嫁接到各个数据表。
2.2 快速建立该数据库管理系统的原型
2.2.1版权信息
如图1所示:
表1 版权信息
2.2.2排课录入
如图2所示:
图2 排课录入

2.2.3数据查询
  如图3所示:
表3 数据查询
2.2.4数据维护
如图4所示:
图4 数据维护

实现的方法:
(1)本程序仅用于通用排课信息录入及处理,生成适合应用的Microsoft Excel及Word等文档,并可对数据进行再加工,生成教学计划表及工作人员工作量表等;
(2)排课录入:分三部分,先进行快速录入,可连续输入多周次、星期、节次等排课信息,再进行时间冲突检测,最后进行录入后处理;
(3)数据查询:对进行录入后处理的数据进行各种查询,分为实验室、教学单位、教学班级、教师等四部分查询,并对当前查询生成Microsoft Excel及Word等文档再进行细加工处理或打印;
(4)数据维护:分为总库维护、实验室、教学单位数据维护三部分,另附其他功能(如教学计划表、工作人员工作量生成Microsoft Word文档等)。其中总库维护包括初始化、与Microsoft Excel文档进行交互编辑等。

2.3 系统关键编码
2.3.1 数据处理部分
对输入的数据进行处理采用蛮力法算法,先进行时间冲突检测,如果存在时间冲突,则必须调整时间冲突课程,确保无时间冲突方可进行录入后处理;录入后处理则通过固定的星期(一至七)、固定的节数(一至九)的循环处理,对同班、同室、同周、同课程的课时按学期计连续安排,再按节次计连续安排,最后将运算结果生成总表,后续的查询、工作计划及工作量生成等都在此总表基础上进行处理。以下给出连续节次检测部分编码以供参考:
*打开提取星期的临时数据表


2.3.2 数据与Microsoft Excel及Word交互部分
在总表基础上,通过查询将相应记录的生成Microsoft Excel及Word文档,这是通用实验室排课辅助系统的最终任务,这部分的算法及编码是相当重要的,涉及到Windows 的OLE技术。本文通过VisualFoxpro调用Word.Application对象及Excel.Application对象在已有模板的基础上生成Microsoft Excel及Word文档。以下给出单实验室课表生成Microsoft Word文档部分编码以供参考:


WAIT "正在访问 Word 软件……" WINDOW NOWAIT
WordApp=CREATEOBJECT("Word.application") &&访问WORD
If Type("WordApp")#"O"
WAIT CLEAR
MessageBox( "访问Word失败!请检查你的系统是否正确安装 Word 软件!",48,"没有安装Word")
RETURN
ENDIF
WAIT "正在生成表格……" WINDOW NOWAIT
WordApp.Visible =.T.&&&
WordApp.Caption =’生成Word文档’
WordApp.Documents.Open("D:\排课\实验教学课程表模板.doc")
WordTable=WordApp.Documents(1).Tables(1)
中华人民共和国著作权法中华人民共和国著作权法中华人民共和国著作权法中华人民共和国著作权法中华人民共和国著作权法中华人民共和国著作权法*
WordCellText=""
select 实验室名称 into table wdmmcc.dbf from wd group by 实验室名称
select 系别 into table wdxb.dbf from wd group by 系别
select wdxb
if recc()>1
jxdw="系(部、中心) :实验中心"
else
jxdw="系(部、中心) :"+trim(系别)
endif
use in wdxb
WordApp.Documents(1).Paragraphs(2).Range.Text=jxdw+"学年度第学期"
select wdmmcc
for wdi=1 to recc()
select wdmmcc
go wdi
if wdi<>recc()
*WordTable.Rows.add
endif
xyxmc=实验室名称
select * into table wdxyx.dbf from wd where 实验室名称=xyxmc
select wdxyx
WordTable.Cell(1,2).Range.Text=trim(实验室名称)+chr(13)+"("+trim(实验室地点)+")"
FOR wdii=1 TO 7
FOR wdiii=1 TO RECC()
GO wdiii
if val(星期)=wdii
WordCellText=WordCellText+trim(节次安排)+’节:第’+trim(学期安排)+’周,’+trim(班级)+’,’+trim(学生人数)+’人,’+trim(课程名称)+’,’+trim(实验教师)+chr(13)
endif
endfor
WordTable.Cell(wdii+1,2).Range.Text=WordCellText
WordCellText=""
endfor
use in wdxyx
endfor
use in wdmmcc
use in wd
WordApp.Documents(1).SaveAs("D:\排课\实验室课表.doc")
WordApp.Quit
RELEASE WordApp
WAIT CLEAR
MessageBox( "生成WORD文件完毕,文件位置 D:\排课\实验室课表.doc !",64,"完毕")
RETURN

3系统测试
本辅助系统用VisualFoxpro6.0数据库管理系统编译并生成安装文件,安装到Win2000操作系统,并在安装有Microsoft Office系列办公软件下的单机中进行测试。执行该辅助系统,进行各种处理后,发现在与Microsoft Excel交互过程中,如果Microsoft Excel版本过高的话,要先将Microsoft Excel文档保存为低版本文档,去除格式设置后,才可与VisualFoxpro进行导入,这是VisualFoxpro6.0的局限性。因此在编写与Microsoft Excel交互的模块中,注意通过调用Excel.Application对象另存为版本低的Excel文件,以避免出现导入错误。

4 结束语
经过运行验证,本辅助系统适用于实验室排课相关工作,能适应较低机器配置,其方法是完全可行的,并且工作效率极高,输出格式规范美观且可进一步加工。如要更进一步提高系统处理的能力,可以考虑用网络数据库管理系统对用户数据进行分散输入、集中管理,即应用此开发模型转为网络开发平台,如转为C/S或B/S结构,将会极大提高其应用范围。

参考文献:
[1]柳纯录.信息系统项目管理师教程[M].北京:清华大学出版社,2005.
[2]李雁翎.FoxPro 6.0 使用与开发技术[M].北京:清华大学出版社,2005 .

转载请注明来自:http://www.zazhifabiao.com/lunwen/gcjs/jsjjs/36642.html