CN102122304A - 一种Qone数据库生产率数据自动生成方法 - Google Patents

一种Qone数据库生产率数据自动生成方法 Download PDF

Info

Publication number
CN102122304A
CN102122304A CN2011100679108A CN201110067910A CN102122304A CN 102122304 A CN102122304 A CN 102122304A CN 2011100679108 A CN2011100679108 A CN 2011100679108A CN 201110067910 A CN201110067910 A CN 201110067910A CN 102122304 A CN102122304 A CN 102122304A
Authority
CN
China
Prior art keywords
task
data
state
human resources
submission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011100679108A
Other languages
English (en)
Inventor
李明树
王青
黄辉
肖俊超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN2011100679108A priority Critical patent/CN102122304A/zh
Publication of CN102122304A publication Critical patent/CN102122304A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种Qone数据库生产率数据自动生成方法,属于计算机软件工程领域。本方法为:1)数据提取模块从Qone数据库中提取软件项目数据,从SVN代码库中提取软件项目的代码提交数据;2)映射模块对所提取数据进行映射操作,建立任务-人力资源-提交数据集;3)映射模块根据任务的实际执行时间与提交文件的提交时间确定任务与提交之间状态,并建立网状关系结构图(V,E),确定每个提交文件所对应的任务,生成任务-提交数据集;4)生产率数据生成模块根据任务-提交数据集中每个任务上提交的数据,统计出每个任务的生产率数据。本发明增强了软件可信程度,使软件开发具有更高的准确性和客观性。

Description

