CN107423911A - 软件成功度评价方法/系统、计算机可读存储介质及设备 - Google Patents

软件成功度评价方法/系统、计算机可读存储介质及设备 Download PDF

Info

Publication number
CN107423911A
CN107423911A CN201710651752.8A CN201710651752A CN107423911A CN 107423911 A CN107423911 A CN 107423911A CN 201710651752 A CN201710651752 A CN 201710651752A CN 107423911 A CN107423911 A CN 107423911A
Authority
CN
China
Prior art keywords
software
success
principal component
dimension
degree
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
CN201710651752.8A
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.)
Shanghai Advanced Research Institute of CAS
Original Assignee
Shanghai Advanced Research Institute 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 Shanghai Advanced Research Institute of CAS filed Critical Shanghai Advanced Research Institute of CAS
Priority to CN201710651752.8A priority Critical patent/CN107423911A/zh
Publication of CN107423911A publication Critical patent/CN107423911A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种软件成功度评价方法/系统、计算机可读存储介质及设备,软件成功度评价方法包括对所采集的软件成功基本度量元数据进行预处理,以获取有效元数据,并剔除无效元数据;对有效元数据进行降维运算,以分析出所述有效元数据的主成分,并将获取到的主成分映射至与其相关联的评价维度,及生成与所述评价维度对应的评价指标;基于所述评价指标,生成用于评价软件成功度的度量模型。本发明方法完全基于客观数据,简单易用,能够及时发现开发问题,提高软件的成功率,且度量模型中的关键绩效指标中包含原有数据的80+%的信息,确保了度量结果的客观公正。

Description

