软件项目经理的必修技-“基于问题的软件项目成本估算”

为什么它是必修技?

             企业要生存,就必须赚钱;

             要赚钱,那么企业所承建的项目必须要有利润;

             要有利润,企业就要对将要成建的项目有明确的项目工作量及成本估算;

 如何做“ 基于问题的估算”?

                这类估算分为两类:代码行估算(LOC)和功能点估算(FP)。

               代码行估算的理论基础是软件都是代码构成的,相应代码的长度代表了软件的整体规模,也就是从技术角度评估。

               功能点估算的理论基础是软件一般都是由数据和程序构成的,相应数据和程序的复杂程度代表了软件的整体规模,也就是从用户角度评估。

两类估算有其共同点:都是估算范围;相应代码行/功能点的计算公式都符合上篇文章所讲的PERT公式。

                代码行估算(LOC):

                        1、确定明确的系统边界;

                        2、将项目划分为若干个功能;

                        3、按PERT公式计算每个功能的代码长度,所有功能代码行之和即项目的代码总长度;

                        4、根据组织的历史数据,估算组织的代码生产率(单位:代码行/每人月);

                        5、估算工作量=代码总估算长度/估算生产率

                         6、估算总成本=日薪*估算工作量

        功能点估算(FP):

                        1、 确定明确的系统边界。

                        2、将项目划分为若干个功能;

                        3、建立分类识别表:

功能点分类

                                                    人机交互类估算可以简单理解为对程序开发复杂度的估算;

                                                    数据存储类估算可以简单理解为对数据库复杂度的估算;

                          4.按分类识别表对功能进行识别:

重要概念表

                                识别规则:

                                               数据存储类的好识别,这里就不在啰嗦。

                                                EI/EO/EQ存在的基础:它们必须存在于一个EP中。

                                                          (EP必须要符合逻辑唯一性、数据唯一性、ILF/EIF唯一性的其中一个)

                                                  三者细节上的识别是依靠目的和行为:

EI/EO/EQ目的
EI/EO/EQ行为

                               5、计算数据类型功能点所提供的“未调整”的功能点数量。

                                   根据ILF和ELF定义计算相应功能点数量。

                                   ILF和EIF的复杂性:取决于RET(Record element type)和DET(Data element type)的数量。

ILF/EIF中DET、RET计算规则

                                6、 计算人机交互功能所提供的“未调整”的功能点数量。

                                       根据EI/EO/EQ的识别规则计算相应的功能点数量。

                                        EI/EO/EQ复杂性取决于FTR和DET的数量。

EI/EO/EQ中FTR、DET计算规则表
DET计算举例 

            5.确定调整因子。

                        因为一个系统除过功能上的要求,还有一些其他特性的要求(比如:处理性能、架构上的),我们把这些因素归为十四类,如下表所示:

调整因子表(影响程度按中要求从0-5依次递增)

                6、计算调整后的功能点数量。

                          

                7、根据组织的历史数据,估算组织的功能点生产率(单位:功能点/每人月)

                8、估算工作量=总FP功能点/估算生产率

                9、估算总成本=日薪*估算工作量

你可能感兴趣的:(软件项目经理的必修技-“基于问题的软件项目成本估算”)