第六章软件项目规模成本估算
软件项目管理第3版第6章习题答案参考答案成本管理

软件项⽬管理第3版第6章习题答案参考答案成本管理[填空][直接]1.软件项⽬成本包括()成本和间接成本,⼀般⽽⾔,项⽬⼈⼒成本归属于直接成本。
[填空][类⽐估算法]2.在项⽬初期,⼀般采⽤的成本估算⽅法是()。
[填空][外部输⼊,外部输出,外部查询,内部逻辑⽂件,外部接⼝⽂件]3.功能点⽅法中5类功能组件的计数项是()、()、()、()、()。
[填空][⼈的劳动的消耗所需要的代价]4.软件项⽬的主要成本是()。
[填空][⽤例点]5.()⽅法通过分析⽤例⾓⾊、场景和技术与环境因⼦等来进⾏软件估算。
[是⾮][A]1.软件项⽬规模就是软件项⽬⼯作量。
()[A]正确[B]错误[是⾮][B]2.在软件项⽬估算中,估算结果是没有误差的。
()[A]正确[B]错误[是⾮][A]3.⼈的劳动消耗所付出的代价是软件产品的主要成本。
()[A]正确[B]错误[是⾮][B]4.功能点估算与项⽬所使⽤的语⾔和技术有关。
()[A]正确[B]错误[是⾮][B]5.COCOMO81有3个等级的模型:有机型、嵌⼊型、半嵌⼊型。
()[A]正确[B]错误[是⾮][B]6.经验对于估算来说不重要。
()[A]正确[B]错误[是⾮][A]7.估算时既要考虑直接成本⼜要考虑间接成本。
()[A]正确[B]错误[是⾮][B]8.在进⾏软件估算的时候,可以直接考虑参照其他企业的模型进⾏项⽬估算。
()[A]正确[B]错误[是⾮][B]9.间接成本是与⼀个具体项⽬相关的成本。
()[A]正确[B]错误[单选][C]1.下⾯关于估算的说法,错误的是()[A]估算是有误差的[B]估算时不要太迷信数学模型[C]经验对于估算来说不重要[D]历史数据对于估算来说⾮常重要[单选][B]2.()是成本的主要因素,是成本估算的基础。
[A]计划[B]规模[C]风险[D]利润[单选][D]3.常见的成本估算⽅法不包括()[A]代码⾏[B]功能点[C]类⽐法[D]关键路径法[单选][C]4.下列不是UFC的功能计数项是()[A]外部输出[B]外部⽂件[C]内部输出[D]内部⽂件[单选][A]5.成本预算的⽬的是()[A]⽣产成本基线[B]编写报告书[C]指导设计过程[D]⽅便进度管理[单选][D]6.估算的基本⽅法不包括()[A]代码⾏、功能点[B]参数估算法[C]专家估算法[D]函数估算法[单选][B]7.在项⽬初期,进⾏竞标合同时,⼀般采⽤的成本估算⽅法是()[A]参数估算法[B]类⽐估算法[C]专家估算法[D]功能点估算法[单选][D]8.下列不是软件项⽬规模单位的是()[A]源代码长度(LOC)[B]功能点(FP)[C]⼈天、⼈⽉、⼈年[D]⼩时[单选][B]9.在成本管理过程中,每个时间段中等各个⼯作单元的成本是()[A]估算[B]预算[C]直接成本[D]间接成本[简答]1.项⽬经理正在进⾏⼀个图书馆信息查询系统的项⽬估算,他采⽤Delphi的专家估算⽅法,邀请了3位专家进⾏估算,第⼀位专家给出了2万元、7万元、12万元的估算值,第⼆位专家给出了4万元、6万元、8万元的估算值,第三位专家给出了2万元、6万元、10万元的估算值,试计算这个项⽬的成本估算值。
软件项目的规模、工作量和成本是如何进行估算的

