主权项 |
一种基于文件关联网络的软件项目核心开发者评判方法,其特征在于:所述软件项目核心开发者评判方法包括以下步骤:步骤1:核心文件组的选取:在项目的数据模型和功能控制文件中选取核心文件,对项目里被调用的文件按它们被调用的次数排序,取前N个文件组成核心文件组,满足这些文件被调用次数占总调用次数达预设阈值;步骤2:核心文件关联网络的构建:选取核心文件组的某个文件,记为p,作为关联网络的第一层,关联网络的第二层为项目中调用文件p的所有文件,其集合记为D={d<sub>1</sub>,...,d<sub>k</sub>},k为关联网络中第二层的文件个数,k≥1,关联网络的第三层是这些被第二层文件调用的非核心文件,其集合记为Q={q<sub>1</sub>,...,q<sub>h</sub>},h≥1为关联网络中第三层的文件个数,以此构建核心文件关联网络;步骤3:核心文件中开发者的贡献度计算:设一个核心文件p由m个开发者共同完成,其集合记为A={a<sub>1</sub>,…,a<sub>m</sub>},令P={p,q<sub>1</sub>,...,q<sub>h</sub>}为核心文件p关联网络中被集合D中文件调用的文件集合,其中的元素P<sub>1</sub>=p,P<sub>i</sub>=q<sub>i‑1</sub>,i≥2,根据以上定义,提出贡献度分配矩阵B,矩阵元素B<sub>ij</sub>的值代表项目开发者a<sub>i</sub>在被调用文件P<sub>j</sub>中的贡献度;引入向量集合s=(s<sub>1</sub>,...,s<sub>h+1</sub>)<sup>T</sup>,其元素s<sub>i</sub>代表文件P<sub>i</sub>被调用的总次数,开发者a<sub>i</sub>在文件p中最终贡献度c<sub>i</sub>由其在各关联文件中的贡献度进行权值累加而得,记为:<maths num="0001"><math><![CDATA[<mrow><msub><mi>c</mi><mi>i</mi></msub><mo>=</mo><munder><mo>Σ</mo><mi>j</mi></munder><msub><mi>B</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mi>s</mi><mi>j</mi></msub><mo>,</mo></mrow>]]></math><img file="FDA0001117010690000011.GIF" wi="286" he="111" /></maths>其对应的矩阵形式为:C=Bs,其中,向量C表示文件p中所有开发者的贡献度集合;步骤4:核心开发者的筛选:求出项目开发者在所有核心文件中的贡献度,取其平均值,得出的结果近似于各个项目开发者对整个项目的贡献度大小,并进行排序,以此筛选出项目中的核心开发者。 |