网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > 课程设计 > 正文

教职工信息管理系统

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
教师信息管理系统中期报告毕业设计进展情况本人在系统开发的前期进行了周密的调查研究,分析了系统所需的各种功能,论证了系统开发的可行性,并提交了开题报告。本系统是以本人所在单位所需管理系统为基础,选用微软公司的Visual FoxPor 6.0数据库进行设计的。(一)本次系统开发及适用的计算机硬件和软件环境:硬件:CPU  P4 1.6G,内存SD128MB,40G硬盘,32X CD-ROM32MB TNT显卡,内置声卡,普通键盘、鼠标。软件:中文Windows98,Visual Foxpro 6.0中文版,Office2000中文版(二)系统开发过程分为以下几个阶段:1、企划阶段包括:业务特点分析、用户的需求分析、数据流分析、开发工具选择。2、设计阶段包括:数据库设计、数据容量预测、处理界面设计、输出报表设计。3、开发阶段包括:数据表制作、操作界面开发、功能模块开发。4、测试阶段包括:单体测试(测试用数据)、结合测试(全体流程测试)、运用测试(实际数据)。5、运用阶段包括:系统安装、数据导入、性能测试。目前系统设计开发已经进行了5周,在前期的设计开发中企划、设计、开发三个阶段的任务基本已经完成,主要的教职工信息数据管理模块、查询统计模块、系统维护模块已经开发完成,并进行部分数据的测试,没有问题。另外,打印模块的开发也即将完毕。下面是已开发模块中的几个主要界面:(三)本系统要着重解决以下几个方面的问题:1、采用单位现有软硬件环境及先进的管理系统开发方案,从而达到充分利用单位现有资源提高系统开发水平和应用效果的目的。2、系统应符合组织人事管理的规定,满足单位日常人事管理工作需要,并达到操作过程中的直观、方便、实用、安全等要求。3、采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于补充维护。4、系统应具备数据库维护功能,及时根据用户要求进行数据的添加、删除、修改、查询和报表打印等。(四)系统功能结构的划分:
1、系统维护模块:(1)操作员维护模块提供用户登录系统的信息,用来增加、删除、修改操作员的信息。分为特权用户、一般用户和录入用户。特权用户可以对系统的各个模块进行操作。而一般用户则只能进行查询和打印操作,其它模块不能访问。数据录入用户只能对数据进行输入,不能进行其它的计算、统计、查询、打印的操作。(2)字典库维护模块提供用户对职务工资标准表、岗位津贴标准表、职务补贴表、职务表、职称表、等级岗位表、单位编码表的增减、修改工作。2、数据管理模块:(1)人员增加模块提供用户对各类新增人员的基本信息录入功能,用户可以通过字典库来选择录入信息,减少了汉字的录入。(2)人员减少模块提供用户对各类减少人员进行删减工作,用户只需输入要减少人员的姓名,核实后选择减员类别,即可完成减员工作。系统将减少的人员信息从gzbx.dbf中删除,存入gzdel.dbf中,用户可以通过gzdel.dbf查询非在职人员的信息及变动情况。(3)人员调动模块提供用户对日常人员的工资变动、岗位变动、单位变动、专业技术职务变动等操作,确认变动后,系统将对变动前的记录自动保存在gzbd.dbf中,将变动后的记录保存在gzbx.dbf中。用户可以通过查询系统查询人员历次的变动情况。(4)个人修改模块完成用户对单独某个人基本信息的更改工作,即不需要生成变动记录的有关信息可以直接修改保存。(5)批量修改是由用户自行选择修改范围,自行确定修改内容。当用户对多人修改相同内容的操作时,使用本操作,可以提高修改速度,提高工作效率。在进行人员增加、减少、工资变动的同时,系统将变动前后记录保存在bdd.dbf中,此表在每月的变动前由操作员确认清空,然后将本月的变动情况保存在此表中,便于生成变动单提供给财务部门。3、查询统计模块:(1)在职人员查询模块提供用户对在职人员的基本信息、工资情况、变动情况查询。(2)非在职人员查询模块提供用户对非在职人员(退休、辞职、除名等减少人员)的基本信息、工资情况、变动情况查询。(3)综合查询模块提供用户自定义条件的查询,为用户提供方便快捷的查询方式。本系统将查询与统计功能结合在一起,用户在查询的同时自动进行统计,结果由用户自行选择浏览或者打印。4、打印模块:(1)职工花名册提供用户按单位打印每月的职工名册存档备查。(2)变动单模块提供用户打印当月的人员变动情况,然后将此情况提供给财务部门和相关单位,为其它生成环节提供相关情况。(3)工资汇总台帐模块为用户提供当月各单位所发生的基本工资数额,和人员总数,以及平均工资情况。为统计人员和财务人员提供基础数据。5、退出模块退出本系统 二、毕业设计过程中遇到的问题及解决办法。1、系统开发初期,系统需要的报表搜集的不完全,导致功能模块代码设计上出现一些问题,后经进一步搜集报表,整理程序代码,将问题解决。2、命令、函数及属性中除了基本的以外,不常用的不太熟悉,通过查找有关书籍和资料,对它们有所了解和掌握,并在实际的编程中加以运用。三、下一步工作具体安排。目前系统开发已经进行了5周,下一步具体时间进度表安排如下:第5~8周进一步完善并实现编码及单元测试。第8~10周测试及运用系统:完成软、硬件综合测试和系统测试,得出测试结果。根据测试结果完善程序,整理并完成设计说明书。四、毕业论文工作。论文正在着手撰写,通过前一段的调查、搜集资料及程序的编制运行,撰写论文已经有了一定的基础和第一手资料,我相信不会有太大的困难。300
 
教职工信息管理系统《沈阳市现代科技学校教职工信息管理系统》摘   要本系统是针对现中小型学校教职工信息管理工作的实际情况和教育系统人员工资构成的特点及管理方式研制开发的人事工资管理系统。它实现了对教职工的日常工资标准确定、人员流动等工作的微机管理,基本实现了办公自动化。本系统采用Visual FoxPro 6.0中文版进行程序设计,本系统具有良好的用户界面,操作简单、使用方便,信息查询、统计速度快等特点,使工资管理人员从日常繁琐的手工操作中解脱出来,大大提高了信息的准确程度,提高了工作效率。DigestThis system is prepared and developed according to the actual situation of the wage management of Shenyang Modern Science and Technology School and the characteristics of wage composing of the education system. It realizes the computerized management of formulating daily wage standard, personnel fluctuation, etc. It really accomplishes the OA (office automation). This system adopts the Chinese version of Visual FoxPro 6.0 for program designing. It has favorable UI (user interface), can be operated easily and used conveniently. It can be used to inquire information and calculate data rapidly thus relieving person from the fussy and complicated manual operation, and improving the correct degree of information and working efficiency. 前  言“人事工资管理”是人力资源管理工作中的一个重要组成部分,它掌握着本单位人员的基本信息情况,负责教职工基本工资的日常变动及新增、减少人员工资标准的确定,掌握教职工的流动方向等情况,为其它工作环节提供准确、迅捷的信息。那么如何才能够提供安全、准确、迅捷的信息呢?数据库管理是解决这些问题的首选方式。在软件行业,数据库的应用是最广泛的,是大多数软件中必不可少的的部分,只是使用的具体形式不同罢了。那么什么是数据库呢?很简单,就是数据存放的地方。在我们周围有许多数据库的例子,比如您的通讯录就是一个小型的数据库,图书馆则是一个典型的大型数据库。通过数据库能干什么呢?请您想想您的通讯录能干什么:您可以查找朋友的电话号码,可以向其中添加一个新朋友的通讯地址,可以修改已发生变化的记录,还可以删除没有用的记录。这些都是数据库的基本功能。它管理数据,而您通过它查询、修改、添加、删除其中的记录。教职工的基本信息、工资信息、变动信息等就是原始的数据,将这些数据集合起来就形成了表,然后将若干表组织到一个数据库中,再通过一定的程序语句来管理数据库,您就可以方便的实现您对“劳动工资管理”的数据的查询、统计、修改、增减、变动等操作了。《沈阳市现代科技学校教职工信息管理系统》就是以这种思路应运而生的。针对教育行业工资构成的特点和管理方式开发了本套管理系统,它实现了用微机对员工的基本信息,人员流动等日常管理工作,具有良好的用户界面,操作简单、使用方便,信息查询、统计速度快等特点,使工资管理人员从日常烦琐的手工操作和大量的报表中解脱出来,大大提高了信息的准确性和速度,提高了工作效率。系统采用Visual FoxPro 6.0中文版进行程序设计,Visual FoxPro是由Microsoft公司推出的用于中小型企业的一个优秀的小型数据库开发系统。它从单机数据库FoxBASE发展而来,现已发展成为具有很强的网络功能的小型数据库系统。它可以用作小型的单机、网络数据库,也可以作为大型数据库的前端开发工具来开发客户机/服务器应用程序。《沈阳市现代科技学校教职工信息管理系统》设计说明书共分四部分,从工资管理的专业需求、构成特点和Visual FoxPro程序设计的特点入手,详尽的介绍了本系统的基本构造和实现的功能。相信您通过本文,对作者所设计的《沈阳市现代科技学校教职工信息管理系统》能够有一个全面的了解,并能够轻松使用。本次设计中,XXX老师提出了许多宝贵意见,谨在此表示衷心感谢!
 
沈阳市现代科技学校教职工信息管理系统目    录摘要  …………………………………………………………………………… 1前言  …………………………………………………………………………… 3第一章  绪论  ………………………………………………………………… 11.1  管理信息系统简介  ………………………………………………… 11.2  开发背景简介  ……………………………………………………… 1第二章  系统分析  …………………………………………………………… 52.1  系统调查  …………………………………………………………… 52.2  可行性分析  ………………………………………………………… 62.3  需求分析  …………………………………………………………… 82.4  开发方法的选择  …………………………………………………… 92.5  开发语言和开发工具  ……………………………………………… 102.6  开发环境配置  ……………………………………………………… 12第三章  详细设计  …………………………………………………………… 133.1  系统功能结构的设计  ……………………………………………… 133.2  数据库表结构及说明  ……………………………………………… 153.3  数据库设计  ………………………………………………………… 223.4  系统各功能模块设计  ……………………………………………… 243.5  系统安全性、保密性及优化  ……………………………………… 26第四章  系统的测试与维护  ………………………………………………… 284.1  系统的测试  ………………………………………………………… 284.2  系统的维护  ………………………………………………………… 29第五章  系统的运行、安装和使用说明  …………………………………… 315.1  应用程序的编译运行  ……………………………………………… 315.2  系统的安装  ………………………………………………………… 315.3  系统的使用说明  …………………………………………………… 31结束语  ………………………………………………………………………… 33致谢  …………………………………………………………………………… 34参考文献  ……………………………………………………………………… 35附录:源程序清单
 