一种Qone数据库生产率数据自动生成方法
技术领域
本发明属于计算机软件工程领域,涉及一种代码版本控制方法,特别涉及一种Qone数据库生产率数据自动生成方法。
背景技术
软件过程管理平台(以下简称Qone)基于全面质量管理理念,符合ISO9000/CMM/CMMI/GJB5000/GJB5000A要求,是一个能够全面、有效管理研发的协同工作平台。Qone围绕软件组织的基本盈利单位——软件项目进行管理,确保软件项目依据软件开发组织自行定义的开发流程的要求制定项目计划、调配资源、实施项目监督。通过对开发过程的量化度量与控制,尽早发现和解决项目中存在的问题,规避项目风险。有效提高软件开发的“可视性”、“可控性”、项目成功率和软件产品的质量,同时降低管理成本,提高管理效率。
软件过程管理平台包括需求管理、项目管理、过程管理、过程与产品度量分析和软件质量管理五个部分。依据PDCA循环的基本要求和CMM/CMMI/GJB5000分级模型的指导,对企业的各种核心活动进行组合,Qone依据CMM/CMMI分级模型的指导,对企业的各种核心活动进行组合,形成不同的产品级别满足企业从低成熟度到高成熟度的运作,可以有效的协助软件开发组织实施过程改进。
Qone主要围绕开发周期的活动对开发和生产的过程进行管理,将软件组织的过程融入项目的日常开发中。
1.Qone将所有过程活动对应到PDCA(如图1所示)组织软件过程的服务流程。
PDCA是CMM/CMMI/ISO9000/ISO15504的理论基础,PDCA环的不断实施和运行,确保软件质量管理过程得到持续的改进。
P:策划(Plan):策划质量方针、目标和过程策划,识别和定义质量过程
D:实施(Do):展开质量过程执行质量计划。
C:检查(Check):检查执行结果,评价实施效果
A:处理(Act):分析结果
2.软件开发的决定性因素包括:人员素质、开发技术、过程质量。软件过程管理平台通过加强对过程的管理,降低人员流动和技术能力对产品质量的产生的负面影响。
过程能力成熟度模型CMMI是软件过程领域中一个重要的参考模型,CMMI强调可度量是持续软件过程改进的一个必要条件。这种可度量包括生产率数据的可度量,Qone作为一款软件过程管理平台工具,理应实现对项目生产率数据的定量处理和分析。但在Qone的实际使用过程中,由于在各个项目管理上以及对Qone使用上的原因,Qone中关于生产率的数据缺失严重,对项目的管理,项目成员的评估,项目进度的评估以及过程监控和持续改进造成不良的影响。
发明内容
本发明的目的在于提供一种Qone数据库生产率数据自动生成方法,针对Qone(软件过程管理平台)项目管理数据和SVN版本控制数据的特点实现生产率数据的自动修复。
本发明的技术方案为:
一种Qone数据库生产率数据自动生成方法,其步骤为:
1)数据提取模块从Qone数据库中提取软件项目数据,建立人力资源-任务数据集;所述软件项目数据包括:人力资源名称、人力资源所属任务的任务名称、任务类型、工作量、开始时间、结束时间;
2)数据提取模块从SVN代码库中提取软件项目的代码提交数据,建立人力资源-提交数据集;所述代码提交数据包括:人力资源名称、人力资源所属提交的提交日期、提交文件、动作类型、影响行数;
3)映射模块根据人力资源名称对人力资源-任务数据集和人力资源-提交数据集进行映射操作,建立任务-人力资源-提交数据集,得到每个人力资源的任务数据和提交数据;
4)映射模块根据任务-人力资源-提交数据集中任务的实际执行时间与提交文件的提交时间确定任务与提交之间状态;
5)映射模块根据任务数据和提交数据建立网状关系结构图(V,E);然后每次选取网状结构图(V,E)中强度最大的边及其相应的两个顶点进行状态合并,直到网状关系结构图(V,E)中E为空为止,确定每个提交文件所对应的任务,生成任务-提交数据集;其中,V是图的顶点集合,即提交文件的集合,E是边的集合,即提交文件间联系的强弱程度;
6)生产率数据生成模块根据任务-提交数据集中每个任务上提交的数据,生成每个任务的生产率数据。
进一步的,建立所述人力资源-任务数据集的方法为:
1)从Qone数据库中提取每一人力资源,包括人力资源的id和姓名;
2)对于每个人力资源,提取其所有所属的叶子任务,包括任务名称、任务类型、工作量、开始时间、结束时间;
3)移除每个人力资源所属叶子任务中处于未分配和已取消状态的任务;
4)利用任务类型,移除每个人力资源所属叶子任务中制品不包含代码的任务,得到所述人力资源-任务数据集。
进一步的,建立所述人力资源-提交数据集的方法为:采用StatSVN工具从从SVN代码库中提取SVN Log数据,然后利用XML解析方法对提取SVN Log数据进行解析,得到SVN中每个人力资源的提交数据,建立所述人力资源-提交数据集。
进一步的,建立所述任务-人力资源-提交数据集的方法为:
1)将所述人力资源-任务数据集中人力资源的中文名称转化为对应拼音并提取首字母缩写;
2)在所述人力资源-提交数据集中查找与所述人力资源-任务数据集中拥有相同首字母缩写的的人力资源;
3)根据查找结果建立起属于同一人力资源的任务数据和提交数据,得到所述任务-人力资源-提交数据集。
进一步的,生成所述任务与提交之间状态包括:状态0、状态1、状态2;其中,状态0为提交文件不属于任何一个任务,状态1为提交文件属于其中唯一的一个任务,状态2为提交文件属于多个任务;
进一步的,所述每次选取网状结构图(V,E)中强度最大的边及其相应的两个顶点进行状态合并的方法为:
1)如果两个顶点都处于状态0,则合并这两个顶点,并且合并后的顶点状态仍然为状态0;
2)如果其中一个顶点处于状态0,另一个处于状态1,则合并这两个顶点,并且合并后的顶点状态为状态1;
3)如果两个顶点都处于状态1,并且它们都属于同一个任务,则合并这两个顶点,并且合并后的顶点状态仍然为状态1;
4)如果其中一个顶点处于状态0,另一个处于状态2,则移除它们之间的边;
5)如果其中一个顶点处于状态1,另一个处于状态2,并且它们之间无时间冲突,则合并这两个顶点,并且合并后的顶点状态为状态1;
6)如果两个顶点都处于状态2,并且它们之间无时间冲突,则合并这两个顶点,并根据任务的实际执行时间与提交文件的提交时间来确定合并后顶点的状态。
进一步的,利用遍历方法来建立每两个顶点之间的边;采用链表结构存储所建立的边。
进一步的,根据提交文件共同出现的频率和时间信息来共同确定所述提交文件间联系的强弱程度。
进一步的,如果所述任务-提交数据集中仍然有提交文件不属于任何一个任务时,则将该提交文件分配给执行时间离它提交时间最近的任务。
进一步的,对于所述任务-提交数据集中提交文件属于多个任务的提交文件,则采用平均的方法将该提交文件分布到各个相关的任务上。
本发明的主要内容包括:
1)数据提取模块从软件项目管理系统中提取软件项目数据,建立人力资源-任务数据集。数据的格式定义为HR-Tasks={hr,{task1,task2,...,taskn}},其中HR-Tasks表示提取的数据集,hr表示人力资源,taski表示人力资源所属的任务。每个任务的数据格式定义为:taski={IDi,namei,typei,workloadi,startDatei,endDatei},其中各项依次表示任务标识、名称、类型、工作量、开始时间和结束时间;
2)数据提取模块从SVN代码库中提取软件项目的代码提交数据,建立人力资源-提交数据集。数据格式的定义为:HR-Commits={hr,{commit1,commit2,...,commitm}},其中HR-Commits表示提取的数据集,hr表示人力资源,commitj表示人力资源所属的提交。每个提交的数据格式定义为:commitj={datej,authorj,locChangej,revisionj,{afile1,j,afile2,j,...,afilek,j}},其中各项依次表示提交日期、提交者、影响行数、版本和提交文件。每个提交文件的数据格式定义为:afilek,j={actionk,j,pathk,j,locAddk,j,locRemovek,j},其中各项依次表示提交动作类型、文件路径、增加代码行数和删除代码行数;
3)映射模块进行人力资源间的映射操作。根据提取的两组数据集,针对它们进行人力资源的映射操作,操作完成后得到结果为“任务-人力资源-提交”格式的数据集,数据集的格式定义为:Tasks-HR-Commits={hr,{task1,task2,...,taskn},{commit1,commit2,...,commitm}},其中各项表示意义同前述步骤;
4)映射模块进行任务-提交间的映射操作。根据上一步骤得到的数据集,针对它们进行任务-提交的映射操作,操作完成后得到结果为任务-提交格式的数据集,数据集的格式定义为:Tasks-HR-Commits={hr,{task-commit1,task-commit2,...,task-commitn}},其中hr表示人力资源,task-commiti表示任务-提交映射关系。任务-提交映射关系的数据格式定义为:task-commiti={taskj,afilek,h},其中各项表示意义同前述步骤;
5)生产率数据生成模块根据得到的任务-提交格式的数据集,在每个任务上提交的数据均已确定,即可运用统计的方法统计出各个任务的生产率数据。
所述方法为从软件项目管理系统中提取软件项目数据,其数据的预处理过程需遵循如下步骤:
a)从Qone中提取所有的人力资源,包括人员的id和姓名等;
b)对于每个人力资源,提取其所有所属的叶子任务,包括任务名称,任务描述,任务成员,开始时间,结束时间,任务类型等;
c)对于每个人力资源,移除其处于未分配和已取消状态的任务;
d)对于每个人力资源,移除其制品不包含代码的任务。
所述提交文件是区别于普通文件的一个专有名词,其定义为某次提交中携带提交相关信息的文件。一个普通文件可能对应多个提交文件,但一个提交文件只能属于某一个特定的普通文件。一个提交文件可以通过如下公式表示,其意义为一个普通文件filei在提交commitj中被提交,其中i标识一个普通的文件filei,j标识一个提交commitj
afilei,j=affected(filei,commitj)
所述方法需要进行人力资源间的映射操作。如果发现两个映射中的人力资源是指向同一个实际存在的人,则可以在这两个人力资源之间建立起一一对应的关系。这种关系的假设是基于如下的发现:
a)Qone中的绝大部分帐户都有对应人力资源的中文名称;
b)SVN中的用户名都是其中文名称首字母的缩写;
基于上述发现,即可建立起两组人力资源之间的一一对应关系。对于提取的两组人力资源数据,一部分包含用户中文名称,一部分包含用户中文名称首字母缩写,因而,建立起一一对应关系的步骤如下:
a)对Qone中的人力资源,提取其中文用户名,将其转化为对应拼音并最终提取首字母的缩写;
b)对SVN中的人力资源,提取其用户名称,并在Qone中寻找拥有相同首字母缩写的的人力资源;
c)如果寻找的结果是唯一的,则建立起一一对应关系;否则需要寻求项目经理的帮助来确定最终的映射关系。
所述方法需要进行任务-提交间的映射操作。建立起属于同一人力资源的任务和提交两个数据集之间的映射关系。对于任务和提交之间的关系,可以定义出如下3中状态:
a)状态0,提交文件不属于任何一个任务;
b)状态1,提交文件属于其中唯一的一个任务;
c)状态2,提交文件属于多个任务。
这些状态是通过任务的实际执行时间和提交的提交时间来共同确定的。如果一个提交的提交时间不落入到任何一个任务的实际执行时间段内,则它们之间的关系处于状态0;如果一个提交的提交时间只落入在一个任务的实际执行时间段内,则它们之间的关系处于状态1;如果一个提交的提交时间落入到多个任务的实际执行时间段内,则它们之间的关系处于状态2。其中“落入”的定义为提交的提交时间晚于任务的实际开始时间,但早于任务的实际结束时间。进行映射操作的关键在于将状态0和状态2向状态1转化。
所述方法将状态0和状态2向状态1转化,是基于一个假设条件:如果两个文件频繁的在提交中同时出现,则这两个文件的提交文件可能属于同一个提交。基于这个假设,可以根据任务-人力资源-提交数据集中的任务数据和提交数据建立起网状结构图(V,E),并且由于在本方法中的图中“边”一般较为稀疏,适合用链表结构进行存储,并且可利用遍历的方法来建立每两个顶点之间的边。其中图(V,E)中的V是图的顶点集合,即是提交文件的集合;E是边的集合,即是提交文件间联系的强弱程度。这种联系的强弱程度是通过提交文件共同出现的频率和时间信息来共同确定的,计算其强弱的公式如下:
weight ( afile i , j , afile m , n ) = Σ exist ( afil e i , k , afile m , k ) a * b timeD iff j , n , k
其中i和m分别标识两个普通文件,j,n,k分别标识三个不同的提交commitj,commitn和commitk,timeDiffj,n,k是提交commitj,commitn和commitk提交时间的最大差值,a是权重的相关系数,b是时间的衰减因子,afilei,j表示一个提交文件,exist(afilei,k,afilem,k)表示提交文件afilei,k和afilem,k均实际存在。
在建立好一张网状结构图以后,可以遵循如下步骤来实现状态的转换。每次选取权重最大的那条边以及其相应的两个顶点,对它们进行如下操作,直到图中的所有边均处理完毕。
a)如果两个顶点都处于状态0,则合并这两个顶点,并且合并后的顶点状态仍然为状态0;
b)如果其中一个顶点处于状态0,另一个处于状态1,则合并这两个顶点,并且合并后的顶点状态为状态1;
c)如果两个顶点都处于状态1,并且它们都属于同一个任务,则合并这两个顶点,并且合并后的顶点状态仍然为状态1;
d)如果其中一个顶点处于状态0,另一个处于状态2,则移除它们之间的边;
e)如果其中一个顶点处于状态1,另一个处于状态2,并且它们之间无时间冲突,则合并这两个顶点,并且合并后的顶点状态为状态1;
f)如果两个顶点都处于状态2,并且它们之间无时间冲突,则合并这两个顶点,并根据前文给出的确定状态的方法来确定合并后顶点的状态。
如果处理完毕后,仍然后顶点的状态处于状态0,则将它分配给实际结束时间离它提交时间最近的一个任务,并将其状态置为状态1,因而当该过程完成后,所有提交文件的状态均为状态1或者状态2。
所述方法进行生产率数据的统计,在于根据确定的任务和提交之间的映射关系,统计出生产率数据,此时所有的提交文件均处于状态1或者状态2,对于处于状态2的提交文件,其数据可以采用平均的方法分布到各个相关的任务。
与现有技术相比,本发明的积极效果:
随着软件应用愈来愈广泛和复杂,对软件可信性的要求也越来越高。由于软件的可信程度依赖于软件的开发过程,因而可信过程是进行可信软件开发的必需条件。而生产率是软件可信过程的一个重要要素,通过自动修复缺失的生产率数据,能够帮助对过程的能力进行评估,支撑未来实际软件项目的开发,因而能够增强软件的可信程度。而且历史项目数据和SVN代码库是在软件组织实际项目开发过程中积累的真实数据,本法通过数据分析和挖掘的方法,从中修复缺失的生产率数据,具有更高的准确性和客观性。
附图说明
图1.PDCA要素及其相互关系框图;
图2.缺失生产率修复方法总体流程图。
具体实施方式
下面结合附图,对从Qone软件项目数据和SVN Log数据修复缺失生产率的过程作进一步的说明,但不构成对本发明的限制,从Qone软件项目数据和SVN Log数据修复缺失生产率的总体流程图如图2所示。
(一)数据预处理:数据提取模块分别从Qone和SVN中提取数据
1、从Qone中提取数据。从Qone中提取数据需要用到Qone的数据库,当建立好和Qone数据库的连接之后,执行如下步骤从Qone数据库中提取数据,得到“人力资源-任务”的数据集。
a)从Qone中提取所有的人力资源,包括人员的id和姓名等;
b)对于每个人力资源,提取其所有所属的叶子任务,包括任务名称,任务描述,任务成员,开始时间,结束时间,任务类型等;
c)对于每个人力资源,移除其处于未分配和已取消状态的任务(由于处于未分配和已取消状态的任务虽然没有被该人力资源执行,但它仍然保留了和人力资源之间的关联关系,因此进行移除优化处理);
d)对于每个人力资源,移除其制品不包含代码的任务。
2、从SVN库中提取SVN Log数据。提取SVN Log数据需要用到StatSVN工具,安装好StatSVN工具之后,运行如下命令:
java statsvn.jar[log path][working copy path]-output-dir[output path]-xml
即可从SVN库中导出SVN Log数据。利用XML解析技术对SVNLog数据进行解析处理,即可得到SVN中每个人力资源的提交数据,为“人力资源-提交”的数据集。
(二)映射模块进行人力资源的映射
当两组数据分别提取完成之后,在两组数据之间建立人力资源的映射关系。建立映射关系的步骤如下:
a)对Qone中的人力资源,提取其中文用户名,将其转化为对应拼音并最终提取首字母的缩写,例如:用户A的中文名称为“张三”,则其首字母的缩写为“ZHS”;
b)对SVN中的人力资源,提取其用户名称,并在Qone中寻找拥有相同首字母缩写的的人力资源,例如:SVN中某人力资源的用户名为“ZHS”,则可以寻找到Qone中相应的用户“张三”;
c)如果寻找的结果是唯一的,则建立起一一对应关系;否则需要寻求项目经理的帮助来确定最终的映射关系,例如:如果通过“ZHS”只找到了“张三”唯一一个人力资源,则可以简历其一一对应关系;否则如果还存在“张四”也对应到“ZHS”,则需要借助于项目经理来进一步判断其对应关系。
根据映射的结果和在步骤(一)中提取的数据“人力资源-任务”的数据集和“人力资源-提交”的数据集,即可得到“任务-人力资源-提交”数据集。
(三)映射模块进行任务-提交的映射
第一步、在步骤(二)中,“任务-人力资源-提交”数据集已经被提取,因而每个人力资源的任务数据和提交数据均已确定。在进行映射操作之前,需要利用前文提到的方法根据任务数据和提交数据的时间信息确定每个提交文件所处的状态:
a)如果一个提交的提交时间不落入到任何一个任务的实际执行时间段内,则它们之间的关系处于状态0;
b)如果一个提交的提交时间只落入在一个任务的实际执行时间段内,则它们之间的关系处于状态1;
c)如果一个提交的提交时间落入到多个任务的实际执行时间段内,则它们之间的关系处于状态2。
第二步、建立提交文件之间的网状关系结构
对于每一个人力资源,利用提取的任务数据和提交数据建立网状关系结构。其中提交数据构成顶点,任务和提交之间的关系确定了顶点的状态(如状态0、1、2)。网状结构图用(V,E)表示,其中V是图的顶点集合,即是提交文件的集合;E是边的集合,即是提交文件间联系的强弱程度。每条边的强度可以通过如下的公式进行计算:
weight ( afile i , j , afile m , n ) = Σ exist ( afil e i , k , afile m , k ) a * b timeD iff j , n , k
其中i和m分别标识两个普通文件,j,n,k分别标识三个不同的提交commitj,commitn和commitk,timeDiffj,n,k是提交commitj,commitn和commitk提交时间的最大差值,a是权重的相关系数,b是时间的衰减因子,afilei,j表示一个提交文件,exist(afilei,k,afilem,k)表示提交文件afilei,k和afilem,k均实际存在。
第三步、进行映射操作
在前一步建立好的网状结构图上,每次选取权重最大的那条边e以及其相应的两个顶点v1和v2,对它们进行如下操作:
a)如果v1和v2都处于状态0,则合并v1和v2,并且合并后的顶点状态仍然为状态0;
b)如果其中v1处于状态0,v2处于状态1,或者相反,则合并v1和v2,并且合并后的顶点状态为状态1;
c)如果v1和v2都处于状态1,并且它们都属于同一个任务,则合并v1和v2,并且合并后的顶点状态仍然为状态1;
d)如果其中v1处于状态0,v2处于状态2,或者相反,则移除它们之间的边e;
e)如果其中v1处于状态1,v2处于状态2,或者相反,并且它们之间无时间冲突,则合并v1和v2,并且合并后的顶点状态为状态1;
f)如果v1和v2都处于状态2,并且它们之间无时间冲突,则合并v1和v2,并根据时间信息来确定合并后顶点的状态。
重复执行上述步骤,直到结构图(V,E)中E为空为止,如果仍然有顶点的状态为状态0,则将该顶点分配给执行时间离它提交时间最近的任务,并设置其状态为状态1。此时,V中的每个顶点均包含了任务和提交的对应关系,其中状态1为提交文件对应到一个任务,状态2为提交文件对应到多个任务,即是“任务-提交”格式的数据集。
(四)生产率数据生成模块统计生产率数据
基于确定的任务和提交之间的映射关系,生产率数据生成模块可以统计出每个人力资源的生产率数据。此时所有的提交文件均处于状态1或者状态2,对于处于状态2的提交文件,其数据可以采用平均的方法分布到各个相关的任务。处于状态1的提交文件,其数据处理是平均方法的一种特殊情况,因而可以使用统一的方法进行计算。统计生产率数据的公式如下:
productivity ( task h ) = Σ relate ( task h , afile i , j ) quantity ( afile i , j ) / count ( afile i , j ) workload ( task h )
其中taskh是人力资源h的一个任务,afilei.j表示普通文件i在提交j中被提交,relate(taskh,afilei,j)表示提交文件afilei,j属于任务taskh,quantity(afilei,j)表示提交文件afilei,j的生产率相关数据,例如LOC等等,count(afilei,j)表示提交文件afilei,j所属任务的数量,workload(taskh)表示人力资源h在任务taskh上的工作量。
在本发明中,修复完成后的生产率数据存储于数据库系统中,通过SQL查询可以对每人人力资源以及其在每个任务上的生产率进行访问。
上述实施例中既包含了对本发明方法的描述,本领域的技术人员应能理解,也包含了本发明方法的处理过程,依照本实施例,本领域的技术人员可以很容易地实现Qone缺失生产率的修复方法。

