设为首页 加入收藏

Computer Science and Application
Vol.1 No.2(2011), Article ID:272,6 pages DOI:10.4236/csa.2011.12010

Design and Implementation of Staff Certificate Information Management System

Qi Liu, Ji Jian, Yang Xu

College of Earth Sciences, Chengdu University of Technology, Chengdu

Email: orangefay@126.com

Received: Apr. 28th, 2011; revised: Jun. 28th, 2011; accepted: Jul. 17th, 2011.

ABSTRACT:

In view of the current situation of Enterprise Human Resource Management, it adopts 3-tiered C/S model and utilizes tools such as VS2008, Access2007, DevExpress etc. to create a Staff certificates Management information System for XX corporation. Practice shows that this system helps serve for the modernization management of the enterprise and the active factors of work and study of staffs are likely to be mobilized, thus help improves the comprehensive competitiveness of enterprise talents and makes contributions to sustainable development of enterprise.

Keywords: Human Resource Management; 3-Tiered C/S Model; Staff Certificates Management Information System

员工资格证书信息管理系统的设计与实现

刘  奇,简  季,徐  阳

成都理工大学地球科学学院,成都

Email: orangefay@126.com

摘 要:

基于当前企业人力资源管理的现状,采用三层C/S结构,运用VS2008、Access2007、DevExpress等工具,实现了XX公司的员工资格证书管理系统。实践表明,该系统能很好的服务于企业的现代化管理,调动员工的工作、学习积极性,从而提升企业人才的综合竞争力,为企业的可持续发展做出贡献。

收稿日期:2011年4月28日;修回日期:2011年6月28日;录用日期:2011年7月17日

关键词:人力资源管理;三层C/S结构;员工资格证书管理系统

1. 前言

20世纪90年代末期,人才成为了企业最重要的资产之一,同时个人电脑充分普及、数据库技术、客户/服务器技术、特别是Internet/Intranet技术得到很大发展,使得人力资源管理从“数据管理”延伸到“流程管理”,形成了面向员工服务的“员工门户”以及面向人力资本开发与经营的“人力资本管理平台”。从而实现了对数据、流程、人力资源的全方位管理[1]。特别是在全球金融危机爆发的今天,加快企业人才资源的优化管理成为企业应对危机,加强自身竞争力的有效手段。实践证明,办公自动化信息系统OA(Office Automation)的建设对企业人力资源的优化管理起到积极作用。为适应新形势,越来越多的中小企业为了适应信息革命的要求,提高自身的竞争力,正打算或正在建立符合企业特色的办公自动化信息系统[2]。那么,现代企业又应该如何建设办公自动化信息系统呢?

在本研究中,最主要的问题是怎样使程序的运行效率更高,使程序的后续扩展性以及程序部门功能的移植性更好。面对这些问题,结合XX公司的业务需求,以及员工资格证书的多样性、时效性,利用计算机网络、数据库等技术,以及模块化思想设计建成了XX公司员工资格证书管理系统。

系统采用.NET架构,该架构是具有无关语言和平台的新一代的软件开发、服务平台,与之前的开发方式相比,.NET平台具有明显的优点:例如:.NET的公共语言运行时(CLR:Common Language Runtime)是一种多语言执行环境,用于管理、执行用任何一种微软编程语言以及针对.NET平台推出的第三方语言所编写的代码[3]。这样,运行语言可以调用并运行其它编程语言所写的代码,解决了语言的集成问题,为该系统以后的扩展奠定基础。通过创建一个公共的跨编程语言的API集,.NET框架可实现跨语言继承性、错误处理功能和调试功能[4]

系统的操作系统:Windows XP professional。开发工具:VS.NET 2008作为开发工具,使用其中的Windows应用程序。采用C#作为程序的开发语言。并在系统的建设中使用DevExpress进行系统界面的设计,以增强系统界面的美观性。数据库:本系统采用微软公司发布的关联式数据库管理系统——Access。该数据库基于Windows操作系统下的集成开发环境,可极大地提高开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行[5]

2. 系统结构与系统设计

2.1. 系统总体需求

以前,人们对计算机了解有限,加上过去的软硬件水平很低,造成人们对信息管理系统(MIS)的要求不高,因而在MIS开发过程中的需求分析并不是人们关注的焦点,人们更多的把精力盯在需求分析之后的软件开发之上。现在,MIS的需求具有涉及的领域多、范围广,MIS开发的失败最终多是因为需求的原因而产生。需求分析之所以重要,就因为他具有决策性、方向性、策略性的作用,他在软件开发的过程中具有举足轻重的地位。