沈阳市现代科技学校教职工信息管理系统*主程序**********************************************set talk offset esca offset excl onset cent onset  hour to 24set sysmenu toSET SAFE OFFSET SYSMENU OFFSET EXCL ONSET STATUS BAR OFFSET CLOCK STATUS SET DELE ON public qxqx=0_screen.visible=.f._screen.maxbutton=.f._screen.minbutton=.f._screen.windowstate=1_screen.closable=.f._screen.caption='沈阳市现代科技学校教职工信息管理系统'do form fmread events
*fm.scx click 事件**********************************************thisform.releasedo form 密码
*密码.scx 确定按钮 click 事件**********************************************sele czyxx  i=i+1 if i <= 3    if alltrim(密码)<>thisform.mm.value      messagebox('用户名称或密码无效,请重试!',16,'警告窗口')   retu   else     if 权限='特权用户'         qx=1      else         qx=0     endi               thisform.release        _screen.visible=.t.        _screen.windowstate=2        _SCREEN.PICTURE = 'D:\GZGL\PIC\clouds.jpg'        do form csh        do zhu.mpr             endi    else   messagebox("输入密码超过三次","确认")   quitendi
*操作员维护菜单**********************************************if qx=1  do form czy endi
*字典库维护菜单**********************************************if qx=1do form weihuendi
*增加人员菜单**********************************************if qx=1do form zjryendi
*减少人员菜单**********************************************if qx=1do form gzdelendi
*工资变动菜单**********************************************if qx=1do form gzbdendi
*工资修改菜单**********************************************if qx=1do form gzxgendi
*打印名册**********************************************do form mc
*工资变动单**********************************************do form dy2
*工资汇总台帐**********************************************do form hztz
*weihu.scx (字典库维护)增加按钮**********************************************sele &bd go bott appe blank   thisform.refresh
*weihu.scx(字典库维护)删除按钮thisform.refreshsele &bddelethisform.refresh
*weihu.scx(字典库维护)恢复按钮**********************************************sele &bd=TABLEREVERT(.T.)
*weihu.scx (字典库维护)保存按钮**********************************************sele &bd=TABLEUPDATE(.T.)
*weihu.scx (字典库维护)修改按钮**********************************************thisform.&bd2..readonly =.f.thisform.refresh
*zjry.scx (增加人员)增加按钮事件**********************************************sele gzbx    SET FILT TO     sele max(dm) into ARRAY jl from gzbx where .t.     go bottom    thisform.grdm.value=jl(1) + 1    go top loca for gzbx.sfz = thisform.sfz.value if found()   wait window '输入的人员重复,身份证号不唯一'   retu else     if thisform.xb.value=1  xbb='男' else   xbb='女'  endi 
appe blankappe blankrepl dm with jl+1 ,xm with thisform.xm. value,bm with thisform.dwdm.valuerepl mz with thisform.mz.value ,xl with thisform.xl.value,gzsj with thisform.gzsj.value, rjsj with thisform.rjsj.valuerepl zc with thisform.zc.value, dp with thisform.dp.value,cssj with thisform.cssj.value,ygxz with thisform.ygxz.value,zb with thisform.zb.value,gk with thisform.gkdw.value repl zw with thisform.zw.value,djgw with thisform.djgw.value,gwlb with thisform.gwlb.value,jnlb with thisform.jnlb.value,gwgz with thisform.gwgz.valuerepl jndj with thisform.jndj.value,jngz with thisform.jngz.value,qtgz with thisform.qtgz.valuerepl zhbt with thisform.zhbt.value,djgz with thisform.djgz.value,mlbt with thisform.mlbt.value,jbbx with thisform.ylbx.value,gbbx with val(thisform.cxbx.displayvalue)repl jsbt with val(thisform.jsbt.displayvalue),gzyy with thisform.gzyy.value,ryly with thisform.ryly.valuerepl sfz with thisform.sfz.value,ryly with thisform.ryly.valuerepl jljt with val(thisform.jljt.value),xb with xbbendisele bddappen from gzbx for dm=jl+1thisform.refresh
*gzdel.scx (减少人员)删除按钮click**********************************************set dele on  sele gzbx    repl gzyy with thisform.text2.value   sele bdd    appe from gzbx for alltrim(xm)= alltrim(thisform.xmm.value) and dm=  thisform.dm.value    repl jslb with thisform.combo1.value for alltrim(xm)= alltrim(thisform.xmm.value) and dm=  thisform.dm.value    repl gzyy with thisform.text2.value       repl gzrq with date()  sele gzdel    appe from gzbd for alltrim(xm)= alltrim(thisform.xmm.value) and dm=  thisform.dm.value    appe from gzbx for alltrim(xm)= alltrim(thisform.xmm.value) and dm=  thisform.dm.value    repl jslb with thisform.combo1.value for alltrim(xm)= alltrim(thisform.xmm.value) and dm=  thisform.dm.value    repl gzyy with thisform.text2.value     repl gzrq with date()  sele gzbd     dele for alltrim(xm)= alltrim(thisform.xmm.value) and dm=  thisform.dm.value      sele gzbx     dele    wait windows  '删除成功!'        set filt to
    thisform.refresh     *gzxg.scx (个人修改)保存按钮click **********************************************sele gzbxif thisform.xb.value=1  xbb='男' else   xbb='女'  endi  repl  gzbx.sfz with  thisform.sfz.value repl  gzbx.xm with thisform.xm.valuerepl  gzbx.cssj with thisform.cssj.valuerepl  gzbx.mz with thisform.mz.valuerepl gzbx.xl with   thisform.xl.valuerepl  gzbx.rjsj with thisform.rjsj.valuerepl  gzbx.gzsj  with thisform.gzsj.valuerepl  gzbx.zb  with thisform.zb.valuerepl  gzbx.dp  with thisform.dp.valuerepl  gzbx.ygxz  with thisform.ygxz.valuerepl   gzyy       with thisform.gzyy.valuerepl   ryly with thisform.ryly.value,xb with xbb
*plxg.scx  (批量修改)确定按钮事件click*********************************************set excl on
     tr=''if !empty(thisform.txl.value)  if !empty(tr)      tr=tr+ ' and alltrim(xl) = alltrim(thisform.txl.value )'   else      tr= ' alltrim(xl) = alltrim(thisform.txl.value )'    endi  endi  
if !empty(thisform.tzc.value)  if !empty(tr)    tr=tr+ ' and alltrim(zc) = alltrim(thisform.tzc.value) '   else     tr = '  alltrim(zc) = alltrim(thisform.tzc.value) '    endi  endi  
if !empty(thisform.tqtgz.value)  if !empty(tr)    tr=tr+ ' and qtgz = vaL(thisform.tqtgz.value) '   else     tr= ' qtgz = val(thisform.tqtgz.value) '    endi  endi
if !empty(thisform.tzw.value)  if !empty(tr)     tr=tr+ ' and alltrim(zw) = alltrim(thisform.tzw.value) '   else     tr= '   alltrim(zw) = alltrim(thisform.tzw.value) '    endi  endi
if !empty(thisform.tdjgz.value)  if !empty(tr)    tr=tr+ ' and djgz = val(thisform.tdjgz.value) '   else     tr= ' djgz = val(thisform.tdjgz.value) '    endi  endi
if !empty(thisform.tjngz.value)  if !empty(tr)    tr=tr+ ' and jngz = val(thisform.tjngz.value) '   else     tr= ' jngz = val(thisform.tjngz.value) '    endi  endi if !empty(thisform.gkdw.value)  if !empty(tr)    tr=tr+ ' and alltrim(gk) = alltrim(thisform.tgkdw.value) '   else     tr= ' alltrim(gk) = alltrim(thisform.tgkdw.value) '    endi  endi if !empty(thisform.tjndj.value)  if !empty(tr)    tr=tr+ ' and jndj = thisform.tjndj.value '   else     tr= ' jndj = thisform.tjndj.value '    endi  endi if !empty(thisform.tmlbt.value)  if !empty(tr)    tr=tr+ ' and mlbt = val(thisform.tmlbt.value) '   else     tr= ' mlbt = val(thisform.tmlbt.value) '    endi  endi if !empty(thisform.tgwgz.value)  if !empty(tr)    tr=tr+ ' and gwgz = val(thisform.tgwgz.value) '   else     tr= ' gwgz = val(thisform.tgwgz.value) '    endi  endi if !empty(thisform.tdwdm.value)
 
教师信息管理系统源程序 if !empty(tr)    tr=tr+ ' and bm = thisform.tdwdm.value '   else     tr= ' bm = thisform.tdwdm.value '    endi  endi if !empty(thisform.tdjgw.value)  if !empty(tr)    tr=tr+ ' and djgw = thisform.tdjgw.value '   else     tr= ' djgw = thisform.tdjgw.value '    endi  endi if !empty(thisform.tylbx.value)  if !empty(tr)    tr=tr+ ' and jbbx = val(thisform.tylbx.value) '   else     tr= ' jbbx = val(thisform.tylbx.value) '    endi  endi if !empty(thisform.tjsbt.value)  if !empty(tr)    tr=tr+ ' and jsbt = val(thisform.tjsbt.value) '   else     tr= ' jsbt = val(thisform.tjsbt.value) '    endi  endi if !empty(thisform.tjljt.value)  if !empty(tr)    tr=tr+ ' and jljt = val(thisform.tjljt.value) '   else     tr= ' jljt = val(thisform.tjljt.value) '    endi  endi if !empty(thisform.tjnlb.value)  if !empty(tr)    tr=tr+ ' and alltrim(jnlb) = alltrim(thisform.tjnlb.value) '   else     tr= ' alltrim(jnlb) = alltrim(thisform.tjnlb.value) '    endi  endi if !empty(thisform.tgwlb.value)  if !empty(tr)    tr=tr+ ' and alltrim(gwlb) = alltrim(thisform.tgwlb.value) '   else     tr= ' alltrim(gwlb) = alltrim(thisform.tgwlb.value) '    endi  endi if !empty(thisform.tcxbx.value)  if !empty(tr)    tr=tr+ ' and gbbx = vaL(thisform.tcxbx.value) '   else     tr= ' gbbx = val(thisform.tcxbx.value) '    endi  endi
if !empty(thisform.COMBO1.value) if !empty(thisform.TEXT1.value)  if !empty(tr)     IF thisform.COMBO1.value = '>='       tr=tr+ ' and cssj >= thisform.TEXT1.value '     ENDI     IF thisform.COMBO1.value = '>'       tr=tr+ ' and cssj > thisform.TEXT1.value '     ENDI          IF thisform.COMBO1.value = '='       tr=tr+ ' and cssj = thisform.TEXT1.value '     ENDI     IF thisform.COMBO1.value = '<='       tr=tr+ ' and cssj <= thisform.TEXT1.value '     ENDI     IF thisform.COMBO1.value = '<'       tr=tr+ ' and cssj < thisform.TEXT1.value '     ENDI   else     IF thisform.COMBO1.value = '>='       tr= ' cssj >= thisform.TEXT1.value '     ENDI     IF thisform.COMBO1.value = '>'       tr= 'cssj > thisform.TEXT1.value '     ENDI          IF thisform.COMBO1.value = '='       tr= ' cssj = thisform.TEXT1.value '     ENDI     IF thisform.COMBO1.value = '<='       tr= '  cssj <= thisform.TEXT1.value '     ENDI     IF thisform.COMBO1.value = '<'       tr=' cssj < thisform.TEXT1.value '     ENDI
   endi  endi ENDI
if !empty(thisform.COMBO2.value) if !empty(thisform.TEXT2.value)  if !empty(tr)     IF thisform.combo2.value = '>='       tr=tr+ ' and rjsj >= thisform.text2.value '     ENDI     IF thisform.combo2.value = '>'       tr=tr+ ' and rjsj > thisform.text2.value '     ENDI          IF thisform.combo2.value = '='       tr=tr+ ' and rjsj = thisform.text2.value '     ENDI     IF thisform.combo2.value = '<='       tr=tr+ ' and rjsj <= thisform.text2.value '     ENDI     IF thisform.combo2.value = '<'       tr=tr+ ' and rjsj < thisform.text2.value '     ENDI   else     IF thisform.combo2.value = '>='       tr= ' rjsj >= thisform.text2.value '     ENDI     IF thisform.combo2.value = '>'       tr= 'rjsj > thisform.text2.value '     ENDI          IF thisform.combo2.value = '='       tr= ' rjsj = thisform.text2.value '     ENDI     IF thisform.combo2.value = '<='       tr= '  rjsj <= thisform.text2.value '     ENDI     IF thisform.combo2.value = '<'       tr=' rjsj < thisform.text2.value '     ENDI
   endi  endi ENDIif !empty(thisform.combo3.value) if !empty(thisform.text3.value)  if !empty(tr)     IF thisform.combo3.value = '>='       tr=tr+ ' and gzsj >= thisform.text3.value '     ENDI     IF thisform.combo3.value = '>'       tr=tr+ ' and gzsj > thisform.text3.value '     ENDI          IF thisform.combo3.value = '='       tr=tr+ ' and gzsj = thisform.text3.value '     ENDI     IF thisform.combo3.value = '<='       tr=tr+ ' and gzsj <= thisform.text3.value '     ENDI     IF thisform.combo3.value = '<'       tr=tr+ ' and gzsj < thisform.text3.value '     ENDI   else     IF thisform.combo3.value = '>='       tr= ' gzsj >= thisform.text3.value '     ENDI     IF thisform.combo3.value = '>'       tr= 'gzsj > thisform.text3.value '     ENDI          IF thisform.combo3.value = '='       tr= ' gzsj = thisform.text3.value '     ENDI     IF thisform.combo3.value = '<='       tr= '  gzsj <= thisform.text3.value '     ENDI     IF thisform.combo3.value = '<'       tr=' gzsj < thisform.text3.value '     ENDI
   endi  endi ENDI
 sele gzbx    SET FILT TO &tr    if      !empty(tr)          sele gzbx
if !empty(thisform.zc.value)
 repl ALL zc with alltrim(thisform.zc.value) endi  
