项目开发工时计算方法、装置、设备及存储介质与流程

文档序号:30181190发布日期:2022-05-26 13:25阅读:415来源:国知局
项目开发工时计算方法、装置、设备及存储介质与流程

1.本技术涉及人工智能的技术领域,尤其涉及一种项目开发工时计算方法、装置、设备及存储介质。


背景技术:

2.目前企业的项目开发存在多项目并行开发的情况,多项目并行开发可以合理衔接利用开发人员的工作时间。但是,现有技术中,多项目并行开发时,往往依赖人工上报工时记录来统计开发各个项目的所花费的工时,无法智能计算开发项目所花费的工时。


技术实现要素:

3.本技术的主要目的在于提供一种项目开发工时计算方法、装置、设备及存储介质,旨在实现智能计算项目开发工时。
4.第一方面,本技术提供一种项目开发工时计算方法,包括:
5.接收目标项目下发指令,根据所述目标项目下发指令获取目标项目启动时间;
6.当到达所述目标项目启动时间时,分别获取所有在开发项目对应所述目标项目启动时间的起始项目文件;
7.根据预设时长周期性采集工作区域图片,并通过预设的图像识别模型判断所述工作区域图片是否包括目标用户的图片元素,当所述工作区域图片包括所述目标用户的图片元素时,添加所述预设时长到累计工作时长中;
8.当接收到目标项目完成指令时,获取各个所述在开发项目的结果项目文件;
9.比对各个所述在开发项目对应的所述起始项目文件以及所述结果项目文件,得到对应各个所述在开发项目的信息变化量;
10.累计各个所述在开发项目的所述信息变化量,得到总信息变化量;
11.获取所述目标项目的目标信息变化量,并根据所述目标信息变化量与所述总信息变化量的比值,得到所述目标项目的变化占比率;
12.根据所述变化占比率与所述累计工作时长的乘积,得到所述目标项目的项目开发工时。
13.第二方面,本技术还提供一种项目开发工时计算装置,所述项目开发工时计算装置包括:
14.项目指令接收模块,用于接收目标项目下发指令,根据所述目标项目下发指令获取目标项目启动时间;
15.起始文件获取模块,用于当到达所述目标项目启动时间时,分别获取所有在开发项目对应所述目标项目启动时间的起始项目文件;
16.区域图片分析模块,用于根据预设时长周期性采集工作区域图片,并通过预设的图像识别模型判断所述工作区域图片是否包括目标用户的图片元素,当所述工作区域图片包括所述目标用户的图片元素时,添加所述预设时长到累计工作时长中;
17.完成指令接收模块,用于当接收到目标项目完成指令时,获取各个所述在开发项目的结果项目文件;
18.变化量计算模块,用于比对各个所述在开发项目对应的所述起始项目文件以及所述结果项目文件,得到对应各个所述在开发项目的信息变化量;
19.总变化量计算模块,用于累计各个所述在开发项目的所述信息变化量,得到总信息变化量;
20.变化占比计算模块,用于获取所述目标项目的目标信息变化量,并根据所述目标信息变化量与所述总信息变化量的比值,得到所述目标项目的变化占比率;
21.开发工时获取模块,用于根据所述变化占比率与所述累计工作时长的乘积,得到所述目标项目的项目开发工时。
22.第三方面,本技术还提供一种计算机设备,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上所述的项目开发工时计算方法的步骤。
23.第四方面,本技术还提供一种存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上所述的项目开发工时计算方法的步骤。
24.本技术提供一种项目开发工时计算方法、装置、设备及存储介质,本技术中,根据预设时长周期性采集工作区域图片,判断到工作区域图片包括目标用户的图片元素时,添加预设时长到累计工作时长中;接收到目标项目完成指令时,通过比对各个在开发项目的起始项目文件以及结果项目文件,得到各个在开发项目的信息变化量,累计各个在开发项目的信息变化量,得到总信息变化量。根据目标项目的目标信息变化量与总信息变化量的比值,以及得到的比值与累计工作时长的乘积,得到目标项目的项目开发工时。通过本技术所提供的技术方案,实现了根据项目的信息变化量智能的计算项目开发工时。
附图说明
25.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1为本技术实施例提供的一种项目开发工时计算方法的步骤流程示意图;
27.图2为本技术实施例提供的一种项目开发工时计算装置的示意性框图;
28.图3为本技术实施例提供的一种计算机设备的结构示意性框图。
29.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
30.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
31.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不
是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。另外,虽然在装置示意图中进行了功能模块的划分,但是在某些情况下,可以以不同于装置示意图中的模块划分。
32.本技术实施例提供一种项目开发工时计算方法、装置、设备及存储介质。其中,该项目开发工时计算方法应用于终端设备中,该终端设备可以为手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。
33.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
34.请参照图1,图1为本技术实施例提供的一种项目开发工时计算方法的步骤流程示意图。
35.如图1所示,该项目开发工时计算方法包括步骤s10至步骤s17。
36.步骤s10、接收目标项目下发指令,根据所述目标项目下发指令获取目标项目启动时间。
37.在一些实施方式中,目标项目下发指令可以为终端设备接收到的来自服务器发送的远程推送通知;也可以为终端设备与服务器建立全双工通讯连接后,终端设备接收到的来自服务器发送的项目下发消息;还可以为通过其他方式发送给终端设备的指令,在此不做限制。
38.接收到目标项目下发指令,说明有项目分配给使用终端设备的用户了,需要用户跟进开发。与目标项目下发指令对应的需要用户开发的项目,即目标项目。另外,目标项目下发指令中还包括了目标项目启动开发的时间节点,也即目标项目启动时间。
39.步骤s11、当到达所述目标项目启动时间时,分别获取所有在开发项目对应所述目标项目启动时间的起始项目文件。
40.可以理解,在开发项目为在时间到达目标项目启动时间时,项目状态处于在开发状态的项目,目标项目为各个在开发项目中的其中一个。
41.可以理解,企业里的项目开发通常是多项目同时开发的,比如,在开发a项目的过程中,项目组突然接到了b项目的项目需求,此时,项目组的成员就需要同时开发a项目与b项目。处于开发状态的项目,即在开发项目。当到达目标项目启动时间时,目标项目也是其中的一个在开发项目。经过步骤s11,每一个在开发项目都获取到了对应目标项目启动时间的起始项目文件。
42.示例性的,假设在接收到目标项目下发指令之前,已经有两个在开发项目了,分别是a项目与b项目,接收到目标项目下发指令为对应c项目的目标项目下发指令,则到达目标项目启动时间时,在开发项目有a项目、b项目以及c项目。并且,经过步骤s11,获取到了a项目对应目标项目启动时间的起始项目文件、b项目对应目标项目启动时间的起始项目文件,以及c项目对应目标项目启动时间的起始项目文件。
43.步骤s12、根据预设时长周期性采集工作区域图片,并通过预设的图像识别模型判断所述工作区域图片是否包括目标用户的图片元素,当所述工作区域图片包括所述目标用户的图片元素时,添加所述预设时长到累计工作时长中。
44.可以理解,工作区域图片,即终端设备所在位置的办公区域的图片。采集工作区域图片的方式有很多种,比如,如果终端设备为手提电脑,手提电脑有内置摄像头,终端设备
则可以通过内置摄像头采集工作区域图片;如果终端设备为台式电脑,台式电脑有连接外置摄像头,终端设备则可以根据外置摄像头采集工作区域图片。另外,终端设备还可以通过安装于办公区域的监控摄像头采集工作区域图片,采集工作区域图片的方式在此不做限制。
45.在一些实施方式中,周期性采集工作区域图片的预设时长可以设置为每10分钟采集一次,每5分钟采集一次,也可以根据情况需要设置为其他时长,在此不做限制。
46.到达目标项目启动时间后,每经过预设时长的时间,终端设备都会触发采集工作区域图片,获取到工作区域图片后,则通过预设的图片识别模型对工作区域图片进行分析,可以识别工作区域图片中是否包括有目标用户的图片元素,其中,目标用户为使用终端设备进行项目开发的用户。
47.在一些实施方式中,预设的图片识别模型,可以为训练好的神经网络模型,也可以为其他可以识别图片元素的模型,在此不做限制。
48.可以理解,累计工作时长用于记录目标用户自目标项目启动时间起的总工作时长,如果识别到工作区域图片包括目标用户的图片元素,则可以推断在预设时长内目标用户正在工作,此时,在累计工作时长中添加预设时长。
49.现有技术中,工时计算方法通常只是根据用户的上班时间以及下班时间进行计算,假设每天公司规定的工作时间为8:30am-12:00pm,以及1:30pm~6:00pm,也即,每天工作8小时,如果项目开发花费了两天时间,累计的开发工时就是16小时。传统的工时计算方法在计算工时的时候,将用户的开会时间之类的非开发时间也计算进去了,无法识别用户在上班时间内项目开发所花费的真实时间。
50.本实施方式中,每间隔预设时长都去采集工作区域图片,当识别到工作区域图片包括目标用户的图片元素时,才将预设时长统计到目标用户的累计工作时长中,最终所得到的累计工作时长与目标用户的真实工作的时长更为接近,具有更好的参考价值。
51.步骤s13、当接收到目标项目完成指令时,获取各个所述在开发项目的结果项目文件。
52.可以理解,当目标用户完成目标项目的开发工作时,在终端设备对应的显示界面点击完成按钮,终端设备即接收到目标项目完成指令。此时,获取到的各个在开发项目的项目文件,即各个在开发项目的结果项目文件。经过步骤s13,每一个在开发项目都获取到了对应的结果项目文件。
53.步骤s14、比对各个所述在开发项目对应的所述起始项目文件以及所述结果项目文件,得到对应各个所述在开发项目的信息变化量。
54.可以理解,获取到各个在开发项目的起始项目文件以及结果项目文件后,对各个在开发项目的起始项目文件以及结果项目文件进行比对,即可根据比对差异获得各个在开发项目的信息变化量。
55.在一些实施方式中,在开发项目的信息变化量,为在开发项目的项目文件的文件内容的字符变化量,也可以为其他形式的可以用于衡量项目文件差异的变化量,在此不做限制。
56.在一些实施方式中,步骤s14包括步骤s140至步骤s143。
57.步骤s140、根据预设编码方法对所述在开发项目的所述起始项目文件进行编码,
得到第一编码结果;
58.步骤s141、根据所述预设编码方法对所述在开发项目的所述结果项目文件进行编码,得到第二编码结果;
59.步骤s142、获取所述第一编码结果与所述第二编码结果的最长公共子序列,得到第三编码结果;
60.步骤s143、利用所述第二编码结果的字符长度减去所述第三编码结果的字符长度,得到所述在开发项目的信息变化量。
61.可以理解,步骤s14中获取各个在开发项目的信息变化量的过程,为逐个选取在开发项目的起始项目文件以及结果项目文件进行比对的过程。
62.示例性的,假设有a、b两个在开发项目,其中,b项目为目标项目。则先比对a项目的起始项目文件以及结果项目文件,得到a项目的信息变化量;再比对b项目的起始项目文件以及结果项目文件,得到b项目的信息变化量。
63.可以理解,获得第一编码结果与第二编码结果的编码方式是相同的,都是通过预设编码方法进行编码。
64.在一些实施方式中,预设编码方法为对项目文件里面的子文件的字符内容进行拼接,拼接得到的结果字符内容,即编码结果。除此之外,也可以采用其他编码方法,在此不做限制。
65.最长公共子序列(lcs longest common subsequence)是指是两个或多个已知序列的公共子序列中最长的子序列,其不需要在原文本中占用连续的位置,例如有两个文本q1和q2,q1为“ngieej”,q2为“n1gxefmej”,那么q1和q2的最长公共子序列为“ngeej”。
66.可以理解,第三编码结果为第一编码结果与第二编码结果的最长公共子序列,也即,第三编码结果为第一编码结果与第二编码结果之间的没有发生变化的部分,第二编码结果的字符长度减去第三编码结果的字符长度,所得到的的字符长度,即第二编码结果相对于第一编码结果发生变化的部分的字符长度,也即当前比对的在开发项目的信息变化量。
67.在一些实施方式中,获取第一编码结果以及第二编码结果的最长公共子序列的方法,可以为利用动态规划的方法来获取,也可以使用其他方法进行获取,在此不做限制。
68.在一些实施方式中,步骤s140包括:
69.根据预设的排序规则对所述起始项目文件中的各个子文件进行排序,得到排序结果;
70.根据所述排序结果对各个所述子文件进行拼接,得到第一拼接结果;
71.根据预设的特殊字符滤除模型滤除所述第一拼接结果的特殊字符,得到第一编码结果。
72.在一些实施方式中,预设的排序规则为按子文件的文件名中的字母以及数字对子文件进行排序。
73.示例性的,假设按权重值从高到低,字符的排序为a-z,a-z,0-9。对起始项目文件的子文件进行排序时,先根据子文件的文件名的首个字符的权重值对子文件进行排序,如果首字符相同,再根据子文件的文件名的第二个字符对子文件进行排序,如此类推,直至得到排序结果。可以理解,这只是其中一种排序规则,本实施方式还可以根据情况需要采用其
他的排序规则对子文件进行排序,在此不做限制。
74.得到排序结果后,按排序结果对各个子文件的文件内容进行拼接,即得到第一拼接结果,利用特殊字符滤除模型滤除掉第一拼接结果中的特殊字符,即得到第一编码结果。
75.示例性的,假设在开发项目的起始项目文件的子文件如下表一所示。
76.表一、
77.子文件名文件内容cfilecccccafileaaaaabfilebbbbb
78.则根据排序规则对子文件进行排序后,对应子文件的排序结果为afile,bfile,cfile。根据排序结果对各个子文件进行拼接后,得到的第一拼接结果为“aaaaabbbbbccccc”。假设利用特殊字符滤除模型可以滤除空格,则经过特殊字符滤除模型处理后,所得到的的第一编码结果为“aaaaabbbbbccccc”。
79.可以理解,生成第二编码结果的过程与生成第一编码结果的过程相同,在此不做过多赘述。
80.在一些实施方式中,所述根据预设的特殊字符滤除模型滤除所述第一拼接结果的特殊字符,得到第一编码结果,包括:
81.根据预设的特殊字符滤除模型滤除所述第一拼接结果的换行字符、空格字符以及注释字符,得到第一编码结果。
82.可以理解,项目文件中的换行字符“\n”,空格字符“nbsp”,以及注释字符主要是为了方便开发人员查阅文件,对项目的功能业务通常没有起到实质作用。将第一拼接结果的换行字符、空格字符以及注释字符滤除掉,可以让第一编码结果更为简短,可以提高后续第一编码结果与第二编码结果的比对效率,可以在更短的时间获得第一编码结果以及第二编码结果的最长公共子序列。
83.可以理解,注释字符即项目文件中用于内容注释的字符内容。在一些实施方式中,注释字符包括“//”及与“//”处于同一行,并且位于“//”之后的内容;注释字符还包括“/*”,"*/",以及位于“/*”与"*/"之间的内容;注释字符还包括“《!
‑”
,"-》",以及位于“《!
‑”
与"-》"之间的内容。另外,注释字符还可以为用于注释的其他字符内容,在此不做限制。
84.示例性的,假设第一拼接结果为:
[0085]“//如果x》y,就将i设置为0,否则,就将i设置为1
[0086]
if(x》y){
[0087]
i=0;
[0088]
}else{
[0089]
i=1;
[0090]
}”[0091]
则经过特殊字符滤除模型滤除后,所得到的的第一编码结果为“if(x》y){i=0;}else{i=1;}”。
[0092]
步骤s15、累计各个所述在开发项目的所述信息变化量,得到总信息变化量。
[0093]
可以理解,各个在开发项目的信息变化量的总和,即为总信息变化量。
[0094]
示例性的,假设有a、b两个在开发项目,其中,a项目的信息变化朗为100,b项目的信息变化量为200,则a、b两个在开发项目的总信息变化量为300。
[0095]
步骤s16、获取所述目标项目的目标信息变化量,并根据所述目标信息变化量与所述总信息变化量的比值,得到所述目标项目的变化占比率。
[0096]
可以理解,目标项目对应的信息变化量,即目标信息变化量。利用目标信息变化量除以总信息变化量所得到的的比值,即目标项目的变化占比率。
[0097]
可以理解,目标项目的变化占比率越高,说明在目标项目启动时间至接收到目标项目完成指令的期间,目标用户花在目标项目的时间越多。
[0098]
示例性的,假设有a、b两个在开发项目,其中,a项目为目标项目,目标项目的目标信息变化量为200,b项目的信息变化量为100,在这种情况下,计算得到的总信息变化量为300,目标项目的变化占比率为2/3。
[0099]
步骤s17、根据所述变化占比率与所述累计工作时长的乘积,得到所述目标项目的项目开发工时。
[0100]
可以理解,利用变化占比率乘以累计工作时长,即得到目标用户在起始时间至接收到目标项目完成指令的期间花费在目标项目上的工时,也即目标项目的项目开发工时。
[0101]
示例性的,假设累计工作时长为18小时,目标项目的变化占比率为2/3,则目标用户花费在目标项目的项目开发工时为12小时。
[0102]
在一些实施方式中,步骤s17包括步骤s170至步骤s173。
[0103]
步骤s170、获取各个所述在开发项目对应的项目复杂系数,并累计各个所述项目复杂系数,得到总复杂系数;
[0104]
步骤s171、根据所述总复杂系数计算各个所述在开发项目的平均项目复杂系数;
[0105]
步骤s172、根据所述目标项目的目标项目复杂系数与所述平均项目复杂系数的比值,得到所述目标项目的复杂占比率;
[0106]
步骤s173、根据所述变化占比率、所述累计工作时长以及所述复杂占比率的乘积,得到所述目标项目的项目开发工时。
[0107]
可以理解,接收到项目需求时,项目管理人员通过项目需求的业务逻辑以及实现方案,来评估对应项目的实现复杂度。项目铺复杂系数即用于表征对应项目的实现复杂度的数值,项目复杂系数越高,说明项目越难以实现,开发项目所需花费的时间也越长。
[0108]
另外,每一个项目都有其对应的项目标识,项目标识用于表征项目的身份,终端设备可以根据各个在开发项目对应的项目标识,获取各个在开发项目的项目复杂系数。如果项目复杂系数存储于服务器,终端设备则可以通过向服务器发送网络请求,以从服务器获取各个在开发项目的项目复杂系数。相应的,如果项目复杂系数存储于终端设备的本地数据库中,终端设备则可以直接从本地数据库获取各个在开发项目的项目复杂系数。
[0109]
可以理解,各个在开发项目的项目复杂系数的总和,即总复杂系数。利用总复杂系数除以在开发项目的个数,即得到平均项目复杂系数。目标项目的项目复杂系数,即目标项目复杂系数。
[0110]
本实施方式中,结合了项目的实现复杂度来计算项目开发工时,最终所得到的的项目开发工时更具有参考意义。
[0111]
在一些实施方式中,所述当到达所述目标项目启动时间时,分别获取所有在开发
项目对应所述目标项目启动时间的起始项目文件之后,所述方法还包括:
[0112]
根据所述目标项目下发指令获取所述目标项目的开发预计时长;
[0113]
根据所述目标项目启动时间以及所述开发预计时长计算所述目标项目的预计完成时间;
[0114]
当到达所述预计完成时间仍未接收到所述目标项目完成指令时,周期性获取所述目标项目的已耗费时长;
[0115]
当所述已耗费时长与所述开发预计时长的时间间隔小于预设时间间隔时,触发项目逾期风险提醒。
[0116]
可以理解,目标项目下发指令中还设置有目标项目的开发预计时长,开发预计时长为项目管理人员根据目标项目的需求工作量估算出来的工时。根据目标项目启动时间以及开发预计时长即可算出预计完成时间。
[0117]
示例性的,假设目标项目启动时间为“xxxx年yy月12日08:30:00”,当天为星期五,假设开发预计时长为16小时,并且企业每天的工作时间为8小时,上班时间为早上八点半,下班时间为下午六点,并且周末双休,则计算得到的预计完成时间为“xxxx年yy月15日18:00:00”。
[0118]
可以理解,当到达预计时间仍未接收到目标项目完成指令,说明目标项目尚未完成,也即目标项目的开发存在逾期风险。
[0119]
但是,又因为目标用户可能存在同时开发多个项目的情况,所以到达预计完成时间时,目标用户花费在目标项目上的开发时间可能并没有达到开发预计时长。因此,需要周期性获取目标项目的已耗费时长,获取已耗费时长的方法可参照步骤s11至步骤s17。当已耗费时长与开发预计时长的时间间隔小于预设时间间隔时,说明目标项目即将逾期了,此时,触发项目逾期风险提醒。
[0120]
在一些实施方式中,预设时间间隔可以设置为8小时或者4小时,也可以根据情况需要设置为其他时间间隔。另外,项目逾期风险提醒的方式包括通过终端设备进行视觉,声音以及震动提醒。
[0121]
在一些实施方式中,所述当接收到目标项目完成指令时,获取各个所述在开发项目的结果项目文件之前,所述方法还包括:
[0122]
统计所述工作区域图片未包括所述目标用户的图片元素的连续出现次数;
[0123]
当所述连续出现次数大于预设次数时,触发图片采集设备调整提醒,其中,所述图片采集设备用于采集所述工作区域图片。
[0124]
可以理解,图片采集设备为采集所述工作区域图片的摄影设备,如果工作区域图片连续多次没有包括目标用户的图片元素,可能是图片采集设备的采集方位出现了问题,此时,提醒目标用户调整图片采集设备。
[0125]
在一些实施方式中,预设次数可以设置为10次或15次,也可以根据需要设置为其他次数,在此不做限制。
[0126]
示例性的,假设终端设备为台式电脑,终端设备通过外接的摄像头来采集工作区域图片,外接的摄像头即图片采集设备。在项目开发过程中,摄像头可能存在被磕碰导致采集方位出现偏移的情况,从而导致摄像头所采集到的工作区域图片连续多次未包括目标用户的图片元素,当连续出现次数大于预设次数时,终端设备触发图片采集设备调整提醒,以
提醒目标用户调整图片采集设备。
[0127]
在一些实施方式中,当接收到所述目标项目完成指令时,确定当前时间为目标项目完成时间,所述根据所述变化占比率与所述累计工作时长的乘积,得到所述目标项目的项目开发工时之后,所述方法还包括:
[0128]
获取所述目标用户的工时上报记录,并从所述工时上报记录中筛选记录时间处于所述目标项目启动时间与所述目标项目完成时间之间的记录信息,得到目标记录信息;
[0129]
根据所述目标记录信息统计所述目标项目的开发时长,得到所述目标项目的项目参考工时;
[0130]
根据所述项目开发工时以及所述项目参考工时,生成所述目标项目的工时报告。
[0131]
可以理解,每一条工时上报记录中包括了记录时间,以及各个在开发项目对应记录时间的开发时长。其中,记录时间表征该工时上报记录是记录哪个时间节点的工时。
[0132]
示例性的,假设目标项目启动时间为aaaa年08月5日09:00:00。,并且假设目标项目完成时间为aaaa年08月7日24:00:00。
[0133]
假设工时上报记录如下表二所示。
[0134]
表二、
[0135][0136]
则最终得到的目标项目的项目参考工时为19小时
[0137]
可以理解,通过步骤s10至步骤s17计算得到的目标项目的项目开发工时,为终端设备根据目标项目的信息变化量计算得到。但是,信息变化量并不是衡量项目开发工时的唯一标准,因为每个在开发项目的需求难度不同,可能存在信息变化量少的在开发项目所占用的实际开发工时比信息变化量大的在开发项目所占用的实际开发工时更多的情况。
[0138]
本实施方式中,结合目标开发人员根据主观判断上传的工时上报记录,来获得目标项目的项目参考工时,并与终端设备根据目标项目的信息变化量客观计算得到的项目开发工时来生成工时报告,以供项目管理人员查阅。
[0139]
本技术中,根据预设时长周期性采集工作区域图片,判断到工作区域图片包括目标用户的图片元素时,添加预设时长到累计工作时长中;接收到目标项目完成指令时,通过比对各个在开发项目的起始项目文件以及结果项目文件,得到各个在开发项目的信息变化量,累计各个在开发项目的信息变化量,得到总信息变化量。根据目标项目的目标信息变化量与总信息变化量的比值,以及得到的比值与累计工作时长的乘积,得到目标项目的项目
开发工时。通过本技术所提供的技术方案,实现了根据项目的信息变化量智能的计算项目开发工时。
[0140]
请参照图2,图2为本技术实施例提供的一种项目开发工时计算装置的示意性框图。
[0141]
如图2所示,该项目开发工时计算装置201,包括:
[0142]
项目指令接收模块2011,用于接收目标项目下发指令,根据所述目标项目下发指令获取目标项目启动时间;
[0143]
起始文件获取模块2012,用于当到达所述目标项目启动时间时,分别获取所有在开发项目对应所述目标项目启动时间的起始项目文件;
[0144]
区域图片分析模块2013,用于根据预设时长周期性采集工作区域图片,并通过预设的图像识别模型判断所述工作区域图片是否包括目标用户的图片元素,当所述工作区域图片包括所述目标用户的图片元素时,添加所述预设时长到累计工作时长中;
[0145]
完成指令接收模块2014,用于当接收到目标项目完成指令时,获取各个所述在开发项目的结果项目文件;
[0146]
变化量计算模块2015,用于比对各个所述在开发项目对应的所述起始项目文件以及所述结果项目文件,得到对应各个所述在开发项目的信息变化量;
[0147]
总变化量计算模块2016,用于累计各个所述在开发项目的所述信息变化量,得到总信息变化量;
[0148]
变化占比计算模块2017,用于获取所述目标项目的目标信息变化量,并根据所述目标信息变化量与所述总信息变化量的比值,得到所述目标项目的变化占比率;
[0149]
开发工时获取模块2018,用于根据所述变化占比率与所述累计工作时长的乘积,得到所述目标项目的项目开发工时。
[0150]
在一些实施方式中,所述变化量计算模块2015在比对各个所述在开发项目对应的所述起始项目文件以及所述结果项目文件,得到对应各个所述在开发项目的信息变化量时,包括:
[0151]
根据预设编码方法对所述在开发项目的所述起始项目文件进行编码,得到第一编码结果;
[0152]
根据所述预设编码方法对所述在开发项目的所述结果项目文件进行编码,得到第二编码结果;
[0153]
获取所述第一编码结果与所述第二编码结果的最长公共子序列,得到第三编码结果;
[0154]
利用所述第二编码结果的字符长度减去所述第三编码结果的字符长度,得到所述在开发项目的信息变化量。
[0155]
在一些实施方式中,所述变化量计算模块2015在根据预设编码方法对所述在开发项目的所述起始项目文件进行编码,得到第一编码结果时,包括:
[0156]
根据预设的排序规则对所述起始项目文件中的各个子文件进行排序,得到排序结果;
[0157]
根据所述排序结果对各个所述子文件进行拼接,得到第一拼接结果;
[0158]
根据预设的特殊字符滤除模型滤除所述第一拼接结果的特殊字符,得到第一编码
结果。
[0159]
在一些实施方式中,所述开发工时获取模块2018在根据所述变化占比率与所述累计工作时长的乘积,得到所述目标项目的项目开发工时时,包括:
[0160]
获取各个所述在开发项目对应的项目复杂系数,并累计各个所述项目复杂系数,得到总复杂系数;
[0161]
根据所述总复杂系数计算各个所述在开发项目的平均项目复杂系数;
[0162]
根据所述目标项目的目标项目复杂系数与所述平均项目复杂系数的比值,得到所述目标项目的复杂占比率;
[0163]
根据所述变化占比率、所述累计工作时长以及所述复杂占比率的乘积,得到所述目标项目的项目开发工时。
[0164]
在一些实施方式中,项目开发工时计算装置201还包括预期风险识别模块2019,所述起始文件获取模块2012在当到达所述目标项目启动时间时,分别获取所有在开发项目对应所述目标项目启动时间的起始项目文件之后,所述预期风险识别模块2019用于根据所述目标项目下发指令获取所述目标项目的开发预计时长;
[0165]
根据所述目标项目启动时间以及所述开发预计时长计算所述目标项目的预计完成时间;
[0166]
当到达所述预计完成时间仍未接收到所述目标项目完成指令时,周期性获取所述目标项目的已耗费时长;
[0167]
当所述已耗费时长与所述开发预计时长的时间间隔小于预设时间间隔时,触发项目逾期风险提醒。
[0168]
在一些实施方式中,项目开发工时计算装置201还包括设备调整提醒模块2020,所述完成指令接收模块2014在当接收到目标项目完成指令时,获取各个所述在开发项目的结果项目文件之前,所述设备调整提醒模块2020用于统计所述工作区域图片未包括所述目标用户的图片元素的连续出现次数;
[0169]
当所述连续出现次数大于预设次数时,触发图片采集设备调整提醒,其中,所述图片采集设备用于采集所述工作区域图片。
[0170]
在一些实施方式中,项目开发工时计算装置201还包括工时报告生成模块2021,当接收到所述目标项目完成指令时,确定当前时间为目标项目完成时间,所述开发工时获取模块2018在根据所述变化占比率与所述累计工作时长的乘积,得到所述目标项目的项目开发工时之后,所述工时报告生成模块2021用于获取所述目标用户的工时上报记录,并从所述工时上报记录中筛选记录时间处于所述目标项目启动时间与所述目标项目完成时间之间的记录信息,得到目标记录信息;
[0171]
根据所述目标记录信息统计所述目标项目的开发时长,得到所述目标项目的项目参考工时;
[0172]
根据所述项目开发工时以及所述项目参考工时,生成所述目标项目的工时报告。
[0173]
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块及单元的具体工作过程,可以参考前述项目开发工时计算方法实施例中的对应过程,在此不再赘述。
[0174]
上述实施例提供的装置可以实现为一种计算机程序的形式,该计算机程序可以在
如图3所示的计算机设备上运行。
[0175]
请参阅图3,图3为本技术实施例提供的一种计算机设备的结构示意性框图。该计算机设备包括但不限定于终端设备。
[0176]
如图3所示,该计算机设备301包括通过系统总线连接的处理器3011、存储器和网络接口,其中,存储器可以包括存储介质3012和内存储器3015,存储介质3012可以是非易失性的,也可以是易失性的。
[0177]
存储介质3012可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器3011执行任意一种项目开发工时计算方法。
[0178]
处理器3011用于提供计算和控制能力,支撑整个计算机设备的运行。
[0179]
内存储器3015为存储介质3012中的计算机程序的运行提供环境,该计算机程序被处理器3011执行时,可使得处理器3011执行任意一种项目开发工时计算方法。
[0180]
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0181]
应当理解的是,处理器3011可以是中央处理单元(central processing unit,cpu),该处理器3011还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0182]
其中,在一些实施方式中,所述处理器3011用于运行存储在存储器中的计算机程序,以实现如下步骤:
[0183]
接收目标项目下发指令,根据所述目标项目下发指令获取目标项目启动时间;
[0184]
当到达所述目标项目启动时间时,分别获取所有在开发项目对应所述目标项目启动时间的起始项目文件;
[0185]
根据预设时长周期性采集工作区域图片,并通过预设的图像识别模型判断所述工作区域图片是否包括目标用户的图片元素,当所述工作区域图片包括所述目标用户的图片元素时,添加所述预设时长到累计工作时长中;
[0186]
当接收到目标项目完成指令时,获取各个所述在开发项目的结果项目文件;
[0187]
比对各个所述在开发项目对应的所述起始项目文件以及所述结果项目文件,得到对应各个所述在开发项目的信息变化量;
[0188]
累计各个所述在开发项目的所述信息变化量,得到总信息变化量;
[0189]
获取所述目标项目的目标信息变化量,并根据所述目标信息变化量与所述总信息变化量的比值,得到所述目标项目的变化占比率;
[0190]
根据所述变化占比率与所述累计工作时长的乘积,得到所述目标项目的项目开发工时。
[0191]
在一些实施方式中,所述处理器3011在比对各个所述在开发项目对应的所述起始项目文件以及所述结果项目文件,得到对应各个所述在开发项目的信息变化量时,用于实
现:
[0192]
根据预设编码方法对所述在开发项目的所述起始项目文件进行编码,得到第一编码结果;
[0193]
根据所述预设编码方法对所述在开发项目的所述结果项目文件进行编码,得到第二编码结果;
[0194]
获取所述第一编码结果与所述第二编码结果的最长公共子序列,得到第三编码结果;
[0195]
利用所述第二编码结果的字符长度减去所述第三编码结果的字符长度,得到所述在开发项目的信息变化量。
[0196]
在一些实施方式中,所述处理器3011在根据预设编码方法对所述在开发项目的所述起始项目文件进行编码,得到第一编码结果时,用于实现:
[0197]
根据预设的排序规则对所述起始项目文件中的各个子文件进行排序,得到排序结果;
[0198]
根据所述排序结果对各个所述子文件进行拼接,得到第一拼接结果;
[0199]
根据预设的特殊字符滤除模型滤除所述第一拼接结果的特殊字符,得到第一编码结果。
[0200]
在一些实施方式中,所述处理器3011在根据所述变化占比率与所述累计工作时长的乘积,得到所述目标项目的项目开发工时时,用于实现:
[0201]
获取各个所述在开发项目对应的项目复杂系数,并累计各个所述项目复杂系数,得到总复杂系数;
[0202]
根据所述总复杂系数计算各个所述在开发项目的平均项目复杂系数;
[0203]
根据所述目标项目的目标项目复杂系数与所述平均项目复杂系数的比值,得到所述目标项目的复杂占比率;
[0204]
根据所述变化占比率、所述累计工作时长以及所述复杂占比率的乘积,得到所述目标项目的项目开发工时。
[0205]
在一些实施方式中,所述处理器3011在当到达所述目标项目启动时间时,分别获取所有在开发项目对应所述目标项目启动时间的起始项目文件之后,还用于实现:
[0206]
根据所述目标项目下发指令获取所述目标项目的开发预计时长;
[0207]
根据所述目标项目启动时间以及所述开发预计时长计算所述目标项目的预计完成时间;
[0208]
当到达所述预计完成时间仍未接收到所述目标项目完成指令时,周期性获取所述目标项目的已耗费时长;
[0209]
当所述已耗费时长与所述开发预计时长的时间间隔小于预设时间间隔时,触发项目逾期风险提醒。
[0210]
在一些实施方式中,所述处理器3011在当接收到目标项目完成指令时,获取各个所述在开发项目的结果项目文件之前,还用于实现:
[0211]
统计所述工作区域图片未包括所述目标用户的图片元素的连续出现次数;
[0212]
当所述连续出现次数大于预设次数时,触发图片采集设备调整提醒,其中,所述图片采集设备用于采集所述工作区域图片。
[0213]
在一些实施方式中,当接收到所述目标项目完成指令时,确定当前时间为目标项目完成时间,所述处理器3011在根据所述变化占比率与所述累计工作时长的乘积,得到所述目标项目的项目开发工时之后,还用于实现:
[0214]
获取所述目标用户的工时上报记录,并从所述工时上报记录中筛选记录时间处于所述目标项目启动时间与所述目标项目完成时间之间的记录信息,得到目标记录信息;
[0215]
根据所述目标记录信息统计所述目标项目的开发时长,得到所述目标项目的项目参考工时;
[0216]
根据所述项目开发工时以及所述项目参考工时,生成所述目标项目的工时报告。
[0217]
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述计算机设备的具体工作过程,可以参考前述项目开发工时计算方法实施例中的对应过程,在此不再赘述。
[0218]
本技术实施例还提供一种存储介质,该存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本技术项目开发工时计算方法的各个实施例。
[0219]
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
[0220]
应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0221]
还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0222]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1