人事管理信息系统毕业设计论文.docx
《人事管理信息系统毕业设计论文.docx》由会员分享,可在线阅读,更多相关《人事管理信息系统毕业设计论文.docx(58页珍藏版)》请在冰豆网上搜索。
![人事管理信息系统毕业设计论文.docx](https://file1.bdocx.com/fileroot1/2023-1/28/3bee7811-590f-45c0-a0fe-808533837215/3bee7811-590f-45c0-a0fe-8085338372151.gif)
人事管理信息系统毕业设计论文
人事管理信息系统
序言
毕业设计是学生即将完成学业的最后一个重要环节,它既是对学校所学知识的全面总结和综合应用,又为今后走向社会的实际操作应用铸就了一个良好的开端。
毕业设计是作者对所学知识理论的检验与总结,能够培养和提高设计者独立分析问题和解决问题的能力,使学生学习并掌握科学研究、工程设计和撰写技术报告的基本方法。
毕业设计主要涉及科研、技术设备的革新、改造等方面,强调设计的独创性和实用性。
要求具备清晰的设计思路,具体的设计方案和步骤,准确的设计参数和计算分析,同时毕业设计也要求逻辑性强,条理清楚,语言精练。
优秀的毕业设计可以使作者的设计思路和创新理念得到很好的展现,充分体现设计者对知识掌握和运用的熟练程度,也使设计方案能够推广应用。
目前市面上己有大量的通用管理软件流行,但由于人事档案管理的项目繁多,各单位对于人事档案的管理需求又各不相同,所以通用的管理软件很难满足具体得人事档案管理的要求,因此针对于各单位的实际需求而开发的软件成为了此问题的可行并且有效的解决方案。
我们开发的流动人员人事档案管理系统正是针对于人才流动这一特点,在开发过程中,根据具体的要求和问题,我们力求做到能够解决目前在系统管理中存在的问题和提出的要求,也为他们考虑将来可能提出或用到的功能。
下面先介绍一下本系统的开发环境:
VF6.0是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。
它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。
在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
VisualFoxPro6.0中文版工具软件简介
VF经过微软公司长期不断的完善、第三方资源的大量加入以及广大爱好者的大力支持,VisualFoxPro6.0已经成为功能强大、使用人数众多的主流编程工具。
它提供了向导自动生成代码,支持拖放技术、属性检查、实时语法检查等内置自动化技术,大大降低了编写代码的工作量,同时它还提供了极其丰富的控件,使得VF6.0成为最简捷、最有效的开发Windows应用程序工具。
随着网络技术的不断发展,VF6.0的应用范围已从开发单机软件发展的开发网上分布式应用软件。
VF6.0不但受到广大初、中级计算机爱好者的欢迎,也越来越受到高级程序员的欢迎。
本系统的设计是在Windows98中文版操作系统环境下,使用VF6.0中文版开发成功的。
数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言介绍如下:
总的来说,VF6.0具有以下特点:
可视化编程:
用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。
如果对界面的效果不满意,还要回到程序中修改。
有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。
VF6.0提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。
只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。
VF6.0自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。
面向对象的程序设计
4.0版以后的VF6.0支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C++)不完全相同。
在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而VF6.0则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。
在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,VisualBasic自动生成对象的程序代码并封装起来。
每个对象以图形方式显示在界面上,都是可视的。
结构化程序设计语言
VF6.0具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。
VisualBasic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。
VF6.0是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。
在设计VF6.0程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离VF6.0环境,直接在Windows环境下运行。
事件驱动编程机制
VF6.0通过事件来执行对象的操作。
一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。
例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击“(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。
在用VF6.0设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。
这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。
访问数据库
VF6.0具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理MicrosoftAccess格式的数据库,并提供了强大的数据存储和检索功能。
同时,VF还能直接编辑和访问其他外部数据库,如dBASE,FoxPro,Paradox等,这些数据库格式都可以用VF编辑和处理。
VF提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQLServer,Oracle等。
在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。
动态数据交换(DDE)
利用动态数据交换(DynamicDataExchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条动态数据链路。
当原始数据变化时,可以自动更新链接的数据。
VF提供了动态数据交换的编程技术,可以在应用程序中与其他Windows应用程序建立动态数据交换,在不同的应用程序之间进行通信。
对象的链接与嵌入(OLE)
对象的链接与嵌入(OLE)将每个应用程序都看做是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。
OLE技术是Microsoft公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看做是一个对象进行链接和嵌入,是一种应用程序一体化的技术。
利用OLE技术,可以方便地建立复合式文档(compounddocument),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。
动态链接库(DLL)
VF是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。
但它可以通过动态链接库技术将C/C++或汇编语言编写的程序加入到VF应用程序中,可以像调用内部函数一样调用其他语言编写的函数。
此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能。
人事管理信息系统功能特点
·通用性好,信息标准化
将人员不同类别的信息分成人员基本信息和子集信息,使信息的存放规范,从而提高了系统的整体效率。
人员的基本信息是描述人员情况的最基本的信息,这类信息对于每个人来说是唯一的,如出生日期、姓名、性别等。
人员子集信息是描述人员情况的辅助信息,对于每个人来说这类信息也许是一条、多条、也可能没有,如学历、出国记录等信息。
系统按照国家人事部的信息系统标准提供41个子集,用户可选择建立,也可选择增加。
总之,指标集的数据格式由用户组织,用户可以根据本单位的需要在初期系统重构时,建立自己的指标集。
·灵活、快速的检索查询。
对人员、单位信息可以按多种条件组合查询,并且支持区间查询和模糊查询。
用户可根据需要设置查询条件(可以根据一个或多个条件进行单一或复合查询,支持区间、模糊、二次查询),经过对登录用户的权限进行校验,将满足查询条件且在用户可查询范围内的人员信息输出。
·图文并茂的用户界面。
日常的人员信息登记,包括人员的属性信息和照片信息等多种手段。
在查询人员信息数据的同时,可以查看人员照片。
在统计报表生成的同时,可以查看数据分析图,直观形象,并且数据和图象均可以打印输出。
·方便的制作报表,与EXCEL兼容。
采用同MSEXCEL兼容的报表处理机制(使用OCX),所有报表、花名册都可以直接输出成EXCEL电子表格文件,可转载。
制作各种各样的表格是人事工作者的日常工作,本系统的制表方式十分直观,用户可以随心所欲地在屏幕上画表,定义表格中所需的指标,系统可以直接取出数据库内的信息,自动填写各个表格,并且可填写子集多条信息和照片。
·严格的安全机制。
信息查询时严格按照权限的定义,进行严密的资格审查,保证数据可靠安全。
·系统构造合理、整体效率高,可应用于大型数据库,提供分布式解决方案。
本系统对数据库的支持好,可连接任意的后台数据库(Informix,Sybase,Oracle,SQLServer等)。
数据库的接口灵活,可选用嵌入式方式,ODBC方式等。
选用不同的方式,查询效率会有所区别。
提供多服务器分布式管理解决方案,通过分布式方案,数据可以分布在局域网或则是广域网的多个服务器上,通过上报和下发来进行数据交换,适用于地域广、分布散的机构。
系统功能分析
1.密码设置:
每个操作员都有自己的密码,可以防止非本系统的人员进入本系统;有因每个人的权限不一样,故可以防止越权操作。
2.权限设置:
设置每个人的权限,使个人有个人的操作范围,不能超出自己的范围操作。
一般只有负责人可以进行权限设置。
3.初始化:
将计算机中保留的上一次操作的结果清除。
以备从新查询、更新、统计、输出等功能的执行。
4.档案更新:
为了存放职工人事档案的全部数据,本系统将每一名职工的档案分为人事卡片、家庭成员和社会关系分别存放。
档案更新包括对各种表的记录修改、删除、添加等操作。
5.档案查询:
可以按姓名、部门或任意条件查询个人和一部分人的情况。
6.档案统计:
包括统计文化程度、技术职务、政治面貌、年龄、工资等。
7.档案输出:
可以输出个人档案,全体档案,人事卡片,单位名册、团员名次到屏幕或打印机上。
8.其他操作:
包括修改密码、设置权限等。
9.退出:
可以存盘退出或直接退出。
数据流图
系统的实现
本系统中所涉及到的主要实体共有四个数据表:
人事卡表:
cards表:
{员工卡号、所属部门、姓名、性别、现任职务、出生年月、民族、籍贯、政治面貌、职称、文化程度、健康状况、家庭出身、本人成分、婚姻状况、参加工作时间、进单位时间、工资、各类补贴、家庭住址、年龄、备注、部门编号}
家庭成员表:
jtcyb表:
{员工卡号、部门、姓名、成员姓名、与本人关系、出生年月、婚姻状况、文化程度、政治面貌、工作单位、职务工种、工资、经济来源}
社会关系表:
chgx表:
{员工卡号、部门、姓名、关系姓名、与本人关系、政治面貌、工作单位、职务工种、备注}
密码校验表:
yhmmxyb表:
{用户名、用户密码、权限等级}
3.2.2各表的物理结构如下:
表:
字段名称
类型
宽度
小数位
用户名
文本
20
密码
文本
30
表:
字段名称
类型
宽度
小数位
员工卡号
文本
10
部门
文本
50
姓名
文本
16
性别
文本
20
现任职务
单精度型数字
自动
表:
字段名称
类型
宽度
小数位
员工卡号
文本
16
部门
文本
20
姓名
文本
5
成员姓名
文本
8
与本人关系
文本
16
政治面貌
文本
8
备注
备注
表:
字段名称
类型
宽度
小数位
员工卡号
文本
16
部门
文本
12
姓名
文本
8
政治面貌
文本
50
与本人关系
文本
20
系统的功能
本部分主要内容为本系统的运行界面以及主要界面的源代码。
系统登陆界面:
本界面的主要功能是为了对系统进行安全性管理,本系统的用户名和密码保存在USE表中,本系统根据不同的用户而设置了不同的权限,可以为用户名和密码来登陆本系统
clearscreen
clearevents
*hidewindowscreen
*activatewindow'welcome'
opendatabasestudent.dbc
*hidewindowscreen
doformwelcome
_screen.left=-10000
readevents
closedatabase
系统主界面:
本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,共有6个功能菜单和19个子菜单(功能模块),从而实现了本系统从班级管理、档案管理、缴费管理、课程管理、成绩管理等系统的具体功能,同时,在系统管理模块中可以完成对本系统的安全性管理。
图,3--2
seleadminer
useadminer
cx=alltrim(thisform.text1.value)
cy=alltrim(thisform.text2.value)
setorderto用户名
seekcx
ifalltrim(adminer.用户名)!
=cx
cMessageTitle='管理系统'
cMessageText='用户名错误,请重新输入'
nDialogType=4+32
nAnswer=messagebox(cMessageText,nDialogType,cMessageTitle)
docase
casenAnswer=6
thisform.text1.value=''
thisform.text1.setfocus
casenAnswer=7
cMessageTitle='管理系统'
cMessageText='不要乱来'
messagebox(cMessageText,nDialogType,cMessageTitle)
thisform.release
endcase
else
ifalltrim(adminer.密码)!
=cy
cMessageTitle='管理系统'
cMessageText='密码错误,请重新输入'
nDialogType=4+32
nanswer=messagebox(cMessageText,nDialogType,cMessageTitle)
docase
casenAnswer=6
thisform.text2.value=''
thisform.text2.setfocus
casenAnswer=7
cMessageTitle='管理系统'
cMessageText='不要乱来'
messagebox(cMessageText,nDialogType,cMessageTitle)
thisform.release
endcase
else
thisform.release
docase
casetablesc=1
doformdeptstu
casetablesc=2
doformweihu
endcase
endif
endif
skip-1
ifbof()
messagebox("已是第一个记录",48,"信息窗口")
mand1.enabled=.f.
mand2.enabled=.f.
skip
else
mand1.enabled=.t.
mand2.enabled=.t.
endif
mand3.enabled=.t.
mand4.enabled=.t.
thisform.refresh
gototop
mand1.enabled=.f.
mand3.enabled=.t.
mand4.enabled=.t.
thisform.refresh
skip
ifeof()
messagebox("已是最后一条记录",48,"信息窗口")
skip-1
mand3.enabled=.f.
mand4.enabled=.f.
else
mand3.enabled=.t.
mand4.enabled=.t.
endif
mand1.enabled=.t.
mand2.enabled=.t.
thisform.refresh
gotobottom
mand3.enabled=.f.
mand1.enabled=.t.
mand2.enabled=.t.
thisform.refresh
选择界面:
docase
caserank='1'
mand3.enabled=.f.
caserank='2'
mand3.enabled=.t.
endcase
CLEAR
SETDEVICETOSCREEN
SETTALKOFF
H=0
@H+1,15say'职工政治面貌统计表'FONT'隶书',14
@H+3,25SAY'数字截止时间'
NMD=DTOC(DATE())
N=2000+VAL(SUBSTR(NMD,7,2))
M=VAL(SUBSTR(NMD,1,2))
D=VAL(SUBSTR(NMD,4,2))
@H+3,45SAYSTR(N,4)+'年'+STR(M,2)+'月'+STR(D,2)+'日'
@H+4,1SAY'-----------------------------------------------------------------------------'
@H+5,1SAY'|||中共党员|中共|中共|'
@H+6,1SAY'|类别|计|-----------------------------------|||'
@H+7,1SAY'|||汉族|少数民族|男|女|党员|团员|'
@H+8,1SAY'|--------------|-------|-------|------------|-------|-------|--------|--------|'
H=H+9
I=1
J=1
STORE0TOM11,M22,M33,M44,M55,M66,M77
STORE0TOM1,M2,M3,M4,M5,M6,M7
USEcards
DOWHILEI<7
DW=suBSTR("营销处公关处通讯信号自动化后勤",j,8)
COUNTALLFORPOLITY='党员'.AND.dep_id=ITOM4
COUNTALLFORPOLITY='团员'.AND.dep_ID=ITOM5
COUNTALLFORPOLITY='党员'.AND.RACIAL='汉'.AND.dep_ID=ITOM2
COUNTALLFORPOLITY='党员'.AND.RACIAL<>'汉'.AND.dep_ID=ITOM3
COUNTALLFORPOLITY='党员'.AND.SEX='男'.AND.dep_ID=ITOM6
COUNTALLFORPOLITY='党员'.AND.SEX='女'.AND.dep_ID=ITOM7
STOREM4+M5TOM1
STOREM1+M11TOM11
STOREM2+M22TOM22
STOREM3+M33TOM33
STOREM4+M44TOM44
STOREM5+M55TOM55
STOREM6+M66TOM66
STOREM7+M77TOM77
@H,1SAY'|&DW'
@H,13SAY'|'+STR(M1,4)
@H,19SAY'|'+STR(M2,3)
@H,25SAY'|'+STR(M3,3)
@H,35SAY'|'+STR(M6,3)
@H,41SAY'|'+STR(M7,3)
@H,47SAY'|'+STR(M4,3)
@H,53SAY'|'+STR(M5,3)
@H,59SAY'|'
STOREH+1TOH
I=I+1
J=J+8
@H,1SAY'|--------------|-------|-------|------------|-------|-------|--------|--------|'
H=H+1
ENDDO
@H,1SAY'|合计'
@H,13SAY'|'+STR(M11,4)
@H,19SAY'|'+STR(M22,3)
@H,25SAY'|'+STR(M33,3)
@H,35SAY'|'+STR(M66,3)
@H,41SAY'|'+STR(M77,3)
@H,47SAY'|'+STR(M44,3)
@H,53SAY'|'+STR(M55,3)
@H,59SAY'|'
@H+1,1SAY'--------------------------------------------------------------------