一种基于SVN日志的程序员工作状态过程评价方法及系统技术方案

技术编号:34370522 阅读:48 留言:0更新日期:2022-07-31 10:55
本发明专利技术涉及一种基于SVN日志的程序员工作状态过程评价方法及系统,属于程序员工作状态评价技术领域。本发明专利技术的核心思想是以程序员操作特征、当前任务特征、和程序员能力特征为输入,借助决策树模型对程序员每天工作状态进行客观评价。具体为,部署在SVN服务器的数据采集模块实时采集程序员SVN操作日志并计算一组操作特征,通过消息中间件将这些特征传输到后台服务器数据接收模块。在接收到这些操作特征以后,状态评估模块以程序操作特征、任务特征和能力特征为输入,对程序员当前工作状态进行评价。本发明专利技术为管理人员提供一张图的视角,对程序员的工作状态在时间上进行细粒度的过程性评价,对项目管理和工作效率的提升起到了积极的作用。的作用。的作用。

A process evaluation method and system of programmers' working state based on SVN log

【技术实现步骤摘要】
一种基于SVN日志的程序员工作状态过程评价方法及系统


[0001]本专利技术涉及一种基于SVN日志的程序员工作状态过程评价方法及系统,属于程序员工作状态评价


技术介绍

[0002]目前的软件开发部门中,一个部门经理(管理人员)通常要管理多个项目,每个项目经理管理十多名程序员(开发工程师或测试工程师),共同负责一个或多个软件开发项目。软件开发部门涉及多个软件项目,每个项目涉及到设计、开发、测试和部署等多个环节。
[0003]对于一个中小型软件企业来讲,普遍存在的情况是:项目管理和开发过程不够规范,程序员技术水平和规范意识都参差不齐,且沟通效率不高。程序员是项目执行的主体,管理人员往往不能及时了解程序员工作状态,导致项目进度受到影响。因此,程序员工作状态过程性评价和管理显得尤为重要。
[0004]管理人员细粒度(例如按天)的方式了解程序员岗位等级、当前任务难度如何、工作效率、是否出现异常情况。对于提升项目管理能力,队伍能力建设有着积极的作用。但是,管理人员想要了解上百名工程师每天的工作状态是一件几乎不可能事情。如果上百名工程师每天都做一次工作汇报,整个部门无法承担这样的管理成本。
[0005]目前,管理人员只能借助相关工具间隔一段时间(例如一周)的周报或口头汇报了解项目进展和每位工程师进展。这种粗粒度方式不利于项目的推进和工作效率的提升,这种缺少过程评价的方式掩盖了一些不利因素,有可能会导致项目延迟交付。由于软件开发过程可见性不高、项目经理管理能力、工程师个人素质等多种原因,普遍存在这样的问题:
[0006](1)部分开发工程师可能一整天都没有提交代码,测试工程师可能一整天都没有更新测试报告;
[0007](2)项目经理对上述知情与否,是否有进行积极的干预,管理人员都无从得知。这种情况的存在不利于项目按正常进度推进,也不利于提升团队的工作效率。对于管理人员来讲,迫切需要一种实时低成本的“一张图”可视化界面评价工程师每天的工作状态。
[0008]SVN是一款流行的多人协作软件开发版本管理工具,软件开发团队使用设计文档、源代码、bug追踪,只要团队成员有代码更新、文档更新,在SVN中都会有对应的记录。通过对 SVN操作记录的实时监控和量化分析,使管理人员细粒度的下属每天的工作状态成为可能。
[0009]专利“CN201810771505.6,一种基于计算机辅助的程序员绩效评定的方法”从评定规则出发,结合自评和他评的视角,提出了一种多因子加权平均的绩效量化评定方法。该方法是针对阶段性结果的绩效评定方法(例如按月对程序员绩效评定),而不是细粒度(例如按天) 过程性的评价方法。
[0010]专利“CN202011443298.5,基于SVN日志差异文件分析的代码量计算的方法”提出了通过“SVNdiff”命令计算两个不同版本间的代码差异量。该方法考虑的也是间隔一段时间完成的代码量,不是时间细粒度的评价。另外,仅依据代码量也不能客观反映工程师的工作状态。
[0011]综上所述,现有技术中存在两个缺陷,分别是:
[0012]一、缺少细粒度过程性评价。已有的方法无法准确回答以下这些问题:开发工程师今天是否有提交代码,代码量有多少,是否有修改bug,测试工程师是否有提交测试报告。
[0013]二、无法实施大规模实时评价。在已有的方法前提下,一个管理员想了解整个部门一百名工程师每天的工作状态,管理成本太高。
[0014]因此,目前急需一种采用细粒度过程性评价、并且可以进行大规模实时评价的评价方法。

技术实现思路