该员工资格证书信息管理系统的开发“以需求为导向、以应用促发展”为出发点,按照“统一规划、统一标准、讲求实效、安全保密”的基本原则进行,实现了集团各级管理部门、子公司之间的员工资格证书的有效管理;提供了快速的查询、统计功能;实现了对即将到期员工资格证书的预警管理,达到了信息化管理的目的。该系统将可以作为集团公司了解、管理各子企业员工信息的窗口,增加子企业对员工的管理能力的手段。该系统要求系统管理员承担整个系统的日常管理工作,涉及系统组织机构管理、用户注册、密码管理、功能维护、权限分配等主要工作;对集团公司的所有员工进行登记注册,完成员工基本信息的日常管理,例如员工数据的外部导入,员工基本信息查询以及员工单位调度的修改等;需要对员工所取得的证书进行信息录入,并且可以对资格证书的信息进行修改、查询等操作,以满足用户的特定需求;系统需要实现通过设定预警天数来完成该天数内到期的资格证书的查询,并可导出打印,以便企业对企业员工的日常管理;并根据状态的不同对数据库中的注册员工、注册单位、证书进行分类统计,以便于企业领导了解公司员工及证书的情况,为企业的可持续发展提供帮助。

2.2. 系统结构

该系统采取了客户机/服务器(C/S)结构设计,可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销[6]。考虑到该系统建设的目标和用户需求,以及业务与功能的紧密结合,将系统总体框架结构划分为三层(如图1所示),分别是表示层(UI)、业务逻辑层(BLL)、数据访问层(DAL)[7]

表示层(User Interface):位于最外层,离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面[8]

业务逻辑层(Business Logic Layer):用于访问数据层,从数据层提取数据、修改数据以及删除数据,并将结果返回给表现层。业务逻辑层在体系架构中的位置十分关键,是系统架构中体现核心价值的部分,处于数据访问层与表示层中间,起到了数据交换中承上启下的作用[8]

数据访问层 (Data Access Layer):数据访问层即是DBMS(数据库管理系统),负责管理对数据库数据

Figure 1. Three-tiered architecture

图1. 三层体系构架

的查询、更新,通过对用户的授权,实现数据读写权限的控制[9]

三层结构是一种严格分层方法,业务逻辑层只能被表示层访问,数据访问层只能被业务逻辑层访问,用户通过表示层将请求传送给业务逻辑层,业务逻辑层完成相关业务规则和逻辑,并通过数据访问层访问数据库获得数据,然后按照相反的顺序依次返回将数据显示在表示层[10]

2.3. 数据库设计

鉴于系统的核心是用于对员工相关信息的管理和操作,则系统数据库的设计是系统成败的关键。根据系统的功能设计了四张数据表和一张数据表的E-R关系图(图2)。表1存储员工基本信息,只要是公司职员都应该在该表中有相应的记录,为防止公司员工数量庞大而可能产生同名的情况,表1的关键字段为员工的身份证号IdentityCard。鉴于员工资格证书系统的注册用户可分为员工注册和单位注册两种方式,因此设计表2为员工注册库,表3为单位注册库。在表2中仍然以员工的身份证号IdentityCard字段为其关键字段,并在注册时分配该注册用户的权限。表3中,单位名称的唯一性,确定了UnitName为其关键字段,一般单位用户注册时其权限设置为系统管理员。表4是员工资格证书,因为可能出现一人多证,以及一种类别的证书多人持有的情况,表4中有IdentityCard

Figure 2. The system’s E-R diagram

图2. 系统的E-R关系图

字段和CertificateClass字段为其关键字段。而员工基本信息表,员工注册表,员工资格证书表通过关键字段IdentityCard区分员工的信息,在系统中可以实现相应操作。在数据库维护的环节中,利用相关工具,通过数据的提交–审核–查询过程,借助强有力的权限管理系统,提供了较完善的业务流程控制[11]

Table 1. The sheet of the staff’s basic information

表1. 员工基本信息表

Table 2. The sheet of the staff’s registry

表2. 员工注册表

Table 3. The sheet of the unit’s registry

表3. 单位注册表

Table 4. The sheet of the staff’s certificate

表4. 员工资格证书表

2.4. 系统关键技术