Claims (10)

1.一种Qone数据库生产率数据自动生成方法,其步骤为:
1)数据提取模块从Qone数据库中提取软件项目数据,建立人力资源-任务数据集;所述软件项目数据包括:人力资源名称、人力资源所属任务的任务名称、任务类型、工作量、开始时间、结束时间;
2)数据提取模块从SVN代码库中提取软件项目的代码提交数据,建立人力资源-提交数据集;所述代码提交数据包括:人力资源名称、人力资源所属提交的提交日期、提交文件、动作类型、影响行数;
3)映射模块根据人力资源名称对人力资源-任务数据集和人力资源-提交数据集进行映射操作,建立任务-人力资源-提交数据集,得到每个人力资源的任务数据和提交数据;
4)映射模块根据任务-人力资源-提交数据集中任务的实际执行时间与提交文件的提交时间确定任务与提交之间状态;
5)映射模块根据任务数据和提交数据建立网状关系结构图(V,E);然后每次选取网状结构图(V,E)中强度最大的边及其相应的两个顶点进行状态合并,直到网状关系结构图(V,E)中E为空为止,确定每个提交文件所对应的任务,生成任务-提交数据集;其中,V是图的顶点集合,即提交文件的集合,E是边的集合,即提交文件间联系的强弱程度;
6)生产率数据生成模块根据任务-提交数据集中每个任务上提交的数据,生成每个任务的生产率数据。
2.如权利要求1所述的方法,其特征在于其特征在于建立所述人力资源-任务数据集的方法为:
1)从Qone数据库中提取每一人力资源,包括人力资源的id和姓名;
2)对于每个人力资源,提取其所有所属的叶子任务,包括任务名称、任务类型、工作量、开始时间、结束时间;
3)移除每个人力资源所属叶子任务中处于未分配和已取消状态的任务;
4)利用任务类型,移除每个人力资源所属叶子任务中制品不包含代码的任务,得到所述人力资源-任务数据集。
3.如权利要求1或2所述的方法,其特征在于建立所述人力资源-提交数据集的方法为:采用StatSVN工具从从SVN代码库中提取SVN Log数据,然后利用XML解析方法对提取SVN Log数据进行解析,得到SVN中每个人力资源的提交数据,建立所述人力资源-提交数据集。
4.如权利要求1或2所述的方法,其特征在于建立所述任务-人力资源-提交数据集的方法为:
1)将所述人力资源-任务数据集中人力资源的中文名称转化为对应拼音并提取首字母缩与;
2)在所述人力资源-提交数据集中查找与所述人力资源-任务数据集中拥有相同首字母缩写的的人力资源;
3)根据查找结果建立起属于同一人力资源的任务数据和提交数据,得到所述任务-人力资源-提交数据集。
5.如权利要求4所述的方法,其特征在于生成所述任务与提交之间状态包括:状态0、状态1、状态2;其中,状态0为提交文件不属于任何一个任务,状态1为提交文件属于其中唯一的一个任务,状态2为提交文件属于多个任务;
6.如权利要求5所述的方法,其特征在于所述每次选取网状结构图(V,E)中强度最大的边及其相应的两个顶点进行状态合并的方法为:
1)如果两个顶点都处于状态0,则合并这两个顶点,并且合并后的顶点状态仍然为状态0;
2)如果其中一个顶点处于状态0,另一个处于状态1,则合并这两个顶点,并且合并后的顶点状态为状态1;
3)如果两个顶点都处于状态1,并且它们都属于同一个任务,则合并这两个顶点,并且合并后的顶点状态仍然为状态1;
4)如果其中一个顶点处于状态0,另一个处于状态2,则移除它们之间的边;
5)如果其中一个顶点处于状态1,另一个处于状态2,并且它们之间无时间冲突,则合并这两个顶点,并且合并后的顶点状态为状态1;
6)如果两个顶点都处于状态2,并且它们之间无时间冲突,则合并这两个顶点,并根据任务的实际执行时间与提交文件的提交时间来确定合并后顶点的状态。
7.如权利要求6所述的方法,其特征在于利用遍历方法来建立每两个顶点之间的边;采用链表结构存储所建立的边。
8.如权利要求7所述的方法,其特征在于根据提交文件共同出现的频率和时间信息来共同确定所述提交文件间联系的强弱程度。
9.如权利要求6所述的方法,其特征在于如果所述任务-提交数据集中仍然有提交文件不属于任何一个任务时,则将该提交文件分配给执行时间离它提交时间最近的任务。
10.如权利要求9所述的方法,其特征在于对于所述任务-提交数据集中提交文件属于多个任务的提交文件,则采用平均的方法将该提交文件分布到各个相关的任务上。
CN2011100679108A 2011-03-21 2011-03-21 一种Qone数据库生产率数据自动生成方法 Pending CN102122304A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100679108A CN102122304A (zh) 2011-03-21 2011-03-21 一种Qone数据库生产率数据自动生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100679108A CN102122304A (zh) 2011-03-21 2011-03-21 一种Qone数据库生产率数据自动生成方法

