VisualFoxPr人事管理系统课程设计o.docx

上传人:小飞机 文档编号:1894406 上传时间:2022-12-24 格式:DOCX 页数:40 大小:987.46KB
返回 下载 相关 举报
VisualFoxPr人事管理系统课程设计o.docx_第1页
第1页 / 共40页
VisualFoxPr人事管理系统课程设计o.docx_第2页
第2页 / 共40页
VisualFoxPr人事管理系统课程设计o.docx_第3页
第3页 / 共40页
VisualFoxPr人事管理系统课程设计o.docx_第4页
第4页 / 共40页
VisualFoxPr人事管理系统课程设计o.docx_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《VisualFoxPr人事管理系统课程设计o.docx》由会员分享,可在线阅读,更多相关《VisualFoxPr人事管理系统课程设计o.docx(40页珍藏版)》请在三一办公上搜索。

1、 课程设计说明书用纸 NO.1人事管理系统课程设计一.设计目的利用计算机进行信息控制和数据处理,不仅提高了工作效率,而且大大的提高了其安全性。六十年代初期,计算机技术就开始应用于数据库的管理,形成了初期的信息系统。我国的信息管理系统是九十年代初开始快速发展的,对信息管理系统的应用比起世界先进水平还相当落后。一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。作为计算机应用的一部分,使用计算机对人事档案信息进行管理,具有手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠

2、性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。人事管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要。因此,开发这样一套管理软件成为很有必要的事情,在下面我将以开发一套人事管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。二.设计方案论证1.设计思路1系统概况人事管理系统的简介人事档案管理系统主要包含职工个人基本情况,家庭情况,社会关系等各方面信息,内容比较庞大复杂。同时还综合考虑档案管理工作的性质,总结归纳出所需实现的功能。主要是为人事档案进行服务,针对人事的变动对

3、人事资料进行的录入、删除、查询、统计等功能。人事管理系统的功能灵活的数据记录编辑功能:可以随时对记录进行增加,修改,更新,删除 沈 阳 大 学 课程设计说明书用纸 NO.2,浏览等编辑操作。强大的数据库表查询功能:便于在实际档案管理操作中对人员情况进行统计查看。具备分级用户权限管理设置.以确保档案的保密性和安全性。具有分类统计功能.使用表或表单显示的功能,该统计表或表单可根据数据库中记录情况的变化而变化。具有较友好的人机界面.各种操作可以在直观的界面上通过人机交互进行。2需求分析系统功能分析人事管理系统的主要任务 是对人事档案进行整理,使得能方便快捷地对人事档案进行查询、统计、更新、并且能按一

4、定要求输出报表。用户登录模块功能图1 沈 阳 大 学 课程设计说明书用纸 NO.3功能:设置使用人事管理系统的用户及其使用权限。 操作:系统启动后,首先要做的就是用户登录。若不登录系统,所有功能都无法使用。用户只有登录系统后,根据其具有的权限,才能执行一定的操作。进入该功能后,要求输入用户的登录名及其口令,只有其登录名和口令完全正确,才能进入人事管理系统。系统会根据为用户分配的权限,设置其对应的功能有效,用户就可操作该功能用户分为管理员、一级用户、二级用户。通常,系统的权限分为三大部分,即:管理权限:设置用户和系统参数输入权限:个人档案输入、家庭成员输入和社会关系输入。查询权限:档案查询、档案

5、统计。根据需要,可以把这些功能分配给不同的员工。管理员具有对系统的最大权限,管理员才可以修改所以用户密码和权限。其他用户不能执行此功能。二级用户对系统有最小权限。每一权限对应系统菜单上的一项功能,可为该用户选择任意的权限整个人事管理系统由多个功能模块组成,不同的模块完成不同的功能,可以为不同的职工分配不同的功能,使其具有不同的权限,完成其权限所对应的功能,从而很好地管理好整个系统。该模块提供管理系统的主界面,是主系统的唯一入口和出口。查询模块功能 功能:对档案卡片的查询功能,包括精确条件查询和模糊条件查询。该模块的主要分为两部分:一是在文本框中输入要查询的字段等;二是用来显示用户进行查询的字段

