当前位置:文档之家› 七种场景下的软件工作量估算步骤

七种场景下的软件工作量估算步骤

七种场景下的软件工作量估算步骤
七种场景下的软件工作量估算步骤

七种场景下的软件工作量估算步骤

场景一:合同前的工作量估算

场景描述:

(1)没有实施过CMMI2级

(2)合同未签,需要给客户报价

(3)有客户的概要需求,有类似的项目数据可供参考

(4)需要估计整个项目的总工作量,以便于估算总成本,给客户报价

估算步骤:

(1)寻找类似的历史项目,进行项目的类比分析,根据历史项目的工作量凭经验估计本项目的总工作量;

(2)进行WBS分解,力所能及地将整个项目的任务进行分解;

(3)参考类似项目的数据,采用经验法估计WBS中每类活动的工作量;

(4)汇总得到项目的总工作量;

(5)与第(1)步的结果进行印证分析,根据分析结果,确定估计结果。

场景二:基于详细需求的经验估计

场景描述:

(1)只有详细需求,没有历史数据

估算步骤:

(1)WBS分解,将任务分解到一个人或者一个小团队可以执行的颗粒度;WBS分解时要识别出所有的交付物、项目管理活动、工程活动等。

(2)采用经验法估计每个活动的工作量;

(3)汇总得到:每个阶段的工作量、项目的总工作量。

其他说明:

在该场景下,只使用了经验法,无法对结果进行印证,难以判断结果的合理性。

场景三:由编码估算整体

场景描述:

(1)有类似项目的历史数据

(2)有编码活动的生产率数据

(3)有详细需求

(4)实施了CMMI2级,但是没有积累历史项目的工作量分布数据

估算步骤:

(1)产品分解,将系统分为子系统,子系统分解为模块;

(2)WBS分解,将任务分解到一个人或者一个小团队可以执行的颗粒度;WBS分解时要识别出所有的交付物、项目管理活动、工程活动等。

(3)建立WBS分解中的活动与产品元素的映射关系,识别出WBS中哪些活动可以采用模型法估算;

(4)估计产品元素的规模,可以采用代码行法或功能点法,并估计每个产品元素的复杂度、复用率等;

(5)根据历史的编码阶段的生产率数据和产品元素的规模估计、复杂度、复用率等采用模型法计算每个产品元素的编码工作量;

(6)根据历史的类似项目的数据及估算人的经验估计其他活动的工作量,可以采用经验法。

(7)汇总得到:每个阶段的工作量、项目的总工作量。

其他说明:在该场景下,混合使用了经验法与模型法,这2种方法互相补充,而不是互相印证。

场景四:由总体印证基于WBS的估计

场景描述:

(1)有类似项目的历史数据

(2) 有类似项目的全生命周期的生产率数据(含管理工作量)

(3)有详细需求

(4)实施了CMMI2级,但是没有积累历史项目的工作量分布数据

估算步骤:

(1)产品分解,将系统分为子系统,子系统分解为模块;

(2)估计产品元素的规模,可以采用代码行法或功能点法;

(3)累计出整个产品的总规模,并估计产品总体的复杂度、复用率等;

(4)根据类似项目的全生命周期的生产率数据和产品的总规模、复杂度、复用率等采用模型法计算总的开发工作量;

(5)WBS分解,将任务分解到一个人或者一个小团队可以执行的颗粒度;WBS 分解时要识别出所有的交付物、项目管理活动、工程活动等。

(6)根据历史的类似项目的数据及估算人的经验估计所有活动的工作量,

可以采用经验法。

(7)汇总得到:每个阶段的工作量、项目的总工作量。

