【员工人事管理系统设计8000字】_第1页
【员工人事管理系统设计8000字】_第2页
【员工人事管理系统设计8000字】_第3页
【员工人事管理系统设计8000字】_第4页
【员工人事管理系统设计8000字】_第5页
已阅读5页,还剩26页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

员工人事管理系统设计摘要现代社会,电子信息技术高速发展,办公自动化已经成为一种趋势,大型企业早已告别纸质资料存档,员工信息线上管理已经趋于成熟,但中小企业管理相对落后,依旧使用落后的纸质管理方式,浪费大量人力物力。此系统应运而生,能够快速处理大量复杂的数据,极大的提高了人事管理的效率。系统不仅具有处理员工信息的功能,而且还增加了用户权限登录功能,安全系数高。本员工人事管理系统是在VC++6.0软件平台上采用C语言编写,采用结构化编程方式,程序可读性好,利用后期升级。并且充分考虑用户体验感,人机交互界面设计合理,有大量用户使用方式的提示信息。【关键词】:员工;权限;人事管理;目录摘要 1前言 21课题概述 31.1课题研究的意义 31.2实现的主要功能 31.3研究的国际现状 32系统分析 42.1系统调查 42.2框架设计 42.3功能需求分析 53总体设计 63.1设计思路 63.2用户功能模块设计 63.3数据结构设计 73.4创新功能模块设计 83.4.1main()主函数 83.4.2初始介绍界面 103.4.3用户身份选择模块 103.4.4密码登录模块 113.4.5主菜单模块 133.4.6员工工资单模块 163.5系统创新点 174系统创新点详细设计 194.1程序预处理 194.2初始与结束模块 214.3使用权限模块 224.3.1权限选择 224.3.1权限验证 224.4menu_select()主菜单 254.5工资单模块 264.5.1工资单选择模块 264.5.2个人所得税税率表模块 284.5.3工资单计算模块 29结论 30参考文献 32第32页前言企业是由人组成,各种类型的人才组成了一个企业,不管什么类型的企业肯定不会只有一类工作人员,不同类型的企业只是各种类型工作人员所占的比例有差别,所以员工人事管理系统由此产生。多年来由于科学技术的不断发展,计算机已经不局限于计算功能,计算机应用于生活工作的计算不断成熟。具有相同功能的系统可以用不同的语言编写。本系统可以使用js、Java、PHP、VB、python、c++、c#、C语言等。市面上现有的具备实用性的人事管理系统,用C语言编写的暂时没有,我准备解决这个问题,填补这一空白,并且C语言编写此类系统软件有一定优势,有进一步深耕的价值。利用计算机来处理员工资料,与之前落后的纸质存档管理相比优势明显,计算机处理信息速度快,准确率高,企业决策者能够更快知道更加准确的企业发展情况,以便于做出相对准确的判断。编写这一系统,所用皆是C语言基础知识,化繁为简,只追求实用性,程序可读性好,便于后期升级。下面章节将有一些对涉及的一部分C语言基础知识的详细介绍。

1课题概述1.1课题研究的意义现代社会,电子信息技术高速发展,办公自动化已经成为一种趋势,大型企业早已告别纸质资料存档,员工信息线上管理已经趋于成熟,但中小企业管理相对落后,依旧使用落后的纸质管理方式,浪费大量人力物力,一个好的人事管理系统能够有效减轻企业人事管理者的负担,更有利于企业决策者更好的做出决定。员工人事管理系统并不是一个新事物,市面上已经有很多成熟的产品,但市面上百分之99的员工人事管理系统都是依托于数据库系统,需要接入Internet存在一定的安全隐患。剩下的百分之1无需联网的系统又过于简单,实用性几乎为0。因此我决定用C语言做出一款无需联网、功能丰富、有一定实用性的人事管理系统。希望通过此次独立完成一个C语言小项目积累经验,真正学以致用。同时又希望能够此系统能够真正投入使用。1.2实现的主要功能 员工人事管理系统,除传统的信息处理功能(基本信息的录入,查找、等功能),同时具有考勤管理、薪资管理、用户分权限密码登录、保存员工信息、显示员工信息等功能。后期考虑增加员工请假销假功能。1.3研究的国际现状信息时代,电子信息技术高速发展,国外百分之90的人事管理工作都由计算机完成,处理速度快,准确率高,节省了大量人力。我国由于计算机开始发展的时间相当滞后,目前依旧使用传统的纸媒介管理系统,即使有些企业使用计算机系统,但功能比较单一,只有简单的考勤管理和信息录入功能,安全性和功能性都相对较差。市面上也有一些功能相对完善的人事管理系统,但都借助于数据库系统来实现其功能,存在黑客入侵盗取数据的风险。综上所述,设计和开发出一套保密性好,功能强大的员工人事管理系统是迫在眉睫的,因此我决定用C编写一套有一定实用性的系统刷新这一领域的空白,通过实地调查,有了一些自己的想法,对编写出一个功能强大的程序已有了一个大致的思路。