6、及查询、退出按钮。当查询的条件输入完毕,点击确定按钮,完成该模块的查询功能。会调出另外一个窗口来显示用户所要查询的符合条件的所有员工的资料。根据人事档案中的各字段,选择相应的条件操作符输入相应的值即可进行档案查询。在这里可以查到符合程序要求的任何信息。在这里的选项中输入规定的范围即可查到相关的人事信息。该模块提供查询符合某一条件的人事档案的界面。统计模块功能功能:按规定的要求进行的统计,它可以较详细直观的统计出要求的结果。统计可以详细的按职务按职称、按部门、按学历以数字的形式或者以表的形式显示出来。将单位内所有的人事信息进行全面的统计。 沈 阳 大 学 课程设计说明书用纸 NO.4该模块主要是

7、综合各方面的人数统计;对各部门的人数、各职称的人数、各职位段人数以及学历段人数等的统计并且以报表的形式显示。并且本模块提供重新统计功能,方便在一定时间段内对各项人数的进行更新,保持数据库中数据的即时性2。编辑模块功能档案编辑模块中有3个子模块。他们是档案卡片、家庭成员和社会关系等功能。这些功能因管理员的权限不同所表示出的功能使用也不同,只有管理员才拥有数据修改及删除的权利。在这些功能里详细的记录了所有单位员工的资料。a.档案卡片管理功能:对全部员工的信息进行全局浏览,除了浏览信息的功能外,还有一些基本操作的功能:添加记录,对员工的详细资料进行修改,删除员工记录。 b.家庭成员管理功能:对全部员

8、工的家庭成员信息进行编辑,浏览;实现方法同个人简历功能实现的方法一样。c.社会关系表功能:对全部员工的家庭成员信息进行编辑,浏览;实现方法同个人简历功能实现的方法一样。有些功能普通用户没有此权限。报表模块对数据库数据和文档的输出通常有两种方式:屏幕显示和打印机打印。屏幕显示因为受屏幕的尺寸和不能永久性保存的限制而不能广泛使用,因而通过打印机打印就成为数据库文档输出不可替代的手段。报表就是用户使用打印机输出数据库数据和文档的一种常用的方式。功能:该模块按一定格式和要求以报表形式输出。此模块中有4个子模块。它们是个人档案输出、员工社会关系输出、职工基本信息输出和单位部门名册。操作:在该模块中,可以

9、有两种方式把数据库数据显示出来。在计算机屏幕预览或通过打印机打印作为永久数据保存。 沈 阳 大 学 课程设计说明书用纸 NO.5数据流程图 图22.设计方法1数据库设计概念结构设计E-R图:图3报表用户输出报表表编辑浏览查询统计人事档案简历员工姓名编号社会关系拥有人事档案出生年月关系姓名属于家庭成员出生年月家属姓名 沈 阳 大 学 课程设计说明书用纸 NO.6数据项设计通过需求分析,可确定系统的数据项和数据结构如下:a.人事档案(编号、姓名、性别、出生年月、联系电话、住址、籍贯、文化程度、职称、部门、职务、基本工资、简历)。b.家庭成员(编号、家属姓名、与员工关系、出生年月)。c.社会关系(编

10、号、关系姓名、与员工关系、出生年月)。d.密码表(S1编码、S2操作员、S3密码)逻辑结构设计表1表2表3 沈 阳 大 学 课程设计说明书用纸 NO.7表43建立数据库将以上四表建立VFP6.0数据库中分别得到以下数据库1.人事档案数据库2.家庭成员数据库3.社会关系数据库 沈 阳 大 学 课程设计说明书用纸 NO.84.密码数据库通过以下操作可以将数据库连接起来SELECT 1USE 人事档案.dbfSELECT 2USE 家庭成员.dbfSELECT 3USE 社会关系.dbfSELECT 4USE 密码.dbfSET RELATION TO RECNO() INTO AGO 5? REC