软件项目的规模、工作量和成本是如何进行估算的根据软件项目规模的期望值e以及下列公式,就可以估算出软件项目的成本和工作量。
生产率pm = l / e其中,l表示软件项目的规模(单位:loc或者fp),e表示软件工作量(单位:人月),pm表示单个人月能够生产的功能点或者代码行数。
平均成本ckl = s / l其中,s为软件项目总开销,l表示软件项目的规模(单位:loc或者fp),ckl表示每行代码或者每个功能点的平均成本。
对于一个特定的软件开发组织或者项目组而言,其软件生产率和平均成本在不同的软件项目实施中可能是比较稳定的。
如果有以往软件项目的历史信息,可以很容易地获得关于软件开发组织或者项目组的pm和ckl值。
因此,一旦估算出了软件项目的规模,获得了软件开发组织或者项目组的pm和ckl的值,就可根据公式ckl = s / l计算出软件项目的成本s = ckl′ l,也可根据公式pm = l / e 计算出软件项目的工作量e= l / pm。
例如,假设项目组要开发一个软件项目a,经过估算该项目的规模是364个功能点。
进一步的,根据以往的历史数据,该项目组软件开发的生产率是8fp/人月,每个功能点的平均成本为12000元人民币,那么该软件项目的开发成本s = 6800元人民币′ 364 = 247,5200元人民币,工作量为e= 364/ 8 = 45.5人月。
基于经验模型的估算基于经验模型的估算根据以往软件项目实施的经验数据(如成本、工作量和进度等)建立相应的估算模型,并以此为基础对软件项目开发的有关属性进行估算。
构造性成本模型cocomo(constructive cost model)是目前应用最为广泛的经验模型之一。
在二十世纪七十年代后期,boehm对多达63个软件项目的经验数据进行了分析和研究,在此基础上于1981年提出了cocomo模型用于对软件项目的规模、成本、进度等方面进行估算。
boehm把cocomo模型分为基本、中间和详细三个层次,分别支持软件开发的三个不同阶段。
软件项目管理第6章 规模成本估算

58
成本模型:面向FP驱动
Albrecht and Gaffney:E=-12.39+0.0545FP Matson,Barnett:E=585.7+15.12FP
10
成本的单位
货币单位 人民币元 美元 ……..
11
软件的规模和成本的关系
规模是成本的主要因素,是成本估 算的基础 有了规模就确定了成本。
12
成本估算定义
对完成项目所需费用的估计和计划 包括预测开发一个软件系统所需要的总工作量的过程。 是一种量化的结果 可以有一些误差 成本估算不同于项目定价 贯穿于软件的生存周期。
总计 UFC
TCF-技术复杂度因子
TCF=0.65+0.01(sum(Fi)): Fi:0-5,TCF:0.65-1.35 技术复杂度因子 F1 F3 F5 F7 F9 F11 F13 可靠的备份和恢复 分布式函数 大量使用的配置 操作简单性 复杂界面 重复使用性 多重站点 F2 F4 F6 F8 F10 F12 F14
19
Sample Resource Histogram for a Large IT Project
12 10
Number of People
8 6 4 2 0 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Java programmers Managers Testing specialists
15
2、估算的过程
16
成本估算过程
估算输入
成 本 估 算 方 法
估算结果
17
成本估算输入
项目需求、 WBS 历史项目度量 资源要求(资源编制计划) 资源消耗率:如人员成本: 100元/小时 进度规划:项目总进度(一般是合同要求) 学习曲线
软件成本估算与控制学习要点

软件成本估算与控制学习要点软件开发是现代社会不可或缺的一部分,而软件开发过程中的成本估算与控制是确保项目成功的重要环节。
本文将介绍软件成本估算与控制的学习要点,以帮助读者更好地理解和应用这一知识。
一、软件成本估算1.1 项目规模估算软件项目的规模是成本估算的基础,可以通过功能点分析或代码行数等方法进行估算。
功能点分析是一种常用的估算方法,它以软件功能为单位进行估算,并结合历史数据和专家判断来确定各功能点的工作量。
1.2 成本估算模型成本估算模型是用来预测软件开发成本的数学模型,其中最著名的是COCOMO模型和函数点分析模型。
COCOMO模型根据项目的规模和复杂性等因素,通过对历史数据进行分析和调整,来预测出开发成本。
函数点分析模型则以软件功能点数为基础,通过对不同功能点的复杂性和开发条件等进行加权计算,来估算成本。
二、软件成本控制2.1 成本控制方法成本控制是指在软件开发过程中,通过合理的控制手段来确保开发成本不超出预算。
常用的成本控制方法包括资源管理、进度管理和风险管理等。
资源管理通过优化资源的分配和利用,来降低开发成本。
进度管理则通过合理的任务分配和进度监控,来控制开发进度,从而减少延误带来的额外开销。
风险管理则通过识别和评估项目风险,并采取相应的措施来减轻或避免风险对成本的影响。
2.2 软件度量与监控软件度量是软件成本控制的重要手段,它通过定量的方法来度量软件开发过程中的各项指标,从而提供可靠的依据来进行成本控制。
常用的软件度量指标包括进度度量、成本度量和质量度量等。
通过对这些指标的监控和分析,可以及时发现问题,并采取相应的措施来调整和控制成本。
三、学习要点总结3.1 熟悉成本估算模型和方法掌握和理解常用的成本估算模型和方法,如COCOMO模型和函数点分析模型,以及功能点分析等,对于准确的估算成本是非常重要的。
3.2 学习软件度量了解和学习软件度量的基本原理和方法,包括进度度量、成本度量和质量度量等,能够帮助进行准确的成本控制。
第6讲_软件项目估算