2系统分析2.1系统调查人事管理系统是企业管理系统的一个重要组成部分,同时也是企业管理系统(ERP)的基础部分。社会在发展,传统的企业管理已经跟不上时代的发展,需要与时俱进,把计算机新技术引入实现更加高效的管理。人事管理系统,依靠计算机技术提高员工对企业的满意度、忠诚度,从而提高员工的贡献度,即企业的利润。企业管理者通过此系统能够进行有效的组织管理降低人力成本实现更高额的利润,并且企业的整体发展也会因为企业决策者能够通过此系统获得相对准确企业情况,做出正确的决策,从而有一个大幅度进展。现在基本所有大型企业都往科技方向发展,比如说平安集团,这是一家保险起家的公司和科技一般人看来关系不大,但深耕下来如果想要把保险这个行业做好,数据很重要,现在这个时代如果还是只依靠实地的市场调研统计,效率太低,信息瞬息万变,决策已然滞后。平安大力发展科技,以科技的力量来服务保险业务,这里我举几个简单的小例子,保险产品有很多,怎么保证设计出来的保险产品能够有利润,这里就需要依托大数据,根据数据设计出保险保障的范围,赔付的金额,保费等,如果后期发现赔付过多存在亏本的情况还要及时调整,没有科技的支撑,企业的反应力就要下降很多。还有一个小例子,平安有许多信息化平台,保险从业人员依托这些平台能够知道意向客户真正的需求,给客户以更加优质的服务,提高交易的成功率。2.2框架设计此系统经初始介绍界面开始,进入权限选择,用户权限不同,能够实现的操作就不同,权限最低的是普通员工,只有上班考勤打卡功能,其次是人事部门管理者,已经具备处理员工信息、计算员工薪资、导出员工信息的功能,权限最高的是系统管理员,虽然他没有实际处理信息的功能(后期可以考虑增加他的其他功能,引入请假系统,根据请假时间长短分级别审批,例如请假一天只需人事管理者审批,请假超过一个星期需要人事部分管理员与系统管理员同时审批同意),但他掌握着尚方宝剑能够修改人事部门管理者的登录密码。三者登录,只有普通员工无需密码,打卡结束返回初始界面,人事部门管理者与系统管理员皆需要密码,密码输入超过三次,系统将自动锁定,如此系统的安全性有一定保障。同时此系统预计设计一个退出界面,退出界面包含程序开发者的多种联系方式,方便后期系统出现bug或者系统需要升级增加功能能够及时联系到程序开发者。2.3功能需求分析系统具备处理员工基本信息的功能(员工基本信息种类可根据实际情况酌情增加或者减少),同时具有薪资计算功能(后期会考虑增加员工请假功能)。需要完成的各项功能如下所示:(1)新建:根据系统提示输入正确的员工基本信息(2)显示:屏幕上显示已经录入系统的全部员工的所有信息(3)删除:根据系统提示选择查找方式(能够唯一确定的信息,一般为员工编号)若输入错误,系统会给出提示表明无此员工信息提醒重新输入。输入正确之后,找到对应的员工,确认员工信息,若无问题,可选择删除此员工所以信息。(4)查询:和删除模块第一步类似,但第二步不一样,此模块在找到正确的员工后,显示所查找员工的全部信息,删除模块是直接删除返回主菜单。(5)修改:同样与上面两者类似,其中核心就在于查找员工信息,区别只在找到之后如何处理,这里是找到之后更新员工信息。(6)保存:把全部员工的所以信息导出到磁盘中生成一个文本文件。(7)排序:根据提示现在自己想要依据的排序条件,显示排序后的结果,便于企业管理者对比员工条件。(8)统计:与上面类似,都是选择一个条件作为依据,完成相应的计算显示结果。区别在于一个排序一个是统计。(9)计算员工工资:根据提示选择查看个人还是集体的工资单,个人工资单以身份证号查找依据(根据实际情况,以后可以同时选择多种查找方式),查找成功后直接打印出来,集体工资单,无需查找,直接全部显示在屏幕上。(10)权限登录:根据用户身份规定其能够使用的系统功能,其中加入密码登录模块,增加安全性。