11、ORD()?RECORD(1)SET RELATION TOGOTO TOP?RECORD()?PRCORD(1)USE4详细设计:Windows下Visual FoxPro6.0的程序实现在VFP6.0中,所提供的“项目管理器”和“应用程序生成器”是系统开发人员的强大工具,利用应用程序向导,无需编写任何代码,就可以创建一个项目和一个VFP6.0应用程序框架,简化开发工作。创建主程序“人事管理系统”就是用向导建立的项目和应用程序框架。系统的主程序是自动生成的,为了满足系统需求,对主程序做如下修改:在主文件的首部,添加下面语句: _screen.caption=人事管理系统 沈 阳 大 学 课程

12、设计说明书用纸 NO.9_screen.picture=3.JPG_SCREEN.WINDOWSTATE=2PUBLIC k1,k2,k3,k4,k5,k6,k7,k8,k9,k10,k11,k12,k13,k14,k15,k16 ,k18STOR0TOk1,k2,k3,k4,k5,k6,k7,k8,k9,k10,k11,k12,k13,k14,k15,k16,k18DO FORM 登录表单.SCX其目的是控制系统主菜单,让相应的菜单命令“跳过”是之成为灰色显示而不起作用。当不同权限用户进入系统是在更改这些变量的值,使菜单命令可用。通过这种方法,实现对不同权限的用户赋予不同的操作权限目的。再者

13、就是执行系统登陆表单。退出并保存主程序文件。登录界面的制作过程1.新建一个表单 添加两个按钮,分别为“确认”、“退出”;添加一个组合框和一个文本框,属性设置为:ROWSOURCE,CONTROLSOURCE和DISPLAYVALUE:密码表.S2操作员 ROWSOURCE TYPE :6-字段 STYLE :2-下拉列表框2.表单初始为:public nn=1 “确定”按钮的CLICK代码为: yhm =bo1.valuemm=allt(thisform.text1.value)locate for S2操作员=yhmdo case allt(密码表.S1编码)=00000.and.mm=al

14、lt(密码表.S3密码) messagebox(程序员,你有权修改数据!+chr(13)+请按确定进入,0+48,欢迎进入!) 沈 阳 大 学 课程设计说明书用纸 NO.10store 1 to K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,K13,K14,K15,K16,k18 thisform.releaseDO FORM MAIN case allt(密码表.S1编码)=00001.and.mm=allt(密码表.S3密码) messagebox(普通用户,可以浏览数据!+chr(13)+请按确定进入,0+48,欢迎进入!) store 1 to k6,k

