基层单位量化定性评价系统的设计和实现
2016-06-17白永强高家智张正娟
白永强 高家智 张正娟
摘 要: 针对产品非计件的基层单位对每个成员定性评价中存在的问题,提出了量化加权的解决方案。在.net平台中使用Access数据库,设计并实现了基于Client/Server的基层单位量化定性评价系统,详细介绍了其中使用的关键技术。该系统能够对基层单位成员进行合理、公平、公正的定性评价,对促进基层单位全面建设具有较大的推动作用。
关键词: 基层单位; 量化定性评价系统; OLEDB; Client/Server; 通信协议
中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2016)06-62-04
Abstract: In this paper, a weighted quantification resolve project was put forward to resolve the problem of qualitative evaluation on each member in grass-roots units. The quantifying qualitative evaluation system is designed and implemented by using Access database on .net framework, and the key technology used in the system is discussed. The system makes a reasonable, fair and impartial qualitative evaluation to members in grass-roots units, and has a greater role in promoting the comprehensive construction of the grass-roots units.
Key words: grass-roots units; quantifying qualitative evaluation system; OLEDB; Client/Server; communication protocol
0 引言
产品非计件的基层单位对员工考评比较难,目前往往采取民主投票或领导研究的方式,按得票多少或领导个人意愿确定员工优秀、良好、称职、不称职等。其投票结果对员工奖励、惩罚、升迁、调职和去留等方面影响很大,这种看似民主的方式实际上并不科学,原因是投票人与被投票人无直接责任关系,但可能有个人利益关系,导致评价并不准确。直接领导也仅能投一票,与所有员工有着一样的权重,导致对部下约束力不够,调动不起来员工的工作积极性。因此,应建立一种分权重的量化打分考评方法与系统,按照与员工责任和熟悉关系分别按权重打分,加权得分后给出某一员工的综合成绩,这样可以防止老好人得高分,防止能干活、敢担当、易得罪人的员工得低分。
1 基层单位量化定性评价系统的设计
1.1 设计思路
基层单位量化定性评价系统的设计思路包括两个方面。一是每个成员对其他成员不再投票,而使用百分制方式打分确定最终排名;二是不同隶属关系的成员打分时使用合理的权重计算其最终打分结果,不使用等权重方式。假设某技术室有主任1名,副主任2名,管理三个技术组,这3个组长分别管理10人。我们设置主任权重20%、两名副主任共20%(每人权重10%)、本组组长权重20%、同组成员10人共20%权重(每人2%权重)、组外其他成员22人共20%权重(每人0.9%权重),每个人按100分制给其他人打分(加密),软件系统可以自动算出每个成员的最后得分。
上述各种权重可以由单位确定进行调整且上述打分是加密的,这种评价方法能够较好的解决评价结果可能与业务素质、能力水平不相关的问题,对每个成员做出相对客观公正的评价。
1.2 功能结构设计
基层单位量化定性评价系统的体系结构为Client/Server模式,运行在基层单位的局域网中。系统包括服务器端软件、客户端软件和Access数据库,只有服务器软件与数据库通过OLEDB方式进行数据交互,客户端软件不直接操作数据库,服务器软件和客户端软件通过UDP单播方式实现数据通信,系统体系结构如图1所示。服务器端软件启动后,可以有多个客户端软件同时运行在不同的计算机上进行打分。
系统功能设计包括服务器软件功能设计和客户端软件功能设计,其中服务器软件包括以下功能模块。
用户登录模块 该模块在服务器软件启动和退出时运行,需要用户输入正确的用户名和密码才能进入或退出,目的是防止非法用户启动软件以及关闭正在运行的软件。
控制显示模块 该模块的功能包括在系统启动时读入XML配置文件的内容、显示成员信息维护的内容、显示参数配置的内容、显示定性评价结果的内容,以及控制系统退出等。
数据处理模块 该模块的功能包括定义数据帧结构、向客户端发送数据前组帧、收到客户端数据后解帧、Xml结构化数据转换为Dataset数据集、Dataset数据集转化为Xml结构化数据、调用数据访问模块与数据库进行数据交互、链路监测(监测服务器与客户端软件的链路)数据的收发处理等内容。
数据访问模块 该模块包括连接Access数据库,数据库中各数据表中记录的插入、删除、更新、查询、统计、清除等操作。
网络通信模块 该模块包括初始化网络套接字、使用回调函数异步接收数据、发送数据、软件退出时的关闭套接字等内容。
参数设置模块 该模块主要包括将权重、人员职务、单位名称、本机IP地址等内容设置为XML配置文件的功能。
结果输出模块 该模块主要包括将定性评价结果输出至word文档的功能。
客户端软件包括以下功能模块。
用户登录模块 该模块功能包括软件启动时需要用户选择用户名并输入正确的密码(用户名和密码保存在服务器的数据库中)才能进入软件及用户修改其密码并发送至服务器。
数据处理模块 该模块的功能与服务器软件数据处理模块的功能相似,包括定义数据帧结构、向服务器端发送数据前的组帧、收到服务器端数据后的解帧、Xml结构化数据转换为Dataset数据集、Dataset数据集转化为Xml结构化数据、链路监测(监测服务器与客户端软件的链路)数据的收发处理等。
网络通信模块 该模块的功能与服务器软件网络通信模块的功能相同。
控制显示模块 该模块功能包括系统启动时读入XML配置文件的内容、显示用户打分的内容,接收用户提交的打分结果等。
1.3 数据库设计
鉴于基层单位量化定性评价系统的数据量不会太大(因为一个基层单位的人员不会太多),所以使用Access数据库管理系统。数据库设计一般要经过需求分析与数据分析、概念设计、逻辑设计和物理设计四个步骤,系统的数据库比较简单,直接进行物理设计[1]。系统共包括四个数据表,即人员信息表、打分信息表、权重表、角色配置表。其中人员信息表包括人员编号、姓名、职务/职称、单位、登录客户端时的密码、最终分数、最终排名、角色编号8个字段;打分信息表包括打分人员编号、被打分人员编号、分数、权重4个字段;权重表包括权重编号、人员角色、权重3个字段;角色配置表包括角色编号、人员角色、角色值3个字段[2]。
权重表与角色配置表的记录是服务器软件计算权重需要的数据,这些内容也可以存放在配置文件中,但是在系统中为了查询和更改等操作方便,将其放置在数据表中。
1.4 数据通信协议设计
基层单位量化定性评价系统的数据传输环境为支持UDP/IP网络协议的网络系统。通过网络传输的数据,需要加在IP数据段的数据域内传送,具体见图2。
2 基层单位量化定性评价系统的实现
系统的实现采用基于.net的平台技术,下面按照系统的流程,分别说明服务器软件和客户端软件的具体实现过程。
2.1 服务器软件的实现
用户登录和退出 系统登录和退出时需要对用户身份进行验证,防止非法用户进入系统或退出系统。
成员信息维护 成员信息维护用于成员信息的添加、删除、修改及修改后的保存、导航等。成员信息维护界面如图3所示。
系统参数设置 系统参数设置用于“权重”值的修改、IP地址的设置等软件正常运行需要的参数。
评价结果查询 评价结果查询用于成员打分完毕后,根据所有成员对每个成员的不同权重及打分结果计算所得的最终得分及其排名结果,并能将结果输出至Word文档。如果某个成员确因各种原因无法打分,系统计算时将会提示“将其对所有成员的打分默认为100分”后计算。
2.2 客户端软件的实现
用户登录 用户第一次登录时,如果IP地址设置错误,系统会提示用户设置正确的服务器IP地址和本机IP地址。系统正常启动后,自动与服务器交互,需要用户通过下拉列表框选择自己的用户名并且输入正确的密码后才能正常登录,另外用户可在登录界面进行密码修改并将结果反馈至服务器。
用户打分 用户打分用于登录的成员对其他成员进行打分,打分界面中显示了用于打分的成员及登录成员给每个成员打分时所占的权重,打分完毕后需要点击“提交”按钮将结果提交至服务器,服务器会提示打分成功或失败。
链路监测 服务器和客户端的数据交互需要网络支持,为了实时监控其网络状态,系统在客户端和服务器端都实现了链路监测功能。
3 基层单位量化定性评价系统实现的关键技术
3.1 基层单位成员权重计算方法
基层单位成员权重计算是系统实现的一个重要内容。但有些成员与其他成员的角色关系是不同的,比如A组长,对于主任和副主任,他是该单位组长中的一个;对于A组成员,他是惟一的组长;而对于除A组之外的其他成员,他只是一名普通的成员。系统实现时,通过在数据库中定义角色表并预设多个角色值的方法对每个成员的权重进行计算。
系统定义角色表中预设的多个特定值如图4所示。通过在数据库中关联人员信息表的字段RoleTableRoleValue和角色表中的字段RoleName的值,可以惟一确定每个成员的角色名(RoleName)及其角色值(RoleValue)。在计算每个成员对其他成员的权重时,可以根据各成员之间的角色值的关系实现。
3.2 多客户端访问Access数据库的方法
Access数据库只需在计算机上安装office办公软件即可使用,但Access数据库不支持并发访问,本系统作为一个C/S架构的网络版应用系统,实现时使用了一种多客户端访问Access数据库的方法。
3.2.1 使用到的技术简介
⑴ Dataset简介
Dataset作为ADO.NET结构的主要组件,与关系数据库的模型基本一致,是从数据源中检索到的数据在内存中的缓存,它可以不依赖于数据库而独立存在,也就是说,即使断开数据库或者关闭数据库,dataset依然是可用的[4]。
⑵ Xml简介
Xml(Extensible Markup Language)指可扩展标记语言,是独立于软件和硬件的结构化的数据存储及传输工具[5]。
3.2.2 客户端访问Access数据库的流程
系统使用Dataset作为内存数据库、Xml作为网络数据传输工具实现了多客户端访问Access数据库,具体的实现流程如图5所示。
3.2.3 实现方法中使用的关键代码
4 结束语
在某航天发射中心的部分基层单位使用基层单位量化定性评价系统的结果表明,系统解决了评价结果与基层单位成员业务素质、能力水平不相关的问题,能够对每个成员作出客观公正的评价,对促进基层单位全面建设具有较大的推动作用。
参考文献(References):
[1] 罗莉,罗勇.软件开发中数据库设计理论与实践探索[J].科技
经济市场,2015.10:108-109
[2] 张成叔.Access数据库程序设计(第三版)[M].中国铁道出版
社,2012.
[3] Andrew S.Tanenbaum著,严伟译.计算机网络(第五版)[M].
清华大学出版社,2013.
[4] 龚根华,王炜立.ADO.NET数据访问技术[M].清华大学出版
社,2012.
[5] 刘云鹏,王超.XML入门经典(第五版)[M].清华大学出版社,
2013.