(8)第(4)步得出的工作量进行比较印证,如果偏差不大,则以第(7步)的结果为准,如果偏差比较大,要仔细分析原因,可能的原因举例如下:

)与第(

类似项目的生产率数据不适合本项目;

WBS分解的颗粒度不够详细;

估算专家的经验不适合本项目;

具体任务的估计不合理;

针对原因,对估算的结果进行调整,使其趋向合理。

其他说明:

在该场景下,对于项目的总工作量有2个结果或者多个结果,这些结果可以互相印证,以发现估算过程中的不合理之处,是估计更加合理。

场景五:三维印证基于WBS的估计

场景描述:

(1)有类似项目的历史数据

(2) 有类似项目的全生命周期的生产率数据(含管理工作量)

(3)有详细需求

(4)实施了CMMI3级,有历史项目的工作量分布数据(阶段分布、工种分布)

估算步骤:

(1)产品分解,将系统分为子系统,子系统分解为模块;

(2)估计产品元素的规模,可以采用代码行法或功能点法;

(3)累计出整个产品的总规模,并估计产品总体的复杂度、复用率等;

(4)根据类似项目的全生命周期的生产率数据和产品的总规模、复杂度、复用率等采用模型法计算总的开发工作量;

(5)根据历史项目的工作量分布数据及第(4)步估算的项目总工作量,计算:每个阶段的工作量? 每个工种的工作量?

(6)WBS分解,将任务分解到一个人或者一个小团队可以执行的颗粒度;WBS

分解时要识别出所有的交付物、项目管理活动、工程活动等。

(7)根据历史的类似项目的数据及估算人的经验估计所有活动的工作量,

可以采用经验法。

(8)汇总得到:每个阶段的工作量、每个工种的工作量、项目的总工作量。

(9)与第(

4)、(5)步得出的工作量进行比较印证,如果偏差不大,则以第(7)步的结果为准,如果偏差比较大,要仔细分析原因,可能的原因举例如下:

类似项目的生产率数据不适合本项目;

WBS分解的颗粒度不够详细;

估算专家的经验不适合本项目;

具体任务的估计不合理;

针对原因,对估算的结果进行调整,使其趋向合理。

其他说明:在该场景下,对于项目的总工作量有2个结果或者多个结果,并且采用2 种方法都得到了每个阶段、每个工种的工作量、项目的总工作量,可以从上述的3个维度对这些结果进行互相印证,以发现估算过程中的不合理之处,是估计更加合理。

场景六:四维印证基于WBS的估计

场景描述:

(1)有类似项目的历史数据

(2) 有类似项目的编码活动的生产率数据(不含管理工作量)

(3)有详细需求

(4)实施了CMMI3级,有历史项目的工作量分布数据(阶段分布、工种分布、阶段工种分布)

(5)项目采用了瀑布模型

估算步骤:

(1)产品分解,将系统分为子系统,子系统分解为模块;

(2)估计产品元素的规模,可以采用代码行法或功能点法,并估计每个产品元素的复杂度、复用率等;

(3)根据类似项目的编码活动的生产率数据和产品元素的规模、复杂度、复用率等采用模型法计算每个产品元素的编码工作量;

(4)根据历史项目的按工种的工作量分布数据及第(3)步的估算的编码工作量依次计算:

i)根据历史项目的编码的工作量占编码阶段的工作量的百分比与第(3)部计算出的编码工作量计算编码阶段的总工作量;

ii)根据历史项目的编码阶段各工种的工作量分布百分比计算编码阶段每个工种的工作量;

iii)根据历史项目的其他阶段的工作量与编码阶段的工作量比例计算其他阶段的总工作量;

iv)根据历史项目的其他阶段的每个工种的工作量分布百分比及第

iii)步的结果计算其他阶段的每个工种的工作量;

(5)WBS分解,将任务分解到一个人或者一个小团队可以执行的颗粒度;WBS

分解时要识别出所有的交付物、项目管理活动、工程活动等。

(6)根据历史的类似项目的数据及估算人的经验估计所有活动的工作量,可以采用经验法。

(7)汇总得到:每个阶段每个工种的工作量、每个阶段的工作量、每个工种的工作量、项目的总工作量。

(8)与第(

4

)步得出的工作量进行比较印证,如果偏差不大,则以第(6)步的结果为准,如果偏差比较大,要仔细分析原因,可能的原因举例如下:

类似项目的生产率数据不适合本项目;

WBS分解的颗粒度不够详细;

估算专家的经验不适合本项目;

具体任务的估计不合理;

针对原因,对估算的结果进行调整,使其趋向合理。

其他说明:在该场景下,对于项目的总工作量有2个结果或者多个结果,并且采用2 种方法都得到了每个阶段的工作量、每个工种的工作量、每个阶段每个工种的工作量、项目的总工作量,可以从上述的4个维度对这些结果进行互相印证,以发现估算过程中的不合理之处,是估计更加合理。

场景七:需求变更的工作量估计

场景描述:

(1)有变更的需求描述

(2)项目进行到了编码阶段

(3)有本项目的编码的生产率

估算步骤:

(1)进行需求变更的波及范围分析

(2)进行本次变更的的WBS分解

(3)对于变更引起的代码变化进行规模、复杂度等其他属性的估计(4)根据本项目的编码的生产率及估计的规模采用模型法估计工作量(5)对于WBS分解中其他活动进行经验估计

(6)汇总所有的工作量得到本次变更的工作量估计

2020软件开发项目预算表格.docx