if !empty(thisform.qtgz.value)    if type('thisform.qtgz.value')="C"         thisform.qtgz.value=val(thisform.qtgz.value)      endi           repl all qtgz with (thisform.qtgz.value)        endi
if !empty(thisform.zw.value)     REPL ALL  zw WITH  alltrim(thisform.zw.value)  endi if !empty(thisform.djgz.value)     if type('thisform.djgz.value')="C"        thisform.djgz.value=val(thisform.djgz.value)        endi        REPL ALL  djgz WITH (thisform.djgz.value)  endi
if !empty(thisform.jngz.value)     REPL ALL jngz WITH  val(thisform.jngz.value)  endi if !empty(thisform.gkdw.value)     repl all  gk with  alltrim(thisform.gkdw.value)  endi if !empty(thisform.jndj.value)     repl all  jndj with  thisform.jndj.value  endi if !empty(thisform.mlbt.value)     repl all  mlbt with  val(thisform.mlbt.value)  endi if !empty(thisform.gwgz.value)    if type('thisform.gwgz.value')="C"       thisform.gwgz.value=val(thisform.gwgz.value)       endi       repl all  gwgz with  (thisform.gwgz.value)  endi if !empty(thisform.dwdm.value)     repl all  bm with thisform.dwdm.value  endi if !empty(thisform.djgw.value)     repl all  djgw with  thisform.djgw.value  endi if !empty(thisform.ylbx.value)     repl all  jbbx with  val(thisform.ylbx.value)  endi if !empty(thisform.ryly.value)     repl all  ryly with  alltrim(thisform.ryly.value)  endi if !empty(thisform.zhbt.value)     repl all  zhbt with thisform.zhbt.value  endi if !empty(thisform.jsbt.value)     repl all  jsbt with  val(thisform.jsbt.value)  endi if !empty(thisform.jljt.value)     repl all  jljt with val(thisform.jljt.value)  endi if !empty(thisform.jnlb.value)     repl all jnlb with  alltrim(thisform.jnlb.value)  endi if !empty(thisform.gwlb.value)     repl all gwlb with  alltrim(thisform.gwlb.value)  endi if !empty(thisform.cxbx.value)      repl all  gbbx with  val(thisform.cxbx.value)  endi
if !empty(thisform.gzyy.value)     repl all  gzyy with alltrim(thisform.gzyy.value)  endi if !empty(thisform.rjsj.value)     repl all  rjsj with alltrim(thisform.rjsj.value)  endi if !empty(thisform.gzsj.value)     repl all  gzsj with alltrim(thisform.gzsj.value)  endi
ELSE  MESSAGEBOX("修改条件不能为空","确认") ENDI   thisform.refresh
*allocate.scx(综合查询)搜索按钮click事件**********************************************sele gzbxtr=''if !empty(thisformset.locate.sfz.value)  if !empty(tr)    tr=tr+ ' and alltrim(sfz) = alltrim(thisformset.locate.sfz.value) '   else     tr= ' alltrim(sfz) = alltrim(thisformset.locate.sfz.value) '    endi  endi   if !empty(thisformset.locate.xm.value)lwfree.cnendi   if !empty(thisformset.locate.xl.value)  if !empty(tr)    tr=tr+ ' and alltrim(xl) = alltrim(thisformset.locate.xl.value )'   else     tr= ' alltrim(xl) = alltrim(thisformset.locate.xl.value )'    endi  endi  
if thisformset.locate.xb.value=1  if !empty(tr)    tr=tr+ ' and xb = "男" '   else     tr= ' xb = "男" '    endi   endi
 
教师信息管理系统源程序if thisformset.locate.xb.value=2  if !empty(tr)    tr=tr+ ' and xb = "女" '   else     tr= ' xb = "女" '    endi   endi
if !empty(thisformset.locate.mz.value)  if !empty(tr)    tr=tr+ ' and alltrim(mz) = alltrim(thisformset.locate.mz.value) '   else     tr= ' alltrim(mz) = alltrim(thisformset.locate.mz.value) '    endi  endi  
if !empty(thisformset.locate.dp.value)  if !empty(tr)    tr=tr+ ' and alltrim(dp) = alltrim(thisformset.locate.dp.value) '   else     tr= ' alltrim(dp) = alltrim(thisformset.locate.dp.value) '    endi  endi  
if !empty(thisformset.locate.zc.value)  if !empty(tr)    tr=tr+ ' and alltrim(zc) = alltrim(thisformset.locate.zc.value) '   else     tr = ' alltrim(zc) = alltrim(thisformset.locate.zc.value) '    endi  endi  
if !empty(thisformset.locate.grdm.value)  if !empty(tr)    tr=tr+ ' and dm = val(thisformset.locate.grdm.value) '   else     tr= ' dm = val(thisformset.locate.grdm.value) '    endi  endi  
if !empty(thisformset.locate.qtgz.value)  if !empty(tr)    tr=tr+ ' and qtgz = vaL(thisformset.locate.qtgz.value) '   else     tr= ' qtgz = val(thisformset.locate.qtgz.value) '    endi  endi
if !empty(thisformset.locate.zw.value)  if !empty(tr)    tr=tr+ ' and alltrim(zw) = alltrim(thisformset.locate.zw.value) '   else     tr= ' alltrim(zw) = alltrim(thisformset.locate.zw.value) '    endi  endi if !empty(thisformset.locate.djgz.value)  if !empty(tr)    tr=tr+ ' and djgz = val(thisformset.locate.djgz.value) '   else     tr= ' djgz = val(thisformset.locate.djgz.value) '    endi  endi
if !empty(thisformset.locate.jngz.value)  if !empty(tr)    tr=tr+ ' and jngz = val(thisformset.locate.jngz.value) '   else     tr= ' jngz = val(thisformset.locate.jngz.value) '    endi  endi if !empty(thisformset.locate.gkdw.value)  if !empty(tr)    tr=tr+ ' and alltrim(gk) = alltrim(thisformset.locate.gkdw.value) '   else     tr= ' alltrim(gk) = alltrim(thisformset.locate.gkdw.value) '    endi  endi if !empty(thisformset.locate.jndj.value)  if !empty(tr)    tr=tr+ ' and jndj = thisformset.locate.jndj.value '   else     tr= ' jndj = thisformset.locate.jndj.value '    endi  endi if !empty(thisformset.locate.mlbt.value)  if !empty(tr)    tr=tr+ ' and mlbt = val(thisformset.locate.mlbt.value) '   else     tr= ' mlbt = val(thisformset.locate.mlbt.value) '    endi  endi if !empty(thisformset.locate.gwgz.value)  if !empty(tr)    tr=tr+ ' and gwgz = val(thisformset.locate.gwgz.value) '   else     tr= ' gwgz = val(thisformset.locate.gwgz.value) '    endi  endi if !empty(thisformset.locate.dwdm.value)  if !empty(tr)    tr=tr+ ' and bm = thisformset.locate.dwdm.value '   else     tr= ' bm = thisformset.locate.dwdm.value '    endi  endi if !empty(thisformset.locate.djgw.value)  if !empty(tr)    tr=tr+ ' and djgw = thisformset.locate.djgw.value '   else     tr= ' djgw = thisformset.locate.djgw.value '    endi  endi if !empty(thisformset.locate.ylbx.value)  if !empty(tr)    tr=tr+ ' and jbbx = val(thisformset.locate.ylbx.value) '   else     tr= ' jbbx = val(thisformset.locate.ylbx.value) '    endi  endi if !empty(thisformset.locate.ryly.value)  if !empty(tr)    tr=tr+ ' and alltrim(ryly) = alltrim(thisformset.locate.ryly.value) '   else     tr= ' alltrim(ryly) = alltrim(thisformset.locate.ryly.value) '    endi  endi if !empty(thisformset.locate.zhbt.value)  if !empty(tr)    tr=tr+ ' and zhbt = thisformset.locate.zhbt.value '   else     tr= ' zhbt = thisformset.locate.zhbt.value '    endi  endi if !empty(thisformset.locate.jsbt.value)  if !empty(tr)    tr=tr+ ' and jsbt = val(thisformset.locate.jsbt.value) '   else     tr= ' jsbt = val(thisformset.locate.jsbt.value) '    endi  endi if !empty(thisformset.locate.jljt.value)  if !empty(tr)    tr=tr+ ' and jljt = val(thisformset.locate.jljt.value) '   else     tr= ' jljt = val(thisformset.locate.jljt.value) '    endi  endi if !empty(thisformset.locate.jnlb.value)  if !empty(tr)    tr=tr+ ' and alltrim(jnlb) = alltrim(thisformset.locate.jnlb.value) '   else     tr= ' alltrim(jnlb) = alltrim(thisformset.locate.jnlb.value) '    endi  endi if !empty(thisformset.locate.gwlb.value)  if !empty(tr)    tr=tr+ ' and alltrim(gwlb) = alltrim(thisformset.locate.gwlb.value) '   else     tr= ' alltrim(gwlb) = alltrim(thisformset.locate.gwlb.value) '    endi  endi if !empty(thisformset.locate.cxbx.value)  if !empty(tr)    tr=tr+ ' and gbbx = vaL(thisformset.locate.cxbx.value) '   else     tr= ' gbbx = val(thisformset.locate.cxbx.value) '    endi  endi
if !empty(thisformset.locate.gzyy.value)  if !empty(tr)    tr=tr+ ' and alltrim(gzyy) = alltrim(thisformset.locate.gzyy.value) '   else     tr= ' alltrim(gzyy) = alltrim(thisformset.locate.gzyy.value) '    endi  endi
if !empty(thisformset.locate.COMBO1.value) if !empty(thisformset.locate.TEXT1.value)  if !empty(tr)     IF thisformset.locate.COMBO1.value = '>='       tr=tr+ ' and cssj >= thisformset.locate.TEXT1.value '     ENDI     IF thisformset.locate.COMBO1.value = '>'       tr=tr+ ' and cssj > thisformset.locate.TEXT1.value '     ENDI          IF thisformset.locate.COMBO1.value = '='       tr=tr+ ' and cssj = thisformset.locate.TEXT1.value '     ENDI     IF thisformset.locate.COMBO1.value = '<='       tr=tr+ ' and cssj <= thisformset.locate.TEXT1.value '     ENDI     IF thisformset.locate.COMBO1.value = '<'       tr=tr+ ' and cssj < thisformset.locate.TEXT1.value '     ENDI   else     IF thisformset.locate.COMBO1.value = '>='       tr= ' cssj >= thisformset.locate.TEXT1.value '     ENDI     IF thisformset.locate.COMBO1.value = '>'       tr= 'cssj > thisformset.locate.TEXT1.value '     ENDI          IF thisformset.locate.COMBO1.value = '='       tr= ' cssj = thisformset.locate.TEXT1.value '     ENDI     IF thisformset.locate.COMBO1.value = '<='       tr= '  cssj <= thisformset.locate.TEXT1.value '     ENDI     IF thisformset.locate.COMBO1.value = '<'       tr=' cssj < thisformset.locate.TEXT1.value '     ENDI
   endi  endi ENDI
if !empty(thisformset.locate.COMBO2.value) if !empty(thisformset.locate.TEXT2.value)  if !empty(tr)     IF thisformset.locate.combo2.value = '>='       tr=tr+ ' and rjsj >= thisformset.locate.text2.value '     ENDI     IF thisformset.locate.combo2.value = '>'       tr=tr+ ' and rjsj > thisformset.locate.text2.value '     ENDI          IF thisformset.locate.combo2.value = '='       tr=tr+ ' and rjsj = thisformset.locate.text2.value '     ENDI     IF thisformset.locate.combo2.value = '<='       tr=tr+ ' and rjsj <= thisformset.locate.text2.value '     ENDI     IF thisformset.locate.combo2.value = '<'       tr=tr+ ' and rjsj < thisformset.locate.text2.value '     ENDI   else     IF thisformset.locate.combo2.value = '>='       tr= ' rjsj >= thisformset.locate.text2.value '     ENDI     IF thisformset.locate.combo2.value = '>'       tr= 'rjsj > thisformset.locate.text2.value '     ENDI          IF thisformset.locate.combo2.value = '='       tr= ' rjsj = thisformset.locate.text2.value '     ENDI     IF thisformset.locate.combo2.value = '<='       tr= '  rjsj <= thisformset.locate.text2.value '     ENDI     IF thisformset.locate.combo2.value = '<'       tr=' rjsj < thisformset.locate.text2.value '     ENDI
   endi  endi ENDIif !empty(thisformset.locate.combo3.value) if !empty(thisformset.locate.text3.value)  if !empty(tr)     IF thisformset.locate.combo3.value = '>='       tr=tr+ ' and gzsj >= thisformset.locate.text3.value '     ENDI     IF thisformset.locate.combo3.value = '>'       tr=tr+ ' and gzsj > thisformset.locate.text3.value '     ENDI          IF thisformset.locate.combo3.value = '='       tr=tr+ ' and gzsj = thisformset.locate.text3.value '     ENDI     IF thisformset.locate.combo3.value = '<='       tr=tr+ ' and gzsj <= thisformset.locate.text3.value '     ENDI     IF thisformset.locate.combo3.value = '<'       tr=tr+ ' and gzsj < thisformset.locate.text3.value '     ENDI   else     IF thisformset.locate.combo3.value = '>='       tr= ' gzsj >= thisformset.locate.text3.value '     ENDI     IF thisformset.locate.combo3.value = '>'       tr= 'gzsj > thisformset.locate.text3.value '     ENDI          IF thisformset.locate.combo3.value = '='       tr= ' gzsj = thisformset.locate.text3.value '     ENDI     IF thisformset.locate.combo3.value = '<='       tr= '  gzsj <= thisformset.locate.text3.value '     ENDI     IF thisformset.locate.combo3.value = '<'       tr=' gzsj < thisformset.locate.text3.value '     ENDI
   endi  endi ENDIsele gzbxset filt to &tr go top count to thisformset.xs.text1.value sum gwgz ,jngz,djgz,qtgz to g1,g2,g3,g4 thisformset.xs.text2.value =g1 thisformset.xs.text3.value =g2  thisformset.xs.text4.value =g3 thisformset.xs.text5.value=g4
 
