项目工程的工期的估算——基于数据库应用

来源:互联网 发布:windows任务快速切换器 编辑:程序博客网 时间:2024/05/17 07:38

在从事软件项目的开发工作中,发现项目的工期估算和控制是最大的问题。在项目的初期,尤其是从零开始做的项目,往往项目的周期估算很不准确。凭主观经验验的估算的工期往往与实际相差很远。

我从事的所有项目,都是基于数据库开发的普通应用类项目。从以往的经验来看,这些项目的开发复杂度与周期,往往与数据库中的表的数量有关系。表越多,开发周期越长。

根据以往的经验,总结了一个项目周期的估算公式。这里先明确公式中的各个变量:

TC=数据库中的表数量

TP=处理每张表所需要的代码行数,这是一个经验值,根据开发工具、开发模式的不同而不同,建议取值1000

MP=每人每天可完成的可靠代码量,要据每个人而不同。

FK=数据库中的外键关联的数目。

FKx=外键复杂度系统,这是应该是经验值,建议可以采用1.01-1.02之间的数。

TM=项目时间占日常工作时间的百分比。

MN=项目组的成员数

MNx=项目组成员效率的系数,这是应该是经验值,建议可以采用0.7-0.9之间的值

具体公式如下:

总开发天数=(TC*TP)/Sum(MP*TM)*pow(FKx,FK)*(1/MN*MNx)

上面的公式中,Sum(MP*TM)表示项目数中每天完成的代码量应是每人完成的代码量之和。pow(FKx,FK)表示随着项目中的表的关联关系增多,项目中代码的复杂程序也会上升。(1/MN*MNx)表示人员之间的合作效率不是100%。不是说一个人做一个月的项目,两个人就做半个月。

上面的公式是指没有基本设计、详细设计的情况下的。如果有基本设计,详细设计,需要在整个值后同再乘上个1.3或是2,或是之间的数。

依据上面的公式,可以在做完数据库表的设计后估算出项目今后所需要的时间,而不是凭着经验空想。

以上观点,只是个人的认识,不代表它是正确的。

严家俊         

201133日 夜  于家中