研发项目工作量估算项目名称项目编号项目组长 ( 经理)预计开始时间预计结束时间估算人估算日期 里程碑工作描述 工作量估算(人 . 天) 小计最小工作量最可能工作量最大工作量估算结果 软件开 0发计划 项目管理配置管理计划00软件测试计划0 质量保证计划0 需求调查0 需求分析需求分析00编制需求分析文档0 体系结构设计0 系统设计数据模型设计0 0系统原型设计0 模块详细设计0 模块名 功能点10 功能点200称 功能点30 项目开发 功能点10模块名 功能点200称 功能点30准备测试用例0 系统集成测试0 系统测试测试结果修改00用户验收测试0 试运行 / 联测试报告0 试 0一年维护 培训 人力成本0 工作量总计(人. 0#NAME? 天)(元) 交通费用 其它投入估算评审 / 会务费 (元)差旅费用 其它费用 成本预估(元)#NAME? 批准:复核:拟制: 以下由立项 评审组组长 填写: 评审结果 备注: 1、工作量 的预估采用 专家意见法 预估,专家 数量不得少 核定工作量(人. 月) 人力成本(元) 其它投入合计(元) 成本合计(元) 评审组长签字 /日期

2、人力成 本估算以公 司上年度平 均薪酬W (含社会保 险、各种补 贴)作为基 3、估算结 果的计算公 式:(最小 工作量 +4× 最可能工作 量+最大工4、 核定工作量 是指项目全 过程的 工作量; 5、本表格 是项目立项 评审的组成 部分,存档 预算表(总表) 项目名 称:项目编号: 起始时 间:完工时间: 回款计 回款项目金额(元)时间回款条件划: 项目概述 合计390,000.00—— 首款117,000.002008.6.15 二期款117,000.002008.12.31一期稳定运行 117,000.002009.12.31全部运行稳定 三期款并验收 尾款39,000.002010.12.31质保一年支出项 数量单价(元)金额(元)备注目 合计——83,909.28 1.已 发生 费用——0.00 2. 人力 成本57,139.28 1、项 目经理154227.8335,085.82 2、其 他角色 等28677.1122,053.46 3、其 他角色 等0.00 3. 设备 成本0.00 1、TCL 笔记本 等0.00 2、移 动硬盘 等0.00

软件开发工作量估算和报价

1.软件开发价格估算方法 软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式:软件开发价格=开发工作量×开发费用/人·月 开发工作量 软件开发工作量与估算工作量经验值、风险系数和复用系数等项有关: 软件开发工作量=估算工作量经验值×风险系数×复用系数 软什开发工作量的计算,曾有人提出以源代码行或功能点来计算,这些方法实施起来均有不少难度。目前国际上仍旧按以往经验的方式加以计算,国内各软件企业也是采用经验的方式加以估算工作量。 为了更好地规范估算方法,建议可按照国家标准“GB/T 8566-2001软件生存周期过程”所规定的软件开发过程的各项活动来计算工作量。 工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人·月”。 特别要提醒的是软件开发过程中既包括了通常所讲的软件开发,也应包括各类软件测试的活动。 估算工作量经验值亦会存在较大风险,造成软件危机的因素很多,这也是一个方面的因素。特别当软件企业对该信息工程项目的业务领域不熟悉或不太熟悉,而且用户又无法或不能完整明白地表达他们的真实的需求,从而造成软件企业需要不断地完善需求获取,修改设计等各项工作。因此: l ≤风险系数≤ 根据我们对软件企业的了解,超过估算工作量经验值的一半,已是不可接受,所以我们确定“”为极限值。当然这既要看企业的能力,也要看用户能接受的程度。 估算工作量经验值是软件企业承担一般项目来估算的,但如果软件企业已经采用“基于构件的开发方法”,并己建立起能够复用的构件库(核心资产库),或者已有一些软件产品,仅作二次开发,从而使软件开发工作量减少。因此: ≤复用系数≤1 根据国内外软件企业在实施基于构件开发方法(软件产品线)的经验数据,提高工作效率达到25%(最高值)。 开发费用/人·月 软件企业的商务成本、国家税收、企业利润、管理成本和质量成本。均可摊分到各个软件开发人员头上。开发费用/人·月=(P+Q+R)×S×τ (人头费)P 人头费主要是员工的工资、奖金和国家规定的各项按人计算的费用。其总量在软件企业中的商务成本占70%-80%。 P =B × 国家规定的公积金7%,医疗保险金12%,养老金22%,失业金2%(即通常所说的四金),另外还有按工资总额计征的工伤保证金%,生育保证金%,残疾基金%,工会基金2%,累计为%。 B为平均工资,即企业支付给员工的工资、奖金、物质奖励等多项总和,除以企业员工数,分摊到每个月。Q(办公费) 办公费包括企业办公房屋租赁费和物业管理费、通信费、办公消耗品、水电空调费、设备折旧、差旅费,另外也包括企业对员工的在职培训所支付的费用,其总量在软件企业中的商务成本占20%-30%。 Q =B/3 此处办公费用按商务成本的25%计算。

软件开发报价的计算方法完整版

软件开发报价的计算方 法 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

软件开发报价的计算方法 1.软件开发价格估算方法 软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式: 软件开发价格=开发工作量×开发费用/人·月 开发工作量 软件开发工作量与估算工作量经验值、风险系数和复用系数等项有关: 软件开发工作量=估算工作量经验值×风险系数×复用系数 估算工作量经验值(以A来表示) 软什开发工作量的计算,曾有人提出以源代码行或功能点来计算,这些方法实施起来均有不少难度。目前国际上仍旧按以往经验的方式加以计算,国内各软件企业也是采用经验的方式加以估算工作量。 为了更好地规范估算方法,建议可按照国家标准“GB/T 8566-2001软件生存周期过程”所规定的软件开发过程的各项活动来计算工作量。 工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人·月”。 特别要提醒的是软件开发过程中既包括了通常所讲的软件开发,也应包括各类软件测试的活动。 风险系数(以σ来表示) 估算工作量经验值亦会存在较大风险,造成软件危机的因素很多,这也是一个方面的因素。特别当软件企业对该信息工程项目的业务领域不熟悉或不太熟悉,而且用户又无法或不能完整明白地表达他们的真实的需求,从而造成软件企业需要不断地完善需求获取,修改设计等各项工作。因此: l ≤风险系数≤ 根据我们对软件企业的了解,超过估算工作量经验值的一半,已是不可接受,所以我们确定“”为极限值。当然这既要看企业的能力,也要看用户能接受的程度。

软件开发成本估算.doc

软件开发成本估算 软件开发成本估算主要指软件开发过程中所花费的工作量及相应的代价。不同与传统的工业产品,软件的成本不包括原材料和能源的消耗,主要是人的劳动的消耗。另外,软件也没有一个明显的制造过程,它的开发成本是以一次性开发过程所花费的代价来计算的。因此,软件开发成本的估算,应是从软件计划、需求分析、设计、编码、单元测试、集成测试到认证测试,整个开发过程所花费的代价作为依据的。 软件开发成本估算的经验模型 1.Putnam 模型 1978年Putnam提出的,一种动态多变量模型。 L = Ck * K1/3 * td4/3 其中: L-----------源代码行数(以LOC计) K-----------整个开发过程所花费的工作量(以人年计) td-----------开发持续时间(以年计) Ck----------技术状态常数,它反映“妨碍开发进展的限制”,取值因开发环

境而异,见下表 从上述方程加以变换,可以得到估算工作量的公式: K = L3/(Ck3*td4) 还可以估算开发时间: td = [L3/(Ck3*K)]1/4 2.COCOMO模型(constructive cost model) 这是由TRW公司开发,Boehm提出的结构化成本估算模型。是一种精确的、易于使用的成本估算方法。 COCOMO模型中用到以下变量: DSI-------源指令条数。不包括注释。1KDSI = 1000DSI。 MM-------开发工作量(以人月计) 1MM = 19 人日 = 152 人时 =1/12 人年 TDEV-----开发进度。(以月计)

COCOMO模型中,考虑开发环境,软件开发项目的类型可以分为3种: 1.组织型(organic): 相对较小、较简单的软件项目。开发人员对开发目标理解比 较充分,与软件系统相关的工作经验丰富,对软件的使用环境很熟悉,受硬件的约束较小,程序的规模不是很大(<50000行) 2.嵌入型(embedded): 要求在紧密联系的硬件、软件和操作的限制条件下运行, 通常与某种复杂的硬件设备紧密结合在一起。对接口,数据结构,算法的要求高。软件规模任意。如大而复杂的事务处理系统,大型/超大型操作系统,航天用控制系统,大型指挥系统等。 3.半独立型(semidetached):介于上述两种软件之间。规模和复杂度都属于中 等或更高。最大可达30万行。 估算公式: 基本COCOMO模型估算工作量和进度的公式如下 工作量:MM = r*(KDSI)c 进度:TDKV = a(MM)b 其中经验常数 r, c, a, b 取决于项目的总体类型。 COCOMO模型按其详细程度可以分为三级:基本COCOMO模型,中间COCOMO模型,详

软件开发工作量估算和报价

1.软件开发价格估算方法软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式:软件开发价格=开发工作量×开发费用/人·月 开发工作量 软件开发工作量与估算工作量经验值、风险系数和复用系数等项有关: 软件开发工作量=估算工作量经验值×风险系数×复用系数 软什开发工作量的计算,曾有人提出以源代码行或功能点来计算,这些方法实施起来均有不少难度。目前国际上仍旧按以往经验的方式加以计算,国内各软件企业也是采用经验的方式加以估算工作量。 为了更好地规范估算方法,建议可按照国家标准“GB/T 8566-2001软件生存周期过程”所规定的软件开发过程的各项活动来计算工作量。 工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人·月”。 特别要提醒的是软件开发过程中既包括了通常所讲的软件开发,也应包括各类软件测试的活动。

估算工作量经验值亦会存在较大风险,造成软件危机的因素很多,这也是一个方面的因素。特别当软件企业对该信息工程项目的业务领域不熟悉或不太熟悉,而且用户又无法或不能完整明白地表达他们的真实的需求,从而造成软件企业需要不断地完善需求获取,修改设计等各项工作。因此: l ≤风险系数≤ 根据我们对软件企业的了解,超过估算工作量经验值的一半,已是不可接受,所以我们确定“”为极限值。当然这既要看企业的能力,也要看用户能接受的程度。 估算工作量经验值是软件企业承担一般项目来估算的,但如果软件企业已经采用“基于构件的开发方法”,并己建立起能够复用的构件库(核心资产库),或者已有一些软件产品,仅作二次开发,从而使软件开发工作量减少。因此: ≤复用系数≤1 根据国内外软件企业在实施基于构件开发方法(软件产品线)的经验数据,提高工作效率达到25%(最高值)。 开发费用/人·月 软件企业的商务成本、国家税收、企业利润、管理成本和质量成本。均可摊分到各个软件开发人员头上。 开发费用/人·月=(P+Q+R)×S×τ P(人头费)

软件开发实施项目工作量评估明细表

项目工作量统计表 项目名称:推进OA系统应用,强化业务整合 一、推进OA流程应用工作量 序号阶段工作内容人员 配备 人·日 1 项目准备现有系统配置情况检查 系统相关模块的基本数据情况检查 制定实施阶段计划,约定每个阶段的时长,准 确划分各阶段时间节点 预定培训实施期间培训日期安排 3 9 2 系统配置建立相关组织结构 建立相关角色 调整全局配置项 建立权限分配方案 2 12 3 流程调研落实需要上线的流程列表,这些流程主要包 括:党委发文流程、纪委发文流程、公司发文 流程、部门发文流程(报告、函、请示、通知)、 公司收文流程,以及:用印申请流程、出差申 请流程、会议管理流程等 培训流程图的标准画法 收集流程图,交流流程信息、修改流程图、流 程图定稿 4 36 4 设定流程建立流程,谁提交,谁批准,谁执行 建立流程表单,及相应说明 建立流程处理签 建立存档管理,配置相关归档目录 建立权限管理 5 85 5 模拟调试对所有流程进行模拟测试,特别是各个重要公 文流程,必须进行遍历测试 根据模拟测试发现的情况,对流程设置进行检 讨和调整 4 72 6 管理员培训对流程管理员进行培训,使其掌握流程异常情 况处理、流程微调技巧 2 8 7 用户培训根据项目实际整理培训资料 落实培训人员、场地、时间安排 三场用户培训,需用户积极配合协调 2 8 8 系统启用建立起与系统运行相适应的管理规章制度 发布正式启用系统的通知 系统检查与实施补充 问题收集、反馈、调整 2 12 9 项目收尾项目回顾 权限收回 2 2 合计244

二、新功能开发工作量 序号阶段工作内容人员 配备 人·日 1 需求调研、分析了解用户业务,获取用户对功能、性能等方面 的需求 4 20 2 需求确认用户方、开发方对需求进行审核确认 这些功能包括:安全认证、电子印章、规章制 度管理、业务整合 2 10 3 总体设计系统初步设计 2 10 4 总体设计评审用户方、开发方对总体设计审核确认 2 2 5 详细设计对系统功能、操作界面、处理逻辑、数据库、 代码体系等进行详细设计 2 20 6 详细设计评审开发组对详细设计方案审核确认 1 3 7 编程、单元测试编写程序、单元测试 系统管理(设置,备份还原) 操作人员管理及权限管理 2 24 安全认证 2 70 电子印章 2 64 规章制度管理 3 81 业务整合(初步) 2 20 业务整合(深入) 4 120 8 集成测试系统集成测试、系统测试,编程与测试可以交 叉进行 4 24 9 安装调试到用户现场安装调试开发好的系统,并与用户 一起试走业务流程,对系统进行功能确认测试 3 21 10 系统初始化将系统初始化;准备业务基础数据并录入系 统; 2 12 11 用户培训对用户操作人员、系统管理人员进行详细培训 1 4 12 项目跟踪与总 结 系统bug控制,操作指导 2 12 合计517 工作量总计:761人·日

软件工作量评估报告

XXXX软件成本评估 1. 概述 我们认真地阅读了软件的用户指南,与XXXX电脑部有关技术人员进行了深入的交流,并查看了软件的操作界面。在此基础上,我们对软件的功能进行了归纳和整理,并根据以往的经验对每个功能模块所需的编码工作量进行估算,再进一步地以此为依据,推算出整个软件生命期的工作量。 2. 编码工作量估算 本次评估的软件有两个,分别是《X软赠券电脑发放管理系统》和《X软联销资源管理系统》。为了更准确的估算出软件的工作量,我们对每一个软件功能模块所需工作量给出了三个估计值,分别是:1)悲观工作量(Epi):这是一个最保守的估计,可能在编程人员技术不熟练,对业务理解不够,或有其他影响其正常工作的因素存在的情况上发生。 2)正常工作量(Eni):这是一个正常的程序员可能付出的工作量估计。 3)乐观工作量(Esi):这种情况可能在程序员技术相当熟练,对业务相当了解,且以前可能有类似项目开发经验的情况下所需的工作量。