3总体设计3.1设计思路程序简单来说,就是数据结构加算法。两者重要程度相当。此系统定位是服务于中小企业,处理的员工数量不会很多,所以本着化繁为简的目的,数据结构使用数组。并且此系统很多功能的实现都需要先查找,数组在快速检索方面是最优的,因此数据结构采用数组,算法的使用本着程序可读性,后期系统升级,可移值考虑,尽量使用最基本最简单的算法,并且系统对电脑性能要求不高,使用最优算法还是平常算法系统的反应速度基本一致,用户体验不出差别。数据结构和算法都已选定,其他就是对库函数的正确运用问题,这里就不再赘述。3.2用户功能模块设计系统本着实用性考虑,不刻意追求复杂,不追求高大上,框架简单实用。其基本功能模块如图3-1所示。用户登陆用户登陆非人事部门员工人事部门员工日常考勤打卡新建档案显示档案删除档案查询档案修改档案保存档案排序档案统计档案图3-1基本功能模块图系统管理员修改登录密码3.3数据结构设计程序数据结构选用的静态数组,首先采宏定义的方式定义一个常数M,M的值就是数组的大小,数组的大小就是能够处理员工人数的上限,M的值可变,能够处理员工的数量就可变,后期企业扩大,系统也不会淘汰。因为记录的员工信息种类较多,并且考虑到后期还需要增加,所以定义每个数组元素的类型为结构体。因此,将每个数组元素的类型定义为struct类型。Struct(数组)存储使用顺序存储,占用内存中的连续空间。员工信息的管理实质上就是对线性表的管理。结点结构如下:#defineM500/*估计的记录数*/3.4创新功能模块设计3.4.1main()主函数系统主要功能由主函数控制调用,主函数是程序的入口。函数的开头是系统初始介绍界面,介绍一些系统的注意事项,使用说明和开发者的一些个人信息,根据系统提示直接跳到权限登录模块,分权限进入,网管员掌握修改人事部门管理者密码这一权限,普通员工只有考勤打卡权限,人事部门管理者可使用主要功能。人事部门管理者登录成功进入菜单函数,由用户根据提示输入对应的序号返回主函数。主函数的控制功能是通过循环执行一个switch开关语句,该语句的条件值是通过调用主菜单函数得到的返回值,根据该整型值,调用相应的功能函数,同时当返回值为0时跳到退出界面运行标准库函数exit(0)结束程序,返回值为0就是退出系统的条件,如此有入口有出口,程序才不会陷入死循环。main()函数执行流程图如图3-2所示。开始开始进入interface()初始界面函数进入xz()用户身份选择函数进入非人事部门员工日常考勤打卡界面输入1-3中相应的数值,选择相应的操作数值为3111进入possword()密码登录函数数值为1正确回到主函数,调用menu_select()主菜单函数错误,重新输入,三次后系统锁定输入0-9中的一个数值,选择相应的操作是否为0进入退出界面,退出系统是判断键值调用相应的函数完成对应的功能完成相应功能后,返回主函数,再次进入循环,直到退出系统图3-2主控函数执行流程进入修改登录密码界面值为2值为23.4.2初始介绍界面在DOS窗口上显示系统介绍页面,说明此系统一些基本情况(开发者的基本信息、开发系统使用的平台,系统支持的电脑系统等),便于用户能够更好的使用这个系统,界面如图3-3所示。图3-3初始界面这里使用了getch()函数,之所以使用此函数而不使用system("pause")是因为既要静态显示介绍页面,又要有提示用户下一步操作的信息,同时还要能够再从这里跳到另外一个函数,所以在这里使用了getch()函数等待用户按下任意键再执行下面的语句,其实getch函数与system("pause")两者功能基本相同,差别就是一个有提示信息,一个没有,所以我根据实际情况在整个程序两种方法交替使用,最后有一点要注意一下,因为getch()与system()都并非标准函数,所以要用这两个函数,需要在前面加上其所包含的头文件。3.4.3用户身份选择模块按提示输入1-3中的一个,选择相应的身份。如键盘输入的不是这三个数中的任何一个,那么出现错误提示,让用户重新输入。考虑到无意误操作的可能,这里就不限制错误次数,理论上可以错误无数次。只要有一次输入的是这三个数中的一个就可正常进入(这里采用的是整型值输入,错误也必须是数值,不能是字符,一旦出现字符,系统会死机,后期可考虑换一种接收方式,采用getch函数,这个bug能够得到解决),界面如图3-4,3-5。图片3-4选择错误界面 图3-5选择正确界面3.4.4密码登录模块为了安全起见,人事部门管理人员选择进入此页面需要输入一个6位数字密码,有三次输入机会,若连续错误三次,系统将锁定。屏幕将被冻结,按任意键返回主函数,进入上一级初始界面界面。两种情况界面分别如图3-6,3-7所示。系统管理员有权限修改人事部门管理人员登录密码,系统管理员本身还有自己专属的三位数密码,这是第二套保险。普通员工只有考勤打卡功能(登录无需密码,后期可能加入员工查看自己打卡天数的功能,)。两者情况如图3-8,3-9所示图3-6密码输入错误界面图3-7密码输入正确界面图3-8网管员修改密码界面图3-9员工打卡界面3.4.5主菜单模块在DOS窗口显示一个菜单,提示你输入0-10之间的数字选择对应的功能,输入的数字是通过scanf()函数接收,接收的数值作为菜单函数的返回值返回main函数,main函数根据这个数值调用相应的功能函数。界面简单实用。界面如图3-10所示。图3-10主菜单界面菜单静态显示是通过do{}while循环语句实现的,让用户输入0-10之间的数,按照整型数值输入,scanf函数接收,然后返回main函数,如果输入范围不是0到10,则循环等待重新输入。函数开头采用调用清屏函数,去除前面操作留下的痕迹,使整体界面更加整洁。3.4.6员工工资单模块1.设计思路本系统主要功能是人事管理,加入员工工资计算模块属于改善型升级,这是区别于其他员工人事管理系统的一大亮点。由于不能本末倒置,此模块只是一个大体的框架,未深入展开,对员工工资组成结构过于简单未充分利用记录的员工信息来区分员工工资,此处留下伏笔,留待日后升级。对于工工资相关的个人所得税部分是这个模块的重点,考虑到人们的收入和国家经济状况是在不断变化的,个人所得税税额计算的标准以后可能产生变化。为了改变之后不对主体程序产生影响,将个人所得税计算标准单独编写成一个程序,结果生成的文件存入磁盘中,由主体程序调用即可,以后若标准改变,只需重新进入个人所得税标准程序,重新输入数据更新文件即可。员工工资单模块可查看个人工资单(通过唯一标志确定)也可查看全部人的工资单,工资单的构成包括基本工资、岗位工资、时长奖、五险一金的个人缴纳部分、个人所得税,应发工资,实发工资等(后期有新思路也可再次增加)。2.设计细则首先单独编写一个税率表程序,此程序以结构体数组为数据结构存储由键盘输入的9档税率表每档的区间上限、区间下限、对应的税率、速扣除数等,9档输入完毕后通过文件操作存储此表,生成一个din格式的文件。其次编写主体程序,为了便于调试我新建一个空的源文件,只做个人所得税部分,新的程序先打开之前生成的din格式文件,将其数据一次性读入数据区,书写单独的计算税率程序便于后期移植,个人所得税涉及公式为:个人应纳税所得额=税前工资收入金额-五险一金(个人缴纳部分)-起征点,个人所得税=个人应纳税所得额*所对应的区间税率-速算扣除数。最后编写主体程序,通过之前输入的员工信息来划分基本工资和岗位工资,通过员工的考勤天数来区分时长奖,计算得到应发工资,五险一金个人缴纳比例默认设定为收入的百分之11。把个人所得税程序移植到主体程序之中,只需要其个人所得税这一个数据即可。主体程序计算公式为:应发工资=基本工资+岗位工资+时长奖+…..(后期可以再增加其他工资构成项),实发工资=应发工资-五险一金个人缴纳部分-个人所得税。此为工资单计算程序,再编写两个显示程序(参考上条)和一个工资单打印程序(调用之前的两个显示程序和工资单计算程序)。此编程思路体现了模块化编程思想,程序的可读写好便于修改和移植。3.5系统创新点本系统与市面上其他人事管理系统的不同点在于,其他系统多采用C++开发借助数据库系统需要联网,此系统采用C语言开发,无需借助数据库系统,无需联网,私密性更好。此系统所具备的功能已能满足日常使用与编写此程序所找的蓝板已有巨大差别。原程序只具备主菜单函数所示的部分功能,在原程序的基础上我加入提示界面,密码权限登录,权限修改,工资单计算等模块,其中密码权限登录是本文的一个最主要的创新点,使其实用性大大增强,如图3-11所示。工资单模块只是引入一个基本概念具备基本的功能,留下了一个后期升级的伏笔,待后期再次市场调研时加入新思路完善此模块,同时我还留有一个想法加入请假模块、招聘模快,争取与市面上具备市面上功能最完善产品的全部功能,同时我又将具有他们所不具备的私密性。权限分类过少,实际情况下只有三种权限完全不够用,至少还要加入组长,主管等多级权限,员工考勤管理还可与嵌入式系统结合起来,采用员工卡识别,同时增加指纹识别系统,如此一来,此系统就将答到市面上同类系统的全部功能。