根据变量的多少,分为单变量模型和多
变量模型。
这些变量又被称为预测量。
软件项目成本估算
静态单变量模型
一般的公式
b C=aL
其中,C是待估算的量,L是用作输入的 预测量,a和b是根据历史经验得到的参 数
软件项目成本估算
静态多变量模型
COCOMO模型
动态多变量模型
Putnam模型
软件项目成本估算
它是影响软件工作量的的分层结构就对应着工作 分解结构(WBS,Work Breakdown Structure)。它是软件规模估算的开始 点
软件规模度量标准
软件规模可认为是软件的程序量。
代码行技术LOC(Lines of Code)。 功能点FP(Function Points)。
功能点
功能点技术依据对软件信息域特性和软件复杂 性的评估结果,估算软件规模。这种方法用功 能点(FP)为单位,度量软件的规模。
信息域特性: 功能点技术定义了信息域的5个特性,分 别是输入项数(Inp)、输出项数(Out)、查 询数(Inq),主文件数(Maf)和外部接口数 (Inf)。
注:还要考虑输入、输出项的复杂度
软件项目成本估算
成本估算是对软件项目所需费用的估计和计划
。是软件项目计划中的一个重要组成部分。
成本估算无法以高可靠性和执行。只 能说利用各种工具来尽量提高估算的准 确性。
分为成本估算方法与成本估算模型
软件项目成本估算
成本估算模型分类
依据模型中变量的依存关系,分为静态
模型和动态模型。
COCOMO模型
1981年,Boehm在他的名著《软件工程
软件项目成本估算

软件项目成本估算
软件开发成本主要是指软件开发过程中所花费的工作量及相应的 代价。它不同于其他物理产品的成本,它不包括原材料和能源的 消耗,主要是人的劳动的消耗。
人的劳动消耗所需代价就是软件产品的开发成本。另一方面,软 件产品开发成本的计算方法不同于其他物理产品成本的计算。
软件产品不存在重复制造过程,它的开发成本是以一次性开发过 程所花费的代价来计算的。
因此软件开发成本的估算,应是从软件计划、需求分析、设计、 编码、单元测试、组装测试到确认测试以及整个软件开发全过程 所花费的代价作为依据的。
1.1 软件开发成本估算方法
对于一个大型的软件项目,要进行一系列的估算处理 主要靠分解和类推的手段进行。基本估算方法分为3类。 1.自顶向下的估算方法。这种方法的主要思想是从项
Deiphi技术的步骤如下:
① 组织者发给每位专家一份软件系统的规格说明书(略去名称和单位) 和一张记录估算值的表格,请他们进行估算。 ② 专家详细研究软件规格说明书的内容,对该软件提出三个规模的估 算值,即 ai ── 该软件可能的最小规模(最少源代码行数); mi ── 该软件最可能的规模(最可能的源代码行数); bi ── 该软件可能的最大规模(最多源代码行数)。 无记名地填写表格,并说明做此估算的理由。在填表的过程中,专家互 相不进行讨论但可以向组织者提问。 ③ 组织者对专家们填在表格中的答复进行整理,做以下事情: 计算各位专家(序号为i,i=1,2,…,n,共n位专家)的估算期望值Ei, 并综合各位专家估算值的期望中值E: 对专家的估算结果进行分类摘要。
Deiphi技术的步骤如下:
④ 在综合专家估算结果的基础上,组织专家再次无记名地填写表格。 然后比较两次估算的结果。若差异很大,则要通过查询找出差异的原 因。
软件项目中的成本构成及估算方法