针对每一项功能模块,其最终的工作量估算值按以下公式计算:Ei = (Epi + 4 × Eni + Esi)/ 6 下面的表1是对X软赠券电脑发放管理系统的编码阶段的工作量估算,表2是对X软联销资源管理系统的编码阶段的工作量估算。 表1:X软赠券电脑发放管理系统的编码阶段工作量清单 表2:X软联销资源管理系统的编码阶段工作量清单

上述两个软件的编码阶段的工作量合计为: Ec = Ec1 + Ec2 = 151.67 + 1631.67 = 1783.34(人.小时) 3. 软件生命期工作量估算 为便于估算,我们假定《X软赠券电脑发放管理系统》和《X软联销资源管理系统》均按照瀑布模型开发。 瀑布模型将整个软件生命期划分为计划与需求、产品设计、详细设计、编码与单元测试、集成与测试、移交等六个阶段,各阶段所占工作量如表3所示。 表3:瀑布模型阶段分布百分比 根据上表,编码与单元测试阶段仅占全部工作量的24%,因此《X

软件项目工作量评估方法

工作量评估 1概述 我们认真地阅读了软件的相关需求文档和设计文档后,对软件的功能进行了归纳和整理,并根据以往的经验对每个功能模块所需的编码工作量进行估算,再进一步地以此为依据,推算出整个软件生命期的工作量。工作量推算后组织主要项目干系人和相关专家进行工作量评审。 2常见的估算方法 2.1Ad-hoc方法 这种方法下的测试工作量不基于任何确定的期限。工作一直继续直到达到一些由管理或市场人员预先定下的时间表。或者,一直到用完了预算的经费。这种情况普遍存在于非常不成熟的组织,并且时常有100%的错误差数。 2.2开发时间的百分比法Percentage of development time。 这个方法的基本前提是测试工作量依赖于开发时间/开发工作量。首先,开发工作量使用例如LOC或FP方法被估算出来,然后使用一些探索性的方法来限制测试的工作量。这种方法变化比较大而且通常基于以前的经验。 通常预留项目的总花费时间的35%给测试, 5-7%给组件和集成测试,18-20%给系统测试, 10%给接收测试(或回归测试等) 2.4类比法(经验值法或历史数据法) 根据以前或相似项目(主要在项目性质,领域,规模上有相似)所积累的经验或历史数据来估算工作量。类比法估计结果的精确度取决于历史项目数据的完整性和准确度,因此,用好类比法的前提条件之一是组织建立起较好的项目后评价与分析机制,对历史项目的数据分析是可信赖的。需要收集以下相关的历史数据:在设计和实现阶段花费的时间,测试工作的规模,例如用户需求的数量,页面数,