沈阳市现代科技学校教职工信息管理系统thisformset.xs.refreshthisformset.xs.show go topthisformset.refresh
*allocate.scx清空按钮事件**********************************************  thisformset.locate.sfz.value=''    thisformset.locate.xb.value=0   thisformset.locate.xm.value=''    thisformset.locate.xl.value =''   thisformset.locate.dp.value=''   thisformset.locate.zc.value=''   thisformset.locate.grdm.value=''   thisformset.locate.qtgz.value=''   thisformset.locate.zw.value=''thisformset.locate.djgz.value=''thisformset.locate.jngz.value=''thisformset.locate.gkdw.value=''thisformset.locate.jndj.value=''thisformset.locate.mlbt.value=''thisformset.locate.gwgz.value=''thisformset.locate.dwdm.value=''thisformset.locate.djgw.value=''thisformset.locate.ylbx.value=''thisformset.locate.ryly.value=''thisformset.locate.zhbt.value=''thisformset.locate.jsbt.value=''thisformset.locate.jljt.value=''thisformset.locate.jnlb.value=''thisformset.locate.gwlb.value=''thisformset.locate.gzyy.value=''thisformset.locate.cxbx.value=''thisformset.locate.zb.value=''
*allocate.scx打印按钮click 事件**********************************************x= thisformset.xs.text1.valuex1= thisformset.xs.text2.value x2= thisformset.xs.text3.value x3= thisformset.xs.text4.value x4= thisformset.xs.text5.valuereport form gzbxdy.frx previ
*czy.scx (操作员信息)修改按钮click 事件**********************************************sele czyxx go top loca for  编号==this.parent.text1.valueif foun()   repl 姓名 with this.parent.text2.value,密码 with this.parent.text3.value,权限 with this.parent.combo1.valueendi   thisform.refreshwait window '修改完毕' time 3
*czy (操作员信息)增加按钮click 事件********************************************** sele czyxx go top loca for  编号=this.parent.text1.valueif not foun()   if  !empty(this.parent.text1.value)   appe blank   repl 姓名 with this.parent.text2.value,密码 with this.parent.text3.value,权限 with this.parent.combo1.value   repl 编号 with this.parent.text1.value  endielse     ?chr(7)+chr(7)     wait window '输入的操作员重复' time 3          retuendi  
thisform.refreshwait window '增加新操作员完毕' time 3*czy (操作员信息)删除按钮click事件********************************************** sele czyxx    go top    loca for  编号=this.parent.text1.valueif  foun()      if recno()<>1        dele          pack    else         wait window '第一个记录不能删除,可以修改'            retu       endi    endi                 thisform.refresh       wait window '删除完毕' time 3
*gzbd.scx (工资变动)保存按钮click 事件**********************************************sele gzbdappe from gzbx for dm = thisform.dm.valuerepl gzrq with thisform.bdrq.valuesele bddappe from gzbx for dm = thisform.dm.valuea1=bmrepl  bdd.xbm with  thisform.dwdm.value repl  bdd.xdw with dwbmmc.bmmcrepl  bdd.xzw with thisform.zc.valuerepl  bdd.xzc with thisform.zc.valuerepl  bdd.xgk with thisform.gkdw.valuerepl  bdd.xdjgw  with thisform.djgw.valuerepl  bdd.xgwlb with thisform.gwlb.valuerepl  bdd.xjnlb with thisform.jnlb.valuerepl  bdd.xjndj with thisform.jndj.valuerepl  bdd.xzhbt with thisform.zhbt.valuerepl  bdd.xgwgz with thisform.gwgz.valuerepl  bdd.xjngz with val(thisform.jngz.value)repl  bdd.xdjgz  with thisform.djgz.valuerepl  bdd.xqtgz  with thisform.qtgz.valuerepl  bdd.xjljt with thisform .jljt.value    repl  bdd.jsbt with thisform.jsbt.valuerepl  bdd.xjbbx with thisform .ylbx.value  repl  bdd.xgbbx with thisform .cxbx.valuerepl  bdd.xmlbt with thisform.mlbt.valuerepl  bdd.gzyy with thisform.gzyy.valuesele dwbmmcloca for bmdm=a1a2=bmmcsele bddrepl ydw with a2sele gzbxrepl  gzbx.bm with  thisform.dwdm.value repl  gzbx.zw with thisform.zw.valuerepl  gzbx.zc with thisform.zc.valuerepl  gzbx.gk with thisform.gkdw.valuerepl  gzbx.djgw  with thisform.djgw.valuerepl  gzbx.gwlb with thisform.gwlb.valuerepl  gzbx.jnlb with thisform.jnlb.valuerepl  gzbx.jndj with thisform.jngz.valuerepl  gzbx.zhbt with thisform.zhbt.valuerepl  gzbx.gwgz with thisform.gwgz.valuerepl  gzbx.jngz with val(thisform.jngz.value)repl  gzbx.djgz  with thisform.djgz.valuerepl  gzbx.qtgz  with thisform.qtgz.valuerepl  gzbx.jljt with thisform .jljt.value repl  gzbx.jsbt  with thisform.jsbt.valuerepl   gzbx.mlbt with thisform.mlbt.valuerepl   gzbx.jbbx with thisform .ylbx.value  repl   gzbx.gbbx with thisform .cxbx.valuerepl   gzbx.gzyy with thisform.gzyy.valuerepl   gzbx.gzrq with thisform.bdrq.value、
*gzcx.scx (查询)输入姓名查找**********************************************thisform.dm.value=gzbx.dm   dwdm=gzbx.bmsele dwbmmc   loca for bmdm=gzbx.bm  if foun()    thisform.text1.value=dwbmmc.bmmc   endi 
  *gzcx.scx cloum3.text1 click事件**********************************************  sele gzbx      xm1=gzbx.xm  thisform.xmm.value=XM1     set filt to alltrim(xm)=alltrim(thisform.xmm.value)    THISFORM.REFRESH
*hztz.scx (打印汇总台帐)统计按钮click **********************************************sele gzbx.bm,sum(gzbx.gwgz) AS 岗位津贴,dwbmmc.bmmc as 单位 ,sum(gzbx.jngz)as 职务工资,sum(gzbx.qtgz) as 其它工资,sum(gzbx.djgz) as 提高10%, ;   sum(gzbx.mlbt) as 煤粮补贴,sum(gzbx.gbbx) as 书报补贴 , sum(gzbx.jbbx) as 住房补贴, count (gzbx.dm) as 人数, ;    sum(gzbx.jljt) as 教龄津贴 ,sum(gzbx.jsbt) as 职务补贴 ;  from gzbx,dwbmmc  where gzbx.bm=dwbmmc.bmdm ;  group by gzbx.bm into table ls1  sele ls1    use   sele ztj    zap appe from ls1   repl all 合计 with 职务工资+岗位津贴+提高10% repl all 平均工资 with 合计/人数 thisform.refresh
*hztz.scx (打印汇总台帐)打印按钮**********************************************report form ztjdy.frx previe
*dy2.scx (变动单打印)按钮click 事件**********************************************sele bdd set filt to alltrim(bm)== alltrim(thisform.combo1.value) report form bdd2000.frx  previlwfree.cn**********************************************sele GZBX.Bm as 单位代码 ,GZBX.DM AS 个人代码 ,DWBMMC.BMMC AS 单位 ,GZBX.xm  AS 姓名 ,GZBX.XB AS 性别,GZBX.CSSJ AS 出生日期 ,GZBX.GZSJ AS 工作时间, GZBX.RJSJ AS 入局时间, GZBX.ZC AS 职称 , GZBX.ZW AS 职务, ; GZBX.GK AS 归靠岗位, GZBX.DJGW AS 等级岗位, GZBX.GWLB AS 津贴档次, GZBX.JNLB AS 职务等级, GZBX.JNDJ AS 工资档次, GZBX.ZHBT AS 综合补贴, GZBX.GWGZ AS 岗位津贴 ,; GZBX.JNGZ AS 职务工资, GZBX.DJGZ AS 提高10%, GZBX.QTGZ AS 其它工资,GZBX.jljt AS 教龄津贴 ,GZBX.JSBT AS 职务补贴,GZBX.MLBT AS 煤粮补贴,GZBX.JBBX AS 住房补贴, ; GZBX.GBBX AS 书报补贴 GROUP BY GZBX.BM,gzbx.gk order by GZBX.BM ,gzbx.gk WHERE GZBX.BM=DWBMMC.BMDM   FROM GZBX, DWBMMC INTO TABLE LS2  SELE LS2 USE SELE  GZBXTJ ZAP APPE FROM LS2 go top sele GZBXTJ      index on alltrim(单位代码) + alltrim(归靠岗位) tag   wizard_1      IF !EMPTY(THISFORM.COMBO1.VALUE)         set filt to alltrim(单位代码)== alltrim(thisform.combo1.value)   ENDI          report form gzbxTJDY.frx  prev
 
