兼职团队   招聘会   招聘公司信息   简历模板   经验分享  

全国 切换城市

您现在的位置: 首页 > 兼职资讯 > 兼职技巧

浅析现代实验室排课辅助系统体系

作者:兼职工作网 时间:2020-07-02
引言用纯人工对实验室排课,其工作量大且十分繁琐,耗时也长,且容易出错。由此考虑引入数据库管理代替手工管理,以提高工作效率,减少工作失误。用数据库管理辅助排课是十分方便的,比如增加、查询、删除单个记录或大批量记录都方便快速,并能对所输入的数据进行各种运算。引用数据库管理代替手工处理排课并自动生成目前
引言
用纯人工对实验室排课,其工作量大且十分繁琐,耗时也长,且容易出错。由此考虑引入数据库管理代替手工管理,以提高工作效率,减少工作失误。用数据库管理辅助排课是十分方便的,比如增加、查询、删除单个记录或大批量记录都方便快速,并能对所输入的数据进行各种运算。引用数据库管理代替手工处理排课并自动生成目前流行的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结构,将会极大提高其应用范围。
Copyright 2005-2020 All Rights Reserved

赣ICP备19000462号-1 兼职工作网(www.jzjob.com)

QQ客服:6580-290 有事情请找我!