有效的员工业绩考核制度系统应该具有哪些特征

【绩效考核系统】员工绩效考核系统_牛宝宝文章网【绩效考核系统】员工绩效考核系统专题:开封大学软件学院2010届毕业设计目 录目 录 ···························· 1 论 文 摘 要 ··························· 2一 绪论 ······························ 3(一) 前言 ............................................................ 3(二) 本文主要工作 .................................................... 4(三) 论文组织 ........................................................ 5二 开发环境和开发技术 ······················· 5(一) 系统简介 ........................................................ 5(二) 系统开发环境 .................................................... 6(三) 开发环境的建立 .................................................. 7三 需求分析 ···························· 8(一) 设计思想 ........................................................ 8(二) 可行性分析 ...................................................... 8(三) 功能需求 ........................................................ 9(四) 性能需求 ....................................................... 10(五) 系统设计基础 ................................................... 10(六) 系统数据字典 ................................................... 13四 系统设计 ···························· 16(一) 数据库设计 ..................................................... 16(二) 总体结构设计 ................................................... 22五 系统实现 ···························· 23(一) 登陆功能 ....................................................... 23(二) 系统首界面 ..................................................... 25(三) 考勤管理模块 ................................................... 26(四) 考核评测模块 ................................................... 38(五) 绩效考评内容维护模块 ........................................... 40六 结束语 ····························· 42 致 谢 ······························· 43 参考文献 ······························ 431开封大学软件学院2010届毕业设计论 文 摘 要绩效考核是组织管理的核心和枢纽,它是组织提升团队绩效最有力的手段,在一个组织中能否实现有效的绩效考核,关系到企业是否能在日益激烈的市场竞争中保持优势,而如何实现有效的绩效考核是最令管理者头痛的一件事情。随着我国从计划经济向市场经济的转变,如何更有效地实施绩效考核是所有企事业单位管理者面临的一大挑战。员工管理系统(Employee Management System)是基于B/S模式的一个公司内部员工管理系统。它是将公司动态和公司内部员工信息等内容集中管理,并通过信息的某些共同性质进行分类,最后将信息系统化、标准化设计成公司内部管理的一种管理系统,本系统只在公司内部应用。在开发过程中主要运用Java语言、Tomcat服务器、MyEclipse开发软件、JDK、SQL Server等技术,由于开发工具对Servlet、DAO的支持性很好,能够方便地完成页面之间的跳转与数据的传递和对数据库的支持,完成了对数据库的各种操作以致达到对员工信息管理的目的。首先建立初始化系统模型,然后对系统需求进行实现,再不断地修正和更新各系统模块的功能,直到形成能够方便有效地管理员工信息的实际可行性系统。设计主要采用JSP+struts技术,Java相关技术,数据库和相应的软件工程理论等。通过采用以上相关技术,以及老师同学的帮助,将系统设计功能全部实现,本系统主要实现了公司内部管理员工系统的各大功能:员工上下班签到、员工个人资料查看、修改密码、修改补充员工个人资料、查看上班记录,管理员主要实现了注册员工、删除员工所有信息、修改员工信息、查看员工信息、数据信息的维护与管理等功能,考核评测模块主要完成对未考核或者漏考核的员工可以进行考核,对已经考核的了的员工可以对其考核的成绩进行修改。关键字:S KPIS2开封大学软件学院2010届毕业设计员工绩效考核系统的设计与实现唐建光(软件技术二班)一 绪论(一) 前言1. 什么是绩效考核绩效考核简称为考绩,是人力资源管理的核心职能之一,可以从工作行为和工作结果角度理解绩效的含义。从工作结果的角度来看,绩效是在特定的时间内,由特定的工作职能或活动产生的产出记录;从行为角度来定义,坎贝尔认为绩效是人们所做的同组织目标相关的、可观测的事情;博曼和穆特威德鲁认为绩效是具有可评价要素的工作行为。总体看来,绩效考核是指企业组织以既定标准为依据,对其人员在工作岗位上的工作行为表现和工作结果方面的情况,进行收集、分析、评价和反馈的过程。绩效考核是企业内部管理活动,是企业在执行经营战略、进行人力资源管理过程中,根据职务要求,对员工的实际贡献进行评价的活动,强调每个人、每个岗位的特殊性。从执行结果来看,它包含对人的管理、监督、指导、教育、激励和帮助等功能。2. 绩效考核的作用在绩效考核过程中主要的参考点是未来。我们不是为了解释过去如何,而是要将考核结果作为一种资源去规划某项工作或某个职工未来的新可能性,这就是对职工及工作的开发。彼得·杜拉克说过:“组织的目的是通过工人力量的结合取得协同效应,并避开他们的不足。”这也正是有效的绩效管理的目的。也可以说考核目标的实现最终表现在组织整体效益的提高。3开封大学软件学院2010届毕业设计3. 绩效考核的作用绩效考核存在的现实问题很多,因此不少人对绩效考核持怀疑的态度,全面质量管理先驱爱德华·戴明甚至把绩效考核视为管理的七大致命痼疾之一。通过调查表明,我国企业人力资源开发与管理的首要问题为绩效考核工作不力。首先表现在人际关系的影响过大,这是我国企业中令人头痛的问题。一点芝麻大的事情就可能有好多人来拉关系、打招呼,导致人治大于法治,管理制度难以落实。其他依次表现为考核方法不合理、考核标准不稳定、考核人员受主观因素左右、考核水平不高、经理人员不重视等方面。(二) 本文主要工作本文主要从两个方面介绍了员工绩效考核系统:1. 本文的设计目标本系统是一个典型的信息管理系统,主要目标是让使用它的管理用户,包括系统管理员、领导和员工,能很好地管理有关员工考勤方面的工作,比如系统管理员负责日常的上下班考勤管理工作,如各种基本信息的录入、修改、删除等操作,各级领导使用该系统可完成考勤信息、绩效信息查询和管理,而员工使用该系统主要完成上下班技校考勤和KPI绩效考勤等操作。2. 系统的主要功能经过实际考察和分析,典型的员工绩效考核系统包括四个模块,相应能实现以下主要功能:考勤管理模块:该模块用来设置和修改员工考勤的标准。如早上上班时间,下午下班时间,午休时间等。考核评测模块:该模块用来供领导阶层查看所有员工的KPI(考核值)。对未考核或者漏考核的员工可以进行考核,对已经考核的了的员工可以对其考核的成绩进行修改。绩效考评内容维护模块:为系统维护绩效考核的类别信息,一般分为 德、能、勤、绩、廉 五个方面。绩效汇总统计模块:本模块可以对公司整个或者部分人员的考核分数进行汇总, 4开封大学软件学院2010届毕业设计并且可以将汇总的数据导出形成EXCEL文档。(三) 论文组织论文全文共分为六章:第一章 绪论。这一章主要介绍了论文选题的引言、对现有的员工绩效考核系统进行分析和论文的主要工作以及论文的组织,其中论文的主要工作又涉及到论文的设计目标和设计系统的功能。第二章 开发环境和开发技术。这一章介绍了系统、系统的开发模式、开发环境以及开发环境的建立。第三章 需求分析。这一章主要介绍了系统设计思想、可行性分析、功能和性能需求、系统的设计基础和系统数据字典。第四章 系统设计。这一章主要介绍了系统的总体结构设计和系统的数据库设计,其中数据库的设计包括了概念设计、逻辑设计和物理设计。第五章 系统实现。这一章介绍了系统的所有模块和它的功能以及实现过程。第六章 结束语。对系统实现过程进行了总结,并对系统将来进行扩充与完善工作进行了展望。二 开发环境和开发技术(一) 系统简介《员工绩效考核系统》是面向广大员工绩效考核工作实际开发出的应用系统。它通过计算机完成各种数据的录入,然后得出公务员的各项数据统计并生成报表等。不但可以把人们从繁琐的记录统计工作中解放出来,还可以增加管理的准确性、实效性。1.开发意图a. 为了员工绩效考核系统更完善;b. 为了对公务员日常工作的管理更方便;c. 为了减轻绩效考核人员的工作负担。2.应用目标建立的员工绩效考核系统,要把公务员的上下班考勤、考核评测、员工基本信息管理等日常管理工作实行计算机统一管理,以提高工作效率和管理水平。 5开封大学软件学院2010届毕业设计3.作用及范围本软件适用于政府、企业界,它是比较完善的系统管理软件,对公务员的基本信息管理,上下班考勤,绩效考核等可以进行方便的管理。(二) 系统开发环境1. 开发环境的选择开发与运行的环境的选择会影响到数据库设计,本系统开发与运行环境如下: ? 开发环境:Windows 2000/XP? 开发工具:MyEclipse 8.0? 数据库管理系统:SQL Server 2000本系统在Windows 2000/XP Server 开发环境下,利用javaweb开发工具,并使用SQL Server 2000作为数据库管理系统,来实现员工绩效考核系统的各个模块和它们的功能,形成一个令多数企业满意的员工绩效考核系统。2. MyEclipse简介MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse的特征可以被分为7类:1. JavaEE模型;2. WEB开发工具;3. EJB开发工具;4. 应用程序服务器的连接器;5. JavaEE项目部署服务;6. 数据库服务;7. MyEclipse整合帮助;对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他 6开封大学软件学院2010届毕业设计模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。3. SQL server 2000简介SQL Server 2000是微软公司推出的大型数据库管理系统,建立在成熟而强大的关系模型基础之上,可以很好地支持客户机/服务器网络模式。SQL Server 2000是一个杰出的数据库平台,能够满足各种类型的企事业单位对构建网络数据库的需求,同时还具有功能强大,安全可靠等特点,可用于大型联机事务处理、数据仓库及电子商务等。它与Windows操作系统紧密集成,具有方便易用的图形界面,并提供了一套完整的管理工具和实用程序,大大减轻了管理员的工作量,使用户对数据库的操作变得非常简单,使许多以前需要手工进行处理的复杂任务,现在可以通过图形化界面和向导工具来轻松地完成。正是由于SQL Server 2000具有操作简单、功能强大、安全性高等特点,目前已经成为各类学校学习大型数据库管理系统的所选对象之一。(三) 开发环境的建立1. 确保SQL Server 2000服务器正常工作1. SQL Server 2000安装完毕后,启动【服务管理器】,在如图1所示的【SQL Server 服务管理器】界面中可以查看服务器的服务是否正常启动。7开封大学软件学院2010届毕业设计图1 【SQL Server服务管理器】界面2. 启动服务器上的【企业管理器】,查看【企业管理器】是否能够正常管理。2. 测试SQL Server 2000和本地服务器的连接1. 启动【查询分析器】。由于【查询分析器】首选必须连接服务器,然后才能工作。出现【连接到SQL Server】界面,在【SQL Server】文本框中输入本地服务器的别名,或者单击按钮将客户机能够自动识别的别名添加进来。完成设置后单击按钮。2. 成功连接到本地数据库服务器界面。表明连接参数配置正确,如果不能出现此界面,则需要仔细检查本地服务器参数是否正确。三 需求分析(一) 设计思想由于本系统是一个员工绩效考核系统,所以第一步就是需要利用SQL Server 2000建立所需要的数据库,第二步就使用MyEclipse完成该系统客户端应用程序的开发。将建立数据库所在的服务器作为服务器端,在这里我所用的是本地服务器,为开发应用程序的客户端提供所需要的数据服务。当然,客户端跟服务端需要联接,具体来说就是指应用开发程序和数据库的连接,本系统主要是通过ADO来访问SQL Server 2000数据库。其中,这个访问过程涉及到创建Connection对象和Recordset对象,以及检索Recordset对象中的记录,然后将结果显示给用户或者进行修改以及更新数据表中的数据。(二) 可行性分析1. 经济可行性分析员工绩效考核系统开发了一个满足业务要求的管理信息系统,由于提高了效率,减少了人工和用时,系统的开发应用带来无形巨额经济效益,因此可见在经济上是完全可行的。8开封大学软件学院2010届毕业设计2. 管理可行性分析企业必须具有高度的适应性,不仅要适应变化的对象和内容,而且要适应变化的力度和节奏,要善于敏锐地发现变化的动向,善于果断地捕捉变化的契机,善于促进本公司工作的变革与更新。3. 技术可行性本系统在Windows XP Server 开发环境下,利用MyEclipse 8.0开发工具,并使用SQL Server 2000作为数据库管理系统,来实现公务员绩效考核系统的各种功能。SQL Server 2000属于主从时式的数据库服务器这也是主从式数据库服务器的特点,服务器本身重在数据的管理,为客户端应用程序提供一致的接口。当然也可以使用SQL Server 2005为数据库管理系统,开发工具也可以是它的更高版,这样可以提高系统的性能,降低它的局限性。(三) 功能需求按照系统开发业务分析要求和原则,在与系统管理人员的充分沟通,整理出员工绩效考核系统所需求的基本功能和用户界面的一些需求,这些需求将作为系统分析和逻辑设计的依据。1. 基本功能需求通过系统的分析,可得出该系统的基本功能需求如下:1.应该能够存储员工信息、领导信息、上下班信息、绩效信息信息等多种数据信息。2.该提供对这些信息的录入、修改、删除等操作。3.该提供添加、修改和删除用户的功能。4.应该提供给查询者一个模糊查询的功能,在输入条件的情况下,查找出所有符合条件的记录。2. 用户界面需求员工绩效考核系统提供给用户WEB的界面,此界面要求操作清晰,页面美观,并尽可能的为用户的查询操作提供方便。系统管理员能通过此界面完成各种基本信息 9开封大学软件学院2010届毕业设计的录入、修改和删除的功能,也能通过此界面控制管理整个用户群;领导通过此界面可完成员工信息查询和考勤管理的功能;员工通过此界面主要完成考勤记录和KPI绩效等功能。(四) 性能需求1. 软硬件需求根据MyEclipse8.0的运行需求以及系统的调试需求,至少需要满足以下的软硬件要求:? 操作系统:Windows2000/XP;? 数据库: SQL Server 2000;? CPU: 2.4GHz以上;? 内存: 512以上;? 硬盘: 80GB以上;? VGA显示器或更高;2. 响应时间当信息数据录入、修改和删除等操作时应无等待时间,每次处理响应时间少于3秒 。程序系统在运行过程中由于操作错误或输入输出数据出时不应死机,而应提示故障原因,然后以正常出口退出当前操作环境。3. 系统可扩展性系统应该具有可扩展性,当有新的用户条件添加时,能够很方便的对系统进行扩展,同时也能达到系统的升级。(五) 系统设计基础通过调查,企业目前在绩效管理这方面也基本上实现了用计算机的管理,对系统用户、考勤信息、绩效信息、部门信息等很好地进行了管理,但是,也还有很多需要慢慢改进的地方,比如考勤管理不够完善,系统响应速度太慢等问题。本员工绩效考核系统主要涉及到系统管理员、各级领导和员工用户,对应相应的管理模块, 10开封大学软件学院2010届毕业设计其用户方组织结构图3如下:图3用户方组织结构图1. 系统业务流图业务流程图是一种表明系统内各单位,人员之间的业务关系,作业顺序和管理信息流动的流程图,它可以帮助分析人员找出业务流程中的不合理迂回等。员工绩效考核系统的需求分析的重点是对员工绩效考核信息系统的业务流程进行描述,通过采用流程图中的部分图形来对绩效管理活动进行规范化说明,如下图如示:11开封大学软件学院2010届毕业设计图 4 系统业务流图2. 系统数据流图数据流图是在系统分析员在系统设计阶段,对实际构建的系统分析综合后,提取逻辑模型的一个过程,它更关注于过程内数据的处理,而把具体处理数据的物理过程,物理分布忽略。通过分析,画出系统数据流图,如下图所示:图5 顶层数据流图图6 上下班管理数据流图12开封大学软件学院2010届毕业设计图7 绩效考核管理数据流图(六) 系统数据字典1. 数据字典简介数据字典是有表和视图组成的,存储有关数据库结构信息的一些数据库对象。数据字典描述了实际数据是如何组织的,对它们可以象处理其他数据库表或视图一样进行查询,但不能进行任何修改。数据字典就是将数据元素、数据结构、数据流、数据存储、加工处理和外部实体等的详细情况加以记录,并按照一定方式进行排列所形成的一部关于数据的字典。数据流图抽象地描述了系统数据处理的概貌,描述了系统的分解,即系统由哪些部分组成,各部分之间的联系,但它不能说明系统中各成分是什么,也不能表达系统中各个处理(加工)的详细内容,这就要用数据字典 。2. 数据元素主要对原始数据库表中的个别属性进行了简要的描述。数据项描述数据项编号:001数据项名:员工编号13开封大学软件学院2010届毕业设计别名:Emp_Id类型:int长度:4取值范围:数据项编号:002数据项名:性别别名:Sex类型:char长度:2取值范围:男,女数据项编号:003数据项名:籍贯别名:Family_Place类型:varchar长度:50取值范围:数据项编号:004数据项名:出生年月别名:Birth类型:varchar长度:20取值范围:yyyy-mm-dd数据项编号:005数据项名:政治面貌别名:Political_Parth类型:varchar长度:40取值范围:党员、团员、群众14开封大学软件学院2010届毕业设计数据项编号:006数据项名:文化程度别名:Culture_Level类型:varchar长度:40取值范围:高中、中专、大专、本科、硕士、博士、博士后数据项编号:007数据项名:婚姻状况别名:Marital_Condition类型:varchar长度:20取值范围:已婚、未婚、离异、丧偶数据项编号:008数据项名:家庭住址别名: Residence类型:varchar长度:180取值范围:数据项编号:009数据项名:邮编别名:Postcode类型:varchar长度:10取值范围:数字数据项编号:010项名:部门ID别名:bmid长度:10取值范围:数字15开封大学软件学院2010届毕业设计四 系统设计(一) 数据库设计1. 数据库简介在系统设计过程中,数据库的设计是系统的核心和基础,把系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。1.数据库的概念数据库是长期储存在计算机内大量的有组织的,可以共享的数据的集合,这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。2.新建数据库在新建一个数据库时,必须先对它进行分析,比如它的大小、权限和备份等问题。本系统在SQL Server 2000中的查询分析器中新建一个数据库的具体步骤如下:Cre3.修改数据库数据库的修改主要包括Alter database、Drop database等等。当然其中涉及到数据库用户的权限问题,管理用户分配给一般用户有修改的权限时才能进行修改。2. 概念结构设计概念结构设计通常是使用E-R图对它的描述工具进行设计,对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体、实体的属性,标识实体的码,确定实体之间的联系类型,设计E-R图。现以上下班考勤为例,通过员工和上下班时间相关联得出员工上下班绩效考勤E-R图,如下图4-1所示:16开封大学软件学院2010届毕业设计图 8 员工上下班绩效考勤E-R模型3. 数据模型设计数据模型是现实世界中数据特征的抽象。数据模型应该满足三个方面的要求:(1)能够比较真实地模拟现实世界(2)容易为人所理解(3)便于计算机实现概念数据模型也称信息模型,它以实体-联系(Entity-Relationship,简称E-R)理论为基础,并对这一理论进行了扩充。它从用户的观点出发对信息进行建模,主要用于数据库的概念设计。通常人们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。换句话说,就是先将现实世界中的客观对象抽象为实体(Entity)和联系 (Relationship),它并不依赖于具体的计算机系统或某个DBMS系统,这种模型就是我们所说的CDM;然后再将CDM转换为计算机上某个 DBMS所支持的数据模型,这样的模型就是物理数据模型,即PDM。CDM是一组严格定义的模型元素的集合,这些模型元素精确地描述了系统的静 17开封大学软件学院2010届毕业设计态特性、动态特性以及完整性约束条件等,其中包括了数据结构、数据操作和完整性约束三部分。(1)数据结构表达为实体和属性;(2)数据操作表达为实体中的记录的插入、删除、修改、查询等操作;(3)完整性约束表达为数据的自身完整性约束(如数据类型、检查、规则等)和数据间的参照完整性约束(如联系、继承联系等);下图所示:图9 概念数据模型物理数据模型(Physical Data Model):简称物理模型,是面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有起对应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实现工作又系统自动完成,而设计者只设计索引、聚集等特殊结构。在概念数据模型中最常用的是E-R模型、扩充的E-R模型、面向对象模型及谓词模型。在逻辑数据类型中最常用的是层次模型、网状模型、关系模型。如下图所示:18开封大学软件学院2010届毕业设计图10 物理数据模型4. 物理结构设计根据逻辑关系模型可直接设计基于某种数据库管理系统支持的物理结构,我们知道关系数据库是由表构成的,所以依据系统用户信息、考勤记录信息、绩效考核信息、KPI考核值信息以及其他数据字典在数据库中建立相应的表。本系统采用的后台数据库是Microsoft SQL Server 2000数据库系统,本数据库名称为“KPISys.mdb”。各表结构以及关系图分别如以下所示。、数据库中各表的关联关关系如下表所示:图11 各表的关联1. KPI考核内容表19开封大学软件学院2010届毕业设计字段名称 KPI 考核的ID KPI考核类型 KPI考核内容One KPI考核内容Two KPI考核内容Three属性 KPI_ID KPI_Type KPI_One KPI_Two KPI_Three数据类型 String Char (2) Nvarchar(100) Nvarchar(100) Nvarchar(100)可否为空 主键 Not null Not null null null说明 ID 考核类型 考核内容1 考核内容2 考核内容3表1 KPI考核内容表2. 上下班时间表字段名称 用户标示 用户ID 日期 上班时间 下班时间属性 User_PK User_ID Working_Day Time_On Time_Out数据类型 String Nvarchar (30) Datetime (50) Datetime (50) Datetime (50)表2 上下班时间表可否为空 主键 外键 Null Not Null Null说明 自增长ID 用户ID 上班日期 上班时间 下班时间3.用户信息表字段名称 用户ID 用户名 用户密码 用户类型 性别 生日 电话属性 User_ID User_Name User_Pass User_Type User_Sex User_ShRi User_Tel数据类型 Nvarchar(30) Nvarchar(30) Nvarchar(30) Char(4) Char(2) datetime Nvarchar(24)可否为空 主键 Not Null Not Null Not Null Not Null Null Not Null说明 用户ID 用户名 用户密码 用户类型 用户性别 用户生日 用户常用电话邮箱 部门User_Email User_BuMenNvarchar(40) Char(2)表3 用户信息表Not Null Not Null用户常用邮箱 用户所属部门4.用户KPI考核值表20开封大学软件学院2010届毕业设计表4 用户KPI考核值表5. 性别表字段名称 性别ID 性别属性 Sex_ID Sex数据类型 Char Nvarchar (30) 表5 性别表可否为空 主键 外键说明 性别ID 性别6. 籍贯表字段名称 籍贯ID 籍贯属性 Jiguan_id Jiguan数据类型 Nvarchar (30) Nvarchar (30) 表6 籍贯表可否为空 主键 外键说明 籍贯ID 籍贯7. 政治面貌表字段名称 政治面貌ID 政治面貌属性 Zzmm_id zzmm数据类型 Nvarchar (30) Nvarchar (30) 表 7 政治面貌表可否为空 主键 外键说明 政治面貌ID 政治面貌8. 文化程度表字段名称 文化程度ID 文化程度属性 Whcd_id whcd数据类型 Nvarchar (30) Nvarchar (30) 表 8 文化程度表可否为空 主键 外键说明 文化程度ID 文化程度9. 婚姻状况表字段名称属性 Hyzk_id数据类型 Nvarchar (30)可否为空 主键说明婚姻状况ID 婚姻状况ID21开封大学软件学院2010届毕业设计婚姻状况 hyzk Nvarchar (30)表 9 婚姻状况表 外键 婚姻状况10. 部门表字段名称 属性Bumen_idbumen 数据类型 Nvarchar (30) Nvarchar (30)表10 部门表 可否为空 主键 外键 说明 部门ID 部门 部门ID 部门(二) 总体结构设计功能模块设计本系统是一个典型的信息管理系统,主要目标是让使用它的管理用户,包括系统管理员、领导和员工,能很好地管理有关员工考勤方面的工作,比如系统管理员负责日常的上下班考勤管理工作,如各种基本信息的录入、修改、删除等操作,各级领导使用该系统可完成考勤信息、绩效信息查询和管理,而员工使用该系统主要完成上下班技校考勤和KPI绩效考勤等操作。根据需求分析中列出的员工绩效考核系统的四个基本模块,设计了如下图16所示的员工绩效考核系统总体结构示意图。图12 员工绩效考核系统总体结构图由上述的系统总体结构图所示,将一个开发的员工绩效考核系统分成四个模块,他们分别为:绩效考评内容维护模块、考勤管理模块 、考核评测模块、绩效信息汇总模块。22开封大学软件学院2010届毕业设计根据该系统功能分析,该软件主要有4个功能模块,具体功能描述如下:(1) 绩效考评内容维护模块为系统维护绩效考核的类别信息,一般分为 德、能、勤、绩、廉 五个方面。 注:1、德:指国家公务员政治、思想和道德品质表现。侧重从思想政治、职业道德和社会公德三个方面考核;2、能:指业务知识和工作能力。侧重从政策理论水平、业务工作能力、协调管理能力、开拓创新能力及文字表达能力四个方面考核;3、勤:指工作态度和敬业表现。侧重从出勤情况和工作表现两方面考核;4、绩:指工作量、工作质量、效益和贡献。侧重从本职位设置的考核要素与量化指标的实际完成情况方面考核;5、廉:指廉洁从政表现。侧重从党风廉政建设有关规定的执行情况方面考核。(2) 考勤管理模块该模块用来设置和修改员工考勤的标准。如早上上班时间,下午下班时间,午休时间等。(3) 考核评测模块该模块用来供领导阶层查看所有员工的KPI(考核值)。对未考核或者漏考核的员工可以进行考核,对已经考核的了的员工可以对其考核的成绩进行修改。(4) 绩效汇总统计模块本模块可以对公司整个或者部分人员的考核分数进行汇总,并且可以将汇总的数据导出形成EXCEL文档。五 系统实现(一) 登陆功能登陆页面的页面名为login.jsp,登陆窗体如下图5-1:23开封大学软件学院2010届毕业设计图 13 系统登陆窗口实现代码如下:public String login() throws Exception {Map&String, Object& session ActionContext.getContext().getSession();LoginService service = new LoginService();userinfo = service.login(username, psword);Integer User_ID = userinfo.getUser_ID();if (userinfo == null) {session.put("errorinfo",errorinfo);return "error";}session.put("User_ID",User_ID);session.put("userinfo", userinfo);return "success";}public String adminlogin() throws Exception {Map&String, Object& session ActionContext.getContext().getSession();AdminLoginService aservice = new AdminLoginService(); Admin_Info admininfo = aservice.login(username, psword);24 = =开封大学软件学院2010届毕业设计} if (admininfo != null) { session.put("admininfo", admininfo); } else { } return "adminsuccess"; session.put("errorinfo",errorinfo); return "error";(二) 系统首界面系统首界面的页面名为index.jsp,首界面窗体如下图5-2:图 14 系统首界面实现代码如下:&frameset rows="160,100%" cols="*" frameborder="no"&&frame noresize="noresize" src="Frame_Logo.jsp"& &frameset rows="*" cols="18%,82%" frameborder="no"& &frame noresize="noresize" name="left"src="Frame_Lift.jsp"& &frame noresize="noresize" name="right"src="Frame_Main.jsp"& &/frameset&&/frameset&25开封大学软件学院2010届毕业设计(三) 考勤管理模块1. 用户信息管理功能用户信息管理功能模块界面如下图:图 15 全部用户信息管理图 16 添加用户26开封大学软件学院2010届毕业设计图 17 修改用户图 18 删除用户信息图 19 查看个人信息27开封大学软件学院2010届毕业设计该功能实现的代码为:public Integer Number_max() {String sql = "select top 1 User_ID from User_Info order by User_ID desc";Connection con = DBConnection.getConnection();Statement stmt =ResultSet rs =Integer numberInteger =try {stmt = con.createStatement();rs = stmt.executeQuery(sql);while (rs.next()) {numberInteger = rs.getInt("User_ID");}} catch (SQLException e) {e.printStackTrace();} finally {DBUtil.close(rs);DBUtil.close(stmt);DBUtil.close(con);}return numberI}public void add(User_Info userinfo){Connection conn = DBConnection.getConnection();String sql = "insert into(User_Name,User_Pass,User_Sex,User_Tel,User_Email,User_ID)(?, ?, ?, ?, ?,?)";PreparedStatement pstmt =try {28 User_Info values开封大学软件学院2010届毕业设计} pstmt = conn.prepareStatement(sql); pstmt.setString(1, userinfo.getUser_Name()); pstmt.setString(2, userinfo.getUser_Pass()); pstmt.setString(3, userinfo.getSex()); pstmt.setString(4, userinfo.getUsertel()); pstmt.setString(5, userinfo.getUseremail()); pstmt.setInt(6,this.Number_max()+1); pstmt.executeUpdate();public List&User_Info& getUsers() {public void del(int id ){List&User_Info& userinfos = new ArrayList&User_Info&(); Connection conn = DBConnection.getConnection(); String sql = "select * from User_Info"; Statement stmt = ResultSet rs = try { } stmt = conn.createStatement(); rs = stmt.executeQuery(sql); while (rs.next()) { } User_Info u = new User_Info(); u.setUser_ID(rs.getInt("User_ID")); u.setUser_Name(rs.getString("User_Name")); u.setUser_Pass(rs.getString("User_Pass")); u.setSex(rs.getString("User_Sex")); u.setUsertel(rs.getString("User_Tel")); u.setUseremail(rs.getString("User_Email")); userinfos.add(u); String sql = "delete from User_Info where User_ID=? "; Connection conn = DBConnection.getConnection(); 29开封大学软件学院2010届毕业设计PreparedStatement pstmt =try {pstmt = conn.prepareStatement(sql);pstmt.setInt(1, id);pstmt.executeUpdate();}public User_Info select(int id) {String sql = "select * from User_Info where User_ID=?";Connection con = DBConnection.getConnection();PreparedStatement pstmt =User_Info u = new User_Info();try {pstmt = con.prepareStatement(sql);pstmt.setInt(1, id);ResultSet rs = pstmt.executeQuery();while (rs.next()) {u.setUser_ID(rs.getInt("User_ID"));u.setUser_Name(rs.getString("User_Name"));u.setUser_Pass(rs.getString("User_Pass"));u.setSex(rs.getString("User_Sex"));u.setUsertel(rs.getString("User_Tel"));u.setUseremail(rs.getString("User_Email")); }DBUtil.close(rs);}public void lode(User_Info parameter,int id){String sql = "update User_Info User_Name=?,User_Pass=?,User_Sex=?,User_Tel=?,User_Email=?where 30 set开封大学软件学院2010届毕业设计User_ID=?";} pstmt.setString(1, parameter.getUser_Name()); pstmt.setString(2, parameter.getUser_Pass()); pstmt.setString(3, parameter.getSex()); pstmt.setString(4, parameter.getUsertel()); pstmt.setString(5, parameter.getUseremail()); pstmt.setInt(6, uid); count = pstmt.executeUpdate(); int uid = Connection con = DBConnection.getConnection(); PreparedStatement pstmt = int count = 0; try { pstmt = con.prepareStatement(sql);2. 考勤时间管理功能考勤管理功能模块界面如下图:图 20 考勤时间管理31开封大学软件学院2010届毕业设计图 21 个人上下班考勤图 22 上班打卡成功图 23 下班打卡失败32开封大学软件学院2010届毕业设计图 24 员工考勤管理图 25 员工考勤查询结果其代码实现如下:public int Time_Entity_Update(Integer Time_ID,String Time_On,String Time_Out) {String sql = "update Time_Entity set Time_On=?,Time_Out=? where Time_ID=?";Connection con = DBConnection.getConnection(); PreparedStatement pstmt = int count = 0; try { pstmt = con.prepareStatement(sql); pstmt.setString(1, Time_On); pstmt.setString(2, Time_Out); pstmt.setInt(3, Time_ID); 33开封大学软件学院2010届毕业设计} count = pstmt.executeUpdate(); public Time_Entity selectTime(String Time_Type){ String sql = "select Time_On,Time_Out from Time_Entity where Time_Type = ?";public Integer Time_On(Integer User_ID,String Working_Day,String Connection con = DBConnection.getConnection(); PreparedStatement pstmt = Time_Entity timeEntity = try { } pstmt = con.prepareStatement(sql); pstmt.setString(1, Time_Type); ResultSet rs = pstmt.executeQuery(); if (rs.next()) { } DBUtil.close(rs); timeEntity = new Time_Entity(); timeEntity.setTime_On(rs.getString("Time_On")); timeEntity.setTime_Out(rs.getString("Time_Out")); Time_On) {String sql = "insert into Time_Office (User_ID, Working_Day, Time_On) values (?,?,?)";Connection con = DBConnection.getConnection(); PreparedStatement pstmt = Integer count = 0; try { pstmt = con.prepareStatement(sql); pstmt.setInt(1, User_ID); pstmt.setString(2, Working_Day); pstmt.setString(3, Time_On); count = pstmt.executeUpdate(); 34开封大学软件学院2010届毕业设计{} DBUtil.close(pstmt); public int Time_Out(Integer User_ID,String Working_Day,String Time_Out) String sql = "update Time_Office set Time_Out=? where User_ID=? and Working_Day=?";String sql = "select Time_On,Time_Out from Time_Office where User_ID=? /** * 查询指定ID以及上班日期的记录 * 如果查询的结果集中有数据则返回TRUE,否者返回FALSE */ public Boolean Check(Integer ID,String Working_Day){ Connection con = DBConnection.getConnection(); PreparedStatement pstmt = int count = 0; try { } pstmt = con.prepareStatement(sql); pstmt.setString(1, Time_Out); pstmt.setInt(2, User_ID); pstmt.setString(3, Working_Day); count = pstmt.executeUpdate(); and Working_Day=?";Connection con = DBConnection.getConnection(); PreparedStatement pstmt = Boolean bool = try { pstmt = con.prepareStatement(sql); pstmt.setInt(1, ID); pstmt.setString(2, Working_Day); 35开封大学软件学院2010届毕业设计ResultSet rs = pstmt.executeQuery(); } while (rs.next()) { } DBUtil.close(rs); bool =/**String sql = "select ID,User_ID,Working_Day,Time_On,Time_Out from * 根据用户ID将用户的上班情况查询出来 */ public List&Time_Office& list(Integer ID) { List&Time_Office& result = new ArrayList&Time_Office&(); Time_Office where User_ID=?";Connection con = DBConnection.getConnection(); PreparedStatement pstmt = try { pstmt = con.prepareStatement(sql); pstmt.setInt(1, ID); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { } DBUtil.close(rs); 36 Time_Office pdBean = new Time_Office(); pdBean.setID(rs.getInt("ID")); pdBean.setUser_ID(rs.getInt("User_ID")); pdBean.setWorking_Day(rs.getString("Working_Day")); pdBean.setTime_On(rs.getString("Time_On")); pdBean.setTime_out(rs.getString("Time_On")); result.add(pdBean);开封大学软件学院2010届毕业设计} /** * 查询指定时间段来内迟到(含未到)的用户信息 */ public List&Time_Office& ByTime(String Time_On,String Time_Out){ List&Time_Office& result = new ArrayList&Time_Office&();String sql = "select User_ID,Working_Day,Time_On,Time_Out Time_Office where Working_Day &= ? and Working_Day &= ?";Connection con = DBConnection.getConnection();PreparedStatement pstmt =try {pstmt = con.prepareStatement(sql);pstmt.setString(1, Time_On);pstmt.setString(2, Time_Out);ResultSet rs = pstmt.executeQuery();while (rs.next()) {Time_Office pdBean = new Time_Office();pdBean.setUser_ID(rs.getInt("User_ID"));pdBean.setWorking_Day(rs.getString("Working_Day")); pdBean.setTime_On(rs.getString("Time_On"));pdBean.setTime_out(rs.getString("Time_On"));result.add(pdBean);}DBUtil.close(rs);}37 from开封大学软件学院2010届毕业设计(四) 考核评测模块考核评测模块实现界面如下:图 26 考核评测模块图 27 可操作人员列表38开封大学软件学院2010届毕业设计图 28 KPI投票其功能实现代码如下: /**while (rs.next()) { userKPI = new User_KPI(); * 查询指定ID用户的KPI值 */ public User_KPI ByID(Integer ID){ String sql ="select * from User_KPI where User_ID = ?"; Connection con = DBConnection.getConnection(); PreparedStatement pstmt = User_KPI userKPI = try { pstmt = con.prepareStatement(sql); pstmt.setInt(1, ID); ResultSet rs = pstmt.executeQuery();39开封大学软件学院2010届毕业设计userKPI.setUser_ID(rs.getInt("User_ID")); userKPI.setUser_De_KPI(rs.getInt("User_De_KPI")); userKPI.setUser_Neng_KPI(rs.getInt("User_Neng_KPI")); userKPI.setUser_Qin_KPI(rs.getInt("User_Qin_KPI")); userKPI.setUser_Ji_KPI(rs.getInt("User_Ji_KPI")); userKPI.setUser_Lian_KPI(rs.getInt("User_Lian_KPI")); userKPI.setKPI(rs.getInt("KPI")); } } DBUtil.close(rs); } catch (SQLException e) { e.printStackTrace(); } finally { } return userKPI; DBUtil.close(pstmt); DBUtil.close(con);(五) 绩效考评内容维护模块绩效考核内容维护模块的实现界面如下:图 29 绩效考核内容提交40开封大学软件学院2010届毕业设计其实现代码如下:{String sql = "update KPI_Info_User set KPI_One = ?,KPI_Two /** * 更新修改后的KPI数据 */ public int KPI_Entity(String one, String two, String three,String type) = ?,KPI_Three = ? where KPI_Type = ?";Connection con = DBConnection.getConnection(); PreparedStatement pstmt = int count = 0; try { } pstmt = con.prepareStatement(sql); pstmt.setString(1, one); pstmt.setString(2, two); pstmt.setString(3, three); pstmt.setString(4, type); count = pstmt.executeUpdate();/*** 将KPI数据全部查询出来并集合到一个list中 */ public List&KPI_Info_User& List() { List&KPI_Info_User& result = new ArrayList&KPI_Info_User&(); String sql = "select KPI_One as KPI_Info from KPI_Info_User" + " union select KPI_Two as KPI_Info from KPI_Info_User"; /* 用于拼接查询结果:union */ Connection con = DBConnection.getConnection(); PreparedStatement pstmt = try { pstmt = con.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { KPI_Info_User pdBean = new KPI_Info_User(); 41开封大学软件学院2010届毕业设计} } pdBean.setKPI_Info(rs.getString("KPI_Info")); result.add(pdBean); DBUtil.close(rs); } catch (SQLException e) { e.printStackTrace(); } finally { } DBUtil.close(pstmt); DBUtil.close(con);六 结束语本文阐述了员工绩效考核系统的分析和设计实现,系统采用Struts2.1框架编写。SQL Servlet 2000和Tomcat可以在Unix和Windows下应用,所以系统具有良好的可移植性。采用Struts2技术架构进行系统开发,有效的分离了不同层次之间的职责,并且面向接口的编程使得耦合性降低,不仅缩短了系统开发时间,而且提高了系统的可维护性和可扩展性,使得系统能够较好地适应业务需求的变化。重视绩效管理,加强绩效考核工作是企业提高盈利能力,在激烈的市场竞争中保持活力的重要途径。为了避免绩效考核工作中出现偏差,企业管理者应该真正理解绩效考核与绩效管理的关系,自觉地以绩效管理思想来指导本企业的绩效考核工作。完整、科学地建立KPI体系,全面、协调地开展绩效考核工作,这样必然会明显提升企业绩效管理水平,在企业中营造一个人人重绩效、人人抓绩效的良好氛围。由于水平有限,论文中难免会有不足之处,请各位老师、同学指证。42开封大学软件学院2010届毕业设计致 谢本论文的选题和设计是在张胜敏老师的精心指导和大力支持下进行的。张老师治学态度严谨、高度敬业、兢兢业业、孜孜以求,对我产生重要影响。记得在刚选完课题没多久她就将任务书发给了我,在后来的一段时间里鼓励我积极认真高效的完成毕业设计。并且在毕业设计中提出了很多很好的建议。在论文完成期间,很多老师、同学、朋友都给了我很多帮助,在这里特别感谢他们。另外,我还要特别感谢我的父亲母亲,感谢他们对我的教育,感谢我在大学里的每一位老师,感谢在他们在两年时间里对我无私的关怀和帮助。还要感谢,同学们对我的无私帮助,使我得以顺利完成论文。最后,再次对曾经、正在和将要关心、支持和帮助我的老师、同学、亲人、朋友们表示衷心地感谢!参考文献1. 李伟波.软件工程.武汉大学出版社,20092. 吕凤顺.SQL Server 数据库基础与实训教程.清华大学出版社,2008;3. 徐明华.Javaweb整合开发与项目实战.人民邮电出版社,2009;43转载请保留本文连接:分享到:相关文章声明:《【绩效考核系统】员工绩效考核系统》由“喂鱼抽猫”分享发布,如因用户分享而无意侵犯到您的合法权益,请联系我们删除。TA的分享

我要回帖

更多关于 员工业绩考核 的文章

 

随机推荐