第一章  绪论1.1管理信息系统简介一、管理信息系统的含义管理信息系统即MIS(Management Information System).在强调管理、强调信息的现代社会中变得越来越普及。MIS是一门新的边缘学科,它跨越了若干个领域如管理系统科学、系统科学、运筹学、统计学科及计算机科学,在这些学科的基础上形成信息收集和加工的方法。从而形成一个纵横交错的系统。它能提供信息,支持企业或组织的运行、管理和决策功能。二、管理信息系统的发展管理信息系统起源于20世纪50年代开始的基于计算机的电子数据处理(简称EDP,Electronic Data Processing)。EDP的主要目标提高一个组织内管理工作如计算、统计、制表、报告等工作的效率。此时利用计算机处理管理信息的方式是单项管理,到了20世纪60年代管理信息系统得到了较快的发展,成为实现组织整体目标,系统综合地处理各类管理信息支持各级管理决策的计算机硬件、软件、通信设备、规章制度及有关人员的统一体、其获取信息资源和管理、服务的范围更加广阔;20世纪90年代,人们对MIS的注意力不再只是信息技术的应用,而是为如何合理配置、有效利用信息资源以求得组织目标的实现。至此,MIS的发展经历了一个由技术管理到资源管理的过程。1.2开发背景简介一、教育系统人事工资管理现状任何的管理首先是对人力资源的管理,学校也是一样。一直以来,学校无论是在教学还是在管理方面都提出了要创新、要全面推进素质教育,学校经常要对学生和教师进行各种数据的统计以供分析使用,然而由于计算量非常大,通过人力去登记、计算、查找,正确率无法保证,而且还会耗费大量的人力和物力;长年累月积攒起来的材料过多,不易保存,也容易丢失和损坏。这就出现了一个矛盾。如何找到一种好的办法既提高准确率,又可以省去大量的人力物力,而且还可以使材料积累起来供以后综合分析使用呢?在当今社会,以高科技为标志的经济飞速发展的今天,选用现代化手段解决上述问题是再适合不过的了!于是,在教育领域建立一系列管理信息系统就显得非常有必要了。随着信息活动在国民经济中主导地位的确立和信息产业的崛起信息资源管理(Informetion Resouces Management,简称IRM)作为一个专有名词和独立的学科逐渐发展起来。如何积极开发、合理配置和有效利用信息资源,日益成为社会生活中亟待解决的问题。由于计算机和通信技术的高速发展,推广应用计算机进行信息、管理成为推动信息化工作的重要内容,管理信息系统正是应用计算机信息化过程中出现的新生事物。它是一个利用计算机软硬件资源进行电子数据处理的人——机系统,它能提供信息,支持企业或组织的运行,具有管理和支持决策的功能利用计算机能把生产经营过程中的巨大数据流收集组织起来。经过处理转换为对各部门不可缺少的数据,经过对这些数据的分析使其变为各级管理人员做出决策具有重要意义的信息。总之,管理信息系统用于管理中可以大大减轻管理人员的工作负担,提高工作效率,使管理更加程序化、科学化。对一个组织而言,内部管理的好坏直接关系到组织的存在与良好运行,而内部管理中非常重要的一项就是对人的管理,人事档案及工资管理是与人事管理有关的文件记录。一旦工作人员的岗位、职称及其他情况发生变化,要及时在档案内补充材料,以确保档案材料基本反映工作人员的工作、生活等各方面的实际情况;同时也要及时对其工资进行调整。人事管理往往是繁琐的,因为要管理的对象种类繁多,要对其进行各种各样的管理,工作量大,又容易出错,在人事管理中引入计算机管理信息系统,可以提高工作效率,改善管理情况,使管理工作系统化、科学化、提高整体的管理的水平。本系统是针对学校人事工资管理编写的。在学校,一般管理者已经认识到计算机在管理过程中为可取代的作用,但是应用计算机来进行管理,他们还无法自己实现,这就需要有专门的管理软件来帮助实现。二、本系统要解决的几个关键问题1、采用单位现有软硬件环境及先进的管理系统开发方案,从而达到充分利用单位现有资源提高系统开发水平和应用效果的目的。2、系统应符合组织人事管理的规定,满足单位日常人事管理工作需要,并达到操作过程中的直观、方便、实用、安全等要求。3、采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于补充维护。4、系统应具备数据库维护功能,及时根据用户要求进行数据的添加、删除、修改、查询和报表打印等。(1)教职工基本信息的输入、修改。包括各种自然情况、工资级别等。(2)教职工的增加、删除。转出、辞职、退休教职工信息的删除,调入、新增教职工信息的增加。(3)查询、统计。按照某种条件,查询、统计符合条件的教职工信息。(4)打印输出。对查询、统计的结果打印输出。(5)保密系统。对系统进行保密设定,可以修改用户名和密码,以防止有人对系统数据进行破坏和窃取。要想解决上面的问题首先需要和使用此软件的管理人员进行全面的沟通,需要了解人事管理的管理内容、管理过程、管理步骤等一系列流程,还要和管理人员交流管理上的一些处理的习惯性问题,要使得软件特别的接近使用者的管理习惯和方式。使管理工作规范化和程序化,促进整体管理水平的提高,高效完成劳动人事管理的日常业务。使人事管理及其相关方面的科学决策,如评优、评先、竞聘上岗等。三、教育系统人事工资管理的特点及解决途径沈阳市现代科技学校教职工的工资结构有其独特的行业特点,目前通用人事管理软件和通用工资管理软件均不能完善的解决其工资管理方面的问题,因此需要有针对性的制作定一套工资管理软件。(教育行业的工资管理系统应用在人力资源管理部门,它不同于财务工资管理系统,它不负责每月工资的发放,只负责员工基本工资标准的确定和员工所单位的确定,然后将信息以变动单的方式提供给财务部门,由财务部门进行工资发放的操作。)教育行业基本工资由职务工资、岗位津贴、提高10%三项构成。职务工资、岗位津贴由教职工职务等级来确定,分为中学高级(又分为1-14级)、中学一级(又分为1-16级)、中学二级(又分为1-16级)和中学三级(又分为1-14级)。提高10%是教育行业的特殊工资为职务工资的10%。本系统将基本工资中的职务工资、岗位津贴分别建立成“表”,当操作员选定员工的职务等级和工资、津贴的档次时,三项工资自动生成。同时将常规信息,如学历情况、职务、职称、民族、政治面貌等信息分别建立“表”,用户操作时只需轻轻一击即可输入,减少了用户对汉字的输入,提高了工作速度。
 
沈阳市现代科技学校教职工信息管理系统第二章  系统分析2.1系统调查新系统的系统分析与设计工作都要建立在对现行系统调查的基础上。即必须调查清楚信息系统的资源、输入、处理和输出,明确用户需求其目的是明确系统开发的目标和规模。本人所在单位是一所中等职业技术学校,本着从实际情况出发的观点,对该校的人事管理进行了全面的调查。一、教育系统的各级各类学校有其自身的特点。沈阳市现代科技学校是一所中等职业技术学校,在很多方面与一般的普通中小学校不同,学校开设的专业可能几年就要改变,致使教师所教的科目也经常变化,从而需要的教师要多元化,这就需要经常进行人才的流动,如本区调整、对外招聘、接收大学毕业生。人事管理涉及到新人员的加入,老员工的转出、辞职、退休等,员工基本情况变化要随时更新,因此在管理方式上有很大区别,管理的难度上也比一般的普通中小学校要大的多。二、教育系统正全面推进人事制度改革。学校每年要进行职称的评定、工资级别的调整以及评优、评先、竞聘上岗等情况,需随时查阅职工的相关资料,查询符合条件的人员,进而统计产生相应报表。由于该校的人事管理主要方式是基于文本、表格等纸介质的手工处理,人员多、项目多,所以管理工作量大,容易出错,缺乏系统的、规范的信息管理手段。三、计算机已经进入各级管理机关。现在,上级主管部门的有些方面已经实行了计算机管理,所以在很多时候上报材料要求采用电子文档的方式。而每次都将做一些重复的、繁琐的录入工作,以便产生不同的报表,因此工作量大,容易出错,急需系统的、规范的信息管理手段来解决。四、系统的设计要具有人性化的特点。1.界面友好、操作简便。对于人事管理人员,由于平时接触计算机的机会较少,所以对计算机的操作比较生疏,所以说对于管理信息系统的可操作性一定要强,软件的交互性必须要好,可使使用者,即使在对计算机不很熟悉的情况下也可以很快的接受它,这就需要在对软件进行设计时考虑到用户界面的友好交互性,这一点很重要。在系统的使用过程中,有很大一部分是对基本数据的录入,录入的信息的量也是很大的,所以要求软件的输入设计符合操作人员的思维习惯和操作习惯,在本软件的设计过程中将考虑录入部分完全使用键盘操作,这样将大大提高操作人员的效率。由于录入操作非常的枯燥,所以在背景设计时需要考虑到添加清淡的让使用者心情放松的图案或颜色,这可以使操作者的烦躁心情得以环节,以减小在数据录入过程中误差和错误的出现概率。2.功能强大、程序流畅。在实际管理中,要随时进行各种资料的查询、统计,所以要求软件的功能设计要完成各种操作。同时,在实际管理中是各部门的人员在不同的时间,不同的地点进行的承担着各自的职责进行着数据处理和信息交换。上述的数据处理和交换均由计算机软件来执行,所以要求程序始终是流畅的。3.一看就懂、拿来就用。在界面上使用人们平时熟悉的自然语言,而把陌生的计算机语言隐藏起来,达到计算机程序与人的主观意识和思维天衣无缝的吻合,表现了天地人和。使操作者一看就明白。软件还必须简洁明了地提供操作向导和必要的提示,使人事工作者做到拿来就用。该校希望通过建立人事档案管理系统,使管理工作规范化和程序化,促进整体管理水平的提高。因此提出系统的设计目标:(1)支持实现规范化管理。(2)支持组织高效完成劳动人事管理的日常业务,包括:新员工加入时人事档案的建立、老员工转出、辞职退休、基本情况变更等。(3)支持单位进行劳动人事管理及其相关方面的科学决策,如评优、评先、竞聘上岗等。2.2可行性分析一、经济可行性学校经常要教师进行各种数据的统计,以供分析使用。由于早期人事工资管理完全采用纯人工方式完成工作,进行报表制作,且上传下递极不方便、快捷,所以耗用工时较多,且效率低下。后来设计一些简单的应用表格,能通过计算机报表,但只是人工去登记、查找、计算大量数据后,人工输入计算机,制成表格,打印出表格上报,所以也会统计差错,输入过程差错,正确率无法保证,而且还会耗费大量的人力和物力;长年累月积攒起来的材料过多,不易保存,也容易丢失和损坏。目前,市场上“学校管理信息系统”类的软件开发出产品的比较少,且价格高,单机版价格在万元以上,网络版价格要几万元。一般的学校经费紧张根无法接受这样的价格。而软件的规模太大,有些模块根本用不到,所以购进之后部分功能闲置也构成了浪费。二、操作可行性我校人事管理人员具有高学历、高水平、对外来的新事物接受能力快的特点,并且接受过教育系统的计算机等级培训,对Windows有基本的了解,所以,如果开发一套操作简单的人事工资管理信息系统,完全可以帮助他们从繁琐的重复性劳动中解脱出来,以提高的工作效率。三、技术可行性1.开发的软件可行性从目前市场上比较流行的数据库开发、管理软件来看,对于比较简单的中小型数据库,Visual FoxPro 6.0是在实际应用中较为成功的一种解决方案。并为用户提供了Windows所一贯坚持的非常友好、操作简单的用户界面、完善而强大的数据库操作功能,简洁明了的数据库,进而可对数据库实施操作、维护和权限识别功能。结合实际情况,可以设计出符合实际需求、易于理解、易于操作、易于维护的数据库和操作系统。对于,Visual FoxPro 6.0而言,管理这种规模和复杂程度的数据库是游刃有余的。同样对于Visual FoxPro 6.0来说,无论是查询、统计还是利用数学公式进行趋势预测,都能顺利完成。因此,开发实施本系统,从软件角度看是可行的。2.开发的硬件可行性  开发本系统所使用的软件对于计算机硬件有一定的要求,特别是,Visual FoxPro 6.0对计算机的内存、主频、外频、外存(主要是硬盘的容量)都有比较高的要求,否则将影响到本系统的正常运行,甚至导致数据计算的失误等比较严重的错误,基本要求是:Microsoft Windows9X或更高版本;80486或更高的微处理器;Microsoft Windows支持的VGA或更高分辨率的显示器;应用程序要求8MB RAM,Visual FoxPro 6.0开发环境要求16MB RAM。对系统配置的要求比较低,Visual FoxPro 6.0对系统配置的要求较低。因此,从市场上目前流行的硬件水平来看,一般学校已经具备了使用此类软件的基本硬件条件。特别是以计算机为主要专业的中等职业技术学校已有现成的软、硬件条件。本系统的开发也是可行的。3.开发实施的可行性此类软件属于一般类管理软件,开发难度不大,没有很高深的算法和令人难以理解的专业知识,只需要经常和管理人员进行沟通就可以掌握完成软件的要点。开发周期短,一般尽需要一个月左右,产品出来后就可以推向市场,收回成本,获取利益。四、可行性结论系统的成功开发将进一步促进学校管理的现化化和科学化,培养了人才,也为学校全面的人事工资管理体系积累了经验,从长远来看,其经济和社会效益是肯定的,根据以上分析,我们认为本系统开发条件成熟,实施方案可行。2.3需求分析一、系统需求要求系统能够提供详细的教职工基础信息,包括自然条件信息、工资情况、来源、去向、岗位变动情况。能够提供随时查阅在职、非在职人员信息,提供出职工花名册,同时为财务部提供人员变动单及月基本工资汇总情况等。实现管理规范化、科学化,程序代码标准化,软件统一化,确保软件的可维护性和实用性。能够连接各个关联的数据库,获取数据库中的信息,保证各个数据库表格有关项目。实现职工资金的调配,对工资实现批量修改、备份、恢复、扣税功能等,实现人员调动、职工工资信息浏览、职工调动明细等统计功能,实现对银行账户的报盘等功能,并对系统进行实时维护,生成各种新的工资表格等。针对这些要求,系统建立了在职人员基本信息库、在职人员工资变动记录库、非在职人员信息库、变动单库4个主要信息库,同时建立多个字典库。系统根据增减人员、工资变动操作自动生成记录记载变动内容,以便用户查询其变动过程。实现了对员工信息的查询、统计、增减、变动记录、打印相关报表等功能。
 