功能点,数据样式,例如实体,字段的数量, 屏幕或字段数量,测试对象的规模,例如KLOC 2.5 WBS(work breakdown structure)估算法 将项目或产品分解为具体的工作,然后分别对各个工作进行时间估算,最终求和得出项目或产品的测试工作量/时间。 2.6 Delphi法 Delphi法是最流行的专家评估技术,在没有历史数据的情况下,这种方式可以减轻估算的偏差。Delphi法鼓励参加者就问题相互讨论。这个技术,要求有多种相关经验人的参与,互相说服对方。 Delphi法的步骤是:1、协调人向各专家提供项目规格和估计表格;2、协调人召集小组会各专家讨论与规模相关的因素;3、各专家匿名填写迭代表格;4、协调人整理出一个估计总结,以迭代表的形式返回专家;5、协调人召集小组会,讨论较大的估计差异;6、专家复查估计总结并在迭代表上提交另一个匿名估计;7、重复4-6,直到达到一个最低和最高估计的一致。 2.7 PERT估计法 PERT对各个项目活动的完成时间按三种不同情况估计:一个产品的期望规模,一个最低可能估计,一个最高可能估计。用这三个估计用来得到一个产品期望规模和标准偏差的Pert 统计估计。Pert 估计可得到代码行的期望值E,和标准偏差SD 3.估算前准备 针对以上方法,我司综合了以上多种评估方法,总结出了适合我司的评估方法:

关于软件工作量及投资评估方法研究

论文摘要:随着信息产业的飞速发展,软件工作量及成本投资评估一直是企业的难点,为了解决这个问题,文章对软件工作量及成本评估方法、流程进行了探讨。论文关键词:软件工作量;软件工程经济;软件项目管理;成本评估方法随着信息技术的快速发展和应用领域的扩大深入,软件工作量及成本投资评估方法的研究正在成为当前及未来项目管理研究的热点之一。目前多数软件企业遇到项目投资前项目工作量不明确,投资评估是长期存在的难点,工作量统计一直采用收集各厂家工作量数据为主,对比各厂家工作量数据,最后根据企业需要决定开发厂家,工作量及成本投资估算缺乏科学性,较少采用RO1(投资回报)的分析,通过本文研究工作量及成本投资评估方法的研究,为企业提供工作量及成本投资提供科学的、相对准确的方法,为企业商业投资提供参考,它为解决软件危机所表现出的各种问题提供了思路和方案。一、软件工作量及成本评估方法简介目前,国际上已有许多软件规模估计方法,如功能点(FunctionPoint)、特征点(FeaturePoint)、对象点(ObjectPoint)、德尔菲(Delphi)、模糊逻辑(FuzzyLogic)、标准构件法(StandardComponent)等,这些方法随着各国研究者的不断研究细化又有许多具体的方法,如国际功能点用户协会(IFPUGTheIntemationalFunctionPointUsersGroup)提出的IFPUG方法、英国软件度量协会(UKSMAUnitedKing—domSoftwraeMetricsAssociation)提出的MkIIFPA方法、荷兰功能点用户协会fNEFPUGNethedandsFunctionPointUsersGroup)提出的NESMA方法以及软件度量共同协会(COSMICtheCOmmonSoftwareMetricsConsortium)提出的COSMIC—FFP方法,这些方法都属于Albrecht功能点(FuncitonPoint)方法的发展和细化。目前大部分软件估计方法有工具支持。国际上目前已经有一些组织吸收和积累世界各地软件企业的软件估计和度量数据,建立了被广泛使用的历史数据库,如在功能规模度量领域,有一个ISBSG(国际软件基准组织InternationalSofwtareBenehmrakingStandardsGroup)数据库。另外,CO—COMOIIEsfimMingModel也有丰富的估计和度量数据提供。COCOMII:Boehm在其经典著作“软件工程经济学”(softwareengineeringconomics)中,介绍了一种软件估算模型的层次体系,称为COCOMO(构造性成本模型,COn—structiveCOstMOde1),它代表了软件估算的一个综合经验模型。COCOMOII是软件成本估算模型,是软件决策中成本和进度关系模型,涉及软件开发工作量、预算、进度、软件质量。功能点估算法是一种在需求分析阶段基于系统功能的一种规模估计方法。通过研究初始应用需求来确定各种输入、输出、计算和数据库需求的数量和特性。这种方法的计算公式是:功能点=信息处理规模×技术复杂度。信息处理规模包括各种输入、输出、查询、内部逻辑文件数、外部接口文件数等等;技术复杂度包括性能复杂度、配置项目复杂度、数据通信复杂度、分布式处理复杂度、在线更新复杂度等等。[!--empirenews.page--] 运算法:是一种简单直观的估计方法,它根据规模估计的结果和相应的系数运算得到工作量估计。专家法(Wideband—Delphi):Delphi法是一种专家评估技术,在没有历史数据的情况下,这种方式适用于评定过去与将来,新技术与特定程序之间的差别。对于需要预测和深度分析的领域,依赖于专家的技术指导,可以获得较为客观的估算。通过专家们的互相讨论,还可以博取众长。[1][2][3]下一页当使用COCOMOII和功能点估算时,虽然两者是估算方法中比较科学的方法但也存在一些主观判断,一般存在很大主观判断时采用此方法。类比法:类比法适合评估一些与历史项目在应用领域、环境和复杂度的相似的项目,通过新项目与历史项目的比较得到估计数据。三点法:这种方法共估计三个值,软件产品预期规模的一般值、最大值和最小值。通过这三个值的计算可得到一个统计学上的期望值和一个标准偏差。工作量及成本估算不仅只是在项目初期展开,而是在项目的各个阶段都进行工作量及成本的估算,随着项目的开展,工作量估算更加准确。二、软件工作量及成本评估流程提交准确估算的能力取决于需求被明确定义的程度。但是缺少明确定义的需求却不是不进行估算的借口。准确的估算需要以下关键元素:(1)对需求的基本理解;(2)准确计算产品规模的能力;(3)对产品复杂度的评

