您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 第16章(ODBCADO操作SQL)人力资源管理系统
随着全球对知识和人才的重视,企业对人力资源管理重要性认识的逐渐深化,人力资源管理系统(HRMS)作为软件产品越来越受到企业的关注;与此同时,人力资源管理系统在西方发达国家已成为企业资源管理(ERP)中不可缺少的组成部分,伴随着我国管理软件市场的发展,人力资源管理系统正在成为我国应用管理软件重点发展的领域之一。本章以某软件公司为例实现了一个适合中小型公司的人力资源管理系统。通过本章的学习读者可以学习到:软件工程的基本思想程序界面美化方法VCADO对SQLServer2005数据库的基本操作SQL复杂语句构造使用VC对Word的基本操作人力资源管理系统(VisualC++6.0+SQLServer2005实现)16第章VisualC++典型模块与项目开发实战大全·2·16.1开发背景人力资源管理系统产生于20世纪60年代末期,当时的计算机技术已经进入实际应用阶段,同时大型企业用手工来计算和发放薪资既费时、费力又非常容易出差错,为了解决这个矛盾,第一代的人力资源管理系统应运而生。经过将40多年的发展,如今大多数公司里普遍使用的是第三代人力资源管理系统。第三代人力资源管理系统界面友好,支持多平台,并提供了强有力的报表生成工具、分析工具和信息共享,使得人力资源管理人员得以摆脱繁重的日常工作,集中精力从战略的角度来考虑企业人力资源规划和政策。应该看到公司各种资源的实际情况是各不相同的,一款人力资源管理系统不能也不可能适合所有公司,所以要针对公司的实际情况开发一款适合于公司的人力资源管理系统。16.2需求分析随着××软件公司规模的不断扩大,公司的人力管理的工作量所占的比重也在逐渐增加。公司各部门的调整,工资计算、核算、发放的工作量很大,并且不允许出错,如果实行手工操作,要手工填写大量的表格,且易混易错,不便管理。人力资源管理系统是这样的一种管理软件,它能够快速、方便地显示结果,还可以对有关工资的各种信息进行统计,服务于财务部门及公司主要管理者。实施人力资源管理系统可以集中、整合各种信息来源,有利于降低管理成本,提高公司管理效率和水平,从而促进公司的进一步发展和变革。16.3系统设计16.3.1系统目标对于人力资源管理系统这样的管理软件要求操作简单、灵活、方便,反应快速、准确。根据需求分析的描述及与用户的沟通,本系统在设计时应满足以下目标。系统界面设计美观、友好。智能化程度高、操作灵活、方便。系统运行稳定、安全可靠。反应快速、计算准确。实现新员工入职登记、查询修改及入职合同的录入、编辑。登记并可以浏览日常考勤信息。记录公司定期的员工考核成绩。实现部门用人申请的登记。实现应聘者信息备档。实现工资单自动录入及缺勤原因的扣资计算。第16章人力资源管理系统·3·16.3.2系统功能结构人力资源管理系统的功能分为系统操作、人事档案、人事管理和日常管理4部分,人力资源管理系统的功能结构图如图16.1所示。人力资源管理系统人事管理薪资管理用人申请业务考核添加部门人事档案员工档案调动记录应聘登记系统操作用户注册系统设置系统登录日常管理工资核算考勤录入图16.1人力资源管理系统功能结构图16.3.3系统预览本章的实例程序由多个模块组成,限于篇幅只列出几个典型的模块,其他的模块请参看光盘的程序。系统的主窗口中主要包括菜单栏和一些快捷操作的工具栏,如图16.2所示;员工信息录入模块主要用于录入员工的详细信息,单击“》”按钮可以添加员工的照片,如图16.3所示。图16.2主窗口图16.3员工信息录入模块工资单模块可以根据员工工资情况自动地计算出基本工资、职工工资、缺勤扣款、工龄工资及养老保险,奖金需要用户手动输入,最后把鼠标指针移动到总金额编辑框上就可以自动算出总金额,如图16.4所示。业绩考核模块用于考核员工的工作态度与工作效果,如图16.5所示,为了避免出现公司出现同名现象需要输入正确的职工信息否则提示出错。VisualC++典型模块与项目开发实战大全·4·图16.4“工资单”模块图16.5“业绩考核”模块请假条模块作为日常管理模块的一个子模块而存在,用户输入姓名移动焦点后会自动地搜索该员工的编号,可以从编号组合框中选择与之对应的员工编号,如图16.6所示。搜索栏模块在应聘者信息列表、用人申请列表、应聘考核记录、业绩考核列表、工资管理、工资列表里实现,如图16.7所示。图16.6请假条模块图16.7搜索栏模块考勤录入模块也是作为日常管理的子模块而存在,需要说明的是如果该名员工已经请假可以在这里自动显示出“缺勤”并自动填写“缺勤原因”,系统默认工作时间是8小时,如图16.8所示。用户注册是为了对非登录用户做出相应的权限限制,这里需要填写公司员工真实的注册信息,并且要保证登录名唯一,如图16.9所示。图16.8考勤录入模块图16.9登录用户注册16.3.4业务流程图人力资源管理系统的业务流程如图16.10所示。第16章人力资源管理系统·5·????????????????????????????????????????????????????????????????/??/?????????/??/??????????/??/????????/??/?????????/??/??????图16.10人力资源管理系统业务流程图16.3.5数据库设计1.数据库概要说明人力资源管理系统在运行过程中需要对大量的数据表进行插入、修改、删除、检索等操作,为此在设计时使用了MicrosoftSQLServer2005数据库来满足运行需要。数据库名为“人力资源管理系统”,共存储了11张数据表用于存储不同的信息,如图16.11所示。图16.11本章系统使用的所有表2.数据库概念设计本章涉及大量的数据表,限于篇幅这里只把重要的表详加叙述。其他的表可以参看数据库的整体结构。1)员工信息实体员工信息实体包括部门、职务、员工编号、姓名、性别、出生年月、学历、工作年限、电话、家庭住址和入职时间。员工信息实体E-R图,如图16.12所示。VisualC++典型模块与项目开发实战大全·6·图16.12员工信息实体E-R图2)调动信息实体调动信息实体包括调动日期、员工编号、原部门、原职位、现职位和现部门。调动信息实体E-R图,如图16.13所示。图16.13调动信息实体E-R图3)工资信息实体工资信息实体包括员工编号、基本工资、缺勤扣资、养老保险、工龄工资和职务工资。工资信息实体E-R图,如图16.14所示。图16.14工资信息实体E-R图4)请假信息实体请假信息实体包括员工编号、请假类型、请假事由、请假时间、请假日期、终止日期和起始日期。请假信息实体E-R图,如图16.15所示。图16.15请假信息实体E-R图5)考核信息实体第16章人力资源管理系统·7·考核信息实体包括员工编号、工作绩效、工作态度、工作能力、考核月份、考核年份。考核信息实体E-R图,如图16.16所示。图16.16考核信息实体E-R图3.数据库逻辑结构设计根据实体E-R关系图,在数据库中创建数据表。下面分别介绍几张主要数据表的表结构。1)员工信息表(tb_employee)该表记录了员工的姓名、性别、出生日期等自然信息和员工的编号、所在部门、职位及联系方式等业务信息,该表的结构如图16.17所示。图16.17员工信息表2)员工调动表(tb_dept_change)该表主要存储了员工在部门和职务方面的变动信息,该表的结构如图16.18所示。VisualC++典型模块与项目开发实战大全·8·图16.18员工调动表3)工资管理表(tb_laborage)该表记录了员工的工资状态,如基本工资、工龄工资、职位工资、养老保险及缺勤扣资等。该表的结构如图16.19所示。图16.19工资管理表4)假条登记表(tb_req_leave)该表记录了员工的请假信息,如请假日期、请假事由、休假起始日期和终止日期等。该表的结构如图16.20所示。图16.20假条登记表5)员工考核结果表(tb_access)该表所记录了员工的考核信息,如工作态度、工作能力和工作绩效等。该表的结构如图16.21所示。图16.21员工考核结果表第16章人力资源管理系统·9·除了以上的数据表外还有部门信息表、职务信息表、合同表等,限于篇幅,不再叙述,详细的情况可以参看本章程序的代码和数据库。这些数据表的关系及关系的组合构成了本章程序的内部运行逻辑。所有数据表的关系如图16.22所示。tb_timecardPKtimecart_datePK,FK1employee_idtimecart_reasontimecart_worklongtimecart_late_leave_earlytb_laboragePK,FK1employee_idbase_laborageduty_laborageleser_laborageinsurancerecouptb_applicantPKapplicant_idapplicant_nameapplicant_sexapplicant_birthdayapplicant_eduoflevapplicant_specialtyFK1applicant_deptFK2applicant_dutyapplicant_nativeplaceapplicant_addressapplicant_phoneapplicant_ICOapplicant_resumetb_deptPKdept_idU1dept_namedept_showtb_torequestPKtorequest_numberFK1torequest_deptFK2torequest_dutytorequest_sextorequest_maxagetorequest_minagetorequest_explaintorequest_edulevtorequest_principaltorequest_datetorequest_perofvaltorequest_statetb_paylistPKpay_datemonthPKpay_dateyearPK,FK1employee_idpay_deductpay_bonuspay_laborageduty_laborageleser_laborageinsurancetb_dept_dutyPKduty_idduty_nameFK1dept_idtb_assessPKassess_dateyearPKassess_datemonthPK,FK1employee_idassess_mannerofworkassess_abilityassess_efficiencytb_req_chkFK1chk_numchk_sjtchk_stlchk_palchk_dtechk_adetb_employeePKemployee_idemployee_nameemployee_sexemployee_birthdayemployee_photoemployee_lenofseremployee_timeofseremployee_dwelemployee_edulevFK2employee_dutyFK1employee_deptemployee_phonetb_user_loaderPKuser_nameuser_codeFK1employee_idtb_req_leavePK,FK1req_empPKreq_datereq_resreq_frmreq_toreq_stlreq_lng图16.22人力资源管理系统各数据表关系图16.4公共模块设计人力资源管理系统是一个数据库系统的软件部分,运行的过程中要频繁地访问数据库,为了处理上的方便,封装了一个数据库访问类CADOOperation,封装了CADOView抽象类用来显示数据列表。MFC类的CListCtrl不具有可编辑的功能,所以定义了一个可编辑的CEditableListCtrl来取代它。1.CADO
本文标题:第16章(ODBCADO操作SQL)人力资源管理系统
链接地址:https://www.777doc.com/doc-1003450 .html