三层结构的设计有利于系统的开发,使系统具有较高的性能和较强的扩展性,与传统的二层结构具有下列优势:当客户机增多,访问量和数据传输量很大时,影响数据库的响应速度,降低系统性能。为解决这些相应的技术问题和出于安全因素的考虑,采用中间件组成三层结构应用体系可以很好解决上述问题。以下为两层与三层结构应用体系的比较如图3所示。

在业务数据库采用简单三层构架访问技术,实现了数据与业务层的低耦合性,在业务层直接操作实体对象而不需要更改数据层代码,实现的了工程的快速开发。在系统中定义Model,BLL,DAL三层,以完成对数据库的操作。

Model是该系统的表现层:定义表certificate,staff,unitt,staffmessage的字段构成,所有类定义封装在这个dll,这样其它项目工程调用时很方便。

BLL是该系统的业务逻辑层:它定义出系统表现层中对数据库中各张表所需要的相关操作,并根据表现层的相关指令做出反应并访问数据访问层。这样,所有业务操作封装在该dll中,窗体内的代码会很少。

DAL是该系统的数据访问层:与数据库的交互,用于实现业务逻辑层发出的指令,与数据库操作的代码写入该dll,这样修改某个字段名只要在该dll中进行就可以了。本系统的数据库操作有对记录的删除,更新,新建等操作。

例如:系统中员工资格证书的相关操作:

{//新建资格证书

MIS.BLL.certificate bll = new MIS.BLL. certificate ();

MIS.Model. certificate model = new MIS.Model. certificate ();

model. StaffName = this.txtStaffName.Text;

model. Sex = this.txtSex.Text;

model. GainDate = this.dtpGainDate.Value;

bll.Add(model)}

{//删除资格证书

MIS.BLL. certificate bll = new MIS.BLL. certificate ();

MIS.Model. certificate model = new MIS.Model. certificate ();

if (bll.Exists(txtIdentityCard.Text&& txtCertificateClass.Text))

bll.Delete(txtGxIndex1.Text);}

{//修改员工资格证书

MIS.BLL. certificate bll = new MIS.BLL. certificate ();

MIS.Model. certificate model = new MIS.Model. certificate ();

if (bll.Exists(txtIdentityCard.Text))

{MIS.Model. certificate model2 = bll.GetModel(txtIdentityCard.Text);

model. StaffName = this.txtStaffName.Text;

model. Sex = this.txtSex.Text;

model. GainDate = this.dtpGainDate.Value;

bll.Update(model2);}}

Figure 3. The comparison of 2-tiered and 3-tiered application structure

图3. 两层与三层结构应用体系的比较

2.5. 系统基本功能

员工资格证书管理系统有系统管理,员工管理,证书管理,报警功能,查询统计五大功能模块组成(如图4所示)。

系统管理模块:系统管理员承担系统管理工作,涉及系统组织机构管理、用户注册、密码管理、功能维护、权限分配等主要工作。

员工管理模块:所有员工都必须在员工管理中注册。员工管理功能包括员工注册,外部员工数据的导入,员工查询以及员工单位调度的修改。

证书管理模块:所有员工具有的资格证书信息都在此处输入,证书管理还包括了资格证书的信息修改、查询等,以满足用户的特定操作。

报警功能模块:在该功能中,通过设定预警天数来完成该天数内到期的资格证书查询并可导出打印,以便企业对企业员工的日常管理。

查询统计模块:根据状态的不同对数据库中的注册员工、注册单位、证书进行分类统计,以便于企业领导了解公司员工及证书的情况,为企业的可持续发展提供帮助。

3. 系统部分功能实现

3.1. 查询统计实现

主要是针对系统中队员工资格证书条件查询以及员工信息的查询(如图5所示),从而方便快捷的得到有用信息支持决策。功能设计为可以定义单个条件或者定义组合条件进行查询。例如,员工资格证书查询功能实现的代码如下:

QueryStr = "select 姓名,证书类别,证书日期 from [staff member] where 姓名='" + main.toolStripComboBoxByOne.Text + "'";

QueryStr = "select 姓名,证书类别,证书日期 from [staff member] where 证书类别='" + main.toolStripComboBoxByType.Text + "'";

Figure 4. The functional structure of the staff certificate information management system

图4. 员工资格证书管理系统功能结构

Figure 5. Condition query of the staff’s certificate

图5. 资格证书的条件查询

3.2. 信息管理实现