[0015]本专利技术要解决的技术问题是提供一种基于SVN日志的程序员工作状态过程评价方法及系统,通过实时采集SVN操作日志,计算程序员执行Checkout、Checkin的次数,代码更新量、文档规范性等行为特征。结合程序员岗位级别、历史工作效率、负责模块的难易程度和对应工作量等客观因素,通过部门内普遍认可的一系列规则来综合判断程序员每天的工作状态。为管理人员提供全局一张图,了解每位工程师的每天工作状态,每个项目组及时响应的能力,提升部门管理水平,提升团队执行力。
[0016]一种基于SVN日志的程序员工作状态过程评价系统,包括:
[0017]数据采集单元,用于实时监控SVN系统运行日志并对系统产生的新的操作日志进行采集,根据操作日志信息得到程序员行为特征,将行为特征打包成一条消息记录,并将消息记录进行编码后,提交到数据发送单元。
[0018]所述行为特征为SVN系统记录的程序员的操作行为特征。
[0019]所述消息记录为程序员操作行为特征的消息记录。
[0020]数据发送单元,用于接收数据采集单元采集的消息记录,并将消息记录发送到消息中间件Kafka。
[0021]消息中间件Kafka,用于接收和临时保存数据发送单元发送的数据,并通知数据接收单元获取数据。
[0022]数据接收单元,用于实时从消息中间件Kafka的发布/订阅功能实时获取消息记录,并将这些消息记录保存在存储单元。
[0023]数据存储单元,用于根据存储规则对行为特征数据进行存储。
[0024]指标配置单元,用于将程序员的岗位特征和当前工作任务的任务特征进行配置。
[0025]指标评价单元,用于将程序员的行为特征、程序员的能力特征和当前任务特征输入到决策树中,构建评价模型,通过评价模型对程序员的工作状态进行评价。
[0026]所述系统还包括用户交互单元,是用户和系统之间的交互界面,用于向指标配置单元和评价指标计算单元发送指令,还用于显示评价指标计算单元输出的评价结果,提供显示功能。
[0027]所述数据采集单元和数据发送单元同时部署在SVN系统的节点上,并且可以部署在多个 SVN系统的节点上。
[0028]所述消息中间件Kafka是一个开源分布式的消息中间件,可以为分布式环境下消息中间件的生产者和消费者等多个参与者提供高效、稳定和可靠的消息传递功能。
[0029]所述数据接收单元,数据存储单元,指标配置单元,指标评价单元和交互单元可以
部署在一个工作节点上。
[0030]一种基于SVN日志的程序员工作状态过程评价方法,采用所述的基于SVN日志的程序员工作状态过程评价系统,具体步骤为:
[0031]Step1:通过数据采集单元采集程序员在SVN系统上的操作日志,即程序员的行为特征。
[0032]所述程序员的行为特征包括但不限于:源代码Checkout次数、源代码Checkin次数、新增加代码数量、修改代码数量、删除代码数量、代码的注释内容、修改bug的数量、测试文档Checkout次数、测试文档Checkin次数、对已经修改bug的再测试的次数。
[0033]Step2:获取程序员的岗位能力特征和当前任务的特征,并对程序员的岗位能力特征和当然任务的分级特征进行配置。
[0034]所述程序员能力特征包括岗位等级(高级、中级和初级),历史本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于SVN日志的程序员工作状态过程评价系统,其特征在于,包括:数据采集单元,用于实时监控SVN系统运行日志并对系统产生的新的操作日志进行采集,根据操作日志信息得到程序员行为特征,将行为特征打包成一条消息记录,并将消息记录进行编码后,提交到数据发送单元;数据发送单元,用于接收数据采集单元采集的消息记录,并将消息记录发送到消息中间件Kafka;消息中间件Kafka,用于接收和临时保存数据发送单元发送的消息,并通知数据接收单元获取数据;数据接收单元,用于实时从消息中间件Kafka的发布/订阅功能实时获取消息记录,并将这些消息记录保存在存储单元;数据存储单元,用于根据存储规则对行为特征数据进行存储;指标配置单元,用于将程序员的能力特征和当前工作任务的特征进行配置;指标评价单元,用于将程序员的行为特征、程序员的能力特征和当前任务特征输入到决策树中,构建评价模型,通过评价模型对程序员的工作状态进行评价。2.根据权利要求1所述的基于SVN日志的程序员工作状态过程评价系统,其特征在于:还包括用户交互单元,是用户和系统之间的交互界面,用于向指标配置单元和评价指标计算单元发送指令,还用于显示评价指标计算单元输出的评价结果,提供显示功能。3.根据权利要求1所述的基于SVN日志的程序员工作状态过程评价系统,其特征在于:所述数据采集单元和数据发送单元共同部署在SVN系统的节点上,并且可以部署在多个SVN系统的节点上。4.根据权利要求1所述的基于SVN日志的程序员工作状态过程评价系统,其特征在于:所述消息中间件Kafka是一个开源分布式的消息中间件,可以为分布式环境下消息中间件的生产者和消费者等多个参与者提供消息传递功能。5.根据权利要求2所述的基于SVN日志的程序员工作状态过程评价系统,其特征在于:所述数据接收单元,数据存储单元,指标配置单元,指标评价单元和交互单元可以部署在同一个工作节点上。6.一种基于SVN日志的程序员工作状态过程评价方法,采用权利要求1~5任意一项所述的基于SVN日志的程序员工作状态过程评价系统,其特征在于,具体步骤为:Step1:通过数据采集单元采集程序员在SVN系统上的操作日志,即操作行为特征;Step2:获取程序员的岗位能力特征和当前任务的特征,并对程序员的岗位能力特征和当然任务的分级特征进行配置;Step3:将程序员的操作行为特征、程序员的能力特征、当前任务的特征进行状态标记,然后输入到决策树中,构建评价模型,通过评价模型对程序员当前的工作状态进行评价,并输出程序员的当前工作状态,实时完成状态评价。7.根据权利要求6所述的基于SVN日志的程序员工作状态过程评价方法,其特征在于:所述程序员的行为特征包括但不限于:源代码Checkout次数、源代码Checkin次数、新增加代码数量、修改代码数量、删除代码数量、代码的注释内容、修改bug的数量、测试文档Checkout次数、测试文档Checkin...

【专利技术属性】
技术研发人员:熊文罗敏王星苏
申请(专利权)人:云南师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1