图3-11权限功能图3.6系统部分功能效果图图3-12输入界面图3-13显示查询结果图3-14输出界面

4系统创新点详细设计4.1程序预处理包括加载头文件,定义结构体、常量和变量,并对它们进行初始化。/*******主体函数数据结构*********/

4.2初始与结束模块初始界面与结束界面为程序开发者的一个个人信息介绍与程序适应的运平台说明,留有程序开发者的多个联系方式,便于后期若程序出现bug或者程序需要升级能够及时联系到程序开发者。

4.3使用权限模块本系统根据使用者身份来划分权限,普通员工只能打卡(无需任何密码),人事部门管理者可实现几乎全部操作(登录需要输入密码),系统管理员掌握着修改密码的保险权限(需输入自己的三位数密码)。4.3.1权限选择4.3.1权限验证4.4menu_select()主菜单用户进入员工人事管理系统时,需要显示主菜单,提示用户进行选择,完成相应任务。此代码被main()函数调用。4.5工资单模块4.5.1工资单选择模块工资单可通过唯一标志查找个人的,也可直接显示全体员工的,此模块具备选择和显示功能。

4.5.2个人所得税税率表模块手动输入数据,生成din格式文件存储在磁盘之中,将由主体程序打开此文件导入其数据,后期若国家经济发展,个人所得税标准发生改变,重新打开此程序,再次手动输入更新后的数据,生成din文件,主体文件可再次调用,无需修改,这正是采用了模块化编程的思想。