教师信息管理系统源程序用户界面需求编制管理系统提供用户集中控制用户界面,此界面应当具有WINDOWS风格,并尽可能地为用户的查询操作提供方便,用户通过此界面应当能够控制整个系统的运行。三、报表需求编制管理系统的各种情况,可以将教职工信息名册、教职工工资变动单、工资汇总台帐等详细情况以报表的形式打印出来,以便实时统计教职工基本信息及工资情况,明确报表,使领导掌握,便于决策,满足学校高效管理的需求。四、维护需求系统运行一段时间后,数据库中存放的数据会越来越多,系统因人事制度、财务制度进行变更,要求对职务工资、岗位津贴、职务补贴等实时更改。为了不影响系统的运行效率,应当定期清除、整理数据库中的过时数据,更改系统中不合时宜的字段等,但系统应当将原始数据永久保留。系统生成比较灵活性,系统的参数可以方便的更改,可以根据不同的人事制度和财务制度,对各种的报表格式进行修改,加入字段生成新表等。五、权限需求在日常的人事工资管理中,不是要所有人员都明确的知道职工基本信息,所以在设计时需要三级用户管理,即特权用户,一般用户、录入用户,进行对系统的操作,使普通用户不能对系统进行维护,数据录入人员只能对数据进行输入不能实现其他的计算、统计、修改数据的功能,使系统在安全、保密性等方面得到了很好的实现。2.4开发方法的选择目前,管理信息开发方法主要有:结构化生命周期开发方法、原型法、面对对象的开发方法。本系统的开发采用结构化生命周期的开发方法。用这种方法开发一个系统将整个开发过程划分为5个阶段:1、企划阶段包括:业务特点分析、用户的需求分析、数据流分析、开发工具选择。2、设计阶段包括:数据库设计、数据容量预测、处理界面设计、输出报表设计。3、开发阶段包括:数据表制作、操作界面开发、功能模块开发。4、测试阶段包括:单体测试(测试用数据)、结合测试(全体流程测试)、运用测试(实际数据)。5、运用阶段包括:系统安装、数据导入、性能测试。2.5开发语言和开发工具本系统选用的开发语言是Visual Foxpro6.0,简称VFP6.0,选用的开发工具是Visual Foxpro6.0数据库开发系统。Visual Foxpro6.0具有用户的普遍性、功能的完整性、工具的易用性和规模的可伸缩性等特点。一、数据库应用系统的特点数据库应用系统的目的是把数据库、表、表单和报表汇集起来,把用人工管理的数据实现电脑化管理。数据库应用系统主要由用户界面、信息处理、数据库管理、数据库、辅助功能等模块组成:用户界面:由于数据库应用系统是一种面向最终用户的应用系统,用户界面应该具有友好、简单、易操作等特点,它是一个系统能否被用户接受的非常重要的因素之一。使用Visual FoxPro 6.0提供的工具能够制作出多窗口系统、菜单驱动的用户界面,并可以将图形、图像、动画、声音等多媒体对象添加到界面中。信息处理:信息处理是建立数据库应用系统的目的,其基本功能包括各类信息的查询、统计、报表打印等。数据库管理:指数据库表的添加、修改及删除等。数据库:即数据库应用系统的操作对象,包括表及视图等。辅助功能:是指数据库应用系统中的菜单,帮助文本、系统安装及版本信息等。图(1) 数据库应用系统的组成
二、面向对象程序设计与结构化程序设计的区别在面向对象的程序设计中,程序员把精力放在“对象”的设计上,即如何构造对象是程序设计的重点,而不像以往采用结构化程序设计那样重点如何考虑编写程序代码。在结构化程序设计中的分析和设计阶段,要以“功能”划分整个系统,分别构成各类功能模块,各个功能模块如有可能还必须划分为更为具体的小功能模块,直至功能模块能以一个函数或过程来实现为止。这种方法称为自下而上的程序设计方法,它具有思路清楚、功能单一等特点,但不便维护和修改。与结构化程序设计方法不同的是,面向对象的程序设计方法采用自上而下的程序设计方法。它一般要经历“具体-抽象-具体”三个阶段。它以“对象”为处理中心,在系统分析和设计时必须首先确定所要处理的对象,然后确定对象的属性以及对象之间的相互关系。 三、常用关系型数据库系统软件比较分类系统名称 对应操作系统 用户界面开发价格 特    点  Windows Unix   小型数据库FoxPro O¬— O 中 开发界面友好,需要一定的数据库知识,小型用户最适合 ACCESS2000 O — O 中 开发界面友好,简单,用户界面和数据一体化可,个人用户最适合免费数据库系统PostgreSQL O O — 免费 多操作平台对应,免费使用,适用于学习,研究开发
 MySQL O O — 免费 多操作平台对应,免费使用,适用于学习,研究开发
大型数据库系统 ORACLE O O — 高 功能完善,维护工具完备,用户界面和数据库分离可,大型数据库开发用户最广
 DB2 O O — 高 最早的关系型数据库,和ORACLE同样适合大型数据库开发
 SQL/Server O — — 高 功能完善,比ORACLE操作简单,应为对应Windows,推广受到限制,但与微软的开发工具Visual Studio .NET结合良好,今后有可能应用更广泛
2.6开发环境配置本次系统开发所用计算机硬件和软件环境如下:硬件:CPU  P4 1.6G、内存SD128MB、40G硬盘、32X CD-ROM、32MB TNT显卡、普通键盘、鼠标。软件:中文Windows98 以上。
 
沈阳市现代科技学校教职工信息管理系统第三章  详细设计3.1系统功能结构的设计Visual FoxPro应用系统通常由以下几部分组成:数据库(用来存放数据)、主程序(用来设置应用程序的系统环境、执行第一个用户界面和读取事件程序的开始点)、用户界面(表单、工具栏和菜单等)、查询和报表(允许用户检索或输出自己的数据)。在设计数据库的时候,首先要分离那些需要作为单个主体而独立保存的信息,然后告诉Visual FoxPro这些主体之间有何关系,以便在需要时把正确的信息组合在一起。通过将不同的信息分散在不同的表中,可以使数据的组织工作和维护工作更简单,同时也能保证建立的应用程序,其性能具有较高的可塑造性。一、系统功能结构的划分在系统功能分析的基础上,根据Visual FoxPro 6.0编程特点,按照结构化的系统设计方法,教职工信息管理系统从功能上可做如下的系统结构划分:
图(2)  系统结构图 二、系统数据流分析数据流程图是组织中信息运动的抽象,是管理信息系统逻辑模型的主要形式。它是采用自顶向下逐层扩展的方法,从逻辑上精确的描述系统具有的数据加工,数据存储,数据输入输出及数据来源和去向等功能。人事工资的日常管理包括:增加人员信息的录入、减少人员、人员信息及工资的变动,查询人员信息、输出打印报表等。其系统的数据处理流程图如下:图(3)  系统的数据处理流程3.2数据库表结构及说明一、基本信息表(1) 表结构:           GZBX.DBF――――――在职人员基本信息表字段   字段名      类型            宽度    小数位 索引   排序    Nulls     1    DM          数值型             6            升序   Machine   否   个人代码2    BM          字符型             3                             否   单位代码3    XM          字符型             6                             否   姓名4    XB          字符型             2                             否   性别5    MZ          字符型             6                             否   民族6    XL          字符型             6                             否   学历7    GZSJ        日期型             8                             否   工作时间8    RJSJ        日期型             8                             否   入局时间9    ZC          字符型             8                             否   职称10   DP          字符型             4                             否   政治面貌11   CSSJ        日期型             8                             否   出生时间 12   YGXZ        字符型             8                             否   用工性质13   ZB          字符型             8                             否   职别14   GK          字符型            14                             否   工资归靠15   ZW          字符型            14                             否   职务16   DJGW        字符型            14                             否   等级岗位17   GWLB        字符型             3                             否   津贴档次18   GWGZ        数值型             8         2                   否   岗位津贴19   JNLB        字符型             3                             否   职务等级20   JNDJ        字符型             3                             否   工资档次21   JNGZ        数值型             8         2                   否   职务工资22   QTGZ        数值型             8         2                   否   其它工资23   ZHBT        数值型             6         2                   否   综合补贴24   DJGZ        数值型             8         2                   否   提高10%25   MLBT        数值型             6         2                   否   煤粮补贴26   JBBX        数值型             6         2                   否   住房补贴27   GBBX        数值型             8         2                   否   书报补贴28   JLJT        数值型             6         2                   否   教龄津贴29   JSBT        数值型             6         2                   否   职务补贴30   GZYY        字符型            60                             否   工资变动原因31   GZRQ        日期型             8                             否   工资变动日期32   SFZ         字符型            18                             否   身份证号码33   RYLY        字符型            20                             否   人员来源(2) 表结构:           GZBD.DBF―――――-在职人员工资变动记录表 字段   字段名      类型            宽度    小数位 索引   排序    Nulls 1   DM          数值型             6           升序   Machine    否 2   BM          字符型             3                             否 3   XM          字符型             6                             否 4   XB          字符型             2                             否 5   ZC          字符型             8                             否 6   ZW          字符型            14                             否 7   GK          字符型            14                             否 8   DJGW        字符型            14                             否 9   GWLB        字符型             3                             否10   JNLB        字符型             3                             否11   JNDJ        字符型             3                             否12   ZHBT        数值型             6         2                   否13   GWGZ        数值型             8         2                   否14   JNGZ        数值型             8         2                   否15   QTGZ        数值型             8         2                   否16   DJGZ        数值型             8         2                   否17   JLJT        数值型             6         2                   否18   JSBT        数值型             6         2                   否19   MLBT        数值型             6         2                   否20   GZYY        字符型            60                             否21   GZRQ        日期型             8           降序   Machine    否22   GZSJ        日期型             8                             否23   RJSJ        日期型             8                             否24   YGXZ        字符型             8                             否25   RYLY        字符型            20                             否(3)表结构:           GZDEL.DBF―――――非在职人员信息表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   DM          数值型             6                             否      2   BM          字符型             3                             否      3   XM          字符型             6                             否      4   XB          字符型             2                             否      5   MZ          字符型             6                             否      6   XL          字符型             6                             否      7   GZSJ        日期型             8                             否      8   RJSJ        日期型             8                             否      9   ZC          字符型             8                             否     10   DP          字符型             4                             否     11   CSSJ        日期型             8                             否     12   YGXZ        字符型             8                             否     13   ZB          字符型             8                             否     14   GK          字符型            14                             否     15   ZW          字符型            14                             否     16   DJGW        字符型            14                             否     17   GWLB        字符型             3                             否     18   GWGZ        数值型             8         2                   否     19   JNLB        字符型             3                             否     20   JNDJ        字符型             3                             否     21   JNGZ        数值型             8         2                   否     22   QTGZ        数值型             8         2                   否     23   ZHBT        数值型             6         2                   否     24   DJGZ        数值型             8         2                   否     25   JLJT        数值型             6         2                   否     26   JSBT        数值型             6         2                   否     27   MLBT        数值型             6         2                   否     28   JBBX        数值型             8         2                   否     29   GBBX        数值型             8         2                   否     30   CZGBRQ      日期型             8                             否     31   CZJBRQ      日期型             8                             否     32   GZYY        字符型            60                             否     33   GZRQ        日期型             8                             否     34   SFZ         字符型            18                             否     35   RYLY        字符型            20                             否     46   JSLB        字符型            10                             否   减员类别(4)表结构:               BDD.DBF――――人员变动单表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   DM          数值型             6           升序   Machine    否      2   BM          字符型             3                             否      3   YDW         字符型            10                             否   原单位名称      4   XM          字符型             6                             否      5   XB          字符型             2                             否      6   ZW          字符型            14                             否      7   ZC          字符型             8                             否      8   DJGW        字符型            14                             否      9   GK          字符型            14                             否     10   GZSJ        日期型             8                             否     11   RJSJ        日期型             8                             否     12   GWLB        字符型             3                             否     13   JNLB        字符型             3                             否     14   JNDJ        字符型             3                             否     15   ZHBT        数值型             6         2                   否     16   GWGZ        数值型             8         2                   否     17   JNGZ        数值型             8         2                   否     18   QTGZ        数值型             8         2                   否     19   DJGZ        数值型             8         2                   否     20   JLJT        数值型             6         2                   否     21   JSBT        数值型             6         2                   否     22   MLBT        数值型             6         2                   否     23   GBBX        数值型             8         2                   否         24   JBBX        数值型             8         2                   否       25   XBM         字符型             3                             否     26   XDW         字符型            10                             否     新单位名称     27   XZW         字符型            14                             否     28   XZC         字符型             6                             否     29   XDJGW       字符型            14                             否     30   XGK         字符型            14                             否     31   XGWLB       字符型             3                             否     32   XJNLB       字符型             3                             否     33   XJNDJ       字符型             3                             否     34   XZHBT       字符型             6         2                   否     35   XGWGZ       数值型             8         2                   否     36   XJNGZ       数值型             8         2                   否     37   XQTGZ       数值型             8         2                   否     38   XDJGZ       数值型             8         2                   否     39   XJLJT       数值型             6         2                   否     40   XJSBT       数值型             6         2                   否     41   XMLBT       数值型             6         2                   否     42   XGBBX       数值型             8         2                   否     43   XJBBX       数值型             8         2                   否     44   GZYY        字符型            60                             否     45   GZRQ        日期型             8                             否     46   GBYY        字符型            60                             否     47   GBRQ        日期型             8                             否     48   JBYY        字符型            60                             否49   JBRQ        日期型             8                             否50   RYLY        字符型            20                             否51   JSLB        字符型            10                             否
 