实现员工信息的快速录入,员工信息的更新,删除等功能。在员工信息录入方面可以单个录入也可导入外部数据实现批量录入。其中,外部其他格式文件数据的批量录入可以实现员工信息快速、准确导入指定数据库,以此也可实现系统与其他人事资源部门的数据信息共享,其实现核心代码如下:

DataTable dt = g_connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

for (int m_i = 0; m_i < dt.Rows.Count; m_i++)

{toolStripComboBoxTable.Items.Add(dt.Rows[m_i][2].ToString());

xtraTabControl1.SelectedTabPage = xtraTabPage6;}

3.3. 人事调动实现

当企业人事发生变动时,需要对员工初次注册时的单位、部门等信息进行相应的改动,并要求其他相关信息不发生变化(如图6所示)。此功能可以方便、快捷的实现员工调动产生的员工信息的修改而无需重新建立员工信息,大大提高了管理的效率。其实现核心代码如下:

CAAC.Model.staffmessage model2 = bll.GetModel(main.listBoxControl_Staff.SelectedItem.ToString());

model2.Department= main.listBoxControlComPany.SelectedItem.ToString();

bll.Update(model2);

3.4. 预警查询实现

在此功能模块中,需要设定预警天数,以完成该天数内到期的资格证书的查询,并可把查询结果导出、打印。以便提醒持证员工进行再培训等(如图7所示)。

public void CmpareDate(int Days,Main main)

{if (TS.Days >= Days)

{for (int j = 0; j < main.dataGridView2.Rows.Count; j++)

{if (main.dataGridView2.Rows[j].Cells[2].Value != null && Convert.ToDateTime(main.dataGridView2.Rows[j].Cells[2].Value) == DTStaff)

{main.dataGridView2.Rows[j].DefaultCellStyle.BackColor=Color.Red;} }}

reader.Close();}

4. 总结和讨论

员工的资格证书是企业资质的基础,以前,资格证书采用文档记录方式管理,浪费大量人力物力,且效率低下,常常出现员工的资格证书因过期失效而造成不必要的损失,也影响了员工的继续教育培训,并对企业领导的决策带来不利影响。而伴随着该系统的运行,进一步验证了设计阶段的功能的可靠性和实用性,更说明办公自动化系统在现代企业管理中的重要作用。

当然,由于系统时间的紧迫性和知识水平有限,该系统还有许多待完善之处。譬如:因为C/S结构的程序更新、维护和管理的难度大,一般用于小型局域网,这样系统在设计时可以发展为B/S结构或者B/S和C/S相结合的混合模式。因为Access数据库的性能

Figure 6. The arrangement of the staff’s positions

图6. 员工人事调度

Figure 7. The result of warning query

图7. 预警查询结果

会随着访问人数和数据量的增加而急剧下降,所以可以采用性能更为可靠的oracle等其他数据库。

5. 致谢

在此,非常感谢我的导师简季博士在论文构思和书写过程中给予的指导。

参考文献 (References)

[1       孙艳, 赵俊杰. 我国企业人力资源信息化管理[J]. 中国人力资源开发, 2007, 4: 65.

[2]       隋懿. 中小企业办公自动化系统设计与实现[J]. 现代经济信息, 2010, 3: 196.

[3]       王东明, 葛武滇等. NET程序设计与应用开发[M]. 北京: 清华大学出版社, 2008.

[4]       艾迪明. NET框架体系结构[J]. 计算机工程与应用, 2003, 40(2): 174-175.

[5]       Access介绍概念, 技术内涵, 应用范围[URL]. http://zhidao.baidu.com/question/18583440

[6]       c/s.百科名片[URL]. http://baike.baidu.com/view/679010.html?wtp=tt

[7]       李雪梅, 李兵. 城市基础地理信息管理系统的设计与实现[J]. 地理空间信息与应用, 2010, 8(1): 50-51.

[8]       三层构架. 百科名片[URL]. http://baike.baidu.com/view/687468.htm

[9]    皮新玲, 李辉, 金晓萍. 高校重点实验室专项经费管理系统设计与实现[J]. 实验技术与管理, 2010, 48(5): 178.

[10]    木子屋. 理解ASP.NET中的三层结构[URL]. http://homepage.yesky.com/3/7713003.shtml

[11]    王妍, 孙德兵. 高校智能实验室管理系统开发与实践[J]. 实验技术与管理, 2010, 48(6): 106.

期刊菜单