4.5.3工资单计算模块此模块是工资单计算系统的灵魂,后期若系统需要升级,工资单模块需要更加完善,只需在此函数中改动即可。

结论系统全部使用C语言编写,以经典的VC++6.0为开发工具。系统设计与开发共花费一个半月时间,市场调研梳理设计思路大约花费半个月时间,编写主体程序也花了半个月,调试找bug花的时间也不少,同样花了半个月。幸好此程序采用的是结构化的程序设计方法,自顶向下,逐步细化。方便调试,其实设计阶段和调试阶段才是本系统的主要工作重心,编写主体程序只相当于码字,烧脑子的活在前期和后期,前期定下系统功能需求、框架、数据结构,编写程序得心应手,只相当于把脑子里面的东西写出来,所以很多人才会称呼我们这一行为码农。后期调试是必不可少的,一个性能好的程序应具备运行速度快,bug少(零bug不切实际)等优点。调试找bug是一个痛苦的过程,老师不可能随时随地指导,大多数是借助于百度这一利器来解决问题,可能网上有许多人会遇到和自己一样的问题,也有人对此提供了一些解决方案。正是通过这些方式,我才能完成这项对我来说如此困难的工作。系统基本上实现了预期的功能。本系统能够实现员工档案管理、薪资管理、考勤打卡等功能,同时具备权限登录功能。功能已基本足够。由于个人能力有限,再加上时间问题,之前考虑的请假管理和员工数据实时读取功能未能完成,这些只能留待以后继续完善。

参考文献[1]阮强.浅谈企业人事管理系统的设计与开发[J].现代国企研究,2016(16):16.[2]赵国文,夏平平.基于JavaEE的人事管理系统的设计与实现[J].现代工业经济和信息化,2019,9(11):88-89.[3]刘景娜,宋伟,田文英,刘佳.基于SSH框架医院人事管理系统开发及应用[J].微型电脑应用,2020,36(03):112-116.[4]冯劢.基于.Net的人事管理系统中员工能力值评估算法的研究与设计[D].江苏:东南大学,2016.DOI:10.7666/d.Y3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论