人事档案管理系统Word文档格式.docx
《人事档案管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《人事档案管理系统Word文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
3.3.7统计功能的设计
3.3.8档案输出的设计
3.4系统的编译与发行
3.4.1设置主文件
3.4.2构造主程序
3.4.3连编应用程序系统
设计小结
参考文献
1.1现行系统的分析
现行系统的分析,主要是手工填写数据,介质主要是纸,从管理开始到结束都是人工管理,尤其是其处理的数据量较大。
基于以上分析,故开发系统来管理整个流程是必要的,也是必须的。
1.2拟定项目名称
人事档案管理系统。
1.3制定项目功能
企事业个人、部门信息录入及系统初始设置主要用于完成个人、部门信息前期管理工作。
系统维护、报表输出、数据统计、数据查询等模块共同完成人事档案管理流程中的数据库维护和数据的查询、统计、打印等各项功能。
1.4拟定项目追求目标
(1)界面设计良好,体现人本主义原则。
(2)系统效率较高、灵活方便、快捷迅速,适用于大量数据。
(3)采用动态链接。
1.5系统数据流程图
人事档案管理系统
用户
一旦把数据基于计算机系统实现,就要分配各个系统元素,建立起一个模型,用于表达系统元素之间的相互关系。
为了开发系统模型,系统流程图能为以后的设计奠定基础。
图1.1所示为人事管理顶层图,图1.2所示为人事管理层图。
查询结果
统计要求
用户设置
表单维护
统计结果
查询要求
图1.1人事管理顶层
打印
图1.2人事管理层
本系统是针对人事管理过程中大量繁杂数据的处理,而开发的基于Windows操作平台的人事管理系统,该系统利用了计算机关系数据库技术和UML设计思想,主要用于学校、企事业单位的人事管理。
本系统在技术上的可操作性较强,基本上无技术上的难度很大的算法和设计,在人员及社会方面,由于其人机界面的人性化设计,在线帮助系统和导航系统的辅助,且在目前这些单位人员的实际计算机错做水平条件下是无任何障碍的。
2.3人事管理系统的技术关键
本系统设计简单,操作灵活方便。
第三章人事管理系统的设计分析
3.1总统设计
3.1.1系统模块功能划分
(1)密码设置:
每个操作员均有自己的密码,可以防止非本系统人员进入本系统;
又因每个人的权限不一致,故可以防止越权操作。
(2)数据维护:
将计算机中保留的上一次操作后的结果清除。
以备重新查询、更新、统计、输出等功能的执行。
(3)档案更新:
为了保存职工人事档案的全部数据,本系统将每一名职工的档案分为人事卡片、家庭成员和社会关系分别存档。
档案更新包括对各种表的记录修改、删除、添加等功能。
(4)档案查询:
可以按姓名、部门或任意条件查询个人和一部分人的情况。
(5)档案统计:
包括统计文化程度、技术职务、政治面貌、年龄、工资等。
(6)档案输出:
可以输出个人档案、全体档案、人事卡片、单位名册、团员名次到屏幕或打印机上。
(7)退出。
在系统功能分析的基础上,得到如图所示的系统组织结构图及系统功能模块图。
档案维护
档案查询
档案浏览
退出
其他操作
档案输出
档案统计
图1.3系统组织结构图
部分系统功能模块图所示
统计工资
统计民族婚姻
统计政治面貌
统计技术职称
统计文化程度
统计年龄
图1.4档案统计
维护社会关系
维护家庭成员
维护人事档案
图1.5档案维护
该模块的主要功能是当用户启动人事档案管理系统时显示一个友好界面。
在程序进入开始界面运行后的一段时间内单击就进入输入密码表单,否则进入修改密码表单,只有当输入了正确的密码后才能进入本系统。
下图为总体界面框图。
欢迎界面
修改密码
输入密码
主界面
图1.6总体界面框图
进行数据库设计的首要任务是考虑信息需求,也就是数据库要存入什么样的数据。
当然,创建数据库并非仅仅为了存储数据,更主要的目的是从中提取有用信息。
人事档案管理可由人事卡、家庭成员、社会关系的感方面实体组成。
其中各数据结构如下:
人事卡片(员工号、部门、姓名、性别、职务、出生年月、民族、籍贯、政治面貌、职称、文化程度、健康否、家庭出身、本人成分、婚姻状况、参加工作时间、进单位时间、工资、各种补贴、家庭住址、年龄、备注部门号)。
家庭成员(员工号、部门、姓名、家属姓名、与员工关系、出生年月、婚姻状况、政治面貌、文化程度、工作单位、工资、备注)。
社会关系(员工号、部门、姓名、关系姓名、与员工关系、出生年月、政治面貌、文化程度、工作单位、备注)。
用户密码表(用户名、用户密码、权限等级)。
通过以上数据,人事卡对家庭成员是一对多的感谢,因为一个职工可以有多个家庭成员;
人事卡对社会关系是一对多的关系,因为一个职工可以有多种社会关系。
有了这些关系,可以使用实体模型描述人事档案管理,如图所示:
1
社会关系
N
人事卡
M
家庭成员
图1.7各实体模型
3.2.2数据库概念结构设计
这一设计阶段是在需求分析的基础上,设计出能够满许用户需求的各种实体,以及它们之间的关系,为后面的逻辑设计打基础。
本系统根据上面的设计规划出实体和实体之间的E-R图
部门
姓名
备注
员工号
、
拥有
属于
职务
、、、
经济来源
图1.8人事实体E-R图
3.3.3数据库逻辑结构设计
需要将上面的数据库概念转化为VisualFoxpro数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
人事档案管理系统数据库中各个表格的设计结果见如下表,每个表格在数据库中是一个有关联的表。
表1-1人事档案表
字段
字段名
数据类型
宽度
小数位
索引
NULL
字符型
6
主索引
否
2
10
3
性别
4
出生年月
日期型
8
5
民族
籍贯
7
政治面貌
文化程度
9
职称
11
工别
12
基本工资
数值型
13
家庭住址
30
14
简历
35
15
部门编号
16
年龄
表1-2家庭关系表
普通索引
员工姓名
成员姓名
与本人关系
工作单位
表1-3社会关系表
表1-4用户密码表
说明
XLF
字符型(10)
合法用户名
MM
字符型(6)
用户密码
权限等级
字符型(810)
在概念设计的基础上得到数据库的逻辑结构之后,就可以在VisualFoxpro数据库系统中实现该系统。
1、建立项目管理器
为提高软件开发和维护的效率,可使用项目管理器设计一个应用系统,用于跟踪创建应用程序所需要的所有程序、表单、菜单、库、报表等和一些其他类型的文件。
项目管理器建立好之后,就可以建立人事管理系统所需要的表和数据了。
如本系统将建立人事档案表、家庭成员表等。
要创建表,一般要先创建数据库,在VisualFoxpro中可以使用数据库来组织和关联这些表。
通过数据库,可以创建表和表之间的持久关系和存储过程、建立字段和记录的有效性规则、设置字段默认值等。
此外,还可以利用参照完整性来帮助用户维护数据库中相关表中记录的一致性等。
2、建立数据库
单击项目中的数据库,打开数据库设计器,为数据库添加3个数据表,并分别为它们建立相应的索引,在各个表之间产生相应的关系,使表与表之间产生永久性关系,为系统提高快速查询奠定基础。
数据库的设计如图所示。
数据库设计器——人事数据
字段:
婚姻状况
索引:
人事表家庭成员
关系姓名
字段:
员工号
部门
姓名
性别
职务
出生年月
民族
籍贯
政治面貌
职称
文化程度
健康否
婚姻状况
工作时间
进本单位时间
工资
家庭住址
年龄
索引:
图1-6人事管理数据库
各功能模块具体是指各种表单的详细设计。
表单的设置和制作在本系统中占了重要地位,它是用户操作接触的感观界面,也是用户操作的对象,用户对系统的使用与管理几乎都是通过表单进行的。
在使用表单设计器制作表单时所需做的是:
(1)根据所需的内容向表单添加控件对象和类。
(2)设置各控件对象所需的各项属性,包括数据环境及其属性。
(3)在所需对象的事件中编写程序代码,来实现各对象所要求的功能。
(4)根据需要在表单中添加新属性和新方法。
根据系统需要按其功能模块确定所需设计的表单,每项功能对应一个表单和多个表单来完成。
本系统功能模块所需的表单有:
主界面表单、登录表单、浏览表单、查询表单、维护表单等。
1、开始界面
开始界面如图所示:
人事档案信息管理系统
2008-4-17
制作人:
薛立芬
进入系统
步骤:
(1)新建一个表单;
(2)添加三个标签控件,Caption属性分别为:
人事档案信息管理系统、2008-4-17、制作人:
薛立芬;
(3)添加两个命令按钮,Caption属性分别为:
进入系统、退出;
定义[进入系统]控件的[Click]事件代码:
Doform系统登录.scx
Releasethisform
2、登录界面
登录界面如图所示:
确定
Combo1
操作员:
密码:
取消
Text2
人事档案信息管理系统、操作员、密码;
(3)添加一个组合框,RowSource为“薛立芬、韩建建、徐泰山“,RowSourceType为”1-值”;
(4)添加一个文本框,PassWordChar为“*”;
(3)添加三个命令按钮,Caption属性分别为:
确定、取消、退出;
定义[确定]控件的[Click]事件代码:
Use密码表.dbf
LocateforXLF=alltrim(bo1.value)
Iffound()andMM=alltrim(thisform.text2.value)
Doform功能选择.scx
Else
Ifthisform.MM=!
alltrim(thisform.text2.value)
=messagebox(“操作员密码错误!
”+chr(13)+”再试一次!
”,48,”警告”)
Thisform.text2.setfocus
=messagebox(“对不起,你已经错了三次了!
”+chr(13)+”非法用户,请你退出系统!
”,48,”严重警告”)
Closeall
Quit
人事档案管理系统由许多的数据表、表单、报表、查询等对象构成。
使用系统主菜单可以方便地将它们构成一个完整的系统。
一般地应按照系统需求完成任务的性质、要求及用户处理问题的习惯,分层次地根据使用的各种对象设计菜单结果,人事档案管理系统菜单如下:
人事档案管理菜单系统
数据浏览数据查询数据统计数据维护报表输出退出系统
该菜单系统由一个条形菜单和6个下拉菜单组成的,6个下拉菜单分别调用自己的表单,退出一项是过程菜单项。
(1)新建一个表单;
(2)添加一个按钮组,按钮数目设置为4;
Caption属性分别为:
第一个、上一个、下一个、最后一个;
定义[上一个]控件的[Click]事件代码:
Skip-1
Ifbof()
Messagebox(“已经是第一个记录”,48,”信息窗口”)
Tmand1.enabled=.f.
Tmand2.enabled=.f.
Skip
Else
Tmand1.enabled=.t.
Tmand2.enabled=.t.
Thisform.refresh
定义[第一个]控件的[Click]事件代码:
Gotop
Tmand4.enabled=.t.
Tmand3.enabled=.t.
定义[下一个]控件的[Click]事件代码:
Skip
Messagebox(“已经是最后一个记录”,48,”信息窗口”)
Tmand3.enabled=.f.
Tmand4.enabled=.f.
Elseif
定义[最后一个]控件的[Click]事件代码:
浏览表单
浏览家庭成员
浏览人事档案
退出
关系浏览
(1)建立一个表单,Caption属性为:
浏览表单;
(2)添加四个命令按钮控件,Caption属性分别为:
浏览人事档案、浏览家庭成员、关系浏览和退出;
(3)单击右键,选择数据环境,添加人事表和家庭成员表
定义[Command1]控件的[Click]事件代码:
Use人事表.dbf
Browall
定义[Command2]控件的[Click]事件代码:
Use家庭成员.dbf
定义[Command3]控件的[Click]事件代码:
Use关系浏览.scx
定义[Command4]控件的[Click]事件代码:
人事查询
浏览字段设定
浏览全局
人事卡片编辑
员工号民族婚姻状况
部门籍贯工作时间
姓名政治面貌进单位时间
性别职称工资
职务文化程度家庭住址
出生年月健康状况年龄
最后一个
第一个
下一个
上一个
备注
显示查询条件
清除查询条件
查询
输入查询条件
(1)建立一个表单,设置Caption属性为:
人事查询;
(2)表单上建立控件[PageFramel],设置PageCount属性为3;
(3)设定控件[PageFrame]中的3个[Page]页的[Caption]属性分别为:
人事卡片编辑、浏览字段设定和全局浏览;
(4)在控件[PageFrame]的[Page1]页中添加19个[label]控件、19个[text]控件和一组命令按钮,分别修改其[Captio]属性;
(5)在控件[PageFrame]的[Page2]页中添加19个[Check]控件,Value值全部为1默认状态为选中;
(6)在控件[PageFrame]的[Page3]页中添加1个[Gird];
(7)在表单[人事查询]中添加5个[Command]控件,其[Captio]属性分别为:
输入查询条件、查询、清除查询条件、显示查询条件和退出;
1)定义该表单[Init]的[Click]事件代码:
2)定义[输入查询条件]控件的[Click]事件代码:
Thisform.pageframel.page1.tex员工号.value=’’
Thisform.pageframel.page1.tex部门.value=’’
Thisform.pageframel.page1.tex姓名.value=’’
Thisform.pageframel.page1.tex性别.value=’’
Thisform.pageframel.page1.tex职务.value=’’
Thisform.pageframel.page1.tex出生年月.value=’’
Thisform.pageframel.page1.tex民族.value=’’
Thisform.pageframel.page1.tex籍贯.value=’’
Thisform.pageframel.page1.tex政治面貌.value=’’
Thisform.pageframel.page1.tex职称.value=’’
Thisform.pageframel.page1.tex文化程度.value=’’
Thisform.pageframel.page1.tex健康状况.value=’’
Thisform.pageframel.page1.tex婚姻状况.value=’’
Thisform.pageframel.page1.tex工作时间.value=’’
Thisform.pageframel.page1.tex进本单位时间.value=’’
Thisform.pageframel.page1.tex工资.value=’’
Thisform.pageframel.page1.tex家庭住址.value=’’
Thisform.pageframel.page1.tex年龄.value=’’
Thisform.pageframel.page1.tex备注.value=’’
3)定义[查询]控件的[Click]事件代码:
Publicarrayquerycondition(19)
Fori=21to42
J=i-20
querycondition(j)=thisform.pageframel.page1.controls(i).value
endfor
localarrayflag(