软件开发报价的计算方法完整版

软件开发报价的计算方法(完整版) 1.软件开发价格估算方法 软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式: 软件开发价格=开发工作量×开发费用/人·月 1.1开发工作量 软件开发工作量与估算工作量经验值、风险系数和复用系数等项有关: 软件开发工作量=估算工作量经验值×风险系数×复用系数 1.1.1估算工作量经验值(以A来表示) 软什开发工作量的计算,曾有人提出以源代码行或功能点来计算,这些方法实施起来均有不少难度。目前国际上仍旧按以往经验的方式加以计算,国内各软件企业也是采用经验的方式加以估算工作量。 为了更好地规范估算方法,建议可按照国家标准“GB/T 8566-2001软件生存周期过程”所规定的软件开发过程的各项活动来计算工作量。 工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人·月”。 特别要提醒的是软件开发过程中既包括了通常所讲的软件开发,也应包括各类软件测试的活动。 1.1.2风险系数(以σ来表示) 估算工作量经验值亦会存在较大风险,造成软件危机的因素很多,这也是一个方面的因素。特别当软件企业对该信息工程项目的业务领域不熟悉或不太熟悉,而且用户又无法或不能完整明白地表达他们的真实的需求,从而造成软件企业需要不断地完善需求获取,修改设计等各项工作。因此: l ≤风险系数≤ 1.5 根据我们对软件企业的了解,超过估算工作量经验值的一半,已是不可接受,所以我们确定“1.5”为极限值。当然这既要看企业的能力,也要看用户能接受的程度。 复用系数(以τ来表示)1.1.3. 估算工作量经验值是软件企业承担一般项目来估算的,但如果软件企业已经采用“基于构件的开发方法”,并己建立起能够复用的构件库(核心资产库),或者已有一些软件产品,仅作二次开发,从而使软件开发工作量减少。因此: 0.25 ≤复用系数≤ 1 根据国内外软件企业在实施基于构件开发方法(软件产品线)的经验数据,提高工作效率达到25%(最高值)。 1.2开发费用/人·月 软件企业的商务成本、国家税收、企业利润、管理成本和质量成本。均可摊分到各个软件开发人员头上。

软件估算方法

软件规模估算方法 软件成本及工作量估算永远不会是一门精确的科学。太多的变化——人员、技术、环境、策略——影响了软件的最终成本及开发所需的工作量。不过,软件项目估算可以从神秘的技巧向一系列系统化的步骤的转变的过程中,估算出可接受的风险。现在世界上比较流行的软件估算方法有:“模糊逻辑”法,功能点法,标准构件法,修改法,基于代码行(LOC)的估算方法,基于功能点(FP)的估算方法,基于过程的估算方法,基于COCOMO模型的估算方法,基于软件方程式的估算方法。 今天,一个软件成本估算模型如果能够达到以下结果就相当不错了:估算的软件开发成本与实际的成本相差不到20%,时间估算相差不到70%,而且是在它自己的地盘上(即,是它适用的项目类型)……这可能不象我们所期望的那么精确,但已经足以在软件工程经济分析及决策中提供很大的帮助了。 为了可靠地估算成本及工作量,结合雁联公司项目历史数据比较缺少的特点。我们建议采用基于功能点(FP)的估算方法来估算工作量。 以下是基于功能点(FP)估算方法的估算流程及估算例子。 基于FP估算的分解是集中于信息域值,而不是软件功能。根据功能点计算方法原理,项目经理要从软件的输入、输出、报表、接口、内部处理及其他六方面进行估算。为了达到这个估算目的,我们假设复杂度加权因子都是平均的。项目经理根据自己的经验,按要求填写好基于功能点(FP)估算方法的工作量估算表。

