首页 » 软件优化 » 软件开发规模估算——代码行估算、功能点估算、PERT加权估算(估算功能规模软件点数)

软件开发规模估算——代码行估算、功能点估算、PERT加权估算(估算功能规模软件点数)

admin 2024-12-07 04:25:47 0

扫一扫用手机浏览

文章目录 [+]

软件估算方法包括:规模估算、工作量估算、进度估算和成本估算。

本节主要介绍规模估算。
软件成本、进度等估算方法请参见下一篇文章。

规模估算

规模估算主要有代码行估算和功能点估算两种方法。

软件开发规模估算——代码行估算、功能点估算、PERT加权估算(估算功能规模软件点数) 软件优化
(图片来自网络侵删)
1 代码行数估算LOC:根据历史项目经验推测。
PERT加权平均法。

预期规模E=(a+4b+c)/6,标准差SD=(c-a)/6。
1sd的概率为68%,2sd的概率为95,3sd的概率为99。
此方法估值偏低。

2 功能点数估算FP::IFPUG

功能点方法是一种估算软件项目大小的方法,它是从用户视角出发,通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计。
功能点规模度量方法在国际上的应用已经比较广泛,并且已经取代代码行成为最主流的软件规模度量方法。
在2013年由工业和信息化部发布的行业标准《软件研发成本度量规范》中也推荐使用功能点方法进行软件规模度量,进而对软件项目工作量、工期、成本进行估算。

2.1 估算流程:需求-》WBS分解-》功能点(代码行数)-》经验系数(复杂度、技术难度、生产率等)-》工作量(人月)-》进度-》成本。

1)根据软件需求进行WBS分解,获得工作项。

2)然后划分类别。

3)计算工作任务涉及的数据项和数据文件数目,据此估算每个需求的功能点权重(功能点数)。

4)再根据调整系数(经验得出)计算最后的功能点总数。

2.2 估算参数

1)任务类别:EI,EO,EQ,ILF,EIF。

EI:外部数据输入系统,如录入、修改、插入等。

EO:系统向外部输出,如打印,现实、导出等。

EQ:系统向外部提供查询输出,如查询。

ILF:输入的业务数据。
由外部输入维护的系统相关数据,如程序配置文件,账户信息等。

EIF:引用的接口数据。
由外部系统提供的接口数据,如接口文件,外部参数等。

2)功能点数计算:功能点计算依据涉及的数据和文件,进行复杂度计算,分为数据处理和事物处理,分值根据企业经验确定,以下为示例。
界面录入:具体的录入项(包括按钮、复选框等)文件存储:存储文件的数据项的数目。

EI估计

EO和EQ估计

ILF和EIF估计

将以上所有功能点数加和,便得到原始功能点数(未调整的功能点数UFP)

在实际使用中,为了简化操作(如项目初期,不可能计算涉及的数据项和文件),采用功能复杂度代替上述数据项和文件数(也可以采用CMMI的标准,进行准确的复杂度和涉及项之间的映射转换)。

使用公式判定功能点数的excel公式:

=IF(AND(J7="EI",I7="简单"),3,IF(AND(J7="EI",I7="普通"),4,IF(AND(J7="EI",I7="复杂"),6,IF(AND(J7="EO",I7="简单"),4,IF(AND(J7="EO",I7="普通"),5,IF(AND(J7="EO",I7="复杂"),7,IF(AND(J7="EQ",I7="简单"),3,IF(AND(J7="EQ",I7="普通"),4,IF(AND(J7="EQ",I7="复杂"),6,IF(AND(J7="ILF",I7="简单"),7,IF(AND(J7="ILF",I7="普通"),10,IF(AND(J7="ILF",I7="复杂"),15,IF(AND(J7="EIF",I7="简单"),5,IF(AND(J7="EIF",I7="普通"),7,IF(AND(J7="EIF",I7="复杂"),10,0)))))))))))))))

标签:

相关文章