Publications (1)

Publication Number Publication Date
CN102122304A true CN102122304A (zh) 2011-07-13

Family

ID=44250863

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100679108A Pending CN102122304A (zh) 2011-03-21 2011-03-21 一种Qone数据库生产率数据自动生成方法

Country Status (1)

Country Link
CN (1) CN102122304A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104143030A (zh) * 2013-05-06 2014-11-12 沈阳中科博微自动化技术有限公司 一种应用于封装生产线的生产率计算方法
CN104881289A (zh) * 2015-06-02 2015-09-02 华北计算技术研究所 基于gjb5000a的软件研制过程监控方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104143030A (zh) * 2013-05-06 2014-11-12 沈阳中科博微自动化技术有限公司 一种应用于封装生产线的生产率计算方法
WO2014180075A1 (zh) * 2013-05-06 2014-11-13 沈阳中科博微自动化技术有限公司 一种应用于封装生产线的生产率计算方法
CN104881289A (zh) * 2015-06-02 2015-09-02 华北计算技术研究所 基于gjb5000a的软件研制过程监控方法及系统

Similar Documents

Publication Publication Date Title
CN104268695B (zh) 一种多中心流域水环境分布式集群管理系统及方法
CN103136337B (zh) 用于复杂网络的分布式知识数据挖掘装置和挖掘方法
CN106845849A (zh) 一种业务流程管理方法及系统
CN109815254B (zh) 基于大数据的跨地域任务调度方法及系统
CN103942220A (zh) 一种适用于it运维系统的工单智能关联知识库知识的方法
CN111967721A (zh) 一种综合能源系统绿色化水平评价方法及系统
CN104572709A (zh) 用于企业创新体系的数据挖掘系统
CN114492663B (zh) 事件智能分拨方法、装置、设备及存储介质
CN104820733A (zh) 一种高速列车需求元模型建立方法和装置
CN102339420A (zh) 一种基于企业管理系统的信息推送装置及其方法
CN103606121A (zh) 一种应急计划的自动化生成方法
CN108681598A (zh) 任务自动重跑方法、系统、计算机设备和存储介质
CN107682395A (zh) 一种大数据云计算运行系统及方法
CN103377403B (zh) 企业业务组件建模方法和系统
CN109460299B (zh) 一种分布式并行多源社交网络数据采集系统和方法
CN112948353B (zh) 一种应用于DAstudio的数据分析方法、系统及存储介质
CN102799960A (zh) 面向数据模型的并行业务流程异常检测方法
CN112712338B (zh) 一种飞机工程数据发放的控制方法
CN102122304A (zh) 一种Qone数据库生产率数据自动生成方法
CN104991849A (zh) 一种通过zabbix监控Linux进程占用系统资源的方法
CN111160717A (zh) 一种企业创新潜力评估方法和装置
CN103577555A (zh) 一种基于车联网的大数据分析方法
CN114912797B (zh) 乘务排班交路表生成方法、装置、设备及存储介质
CN113706101B (zh) 电网项目管理智能系统架构及方法
Chen et al. A model of scheduling optimizing for cloud computing resource sevices based on Buffer-pool Agent

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110713