软件成功度评价方法/系统、计算机可读存储介质及设备
技术领域
本发明属于数据挖掘技术领域,涉及一种评价方法和系统,特别是涉及一种软件成功度评价方法/系统、计算机可读存储介质及设备。
背景技术
在当前开源社区火热的背景下,随着越来越多的开源软件获得成功,越来越多的团队采用开源或内源的软件开发模式,但软件开发整体的成功率依然偏低。根据Github开源社区中的统计信息,截止2016年12月3日,Github开源社区中共有软件仓库约735万个,其中未受到关注的项目占比80%,没有贡献者的软件仓库占75%。
但是现有技术无法客观、快速地度量软件成功度,无法帮助软件开发团队及时发现问题,而导致软件的成功率低等问题。
因此,如何提供一种软件成功度评价方法/系统、计算机可读存储介质及设备,以解决现有技术无法客观、快速地度量软件成功度,无法帮助软件开发团队及时发现问题,而导致软件的成功率低等问题,实已成为本领域技术人家亟待解决的技术问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种软件成功度评价方法/系统、计算机可读存储介质及设备,用于解决现有技术无法客观、快速地度量软件成功度,无法帮助软件开发团队及时发现问题,而导致软件的成功率低的问题。
为实现上述目的及其他相关目的,本发明一方面提供一种软件成功度评价方法,包括:对所采集的软件成功基本度量元数据进行预处理,以获取有效元数据,并剔除无效元数据;对有效元数据进行降维运算,以分析出所述有效元数据的主成分,并将获取到的主成分映射至与其相关联的评价维度,及生成与所述评价维度对应的评价指标;基于所述评价指标,生成用于评价软件成功度的度量模型。
于本发明的一实施例中,对所述软件成功基本度量元数据进行预处理的步骤包括对所述软件成功基本度量元数据进行缺失数据处理、异常数据处理、有偏数据处理和/或异常项目类型发现。
于本发明的一实施例中,所述对有效元数据进行降维运算,以分析出所述有效元数据的主成分的步骤包括:将所述有效元数据形成样本矩阵;求取该样本矩阵的协方差矩阵;计算出该协方差矩阵的特征值、特征向量及每一个特征向量对应的方差;所述特征向量表示所述有效元数据的主成分;所述特征向量的选择取决于协方差矩阵的特征值的大小;所述方差表示每一主成分的贡献度,不同特征向量对应的方差之和表示不同主成分的累计贡献度。
于本发明的一实施例中,所述主成分包括:包含开发代码量和按语言分类的开发代码量的第一主成分;包含软件项目的星标数、关注数和软件项目的复制人数的第二主成分;包含软件项目的开放提问数、软件项目的关闭提问数及软件项目的关闭合并申请数的第三主成分;包含软件项目最新记录时间和软件项目最新提交时间的第四主成分;包含软件项目最新提交时间和软件项目最新更新时间的第五主成分;包含软件项目的代码贡献人数和软件项目主分支的提交数的第六主成分;包含软件项目的复制人数和软件项目的开放合并申请数的第七主成分。
于本发明的一实施例中,所述评价维度包括用于衡量开发绩效的软件项目开发维度、用于衡量用户参与度的用户维度、用于衡量运营绩效的运营维度和/或用于衡量软件项目活跃度的团队维度;所述评价指标包括开发绩效、用户参与度、运营绩效和/或软件项目活跃度;其中。每一所述评价指标分别由不同主成分构成。
于本发明的一实施例中,所述评价软件成功度的度量模型=软件项目开发维度对应的权重*开发绩效+用户维度对应的权重*软件流行度+运营维度对应的权重*运营绩效+团队维度对应的权重*软件活跃度。
于本发明的一实施例中,软件开发维度对应的权重=与软件项目开发维度相关的主成分的贡献度/累计贡献度;用户维度对应的权重=与用户维度相关的主成分的贡献度/累计贡献度;运营维度对应的权重=与运营维度相关的主成分的贡献度/累计贡献度;团队维度对应的权重=与团队维度相关的主成分的贡献度/累计贡献度。
本发明另一方面提供一种软件成功度评价系统,包括:第一处理模块,用于对所采集的软件成功基本度量元数据进行预处理,以获取有效元数据,并剔除无效元数据;第二处理模块,用于对有效元数据进行降维运算,以分析出所述有效元数据的主成分,并将获取到的主成分映射至不同评价维度,及生成与所述评价维度对应的评价指标;模型生成模块,用于基于所述评价指标,生成用于评价软件成功度的度量模型。
于本发明的一实施例中,所述软件成功度的评价系统还包括:采集模块,用于采集待评价的软件成功基本度量元数据;存储模块,与所述采集模块和所述预处理模块耦合,用于存储所述采集模块所采集的软件成功基本度量元数据。
本发明又一方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述软件成功度评价方法。
本发明最后一方面提供一种设备,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述设备执行所述软件成功度评价方法。
如上所述,本发明的软件成功度评价方法/系统、计算机可读存储介质及设备,具有以下有益效果:
本发明软件成功度评价方法/系统、计算机可读存储介质及设备完全基于客观数据,通过数据采集、处理、分析可以实时获得度量结果,方法简单易用,能够及时发现开发问题,提高软件的成功率,且度量模型中的关键绩效指标中包含原有数据的80+%的信息,确保了度量结果的客观公正。
附图说明
图1显示为本发明的软件成功度评价方法于一实施例中的流程示意图。
图2显示为本发明的软件成功度评价系统于一实施例中的原理结构示意图。
元件标号说明
2 软件成功度评价系统
21 采集模块
22 存储模块
23 判断模块
24 第一处理模块
25 第二处理模块
26 模型生成模块
27 应用模块
S11~S16 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明所述的软件成功度评价方法/系统的技术原理如下:
本发明基于开源软件项目存储库数据挖掘,定义了一种全面地涵盖开源软件生命周期各种维度,能够快速、客观地度量开源软件成功的方法。本发明以开源社区中约13万的项目数据为基础,通过聚类、主成分分析以及对得出的主成分因子的业务含义分析,推断出存储库数据基本上能够从一定程度上反映出开源软件在用户参与、运营、开发和团队能力四个维度上的成功水平。通过对主成分因子对应的存储库数据业务含义分析,结合相关软件工程知识和实践经验,形成由团队活性、用户参与度、运营绩效和开发绩效四个关键绩效指标组成的开源软件成功度量模型。这种模型基于客观的开源软件存储库数据,通过数据采集、处理、分析可以实时获得度量结果,方法简单易用;而且,模型中的关键绩效指标中包含原有数据的80+%的信息,确保了度量结果的客观公正。
实施例一
本实施例提供一种软件成功度评价方法,包括:
采集待评价的软件成功基本度量元数据;
对所述软件成功基本度量元数据进行预处理,以获取有效元数据,并剔除无效元数据;
对有效元数据进行降维运算,以分析出所述有效元数据的主成分,并将获取到的主成分映射至不同评价维度,及生成与所述评价维度对应的评价指标;
基于所述评价指标,生成用于评价软件成功度的度量模型。
以下将结合图示对本实施例所提供的软件成功度评价方法进行详细描述。请参阅图1,显示为软件成功度评价方法于一实施例中的流程示意图。如图1所示,所述软件成功度评价方法具体包括以下几个步骤:
S11,采集待评价的软件成功基本度量元数据。在本实施例中,使用网络爬虫技术和存储库API技术采集到待评价的软件成功基本度量元数据。在本实施例中,软件成功基本度量元数据基于开源软件存储库数据。
S12,对所采集的软件成功基本度量元数据进行预处理,以获取有效元数据,并剔除无效元数据。在本实施例中,对所述软件成功基本度量元数据进行预处理的步骤包括对所述软件成功基本度量元数据进行缺失数据处理、异常数据处理、有偏数据处理和/或异常项目类型发现。剔除的无效元数据包括垃圾项目数据和/或异常项目数据。
S13,判断是否需要优化已存在的软件成功度的度量模型,若是,执行步骤S14,若否,则执行步骤S16’,将已存在的软件成功度的度量模型应用于有效元数据,对软件项目进行成功度进行度量。
S14,对有效元数据进行降维运算,以分析出所述有效元数据的主成分,并将获取到的主成分映射至不同评价维度,及生成与所述评价维度对应的评价指标。
在本实施例中,采用主成分分析法对有效元数据进行降维运算,以分析出所述有效元数据的主成分。主成分分析法是一种掌握事物主要矛盾的统计分析方法,它可以从多元事物中解析出主要影响因素,揭示事物的本质,简化复杂的问题。给定n个变量的m个观察值,形成一个n*m的数据矩阵,n通常比较大。对于一个由多个变量描述的复杂事物,需要将变量分离出来,进行详细分析。但是在一般情况下,并不能直接找出这样的关键变量。主成分分析法就是通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,特征分量常用于高维数据的降维。于本实施例中,对有效元数据进行降维运算,以分析出所述有效元数据的主成分的步骤具体包括:
首先,将所述有效元数据形成样本矩阵。
接着,求取该样本矩阵的协方差矩阵。
最后,计算出该协方差矩阵的特征值、特征向量及每一个特征向量对应的方差。所述特征向量表示所述有效元数据的主成分,特征向量就可以构成一个投影矩阵,该投影矩阵可以将元数据的特征从高维降到低维。所述特征向量的选择取决于协方差矩阵的特征值的大小(于参照表1选择特征值大于等于0.8的特征向量)述方差表示每一主成分的贡献度,不同特征向量对应的方差之和表示不同主成分的累计贡献度。例如,参照表1为于本实施例中主成分分析结果。
表1:主成分分析结果
在本实施例中,通过PCA分析后获取7个主成分,即第一主成分、第二主成分、第三主成分、第四主成分、第五主成分、第六主成分及第七主成分。
其中,第一主成分包含开发代码量(codesize)、和按语言分类的开发代码量(mlangsize)。
第二主成分包含软件项目的星标数(stars)、关注数(watchers)和软件项目的复制人数(folks)。
第三主成分包含软件项目的开放提问数(open-issue)、软件项目的关闭提问数(close-issue)及软件项目的关闭合并申请数(close-pull)。
第四主成分包含软件项目最新记录时间(create-diff-record)和软件项目最新提交时间(push-diff-record)。
第五主成分包含软件项目最新提交时间(push-diff-record)和软件项目最新更新时间(update-diff-record)。
第六主成分包含软件项目的代码贡献人数(Contributors)和软件项目主分支的提交数(mainbranch_commits)。
第七主成分包含软件项目的复制人数(forks)和软件项目的开放合并申请数(open-pull)。
根据主成分在软件工程领域的具体含义,将获取到的主成分映射至与其相关联的评价维度。在本实施例中,所述评价维度包括用于衡量开发绩效的软件项目开发维度、用于衡量用户参与度的用户维度、用于衡量运营绩效的运营维度和/或用于衡量软件项目活跃度的团队维度。例如,参阅参2主成分映射表,将第一主成分X1映射至开发维度,将第二主成分X2映射至用户维度,将第三主成分X3和第七主成分X7映射至运营维度,将第四主成分X4,第五主成分X5及第六主成分X6映射至团队维度。
表2:主成分映射表
根据PCA分析结果,生成与所述评价维度对应的评价指标。所述评价指标包括开发绩效、用户参与度、运营绩效和/或软件项目活跃度;其中。每一所述评价指标分别由不同主成分构成。
所述开发绩效由第一主成分X1构成,所述开发绩效的计算公式为:
fdev=X1
所述用户参与度由第二主成分X2构成,所述用户参与度的计算公式为:
fpop=X2
所述运营维度由第三主成分和第七主成分构成,所述运营维度的计算公式为:
其中,ω3为第三主成分的权重,ω3=第三主成分的贡献度/累计贡献度,ω7为第七主成分的权重,ω7=第七主成分的贡献度/累计贡献度。
所述软件项目活跃度由第四主成分、第五主成分及第六主成分构成,所述软件项目活跃度的计算公式为:
其中,ω4为第四主成分的权重,ω4=第四主成分的贡献度/累计贡献度,ω5为第五主成分的权重,ω5=第五主成分的贡献度/累计贡献度,ω6为第六主成分的权重,ω6=第六主成分的贡献度/累计贡献度。
S15,基于所述评价指标,生成用于评价软件成功度的度量模型。在本实施例中,所述评价软件成功度的度量模型=软件项目开发维度对应的权重*开发绩效+用户维度对应的权重*软件流行度+运营维度对应的权重*运营绩效+团队维度对应的权重*软件活跃度。
其中,软件开发维度对应的权重=与软件项目开发维度相关的主成分的贡献度/累计贡献度。在本实施例中,所述软件开发维度对应的权重为第一主成分的权重。
用户维度对应的权重=与用户维度相关的主成分的贡献度/累计贡献度。在本实施例中,所述用户维度对应的权重为第二主成分的权重。
运营维度对应的权重=与运营维度相关的主成分的贡献度/累计贡献度。在本实施例中,所述运营维度对应的权重为第三主成分的权重与第七主成分的权重之和。
团队维度对应的权重=与团队维度相关的主成分的贡献度/累计贡献度。在本实施例中,所述团队维度对应的权重为第四主成分的权重,第五主成分的权重及第六主成分的权重之和。
具体地,所述评价软件成功度的度量模型的计算公式如下:
Fsuccess=ωdev*fdevpop*fpopop*fopvit*fvit
S16,发布该评价软件成功度的度量模型,利用该度量模型进行成功度度量。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述软件成功度评价方法。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例所述的软件成功度评价方法及计算机可读存储介质通过数据采集、处理、分析可以实时获得度量结果,方法简单易用,能够及时发现开发问题,提高软件的成功率,且度量模型中的关键绩效指标中包含原有数据的80+%的信息,确保了度量结果的客观公正。
实施例二
本实施例提供一种软件成功度评价系统,包括:
采集模块,用于采集待评价的软件成功基本度量元数据;
第一处理模块,用于对所采集的软件成功基本度量元数据进行预处理,以获取有效元数据,并剔除无效元数据;
第二处理模块,用于对有效元数据进行降维运算,以分析出所述有效元数据的主成分,并将获取到的主成分映射至不同评价维度,及生成与所述评价维度对应的评价指标;
模型生成模块,用于基于所述评价指标,生成用于评价软件成功度的度量模型。
以下将结合图示对本实施例所提供的软件成功度评价系统进行详细描述。需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,x模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC),或,一个或多个微处理器(digitalsingnalprocessor,简称DSP),或,一个或者多个现场可编程门阵列(FieldProgrammableGateArray,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessingUnit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
请参阅图2,显示为软件成功度评价系统于一实施例中的原理结构示意图。如图2所示,所述软件成功度评价系统2具体包括:采集模块21、存储模块22、判断模块23、第一处理模块24、第二处理模块25、模型生成模块26及应用模块27。
所述采集模块21用于采集待评价的软件成功基本度量元数据。
与所述采集模块21耦合的存储模块22用于存储所述采集模块31所采集的软件成功基本度量元数据。
与所述存储模块22耦合的第一处理模块23用于对所采集的软件成功基本度量元数据进行预处理,以获取有效元数据,并剔除无效元数据。在本实施例中,第一处理模块23对所述软件成功基本度量元数据进行缺失数据处理、异常数据处理、有偏数据处理和/或异常项目类型发现。剔除的无效元数据包括垃圾项目数据和/或异常项目数据。
与所述第一处理模块23耦合的判断模块24用于判断是否需要优化已存在的软件成功度的度量模型,若是,调用第二处理模块25,若否,则调用所述应用模块27将已存在的软件成功度的度量模型应用于有效元数据,对其进行成功度进行度量。
与所述判断模块24耦合的第二处理模块25用于对有效元数据进行降维运算,以分析出所述有效元数据的主成分,并将获取到的主成分映射至不同评价维度,及生成与所述评价维度对应的评价指标。
所述第二处理模块25具体用于将所述有效元数据形成样本矩阵。求取该样本矩阵的协方差矩阵,计算出该协方差矩阵的特征值、特征向量及每一个特征向量对应的方差。所述特征向量表示所述有效元数据的主成分,特征向量就可以构成一个投影矩阵,该投影矩阵可以将元数据的特征从高维降到低维。所述特征向量的选择取决于协方差矩阵的特征值的大小(于参照表1选择特征值大于等于0.8的特征向量)述方差表示每一主成分的贡献度,不同特征向量对应的方差之和表示不同主成分的累计贡献度。
所述第二处理模块25还用于根据主成分在软件工程领域的具体含义,将获取到的主成分映射至与其相关联的评价维度。在本实施例中,所述评价维度包括用于衡量开发绩效的软件项目开发维度、用于衡量用户参与度的用户维度、用于衡量运营绩效的运营维度和/或用于衡量软件项目活跃度的团队维度。
具体地,所述第二处理模块25将第一主成分X1映射至开发维度,将第二主成分X2映射至用户维度,将第三主成分X3和第七主成分X7映射至运营维度,将第四主成分X4,第五主成分X5及第六主成分X6映射至团队维度。
所述第二处理模块25还用于根据PCA分析结果,生成与所述评价维度对应的评价指标。所述评价指标包括开发绩效、用户参与度、运营绩效和/或软件项目活跃度;其中。每一所述评价指标分别由不同主成分构成。
所述开发绩效由第一主成分X1构成,所述开发绩效的计算公式为:
fdev=X1
所述用户参与度由第二主成分X2构成,所述用户参与度的计算公式为:
fpop=X2
所述运营维度由第三主成分和第七主成分构成,所述运营维度的计算公式为:
其中,ω3为第三主成分的权重,ω3=第三主成分的贡献度/累计贡献度,ω7为第七主成分的权重,ω7=第七主成分的贡献度/累计贡献度。
所述软件项目活跃度由第四主成分、第五主成分及第六主成分构成,所述软件项目活跃度的计算公式为:
其中,ω4为第四主成分的权重,ω4=第四主成分的贡献度/累计贡献度,ω5为第五主成分的权重,ω5=第五主成分的贡献度/累计贡献度,ω6为第六主成分的权重,ω6=第六主成分的贡献度/累计贡献度。
与所述第二处理模块25耦合的模型生成模块26用于基于所述评价指标,生成用于评价软件成功度的度量模型。在本实施例中,所述评价软件成功度的度量模型=软件项目开发维度对应的权重*开发绩效+用户维度对应的权重*软件流行度+运营维度对应的权重*运营绩效+团队维度对应的权重*软件活跃度。
其中,软件开发维度对应的权重=与软件项目开发维度相关的主成分的贡献度/累计贡献度。在本实施例中,所述软件开发维度对应的权重为第一主成分的权重。
用户维度对应的权重=与用户维度相关的主成分的贡献度/累计贡献度。在本实施例中,所述用户维度对应的权重为第二主成分的权重。
运营维度对应的权重=与运营维度相关的主成分的贡献度/累计贡献度。在本实施例中,所述运营维度对应的权重为第三主成分的权重与第七主成分的权重之和。
团队维度对应的权重=与团队维度相关的主成分的贡献度/累计贡献度。在本实施例中,所述团队维度对应的权重为第四主成分的权重,第五主成分的权重及第六主成分的权重之和。
具体地,所述评价软件成功度的度量模型的计算公式如下:
Fsuccess=ωdev*fdevpop*fpopop*fopvit*fvit
与所述模型生成模块26耦合的应用模块27还用于发布该评价软件成功度的度量模型,利用该度量模型进行成功度度量。
实施例三
本实施例提供一种设备,该设备包括:处理器、存储器、收发器、通信接口和系统总线;存储器和通信接口通过系统总线与处理器和收发器连接并完成相互间的通信,存储器用于存储计算机程序,通信接口用于和其他设备进行通信,处理器和收发器用于运行计算机程序,使设备执行如上软件成功度评价方法的各个步骤。
上述提到的系统总线可以是外设部件互连标准(PeripheralPomponentInterconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustryStandardArchitecture,简称EISA)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(RandomAccessMemory,简称RAM),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignalProcessing,简称DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
综上所述,本发明软件成功度评价方法/系统、计算机可读存储介质及设备完全基于客观数据,通过数据采集、处理、分析可以实时获得度量结果,方法简单易用,能够及时发现开发问题,提高软件的成功率,且度量模型中的关键绩效指标中包含原有数据的80+%的信息,确保了度量结果的客观公正。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (11)

1.一种软件成功度评价方法,其特征在于,包括:
对所采集的软件成功基本度量元数据进行预处理,以获取有效元数据,并剔除无效元数据;
对有效元数据进行降维运算,以分析出所述有效元数据的主成分,并将获取到的主成分映射至与其相关联的评价维度,及生成与所述评价维度对应的评价指标;
基于所述评价指标,生成用于评价软件成功度的度量模型。
2.根据权利要求1所述的软件成功度评价方法,其特征在于,对所述软件成功基本度量元数据进行预处理的步骤包括对所述软件成功基本度量元数据进行缺失数据处理、异常数据处理、有偏数据处理和/或异常项目类型发现。
3.根据权利要求1所述的软件成功度评价方法,其特征在于,所述对有效元数据进行降维运算,以分析出所述有效元数据的主成分的步骤包括:
将所述有效元数据形成样本矩阵;
求取该样本矩阵的协方差矩阵;
计算出该协方差矩阵的特征值、特征向量及每一个特征向量对应的方差;所述特征向量表示所述有效元数据的主成分;所述特征向量的选择取决于协方差矩阵的特征值的大小;所述方差表示每一主成分的贡献度,不同特征向量对应的方差之和表示不同主成分的累计贡献度。
4.根据权利要求3所述的软件成功度评价方法,其特征在于,所述主成分包括:
包含开发代码量和按语言分类的开发代码量的第一主成分;
包含软件项目的星标数、关注数和软件项目的复制人数的第二主成分;
包含软件项目的开放提问数、软件项目的关闭提问数及软件项目的关闭合并申请数的第三主成分;
包含软件项目最新记录时间和软件项目最新提交时间的第四主成分;
包含软件项目最新提交时间和软件项目最新更新时间的第五主成分;
包含软件项目的代码贡献人数和软件项目主分支的提交数的第六主成分;
包含软件项目的复制人数和软件项目的开放合并申请数的第七主成分。
5.根据权利要求4所述的软件成功度评价方法,其特征在于,
所述评价维度包括用于衡量开发绩效的软件项目开发维度、用于衡量用户参与度的用户维度、用于衡量运营绩效的运营维度和/或用于衡量软件项目活跃度的团队维度;
所述评价指标包括开发绩效、用户参与度、运营绩效和/或软件项目活跃度;其中。每一所述评价指标分别由不同主成分构成。
6.根据权利要求4所述的软件成功度评价方法,其特征在于,
所述评价软件成功度的度量模型=软件项目开发维度对应的权重*开发绩效+用户维度对应的权重*软件流行度+运营维度对应的权重*运营绩效+团队维度对应的权重*软件活跃度。
7.根据权利要求5所述的软件成功度评价方法,其特征在于,
软件开发维度对应的权重=与软件项目开发维度相关的主成分的贡献度/累计贡献度;
用户维度对应的权重=与用户维度相关的主成分的贡献度/累计贡献度;
运营维度对应的权重=与运营维度相关的主成分的贡献度/累计贡献度;
团队维度对应的权重=与团队维度相关的主成分的贡献度/累计贡献度。
8.一种软件成功度评价系统,其特征在于,包括:
第一处理模块,用于对所采集的软件成功基本度量元数据进行预处理,以获取有效元数据,并剔除无效元数据;
第二处理模块,用于对有效元数据进行降维运算,以分析出所述有效元数据的主成分,并将获取到的主成分映射至不同评价维度,及生成与所述评价维度对应的评价指标;
模型生成模块,用于基于所述评价指标,生成用于评价软件成功度的度量模型。
9.根据权利要求8所述的软件成功度评价系统,其特征在于,所述软件成功度的评价系统还包括:
采集模块,用于采集待评价的软件成功基本度量元数据;
存储模块,与所述采集模块和所述预处理模块耦合,用于存储所述采集模块所采集的软件成功基本度量元数据。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至7中任一项所述软件成功度评价方法。
11.一种设备,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述设备执行如权利要求1至7中任一项所述软件成功度评价方法。
CN201710651752.8A 2017-08-02 2017-08-02 软件成功度评价方法/系统、计算机可读存储介质及设备 Pending CN107423911A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710651752.8A CN107423911A (zh) 2017-08-02 2017-08-02 软件成功度评价方法/系统、计算机可读存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710651752.8A CN107423911A (zh) 2017-08-02 2017-08-02 软件成功度评价方法/系统、计算机可读存储介质及设备

Publications (1)

Publication Number Publication Date
CN107423911A true CN107423911A (zh) 2017-12-01

Family

ID=60437147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710651752.8A Pending CN107423911A (zh) 2017-08-02 2017-08-02 软件成功度评价方法/系统、计算机可读存储介质及设备

Country Status (1)

Country Link
CN (1) CN107423911A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165163A (zh) * 2018-08-31 2019-01-08 北京航空航天大学 一种预测开源社区贡献请求评审结果的方法
CN109254959A (zh) * 2018-08-17 2019-01-22 广东技术师范学院 一种数据评价方法、装置、终端设备及可读存储介质
CN109508291A (zh) * 2018-10-31 2019-03-22 武汉雨滴科技有限公司 一种应用质量评价方法
CN109583476A (zh) * 2018-11-02 2019-04-05 中国科学院上海高等研究院 基于软件开发过程的软件度量方法、系统及电子设备
CN110442518A (zh) * 2019-07-22 2019-11-12 中国工程物理研究院计算机应用研究所 基于可信特征度量的软件可信性评估与改进方法
CN111581104A (zh) * 2020-05-11 2020-08-25 雷涛 一种基于DevOps研发运营一体化的度量方法
CN112100270A (zh) * 2020-08-12 2020-12-18 北京国电通网络技术有限公司 信息化考试数据挖掘分析方法、装置、电子设备及介质
CN112947928A (zh) * 2019-12-10 2021-06-11 北京沃东天骏信息技术有限公司 代码评价的方法、装置、电子设备和存储介质
CN113379287A (zh) * 2021-06-25 2021-09-10 浪潮软件科技有限公司 基于大数据的工会工作绩效分析方法及系统
CN113807717A (zh) * 2021-09-23 2021-12-17 深圳市易平方网络科技有限公司 一种应用程序功能评价方法、装置、终端设备及存储介质
CN114153749A (zh) * 2022-02-09 2022-03-08 苏州浪潮智能科技有限公司 计算机程序的性能检测方法、系统、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101261604A (zh) * 2008-04-09 2008-09-10 中兴通讯股份有限公司 一种软件质量评价装置及软件质量评价的定量分析方法
CN101377739A (zh) * 2007-08-31 2009-03-04 兰雨晴 基础软件平台的质量评估方法
CN101710304A (zh) * 2009-11-27 2010-05-19 中国科学院软件研究所 一种软件过程实施质量评测方法
US8332816B2 (en) * 2005-08-02 2012-12-11 Sap Aktiengesellschaft Systems and methods of multidimensional software management
CN104867138A (zh) * 2015-05-07 2015-08-26 天津大学 基于pca和ga-elm的立体图像质量客观评价方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332816B2 (en) * 2005-08-02 2012-12-11 Sap Aktiengesellschaft Systems and methods of multidimensional software management
CN101377739A (zh) * 2007-08-31 2009-03-04 兰雨晴 基础软件平台的质量评估方法
CN101261604A (zh) * 2008-04-09 2008-09-10 中兴通讯股份有限公司 一种软件质量评价装置及软件质量评价的定量分析方法
CN101710304A (zh) * 2009-11-27 2010-05-19 中国科学院软件研究所 一种软件过程实施质量评测方法
CN104867138A (zh) * 2015-05-07 2015-08-26 天津大学 基于pca和ga-elm的立体图像质量客观评价方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254959B (zh) * 2018-08-17 2022-04-08 广东技术师范大学 一种数据评价方法、装置、终端设备及可读存储介质
CN109254959A (zh) * 2018-08-17 2019-01-22 广东技术师范学院 一种数据评价方法、装置、终端设备及可读存储介质
CN109165163A (zh) * 2018-08-31 2019-01-08 北京航空航天大学 一种预测开源社区贡献请求评审结果的方法
CN109508291A (zh) * 2018-10-31 2019-03-22 武汉雨滴科技有限公司 一种应用质量评价方法
CN109508291B (zh) * 2018-10-31 2022-02-08 武汉雨滴科技有限公司 一种应用质量评价方法
CN109583476A (zh) * 2018-11-02 2019-04-05 中国科学院上海高等研究院 基于软件开发过程的软件度量方法、系统及电子设备
CN109583476B (zh) * 2018-11-02 2022-10-18 中国科学院上海高等研究院 基于软件开发过程的软件度量方法、系统及电子设备
CN110442518A (zh) * 2019-07-22 2019-11-12 中国工程物理研究院计算机应用研究所 基于可信特征度量的软件可信性评估与改进方法
CN110442518B (zh) * 2019-07-22 2022-11-11 中国工程物理研究院计算机应用研究所 基于可信特征度量的软件可信性评估与改进方法
CN112947928A (zh) * 2019-12-10 2021-06-11 北京沃东天骏信息技术有限公司 代码评价的方法、装置、电子设备和存储介质
CN111581104A (zh) * 2020-05-11 2020-08-25 雷涛 一种基于DevOps研发运营一体化的度量方法
CN112100270A (zh) * 2020-08-12 2020-12-18 北京国电通网络技术有限公司 信息化考试数据挖掘分析方法、装置、电子设备及介质
CN113379287A (zh) * 2021-06-25 2021-09-10 浪潮软件科技有限公司 基于大数据的工会工作绩效分析方法及系统
CN113807717A (zh) * 2021-09-23 2021-12-17 深圳市易平方网络科技有限公司 一种应用程序功能评价方法、装置、终端设备及存储介质
CN114153749A (zh) * 2022-02-09 2022-03-08 苏州浪潮智能科技有限公司 计算机程序的性能检测方法、系统、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN107423911A (zh) 软件成功度评价方法/系统、计算机可读存储介质及设备
EP2951736B1 (en) Data records selection
CN107992401A (zh) 性能测试评价方法、装置、终端设备及存储介质
CN108683562A (zh) 异常检测定位方法、装置、计算机设备及存储介质
CN108647145A (zh) 软件内存安全检测方法及系统
CN104572122A (zh) 一种软件应用数据的生成装置及方法
CN107391142A (zh) 一种应用拆分的方法及装置
CN108536692A (zh) 一种执行计划的生成方法、装置及数据库服务器
CN109684052A (zh) 事务分析方法、装置、设备及存储介质
CN108650684A (zh) 一种关联规则确定方法及装置
CN106502720A (zh) 一种数据处理方法和装置
Mann et al. Bio-inspired metaheuristics: evolving and prioritizing software test data
CN109033274A (zh) 一种数据清洗方法及装置
CN110291503A (zh) 信息处理系统和信息处理方法
CN109002470A (zh) 知识图谱构建方法及装置、客户端
CN113961173A (zh) 基于领域事件驱动的单体系统微服务拆分方法
CN106327140A (zh) 一种对数据修改的监控方法和装置
CN111813739A (zh) 数据迁移方法、装置、计算机设备及存储介质
Niemetz et al. Bitwuzla
CN107871055A (zh) 一种数据分析方法和装置
CN111026574B (zh) 诊断Elasticsearch集群问题的方法及装置
CN103455364B (zh) 一种多核环境并行程序Cache性能在线获取系统及方法
CN112600936A (zh) 一种云计算系统服务的量化和评估方法
CN111176980A (zh) 调试环境和运行环境分离的数据分析方法、装置及系统
CN108280224B (zh) 万级维度数据生成方法、装置、设备以及存储介质

Legal Events

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

Application publication date: 20171201

RJ01 Rejection of invention patent application after publication