表格说明: 1、功能点分解说明

注:权重的基准值为1人天 2、各生命周期工作量比例 3、表格中估算计数为估算变量(规模)的期望值即EV(expected value),可 以通过乐观值(S opt)、可能值(S m)、及悲观值(S pess)估算的加权平均值 来计算:EV=(S opt+4S m+S pess)/6(公式)其中给予“可能值”估算以最 大的权重,并遵循β概率分布。 4、表格中加权因子由估算人员根据其经验对软件的输入、输出、查询、文 件、及外部接口五方面功能点复杂度和所花时间的加权。建议加权因子 取值范围为整数(0-10) 5、其中公式E(工作量)= FP estimated/a 中系数a为生产率。 6、D为项目开发周期。

工作量的评估方法

工作量的评估方法 标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DDQTY-KII

工作量的评估方法 1.软件开发价格估算方法 软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式: 软件开发价格=开发工作量×开发费用/人·月 开发工作量 软件开发工作量与估算工作量经验值、风险系数和复用系数等项有关: 软件开发工作量=估算工作量经验值×风险系数×复用系数 估算工作量经验值(以A来表示) 软什开发工作量的计算,曾有人提出以源代码行或功能点来计算,这些方法实施起来均有不少难度。目前国际上仍旧按以往经验的方式加以计算,国内各软件企业也是采用经验的方式加以估算工作量。 为了更好地规范估算方法,建议可按照国家标准“GB/T8566-2001软件生存周期过程”所规定的软件开发过程的各项活动来计算工作量。 工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人·月”。 特别要提醒的是软件开发过程中既包括了通常所讲的软件开发,也应包括各类软件测试的活动。 风险系数(以σ来表示) 估算工作量经验值亦会存在较大风险,造成软件危机的因素很多,这也是一个方面的因素。特别当软件企业对该信息工程项目的业务领域不熟悉或不太熟悉,而且用户又无法或不能完整明白地表达他们的真实的需求,从而造成软件企业需要不断地完善需求获取,修改设计等各项工作。因此: l≤风险系数≤ 根据我们对软件企业的了解,超过估算工作量经验值的一半,已是不可接受,所以我们确定“”为极限值。当然这既要看企业的能力,也要看用户能接受的程度。

软件开发工作量估算和报价

软件开发工作量估算和 报价 文件编码(GHTU-UITID-GGBKT-POIU-WUUI-8968)

1.软件开发价格估算方法 软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式: 软件开发价格=开发工作量×开发费用/人·月 1.1开发工作量 软件开发工作量与估算工作量经验值、风险系数和复用系数等项有关: 软件开发工作量=估算工作量经验值×风险系数×复用系数 软什开发工作量的计算,曾有人提出以源代码行或功能点来计算,这些方法实施起来均有不少难度。目前国际上仍旧按以往经验的方式加以计算,国内各软件企业也是采用经验的方式加以估算工作量。 为了更好地规范估算方法,建议可按照国家标准“GB/T8566-2001软件生存周期过程”所规定的软件开发过程的各项活动来计算工作量。 工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人·月”。 特别要提醒的是软件开发过程中既包括了通常所讲的软件开发,也应包括各类软件测试的活动。 估算工作量经验值亦会存在较大风险,造成软件危机的因素很多,这也是一个方面的因素。特别当软件企业对该信息工程项目的业务领域不熟悉或不太熟悉,而且用户又无法或

不能完整明白地表达他们的真实的需求,从而造成软件企业需要不断地完善需求获取,修改设计等各项工作。因此: l≤风险系数≤1.5 根据我们对软件企业的了解,超过估算工作量经验值的一半,已是不可接受,所以我们确定“1.5”为极限值。当然这既要看企业的能力,也要看用户能接受的程度。 估算工作量经验值是软件企业承担一般项目来估算的,但如果软件企业已经采用“基于构件的开发方法”,并己建立起能够复用的构件库(核心资产库),或者已有一些软件产品,仅作二次开发,从而使软件开发工作量减少。因此: 0.25≤复用系数≤1 根据国内外软件企业在实施基于构件开发方法(软件产品线)的经验数据,提高工作效率达到25%(最高值)。 1.2开发费用/人·月 软件企业的商务成本、国家税收、企业利润、管理成本和质量成本。均可摊分到各个软件开发人员头上。 开发费用/人·月=(P+Q+R)×S×τ 1.2.1P(人头费) 人头费主要是员工的工资、奖金和国家规定的各项按人计算的费用。其总量在软件企业中的商务成本占70%-80%。 P=B×1.476 国家规定的公积金7%,医疗保险金12%,养老金22%,失业金2%(即通常所说的四金),另外还有按工资总额计征的工伤保证金0.5%,生育保证金0.5%,残疾基金1.6%,工会基金2%,累计为47.6%。

相关主题
文本预览
相关文档 最新文档