软件项目中的成本构成及估算方法随着学问经济、信息时代的来临,计算机软件业迅猛发展。
商品化、资本化、资产化的计算机软件的价值评估的社会需求也日益增多,而且有越来越多的趋势。
由于系统软件通常是一些规模大、复杂程度高的人一机系统,因此,系统软件的开发发、使用、维护、管理的过程,是一个特别复杂的系统工程,需要有巨大的人力、物力、财力资源,需要各种计算机软、硬件的支持。
这一特点是在系统软件评估中应予充分考虑的,也是从成本途径评估系统软件价值时应予着重关注的。
据统计,软件成本在软、硬件总成本中的份额,已从50 年月的百分之十几,上升到近期的百分之七八十,而且还在持续上升。
软件成本中的开发成本和维护成本的比例,也从50年月的接近1:1,达到了近期的1:2。
系统软件开发成本和维护成本在整个生命周期中份额。
本文对上表的数字作了部分调整。
主在维护阶段剔除了完善性维护成本。
这一项成本不应列入托付评估系统软件的本次价值评估。
这样,开发、维护成本在整个生命周期中的份额也相应发生了变化。
一、系统软件的成本构成系统软件的成本作为一个经济学范畴,应反映软件产品在其生产过程中所耗费的各项费用,为原材料、燃料、动力、折旧、人工费、管理费用、财务费用待项开支的总和。
从财务角度来看,列入系统软件的成本有如下的项目:(1)硬件购置费如计算机及相关设备的购置,不间断电源、空调器等的购置费。
(2)软件购置费,如操作系统软件、数据库系统软件和其它应用软件的购置费。
(3)人工费,主要是开发人员、操作人员、管理人员、的工资福利费等。
(4)培训费。
(5)通讯费,如购置计算机网络设备、通讯线路器材、租用公用通讯线路等的费用。
(6)基本建设费,如新建、扩建机房、购置计算机机台、机柜等的费用。
(7)财务费用。
(8)管理费用,如办公费、差旅费、会议费、交通费。
(9)材料费,如打印纸、包带、磁盘等的购置费。
(10)水、电、汽、气费。
(11)专有技术购置费。
(12)其它费用,如资料费、固定资产折旧费及咨询费。
第六章软件项目规模成本估算