15、7,K8,K9,K10,K11,K12,K13,K14,K15,K16thisform.release case allt(密码表.S1编码)=00002.and.mm=allt(密码表.S3密码) messagebox(普通用户,可以浏览数据!+chr(13)+请按确定进入,0+48,欢迎进入!) store 1 to K6,K7,K9,K10,K11,K12,K13,K14,K15 thisform.release otherwise n=n+1 if n=3 messagebox(口令错误,请重新输入!你还有+allt(str(4-n)+次机会,0+48,口令最多3次) thisform

16、.text1.value= thisform.text1.setfocus else messagebox(,0+48,) quit*thisform.release endif endcase 沈 阳 大 学 课程设计说明书用纸 NO.11图4主界面表单1.建立一个表单.在项目管理器的文档页中选择表单,单击“新建”,弹出表单设计器,设置“Caption”属性“功能选择界面”2.在该表单上添一个“容器”控件“Container1”.“容器”控件是可包含其他控件的空间,并且允许访问被包含控件3.在“Container1”控件上添加六个“按钮”控件.他们的“Caption”属性分别为“浏览”、 “

17、查询”、 “统计”、 “编辑”、 “打印”、 “退出”4.在表单上添加“图象”控件“Image1”,并设置“Stretch”属性为“2Stretch”、“Picture”属性为图片所在位置.5.双击按钮控件可以弹出代码编辑器 浏览 DO FORM LN 查询 DO FORM JMCX 编辑 DO FORM DABJ 统计 DO FORM TJ 打印 DO FORM DADY 退出 THISFORM.RELEASE 沈 阳 大 学 课程设计说明书用纸 NO.126.表单名为”MAIN”图5浏览表单1.新建一个表单, Caption属性为“浏览档案”然后在表单加一个“表格”控件。2.用“表格生成器

18、”为表格设定数据源.右击“表格”控件弹出快捷菜单.选择“生成器”,弹出“表格生成器”对话框。 3.在“数据库和表”中选择“人事管理”数据库,在选“人事档案”表. 单击向左的单箭头,排除“简历”。4.单击“确定”按钮。5.为表单添加按钮控件,“Caption”属性“确定”, 代码为release thisform6.调整后.将表单取名LN图6 沈 阳 大 学 课程设计说明书用纸 NO.13查询表单1. 有项目管理器建一个表单.设置“CAPTION” 属性为“查询”.添加一个选项按钮设置“AUTOSIZE”属性“T.-真”,设置“BOTTONCOUNT”属性为“2”。2.将两个选项按钮的“CAPT

19、ION”属性修改为“按编号查询”和“按姓名查询”;设置“AUTOSIZE”属性“T.-真”,设置”按编号查询”按钮的”VALUE “属性为1。3.在表单中添加一个按钮和一个文本框控件.“Caption”属性改为“开始查询”.这样,当单击“开始查询”按钮时,系统将根据选项按钮的值,即是“按编号查询”还是“按姓名查询”“开始查询“按钮的CLICK 事件代码 select go topif thisform.OPTIONgroup1.value=1 locate for 编号=val(trim(thisform.text1.value)else locate for 姓名=trim(thisform

20、.text1.value)endif thisform.refresh if.not.found() wait window没有找到所要的记录!按任意键或鼠标继续.Endif4. 查到记录显示出来.先右击表单,选择“生成器”命令,或从“表单”菜单选择“快速表单”,弹出“表单生成器”,在“数据库和表”中选择“人事管理”数据库,其下选“人事档案”表.单击向右的双箭头,选所有的字段.5. 为表单添加一个“退出”,“ Caption” 属性为“退出”,其CLICK事件代码 THISFORM.RELEASE 沈 阳 大 学 课程设计说明书用纸 NO.146. 表单名字为CX 保存图7编辑表单dabj表单

21、1.建立一个表单。在项目管理器的文档页中选择表单,单击“新建”,1弹出表单设计器,设置“Caption”属性“档案编辑”。在表单中添加一个Lable1,设置其“Caption”属性“请先选择要更新的档案”,其“Backstyle”属性为“0-透明”。2.在表单中添加“Optiongroup1”其“backstyle”属性为“0-透明”,“Buttoncount”属性为“3”,“Value”值为“1”单击“单选按钮组”选择编辑,3个按钮的“Caption”分别设置为“人事卡片编辑”,“家庭成员表编辑”,“社会关系表编辑”。3.在表单中添加4个按钮 分别为“添加”、“删除”、“修改”、“退出” 代

22、码如下: 添加代码: do case case thisform.optiongroup1.option1.value=1 do form bj case thisform.optiongroup1.option2.value=1 do form jtbj 沈 阳 大 学 课程设计说明书用纸 NO.15case thisform.optiongroup1.option3.value=1do form shehuln endcase 删除代码: do case case thisform.optiongroup1.option1.value=1 do form bj case thisform.

23、optiongroup1.option2.value=1 do form jtbj case thisform.optiongroup1.option3.value=1 do form shehuln endcase 修改代码: do case case thisform.optiongroup1.option1.value=1 do form bj case thisform.optiongroup1.option2.value=1 do form jtbj case thisform.optiongroup1.option3.value=1 do form shehuln endcase4

24、. 保存表单名为dabj.BJ表单1.在项目管理器的文档页中选择表单,单击“新建”,弹出表单设计器,设置“Caption”属性“编辑”, 从“表单”菜单中选择“快速表单”,弹出表单生成器. 在“数据库和表”中选择“人事管理”数据库,其下选“人事档案”表.单击向右的双箭头,选所有的字段. 沈 阳 大 学 课程设计说明书用纸 NO.162.按编辑表单要实现的功能,表单应有“更改”、“新增空记录”、“删除”等记录,还添加 “第一个”、“最后一个”等按钮。“第一个”代码go topwait已到开头window nowaitmand1.enabled=.f.mand2.enabled=.f.mand3.

25、enabled=.t.mand4.enabled=.t.thisform.refresh“前一个”代码skip-1if bof() &假如指针已到开头wait已到开头window nowaitgo topmand1.enabled=.f.mand2.enabled=.f.else &指头还没有指向第一个记录mand1.enabled=.t.mand2.enabled=.t.endifmand3.enabled=.t.mand4.enabled=.t.thisform.refresh“后一个”代码skipmand1.enabled=.t. 沈 阳 大 学 课程设计说明书用纸 NO.17mand2

26、.enabled=.t.if eof() &假如指针已到结尾 wait 已到结尾window nowait go bottommand3.enabled=.f.mand4.enabled=.f.else &指针尚未到结尾mand3.enabled=.t.mand4.enabled=.t.endif &假设结束thisform.refresh“最后一个”代码 go bottomwait已到结尾window nowaitmand1.enabled=.t.mand2.enabled=.t.mand3.enabled=.f.mand4.enabled=.f.thisform.refresh3.编辑时,

27、选择相应的记录,便可以在对应的文本框中进行编辑,然后单击“更改”按钮,编辑的结果会反映到人事档案表4.若要添加一个记录,则先添加“新增空记录”按钮,在相应的文本框中添入数据,然后单击“更改”,记录就会添加到数据库中.若要删除一个记录,选择相应的记录,单击“删除”按钮, 5.为表单添加一个“退出”按钮,以退出编辑表单。 “新增空记录”代码: append blank 沈 阳 大 学 课程设计说明书用纸 NO.18thisform.refresh“更改”代码:result= (.f.)if result=.t. ?chr(7)=messagebox(“修改成功!”,48,”信息窗口”)thisfo

28、rm.refreshendif“删除”代码:use 人事档案if messageBOX(确实要删除记录吗?,1+64+256,提示)=1 delete pack thisform.refresh else thisform.refresh endif6.保存表单取名 BJ图8 沈 阳 大 学 课程设计说明书用纸 NO.19统计程序tj表单1.新建一个表单“统计”添加一个按钮组4个按钮2.四个按钮为“统计职务”、“统计部门”、“统计职称”、“统计文化程度”在右边添加一个“图象”空间,并设“STRETCH”属性为”2-STRETCH”,”PICTURE”属性所在位置 “统计职务”代码 wait w

29、indow 正在统计。 timeout 2report form tjzw environment preview *调用一个报表 “统计部门”代码 DO form tjbmRELEASE THISFORM“统计职称”代码Do form tjzcRELEASE THISFORM“统计文化程度”代码wait window 正在统计。 timeout 2report form tjwh environment preview *调用一个报表 tjzc表单设计如下: 这一表单主要统计了两个方面的数据:一是总人数、男职工、女职工的人数,另一方面是统计各类职称的教师人数。1.创建新表单,在表单中添加一个

30、标签Label1,设置起标题为“统计职称”,再添加两个容器控件Container1,Container2,设置它们的SpecialEffect属性值为:“1-凹下”。2编辑容器控件Container1,添加三个标签,caption属性分别设置为“职工总人数”、“男性人数”、“女性人数”,再添加三个文本框控件用来显示统计结果,分别把他们的Read Only设置为真。 沈 阳 大 学 课程设计说明书用纸 NO.203同理,编辑容器控件Container2,添加四个标签,caption属性分别设置为“教授”、“副教授”、“讲师”、“助教”,再添加四个文本框控件用来显示统计结果,分别把他们的Read

31、Only设置为真。4编辑表单的初始化事件(Init Event)程序代码为 private js,ja,jq,zc1,zc2,zc3,zc4use 人事档案count to jsthisform.container1.text1.value=jscount for 性别=男 to jathisform.container1.text2.value=jacount for 性别 =女 to jqthisform.container1.text3.value=jqcount for 职称=教授 to zc1thisform.container2.text1.value=zc1count for 职

32、称=副教授 to zc2thisform.container2.text2.value=zc2count for 职称=讲师 to zc3thisform.container2.text3.value=zc3count for 职称=助教 to zc4thisform.container2.text4.value=zc4图9 沈 阳 大 学 课程设计说明书用纸 NO.21报表设计创建报表rj是一对多报表,数据源为数据表“人事档案”和“家庭成员”。制作过程:1 利用“项目管理器”里的“一对多报表向导”,按确定按钮,进入“一对多报表向导”步骤1窗口:从父表选择字段。2 在“数据库和表”列表框中选择

33、要输出的数据表“人事档案”做为父表,然后在“可用字段”列表中选择要输出的字段。单击“下一步”进入步骤2窗口“从子表选择字段”,先在“数据库和表”列表框中选择要输出的数据表“家庭成员”作为子表,在“可用字段”列表框中选择要输出的字3 段。4 数据表“人事档案”和“家庭成员”事先已经建立索引。因而在步骤3窗口中,两个表选取匹配的字段“编号”。5 单击“下一步”进入步骤4:排序记录。再“下一步”进入步骤5:选择报表样式,选择一个报表样式,输出方向可以根据需要选择纵向或横向。单击“下一步”进入步骤6窗口:完成。在步骤6中可以输入表的标题,可单击“预览”按钮进行预览,不满意时有单击“上一步”来逐步返回进

34、行修改:最后,选择适当选项后单击“完成”按钮,则一个新的报表建立。 沈 阳 大 学 课程设计说明书用纸 NO.22表5主菜单设计菜单的设计从一开始就是为了方便用户界面的使用。在以往的DOS界面里,程序员为了编写一个自己的菜单系统,往往要花费大量的时间和精力。现在,有了可视化的编程工具,WINDOWS用户界面已经越来越来趋于简单化,其结果是只要了解一些最基本的工具,在加上简单的代码,用户就完全可以编写自己的操作界面。今天,尽管WINDOWS的各种快捷工具越来越起着重要的作用,但是菜单作为一种方便地操作方式,起作用仍然是不可替代的。使用Visual FoxPro 6.0的“菜单设计器”可以把用户的

35、任务和操作组织起来,并放入合乎逻辑的菜单组。菜单设计提高了Visual FoxPro 6.0应用程序能力3。以下给出主菜单系统参数设置:主菜单中三个过程文件程序代码如下:a.系统初始化的过程代码: 沈 阳 大 学 课程设计说明书用纸 NO.23SET SAFETY OFFCLOSE DATABASEA=MESSAGEBOX(系统记录将被清空,你真的这样做?!,4+16+256,系统警告)IF A=4 USE 人事档案 ZAP USE 家庭成员 ZAP USE 社会关系 ZAPENDIFUSEb.系统备份的过程代码:CLOSE DATABASEA=MESSAGEBOX(请把备份盘插入软驱!,4+64+256,提示信息)USE 人事档案IF A=4COPY TO A:人事档案.DBF USE 家庭成员 COPY TO A:家庭成员.DBF USE 社会关系 COPY TO A:社会关系.DBFENDIF USEb.系统恢复的过程代码:SET SAFETY OFF

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号