教师信息管理系统源程序+系统结构图+数据流程图字典库(1) 表结构:           CZYXX.DBF―――――操作员信息表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   编号        字符型             3                             否      2   姓名        字符型            10                             否      3   权限        字符型            10                             否  4   密码        字符型             4                             否(2) 表结构:           GWLBK.DBF―――――岗位津贴标准表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   GWDC       字符型             1                             否   岗位津贴档次      2   GWGZ1      数值型             8         2                   否   1类岗位津贴      3   GWGZ2      数值型             8         2                   否   1类岗位津贴4   GWGZ3      数值型             8         2                   否   1类岗位津贴5   GWGZ4      数值型             8         2                   否   1类岗位津贴(3) 表结构:           JNLBDJ.DBF――――职务工资标准表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   JNDC        字符型             3                             否   职务工资档次      2   JNGZ1       数值型             8         2                   否   1类职务工资      3   JNGZ2       数值型             8         2                   否   2类职务工资      4   JNGZ3       数值型             8         2                   否   3类职务工资       5   JNGZ4       数值型             8         2                   否   4类职务工资(4) 表结构:           JSBTK.DBF―――――职务补贴标准表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls1   JBBZ        数值型             6                             否   职务补贴标准(5) 表结构:           DJGWK.DBF―――――等级岗位表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   DJGW        字符型            14                             否(6)表结构:           DPK.DBF―――――政治面貌表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   DPMC        字符型             8                             否(7) 表结构:           DWBMMC.DBF―――――单位编码名称表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   BMDM        字符型             3                             否      2   BMMC        字符型            10                             否(8) 表结构:           GKK.DBF―――――工资归靠表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   GK          字符型            14                             否(9) 表结构:           JSLB.DBF――――――减员类别表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls1   JSLB        字符型            10                             否   减员类别(10) 表结构:           MZK.DBF―――――民族表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   MZMC        字符型             6                             否(11) 表结构:           RYLY.DBF――――――人员来源表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   RYLY        字符型            20                             否(12) 表结构:           XLK.DBF――――――-学历表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   XLMC        字符型             8                             否(13) 表结构:           YGXZK.DBF―――――用工性质表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   YGXZ        字符型             8                             否(14) 表结构:           CXBXK.DBF――――-书报补贴标准表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   CXBZ        数值型             8         2                   否(15) 表结构:           ZBK.DBF――――――职别表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   ZB          字符型             6                             否(16) 表结构:           ZCK.DBF――――――职称表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   ZC          字符型             6                             否(17) 表结构:           ZWK.DBF――――――工作岗位表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls1   ZW          字符型            14                             否三、程序过渡库――用来记录程序统计后的结果(1)表结构:          GZBXTJ.DBF―――――打印人员花名册信息表   字段   字段名       类型            宽度    小数位 索引   排序    Nulls      1   单位代码     字符型             3                             否      2   个人代码     数值型             6                             否      3   单位         字符型            10                             否      4   姓名         字符型             6                             否      5   性别         字符型             2                             否      6   出生日期     日期型             8                             否      7   工作时间     日期型             8                             否      8   入局时间     日期型             8                             否      9   职称         字符型             8                             否     10   职务         字符型            14                             否     11   归靠岗位     字符型            14                             否     12   等级岗位     字符型            14                             否     13   职务等级     字符型             3                             否     14   津贴档次     字符型             3                             否     15   工资档次     字符型             3                             否     16   职务工资     数值型             8         2                   否     17   岗位津贴     数值型             8         2                   否     18   提高10%     数值型             8          2                   否     19   综合补贴     数值型             6         2                   否     20   其它工资     数值型             8         2                   否     21   教龄津贴     数值型             6         2                   否     22   职务补贴     数值型             6         2                   否     23   煤粮补贴     数值型             6         2                   否     24   书报补贴     数值型             6         2                   否     25   住房补贴     数值型             6         2                   否(2) 表结构:           ZTJ.DBF―――――――工资台帐汇总表   字段   字段名      类型            宽度    小数位 索引   排序    Nulls      1   BM          字符型             3                             否      2   岗位工资     数值型            16         2                   否      3   单位         字符型            10                             否      4   职务工资     数值型            16         2                   否      5   岗位津贴     数值型            16         2                   否      6   提高10%     数值型            16         2                   否      7   煤粮补贴     数值型            16         2                   否      8   书报补贴     数值型            16         2                   否      9   住房补贴     数值型            16         2                   否     10   人数         数值型            10                             否     11   合计         数值型            16         2                   否     12   平均工资     数值型            12         2                   否     13   教龄津贴     数值型            12                             否     14   职务补贴     数值型            12                             否3.3数据库设计一、 系统结构设计本系统各功能模块的实现由Visual FoxPro的工具创建多个表单,通过表单将数据库、表、视图、报表集成起来,用类对它们进行操作。编制程序将表单连接成一个系统。这样为用户提供了良好的用户界面,同时也为编程者减少了程序编制的时间。
 
沈阳市现代科技学校教职工信息管理系统图(4)系统流程图 2、系统结构图:图(5)系统结构图3.4 系统各功能模块设计《沈阳市现代科技学校教职工信息管理系统》共分为五个模块。一、系统维护模块(1)操作员维护模块提供用户登录系统的信息,用来增加、删除、修改操作员的信息。分为管理用户和一般用户。管理用户可以对系统的各个模块进行操作。而一般用户则只能进行查询和打印操作,其它模块不能访问。(2)字典库维护模块提供用户对工资标准表、职务表、工资归靠表、职称表、等级岗位表、单位编码表、职别表、技术补贴表的增减、修改工作。二、数据管理模块(1)人员增加模块提供用户对各类新增人员的基本信息录入功能,用户可以通过字典库来选择录入信息,减少了汉字的录入。如下图:    
(2)人员减少模块提供用户对各类减少人员进行删减工作,用户只需输入要减少人员的姓名,核实后选择减员类别,即可完成减员工作。系统将减少的人员信息从gzbx.dbf中删除,存入gzdel.dbf中,用户可以通过gzdel.dbf查询非在职人员的信息及变动情况。(3)人员调动模块提供用户对日常人员的工资变动、岗位变动、单位变动、专业技术职务变动等操作,确认变动后,系统将对变动前的记录自动保存在gzbd.dbf中,将变动后的记录保存在gzbx.dbf中。用户可以通过查询系统查询人员历次的变动情况。(4)个人修改模块完成用户对单独某个人基本信息的更改工作,即不需要生成变动记录的有关信息可以直接修改保存。(5)批量修改是由用户自行选择修改范围,自行确定修改内容。当用户对多人修改相同内容的操作时,使用本操作。可以提高修改速度,提高工作效率。在进行人员增加、减少、工资变动的同时,系统将变动前后记录保存在bdd.dbf中,此表在每月的变动前由操作员确认清空,然后将本月的变动情况保存在此表中,便于生成变动单提供给财务部门。三、查询统计模块(1)在职人员查询模块提供用户对在职人员的基本信息、工资情况、变动情况查询。(2)非在职人员查询模块提供用户对非在职人员(退休、辞职、除名等减少人员)的基本信息、工资情况、变动情况查询。(3)综合查询模块提供用户自定义条件的查询,为用户提供方便快捷的查询方式。本系统将查询与统计功能结合在一起,用户在查询的同时自动进行统计,结果由用户自行选择浏览或者打印。四、打印模块(1)职工花名册提供用户按单位打印每月的职工名册存档备查。(2)变动单模块提供用户打印当月的人员变动情况,然后将此情况提供给财务部门和相关单位,为其它生成环节提供相关情况。(3)工资汇总台帐模块为用户提供当月各单位所发生的基本工资数额,和人员总数,以及平均工资情况。为统计人员和财务人员提供基础数据。五、退出模块退出本系统 3.5 系统安全性、保密性及优化本系统作为劳动工资管理的重要基础资料,要求数据安全、保密,因此严格限定了用户的访问权限,用户进入本系统必须通过口令确认后方可进入。而进入系统的用户又分为管理用户和一般用户,管理用户可以访问所要模块,一般用户只允许查询统计和打印。为给操作员提高方便快捷的操作环境,系统设计大量的常用信息表,例如:学历、职务、职称、民族等人员常用信息在系统中均以下拉框的方式给出,用户只需根据需要选择单击后,即可完成输入。为避免用户误操作,在修改模块中系统通过使用用函数CURSORSETPROP(“BUFFERING”,NUM)设置了缓冲区,当用户完成修改后,可以通过选择“保存”、“放弃”进行操作。为方便用户在打印报表时根据所使用打印机的不同,用户可自行选择打印设置,在程序中使用了 sys(1037)函数,为用户提供windows提供的“打印设置”对话框。为提高系统的查询统计速度系统采用VFP提供的SQL语句进行查询统计。
 
沈阳市现代科技学校教职工信息管理系统系统的测试与维护在需求分析、概念结构设计的基础上得到的数据库的逻辑结构之后,我们就可以在Visual foxpro6.0数据库中实现该逻辑结构。实现数据库的逻辑结构的主要方式是使用Visual foxpro6.0的项目管理器。4.1系统的测试系统初步编译完成后,为了保证软件的质量和可靠性,在分析、设计等各个开发阶段设计结束前,对系统的功能进行测试,测试是程序的执行人过程,目的在于发现错误。测试信息流                                                             改正软件    软件配置
      测试配置         测试工具部                                         预测的可靠性
一、统计打印的测试 二、查询检测 对于本系统的测试有许多部分,在此就一一介绍了,总之经过对系统的测试,检查出不足,进行改正,使系统更完善。4.2系统的维护对系统进行维护就是要保证系统将在相当长的时间内能够正常的运行,通常需要改正维护、适应性维护、完善性维护和预防性维护。系统的维护需要有专门的人员进行,针对本系统的特点,对系统进行维护的人员应该是特权用户,系统维护员需要有一个分析和理解的过程。一、对操作员信息的维护 二、对字典库的维护 本系统经编制调测后可以正常运行,经人事工资管理专业人员批量录入试验数据,系统设计的各功能模块基本能够完成预期的效果。 第五章  系统的运行、安装和使用说明5.1 应用程序的编译运行Visual FoxPro 6.0带有系统的连编功能,连编是将应用系统设计成一种产品,单击“连编”按钮,选择“连编可执行文件”,按“确定”后,系统就会自动进行编译连接,当连编成功后,就得到了一个可执行文件,如:gzgl.exe。界面的连编实现: 5.2系统安装首次使用安装本系统,请将gzgl.zip文件解压缩到..>gzgl目录下,在gzgl目录下双击gzgl.exe文件直接进入本系统。选择用户“001”,输入密码“0000”进入系统主菜单后进入系统维护,更改操作员密码。请记住您更改后的密码,以便于下一次进入本系统。5.3系统使用说明1、启动用户可直接将系统安装完成后,点gzgl图标(可执行文件)启动工资系统。经过用户密码等级确认,进入主页。2、系统维护使用说明只有特权用户可使用这个单元,对数据库进行维护,包括操作员信息的维护、字典库的维护等。3、数据管理使用说明特权用户和一般用户有权使用这个单元,对增加人员、减少人员、人员信息修改、人员工资修改等。4、统计查询特权用户和一般用户可在这个单元进行在职、非在职人员的查询及综合查询。5、打印输出可在这个单元进行各类职工名册、工资统计等报表的打印。1、当系统提示“不能存取文件时”,可能是前一次运行的系统程序没有从内存清理干净,即先前的程序仍在后台运行。您需要按下Ctrl+Alt+Del调出任务管理器,将前一次运行的程序通过结束任务将它从内存中清理干净。2、当系统提示“.jpg文件不存在时”或“.ico文件不存在时”,请检查本系统文件夹下是否存在“pic”和“wizbmps”文件夹,这两个文件夹是系统表单中图形文件存放的路径,请用户不要随意改动。如不存在请重新安装本系统应用程序
 