16.31
21.62 23.25 8.53* 6 36.41
30.09
28.93 33.83 11.09 77.66
38
5.13*5+ 16.15*8+ chapter__6 8.53*6=206.03
估算的基本方法
代码行、功能点、对象点 类比 (自顶向下)估算法 自下而上估算法 参数法估算法 专家估算法
资源平衡的基本过程
n n
建立网络,将资源分配给各项活动。 首先按尽快原则安排活动——含有最迟原则或固定日期的 活动除外。 建立资源需求直方图。 决定资源上限(可使用最大量),找出资源冲突,也就是说, 指出何时需要量超过可使用量。微软Project软件和其他 项目管理出版物将这种情况称作资源过度配置 (Resource Overallocation)。 重新安排有松闲时间 ( 浮动时间 ) 的活动以减少资源冲 突的数量。如果有可能 , 可在它们的松闲时间限度内重 新安排这些活动 , 以避免更改项目的终止日期。
关于估算
估算不是很准确的,有误差的 经验(历史)数据非常重要 不要太迷信数学模型
chapter__6
7
软件项目规模
软件项目规模即工作量,是从软件项目范围中 抽出的软件功能,然后确定每个软件功能所必 须执行的一系列软件工程任务 包括:软件规划,软件管理,需求,设计,编 码,测试,以及后期的维护等任务。
chapter__6
16
成本估算
直接成本 间接成本
chapter__6
17
直接成本
与具体项目相关的成本
chapter__6
18
间接成本
不能具体到某个项目中的成本, 可以分摊到各个具体项目中的成本,例如:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工作范围 估算的基础和依据 估算的假设 估算的误差变动等
chapter__6
20
本章要点
一、软件项目规模成本的概念 二、估算的过程 三、估算的方法 四、成本预算 五、项目核心(进度)计划—续 六、案例分析
chapter__6
21
估算的基本方法
1. 代码行、功能点、对象点 2. 类比 (自顶向下)估算法 3. 自下而上估算法 4. 参数法估算法 5. 专家估算法
chapter__6
8
规模的单位
LOC(Lon Point)
用系统的功能数量来测量
人月 人天 人年
chapter__6
9
软件项目成本
完成软件规模相应付出的代价。 待开发的软件项目需要的资金。 人的劳动的消耗所需要的代价是软件产品的主
资源平衡示例
2 A=2天
1 B=5天
4
3 C=3天
项目网络图中标出了活动A、 B、C及其历时,活动A有3 天时差,活动C有2天时差, 假设活动A需要2个员工, 活动B需要4个员工,活动 C需要2个员工。
如果所有活动同一天开始的资源使用
如果活动C延迟2天开始的资源使用
资源平衡的其他过程
增员或延长加班时间以增加资源。 延长项目工期,这将增强所有活动的浮动时间 (Float),以增加重新进行进度安排的选择。 削减活动以减少资源需求。 改变网络的逻辑(例如,活动的顺序)。 限制项目范围。 将大项目细分。
编制一个为完成项目各活动所需要的资源成本 的近似估算
成本预算:项目进度
将总成本估算分配到各单项工作活动上
成本控制:项目跟踪
控制项目预算的变更
chapter__6
2
资源和资源平衡
❖资源的种类 •劳动力 (Labour ) •设备 (Equipment) •原材料 (Material) •其他 (Other): 指不符合上述分类的资源 , 例如分包 合同、租约等。
17
直接成本
与具体项目相关的成本
chapter__6
18
间接成本
不能具体到某个项目中的成本, 可以分摊到各个具体项目中的成本,例如:
培训 房租水电 员工福利 市场费用 管理费 其他等等
chapter__6
19
项目估算结果
估算文件
包括资源,资源的数量,质量标准,估算成本等信息 单位:一般是货币单位 BAC(Budget At completion)
的过程。 是一种量化的结果 可以有一些误差 成本估算不同于项目定价 贯穿于软件的生存周期。
chapter__6
13
本章要点
一、软件项目规模成本的概念 二、估算的过程 三、估算的方法 四、成本预算 五、项目核心(进度)计划—续 六、案例分析
chapter__6
14
估算输入
成本估算过程
软件开发项目管理
第六章 软件项目规模成本估算
chapter__6
0
本章要点
一、软件项目规模成本的概念 二、估算的过程 三、估算的方法 四、成本预算 五、项目核心(进度)计划—续 六、案例分析
chapter__6
1
成本管理过程
资源计划编制:
确定项目需要的资源种类和数量
成本估算:中心环节
缺点
1. 对代码行没有公认的可接受的标准定义 2. 代码行数量依赖于所用的编程语言和个人的编程风格. 3. 在项目早期,需求不稳定、设计不成熟、实现不确定的情况下
很难准确地估算代码量. 4. 代码行强调编码的工作量,只是项目实现阶段的一部分
chapter__6
25
代码行(LOC)- 举例
某软件公司统计发现该公司每一万行C语言源代码形成的源 文件(.c和.h文件)约为250K。某项目的源文件大小为3.75M, 则可估计该项目源代码大约为15万行,该项目累计投入工作 量为240人月,每人月费用为10000元(包括人均工资、福利、 办公费用公滩等)。 则该项目中1LOC的价值为:(240×10000)/150000=16元/L。
chapter__6
22
代码行(LOC)
从软件程序量的角度定义项目规模。
要求功能分解足够详细的 有一定的经验数据(类比和经验方法) 与具体的编程语言有关
chapter__6
23
代码行(LOC)
chapter__6
24
代码行(LOC)优、缺点
优点
代码是所有软件开发项目都有的“产品”,而且很容易计算代 码行数。
要成本 开发成本是以一次性开发过程所花费的代价来
计算的
chapter__6
10
成本的单位
货币单位
人民币元 美元 ……..
chapter__6
11
软件的规模和成本的关系
规模是成本的主要因素,是成本估算的基础 有了规模就确定了成本,
chapter__6
12
成本估算定义
对完成项目所需费用的估计和计划 包括预测开发一个软件系统所需要的总工作量
❖资源平衡技术 •可储备资源与不可储备资源 •平衡资源 •稀缺的资源
资源平衡的基本过程
建立网络,将资源分配给各项活动。 首先按尽快原则安排活动——含有最迟原则或固定日期的 活动除外。 建立资源需求直方图。 决定资源上限(可使用最大量),找出资源冲突,也就是说, 指出何时需要量超过可使用量。微软Project软件和其他 项目管理出版物将这种情况称作资源过度配置 (Resource Overallocation)。 重新安排有松闲时间 ( 浮动时间 ) 的活动以减少资源冲 突的数量。如果有可能 , 可在它们的松闲时间限度内重 新安排这些活动 , 以避免更改项目的终止日期。
成 本 估 算 方 法
chapter__6
估算结果
15
成本估算输入
项目需求、 WBS 历史项目度量 资源要求(资源编制计划) 资源消耗率:如人员成本: 100元/小时 进度规划:项目总进度(一般是合同要求) 学习曲线
chapter__6
16
直接成本 间接成本
成本估算
chapter__6
关于估算
估算不是很准确的,有误差的 经验(历史)数据非常重要 不要太迷信数学模型
chapter__6
7
软件项目规模
软件项目规模即工作量,是从软件项目范围中 抽出的软件功能,然后确定每个软件功能所必 须执行的一系列软件工程任务
包括:软件规划,软件管理,需求,设计,编 码,测试,以及后期的维护等任务。