主持人居德华:
下面有请CSPIN副会长中科院软件所副总工程师王青女士做发言:
王青:
今天我是代表CSPIN协会很多人的工作,代表我们这样一个组织给大家就我们一年来的工作做一个简单的介绍。CSPIN受到了工业界和学术界的人共同热心支持来做的工作,我们的数据取之于民,用之于民,基于这样工作详尽的东西我后面会陆续给大家报告。
CSPIN的使命:建立基准对比公共技术平台,建设开源知识库公共技术平台,建立基准驱动过程改进模式和应用。
我们的目标是使80%的中国软件企业加入到过程改进的行业中来。(图)我们CSPIN发展的规划,07年的工作是要建立对比平台,希望有第一步数据采集的工作。我们的发展和用户组织:CSPIN发展一个是专家支撑团队,还有很多其他的软件组织的经验还有对口的单位。看起来尤其对比单位和基础建设上我们应该是在四、五年的工作规划中,我们在07年已经达到了阶段的工作目标。
从数据搜集来看,截止到07年8月份一共收集到来自国内370个组织1011个软件项目的数据,主要来自北京、上海等15个地区,这些软件项目应用的领域可以分类,从政府、电信等16个应用领域。从分布来看我们的数据来源比较多的数据是来自与北京、辽宁这样的一些地区。从应用领域分析,这些应用最多的是在电信行业、能源行业,最多的是政府。基于上面的数据我们做了最基本的分析,从项目的规模、开发团队的规模、开发的工作量和项目开发周期以及生产率、软件的缺陷以及项目做计划的估算能力从这几个方面进行了初步的分析。
规模:在我们收集到1000多个数据中98%的项目是使用代码行统计。我们国内大多数的软件组织还没有使用功能点估算的方法。从这个数据来看我们的规模有大有小,差别也比较大,最小的是771行,最大的是233万行。平均值是没有什么意义的,因为值差太大。
(图)大部分项目是20万以下。20万行以下基本上各类软件规模都有,20万行以上最大的上百万行的是很少的,是及个别的。在各个领域各样的都有,按照这个领域来分可以看到其差还是比较大的。一个项目大概是5、6个人做半年所以我们的项目体量都还是比较小的,在2万个小时以下的项目占了95%。
因为我们的应用领域不同,各个领域项目大小也不同,有一些比较有代表意义的就是数据样本比较大的项目具有普遍的代表意义。
从项目周期来看,最短的是6天,最长的是851天,从周期的分布来看大部分是在500天以下,
250天左右的比较多一些。
前面都是一些基本数据源,我们的度量单位是/人/小时,最小值是0.9代码行/人时最大值是127.8代码行/人时,平均值是16代码行/人时。各个地区的生产力情况,在这个地方一定要对照样本空间,比如说有一个天津的生产力数据是非常高的,尤其是像小样本空间只有五个项目的,可能我们是拿到了它的一些优质企业,我们北京是最多的,有400个,占了将近一半的数据。北京、上海都是我们样本数比较大的,反而生产率并不是很高,样本空间越大越能反应出一个普遍的情况。
软件生产率分析(工作量、规模)从整个项目来说它的对数和工作规模是成线性关系的。不同的编程语言软件的规模和工作量之间双对数也是比较明显的相关关系。从各个领域来看生产率也是高低不同。政府领域样本空间占了21%,电信占17%、能源占34%。
软件缺陷密度:
每千行代码最少缺陷0.01,平均缺陷6.1,最多缺陷43.7。我们CSPIN还需要做更多的数据采集。我们最主要关注样本空间比较大的应用领域他们的缺陷密度比如说政府它的缺陷是千分之八。从语言来看也是这样。像JAVA的,它的缺陷密度大概是在千分之六左右。
估算值:133个项目中填写,大概有37%的项目实际工作量高出估计值10%以上,平均超出估算值35恩%,最高超出估算值136%。14%的软件项目实际工作量低于估算值10%,平均低于估算值21%,最多低于估算值36%。谢谢大家!