教师信息管理系统源程序+系统结构图+数据流程图结  束  语本次设计是对大学四年来所学知识的综合运用,是对学习成果的检验。通过《沈阳市现代科技学校教职工信息管理系统》的设计制作,我对Visual FoxPro 语言有了一个全面、细致的认识,对面向对象的程序设计有了更深入的了解,为今后学习其他面向对象的程序设计语言打下了一个良好的基础。同时对工资管理系统有了更深层的理解。由于时间有限,同时对VFP语言掌握水平有限,《沈阳市现代科技学校教职工信息管理系统》在实际工作应用中还有一些不完善的地方,有些功能还没有实现,随着本系统在实际工作中的应用,我将不断的深入研究VFP语言,逐渐扩展本系统的功能,使其不断完善,争取成为一个真正实用的工资管理系统。再次对在本次设计中给予我帮助的人表示衷心感谢! 致    谢在整个系统的设计过程中,包括题目方向的选择、系统的指导方向、步骤、论文的撰写等工作都是在XXX老师的指导下完成的。由于X老师的认真负责和热心帮助,使我对设计从各个方面都有了深刻的印象,增长了社会经验,为将来更好的工作起了积极的作用。在此特向XXX老师表示感谢!也同样感谢XXX老师为我提供指导,感谢X老师为我提供良好试验环境,感谢校领导的苦心!毕业后,一定会将我院优良作风发扬到实际工作岗位当中,为东大争光,为国家、社会贡献出微薄之力。 参考文献1. 张海藩 《软件工程导论》第三版   清华大学出版社  2000年12月2. 章立民 《visual foxpro6.x程序设计中文版  问题篇》中国铁道出版社1999年12月3. 毛一心《中文版visual foxpro6.0应用及实例集锦》人民邮电出版社 1999年11月4. 蔡伟 刘立志 段海平 范有元 《visual foxpro6.0应用开发实例》人民邮电出版社  1999年10月5. 孟昭光 吴兴兴 高宝禄 董志锋 《中文版visual foxpro6.0使用与实例揭密》  人民邮电出版社  2000年3月6. 吴迪 曲蒙 《visual foxpro6.0中文版函数手册》清华大学出版社 1999年1月7. 李春葆 《中文版visual foxpro6.0高级实例开发指南》 北京希望电脑公司  2000年4月8. 李春葆  《中文版visual foxpro6.0应用设计100例》科学出版社 1999年11月9. 吴迪 曲蒙 《visual foxpro6.0类和对象手册》 清华大学出版社2000年2月
 
毕业答辩稿绪论目前市内中小型学校越来越多,开设的专业也越来越多,而且专业变化也比较大,致使教师所教的科目也经常变化,从而需要的教师要多元化,随着人事制度改革需要经常进行人才的流动。人事管理涉及到新人员的加入,老员工的转出、辞职、退休等,员工基本情况变化要随时更新,因此在管理方式上、管理的难度上也比较大。因此急需系统的、规范的信息管理手段来解决。本着学有所用,我设计开发了教职工信息管理系统。整个系统的设计要具有人性化的特点。A.界面友好、操作简便。B.功能强大、程序流畅。C.一看就懂、拿来就用。一、论文概要1、教职工信息管理系统需求    它掌握着本单位教职工的基本信息情况,负责教职工基本工资的日常变动及新增、减少人员工资标准的确定,掌握教职工的流动方向等情况,为其它工作环节提供准确、迅捷的信息。2、数据库管理系统的特点数据保存、管理、查询、统计一体化、自动化。3、系统概要    本系统是针对中小型学校教职工信息管理工作的实际情况和教育行业工资构成的特点及管理方式研制开发的,它实现了对教职工的日常工资标准确定、人员流动等工作的微机管理,基本实现了办公自动化。本系统采用Visual Foxpro6.0中文版进行程序设计,本系统具有良好的用户界面,操作简单、使用方便,信息查询、统计速度快等特点,使工资管理人员从日常烦琐的手工操作中解脱出来,大大提高了信息的准确程度,提高了工作效率。二、常用关系型数据库系统软件比较分类系统名称 对应操作系统 用户界面开发价格 特    点  Windows Unix   小型数据库FoxPro O¬— O 中 开发界面友好,需要一定的数据库知识,小型用户最适合 ACCESS2000 O — O 中 开发界面友好,简单,用户界面和数据一体化可,个人用户最适合免费数据库系统PostgreSQL O O — 免费 多操作平台对应,免费使用,适用于学习,研究开发
 MySQL O O — 免费 多操作平台对应,免费使用,适用于学习,研究开发
大型数据库系统 ORACLE O O — 高 功能完善,维护工具完备,用户界面和数据库分离可,大型数据库开发用户最广
 DB2 O O — 高 最早的关系型数据库,和ORACLE同样适合大型数据库开发
 SQL/Server O — — 高 功能完善,比ORACLE操作简单,应为对应Windows,推广受到限制,但与微软的开发工具Visual Studio .NET结合良好,今后有可能应用更广泛
三、系统采用Visual Foxpro的理由 1、Visual Foxpro具有友好的,真正面向对象的开发环境 2、Visual Foxpro具有完善数据管理功能3、预测数据量规模 数据表数:约5个以下、数据字典数:15个以下、记录数:200个4、系统安装 用户界面和数据库一体化,EXE执行文件,设备更新,软件升级使用户可独立完成5、系统维护 数据备份,障害恢复手续简单,用户可自行维护,维护费用低开发过程一、企划阶段1、现有系统和用户需求分析教育行业基本工资由职务工资、岗位津贴、提高10%三项构成。职务工资、岗位津贴由教职工职务等级来确定,分为中学高级(又分为1-14级)、中学一级(又分为1-16级)、中学二级(又分为1-16级)和中学三级(又分为1-14级)。提高10%是教育行业的特殊工资为职务工资的10%。本系统将基本工资中的职务工资、岗位津贴分别建立成“表”,当操作员选定员工的职务等级和工资、津贴的档次时,三项工资自动生成。同时将常规信息,如学历情况、职务、职称、民族、政治面貌等信息分别建立“表”,用户操作时只需轻轻一击即可输入,减少了用户对汉字的输入,提高了工作速度。要求系统能够提供详细的教职工基本信息,包括自然条件信息、工资情况、来源、去向、岗位变动情况。能够提供随时查阅在职、非在职人员信息,提供出职工花名册,同时为财务部提供人员变动单及月基本工资汇总情况等。实现管理规范化、科学化,程序代码标准化,软件统一化,确保软件的可维护性和实用性。能够连接各个关联的数据库,获取数据库中的信息,保证各个数据库表格有关项目。实现职工资金的调配,对工资实现批量修改、备份、恢复、扣税功能等,实现人员调动、职工工资信息浏览、职工调动明细等统计功能,实现对银行账户的报盘等功能,并对系统进行实时维护,生成各种新的工资表格等。针对这些要求,系统建立了在职人员基本信息库、在职人员工资变动记录库、非在职人员信息库、变动单库4个主要信息库,同时建立多个字典库。系统根据增减人员、工资变动操作自动生成记录记载变动内容,以便用户查询其变动过程。实现了对员工信息的查询、统计、增减、变动记录、打印相关报表等功能。2、系统软件构成图3、系统数据流分析数据流程图是组织中信息运动的抽象,是管理信息系统逻辑模型的主要形式。它是采用自顶向下逐层扩展的方法,从逻辑上精确的描述系统具有的数据加工,数据存储,数据输入输出及数据来源和去向等功能。人事工资的日常管理包括:增加人员信息的录入、减少人员、人员信息及工资的变动,查询人员信息、输出打印报表等。其系统的数据处理流程图如下:二、设计、开发阶段1、数据库表设计1)基本信息表在职人员基本信息表(GZBX.DBF)、在职人员工资变动记录表(GZBD.DBF)、非在职人员信息表(GZDEL.DBF)、人员变动单表(BDD.DBF)等4个2)字典库操作员信息表(CZYXX.DBF)、岗位津贴标准表(GWLBK.DBF)、职务工资标准表(JNLBDJ.DBF)、职务补贴标准表(JSBTK.DBF)、等级岗位表(DJGWK.DBF)、政治面貌表(DPK.DBF)、单位编码名称表(DWBMMC.DBF)、工资归靠表(GKK.DBF)、减员类别表、民族表、人员来源表、学历表、用工性质表、书报补贴标准表、职别表、职称表等17个3)统计用临时表――用来记录程序统计后的结果打印人员花名册信息表(GZBXTJ.DBF)、工资台帐汇总表、教职工工资变动单等。2、系统功能结构的设计Visual FoxPro应用系统通常由以下几部分组成:数据库(用来存放数据)、主程序(用来设置应用程序的系统环境、执行第一个用户界面和读取事件程序的开始点)、用户界面(表单、工具栏和菜单等)、查询和报表(允许用户检索或输出自己的数据)。在设计数据库的时候,首先要分离那些需要作为单个主体而独立保存的信息,然后告诉Visual FoxPro这些主体之间有何关系,以便在需要时把正确的信息组合在一起。通过将不同的信息分散在不同的表中,可以使数据的组织工作和维护工作更简单,同时也能保证建立的应用程序,其性能具有较高的可塑造性。在系统功能分析的基础上,根据Visual FoxPro 6.0编程特点,按照结构化的系统设计方法,教职工信息管理系统从功能上可做如下的系统结构划分:3、系统结构设计本系统各功能模块的实现由Visual FoxPro的工具创建多个表单,通过表单将数据库、表、视图、报表集成起来,用类对它们进行操作。编制程序将表单连接成一个系统。这样为用户提供了良好的用户界面,同时也为编程者减少了程序编制的时间。系统流程图:4、系统各功能模块设计(系统功能模块构成图)《沈阳市现代科技学校教职工信息管理系统》共分为五个模块。(一)、系统维护模块(1)操作员维护模块提供用户登录系统的信息,用来增加、删除、修改操作员的信息。分为管理用户和一般用户。管理用户可以对系统的各个模块进行操作。而一般用户则只能进行查询和打印操作,其它模块不能访问。(2)字典库维护模块提供用户对工资标准表、职务表、工资归靠表、职称表、等级岗位表、单位编码表、职别表、技术补贴表的增减、修改工作。(二)、数据管理模块(1)人员增加模块提供用户对各类新增人员的基本信息录入功能,用户可以通过字典库来选择录入信息,减少了汉字的录入。如图:(2)人员减少模块提供用户对各类减少人员进行删减工作,用户只需输入要减少人员的姓名,核实后选择减员类别,即可完成减员工作。系统将减少的人员信息从gzbx.dbf中删除,存入gzdel.dbf中,用户可以通过gzdel.dbf查询非在职人员的信息及变动情况。(3)人员调动模块提供用户对日常人员的工资变动、岗位变动、单位变动、专业技术职务变动等操作,确认变动后,系统将对变动前的记录自动保存在gzbd.dbf中,将变动后的记录保存在gzbx.dbf中。用户可以通过查询系统查询人员历次的变动情况。(4)个人修改模块完成用户对单独某个人基本信息的更改工作,即不需要生成变动记录的有关信息可以直接修改保存。(5)批量修改是由用户自行选择修改范围,自行确定修改内容。当用户对多人修改相同内容的操作时,使用本操作。可以提高修改速度,提高工作效率。在进行人员增加、减少、工资变动的同时,系统将变动前后记录保存在bdd.dbf中,此表在每月的变动前由操作员确认清空,然后将本月的变动情况保存在此表中,便于生成变动单提供给财务部门。(三)、查询统计模块(1)在职人员查询模块提供用户对在职人员的基本信息、工资情况、变动情况查询。(2)非在职人员查询模块提供用户对非在职人员(退休、辞职、除名等减少人员)的基本信息、工资情况、变动情况查询。(3)综合查询模块提供用户自定义条件的查询,为用户提供方便快捷的查询方式。本系统将查询与统计功能结合在一起,用户在查询的同时自动进行统计,结果由用户自行选择浏览或者打印。(四)、打印模块(1)职工花名册提供用户按单位打印每月的职工名册存档备查。(2)变动单模块提供用户打印当月的人员变动情况,然后将此情况提供给财务部门和相关单位,为其它生成环节提供相关情况。(3)工资汇总台帐模块为用户提供当月各单位所发生的基本工资数额,和人员总数,以及平均工资情况。为统计人员和财务人员提供基础数据。(五)、退出模块退出本系统 5、表单设计:封面、用户登录、操作员信息维护6、主菜单画面7、数据输入画面例:增加人员。8、报表例:工资汇总台帐。后记1、开发感受 数据库系统的实际应用 人工操作数据化,自动化开发过程  软件开发技术的综合运用2、系统应用效果 操作掌握简单 人事管理效率,安全性,准确性提高3、今后改善点 统计结果图形输出 与其他系统的联动 检索结果,统计信息文件形式输出,编辑•感谢在整个系统的设计过程中,包括题目方向的选择、系统的指导方向、步骤、论文的撰写等工作都是在XXX老师的指导下完成的。由于XXX的认真负责和热心帮助,使我对设计从各个方面都有了深刻的印象,增长了社会经验,为将来更好的工作起了积极的作用。在此特向XXX老师表示感谢!也同样感谢XXX老师为我提供指导,感谢X老师为我提供良好试验环境,感谢校领导的苦心!
  • 上一篇资讯: VB人事管理系统论文
  • 下一篇资讯: 电子邮件客户端软件
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师