软件项目管理第6章 规模成本估算
管理学第6章IT软件项目成本管理
嵌入模式指必须要求在一组紧密联系的硬件、软件及
操作约束下开发的软件项目
生产率=(KLOC)/E 人员数=E/D
Page 40
1000
800
开
发 成
600
本
(PM)400
200
0
嵌入模式 半分离模式 组织模式
20 40 60 80 100 120 开发工作量(E)
Page 41
22 20 时 18 间 16 (月) 14 12
Page 28
(1)输入:屏幕、表单、对话框、控件,或者最终用户 以及其他程序添加、删除、改变程序数据的消息。
(2)输出:屏幕、报告、图表或者程序产生的由最终用 户以及其他程序使用的消息。
(3)查询:输入输出的结合,输入能导致快速简单的输 出。
(4)内部逻辑文件:完全由程序控制的最终用户数据或 控制信息的主要逻辑组。
Page 39
软件类型 a b c d
适用范围
组织模式 2.4 1.05 2.5 0.38
各类应用程序
半分离模式 3.0 1.12 2.5 0.35 各类实用程序、编译程序等
嵌入模式 3.6 1.2 2.5 0.32 实时处理、控制程序、操作系统
组织模式指规模较小的、简单的软件项目
半分离模式指规模和复杂性处于中等程度的软件项目
Page 23
6.2.1 IT项目成本的常用估算方法 6.2.2 面向规模(LOC)的度量 6.2.3 面向功能点(FP)的度量 6.2.4 COCOMO模型
Page 24
成本建模技术:数学模型 专家判定技术(Delphi法) 类比评估技术 Parkson 法则:用所需的时间来表示的成本。 自顶向下估算法 自下而上估算法 赢利定价法:成本的预算依靠客户的预算而不
软件项目管理第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模型分为基本、中间和详细三个层次,分别支持软件开发的三个不同阶段。
06_IT软件项目成本管理
6.1.2 影响项目成本的因素
项目成本的影响因素很多,对于IT软件项目, 影响因素主要包括:
项目质量对成本的影响 工期对成本的影响 管理水平对成本的影响 人力资源对成本的影响 价格对成本的影响
6.1.3 项目成本管理的内容
项目成本管理主要包括: 资源计划编制、 费用估算、 费用预算、 不可预见费用 费用控制。
第6章
IT软件项目成本管理
第6章 IT软件项目成本管理
6.1 6.2 6.3 6.4 IT项目成本 IT项目开发成本的估算方法 成本估算案例 项目成本控制
6.1 IT项目成本
6.1.1 项目成本 6.1.2 影响项目成本的因素 6.1.3 项目成本管理的内容
6.1.1 项目成本
对于一般项目,项目的成本主要由项目 直接成本、管理费用和期间费用等构成。 IT项目的成本主要由以下4部分构成:
对造成成本基准计划发生改变的因素施加影响,以保证这种变化朝着 有利项目的方向发展。 确定项目基准计划是否已经发生变化。 在实际成本基准计划发生变化和正在发生变化时,对这种变化实施有 效的管理。 监视项目成本执行情况,及时发现与成本计划的偏差。 确保所有有关成本的变更都准确记录在项目成本基准计划中。 防止不正确、不适宜或者未核准的变更纳入成本基准计划中。 将核准的变更通知有关项目干系人。
6.4.2 项目成本控制的流程与方法
在项目管理中,成本控制、质量控制和进度控制 一起贯穿项目实施的全过程。其控制原理如图6.9 所示。
计划成本与实际 成本比较 偏差 否 是 收集实际 成本数据
采取控制措施 项目进展 图6.9 动态成本控制原理
成本控制的工作流程如图6.10所示,
软件项目管理实验三项目成本计划题目加答案
实验三项目成本计划第二篇项目计划(第6章软件项目成本计划)1. 关于软件项目成本的估算:希赛信息技术有限公司(CSAI主要致力于为国内教育提供信息化服务,成立业内一流的研发中心,不断研究和推出深受用户欢迎的软件产品,客户遍布中国每个省/市/自治区。
公司创立8年来,通过不断加强和改进技术管理来完善产品和提升服务品质,已成为中国教育软件研发领域首家通过CMM3评估项目的公司。
张工是CSAI的项目经理,1个月前刚接手某高校学生管理系统研发项目。
完成项目需求调研后,张工开始制定详细的进度和成本计划。
表1和表2分别是张工用两种方法做的项目成本估算,估算货币单位为(元)。
请结合你所掌握的软件项目成本估算的各种方法,解决以下问题:【问题1】请用200字以内说明信息系统项目管理过程进行成本估算的基本方法。
信息系统项月进行成木估算的基术方法包括:(1)自顶向下估算法或类比佔算法。
(2)自下而上估算法。
(3)参数估算法。
(4)专家佔算法。
(5)猜测估算法等【问题2】表1和表2分别采用了什么估算方法,表中估算成本A, B各为多少?表4-1采川了白下而上的成本估算方法,表4-2采川了参数法成本估算方法。
经过计算,两表中估算值A为202000元,B为111820元。
【问题3】请结合你本人对项目的了解,简要分析信息系统项目成本估算过程中的主要困难和应该避免的常见错误。
综合起来,信息系统的项目成木估算的困难主要包括以下方面:(1)需求信息的复杂性。
(2)开发技术与工具的不断变化。
(3)缺乏类似的项日估算数据可供参考。
(4)缺乏专业和富有经验的人才(5)信息系统研发人员技术能力的差异。
(6)管理层的压力与误解。
.在对项日进行成本估算时,应该避免以下的常见错误:(1)草率的成本估算。
(2)在项目范围尚未确定时就进行成本估算。
(3)过于乐观或者保守的估算。
2. 对每人自选的项目案例,选用合适的项目成本估算方法进行软件项目规模成本的估算,写明估算过程及采用的方法。
软件项目管理实验三-项目规模成本估算-软件0801何飞
软件项目管理课程设计实验报告学院:计算机科学与技术学院专业:软件工程班级:0801班学号:***************指导教师:***时间:2011年11月 25 日实验三: 项目规模成本估算一、实验目的:1.了解项目成本估算包含的内容;2.掌握项目成本的估算方法。
二、实验内容:1.按标准估值法(1)聘请了5位专家,他们对开发成本的最小规模、最大规模及最可能规模的估值如下表。
(2)由于采用B/S结构,通过计算,修正系数为1.25。
开发成本采用最有可能规模进行计算:最小规模平均值A=(190000+195000+180000+185000+175000)/5=185000(元)最大规模平均值B=(230000+235000+200000+220000+240000)/5=225000(元)最可能规模平均值M=(210000+215000+190000+205000+220000)/5=208000(元)由此可得:开发成本=修正系数*(A+4*M+B)/6 =1.25*207000=258750(元)管理成本和质量成本=开发成本*管理质量系数=258750*0.28=72450(元)项目直接成本=开发成本+管理成本+质量成本=258750+72450=331200(元)项目间接成本=直接成本*间接成本系数=331200*0.25=82800(元)项目总估算成本=直接成本+间接成本=331200+82800=414000(元)由此可得:利润=项目总估算成本* 0.3=414000*0.3=124200(元)项目的报价=项目总估算成本+利润=414000+124200=538200(元)2.按COCOMO模型法(1)代码行估算大约在5KLOC;(2)属于组织型项目;(3)符合中级COCOMO模型;(4)开发费用为1.2万元/人月;(5)考虑成本因素。
开发成本=总计人月数*人月单价=19*1.2=22.8(万元)管理成本和质量成本=开发成本*管理质量系数=22.8*0.28=6.384(万元)项目直接成本=开发成本+管理成本+质量成本=22.8+6.384=29.184(万元)项目间接成本=直接成本*间接成本系数=29.184*0.25=7.296(万元)项目总估算成本=直接成本+间接成本=29.184+7.296=36.48(万元)由此可得:利润=项目总估算成本* 0.3=36.48*0.3=10.944(万元)项目的报价=项目总估算成本+利润=36.48+10.944=47.424(万元)3.按自下而上估值法(1)按功能制作如下项目规模估算表(2)按400元/人天考虑开发费用。
第六章软件项目规模成本估算
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.面向功能点的成本估算模型面向功能点(Functionpoints,FP)的成本估算模型是用系统的功能数量来测量软件规模的。
该方法先评估产品所需功能,然后根据技术复杂度因子(权)对其成本进行量化和修正,估算出终的软件成本。
其基本步骤是:(1)计算未调整的功能点(UFC)数目这里所谈的功能点数并非终软件中实际的功能数量,终软件实际功能模块的个数在软件开发之前是不可能估算的。
在此,我们首先将软件的所有功能分为外部输入、外部输出、外部查询、外部文件及内部文件五大类,并估算每类功能的数量(FPi),然后依据待开发软件的特点评估各类功能的复杂度权重(Wi),在依据公式2可得未调整的功能点数(UFC)。
UFC=SUM(FPi*Wi)3.基于回归分析的成本模型成本模型提供工作量的直接估算,通常有一个主要的成本因素和若干个次要的调整因素。
软件过程管理 (7)
分布式函数 大量使用的配置 操作简单性 复杂界面 重复使用性 多重站点
chapter__6
F4 F6 F8 F10 F12 F14
性能 联机数据输入 在线升级 复杂数据处理 安装简易性 易于修改
52
0.65的含义: 如果对应用程序完全没有特殊的功能要求 (即综合特征总值为0),那么功能点数应该 比未调整的(原有的)点数降低35%。 否则除了降低35%之外,功能点数还应该 比未调整的点数增加1%的综合特征总值。 TCF=0.65+0.01(sum(Fi)): Fi:0-5,TCF:0.65-1.35
本章要点
一、软件项目规模成本的概念 二、估算的过程 三、估算的方法 四、估算的误差 五、案例分析
chapter__6
3
成本管理过程
资源计划编制:
确定项目需要的资源种类和数量
成本估算:中心环节
编制一个为完成项目各活动所需要的资源成本 的近似估算 将总成本估算分配到各单项工作活动上
质量与费用的关系
chapter__6
14
chapter__6
15
成本估算定义
对完成项目所需费用的估计和计划 包括预测开发一个软件系统所需要的总工作量 的过程。 是一种量化的结果 可以有一些误差 成本估算不同于项目定价 贯穿于软件的生存周期。
chapter__6 16
本章要点
chapter__6 33
常用的估算方法
类比估算法 n 自下而上估算法 n 参数估算法 n 专家估算法 n 猜测估算法
n
chapter__6 34
项目估算结果
估算文件:对完成项目所需费用的估计和计划安 排。 包括资源,资源的数量,质量标准,估算成本 等信息 单位:一般是货币单位(人民币、法郎、美元 等) 也可用规模单位(人月、人天或小时等) 结果可以用一个范围表示 BAC(Budget At completion)
软件项目成本估算步骤:规模、工作量、工期、成本
软件项目成本估算步骤:规模、工作量、工期、成本软件项目成本估算分为以下步骤:
1. 估算软件规模。
根据可行性研究报告或类似文档明确项目需求及系统边界。
选择估算方法时,要依据项目特点和需求详细程度来决定。
2. 估算工作量。
可以采用方程法、类比法和类推法。
如果软件项目需求极其模糊或不确定,可利用高度相似的历史项目数据来粗略估算工作量。
3. 估算工期。
同样可以采用类推法、类比法和方程法进行估算。
4. 估算成本,类比法和类推法同样适用于需求极期模糊或不确定时的成本估算。
5. 进行软件工作量评估,包括收集历史工作量数据、分析历史工作量数据、建立工作量评估模型、评估工作量、工作量模型的标定和更新。
6. 进行软件阶段工作量评估,团队应充分考虑软件项目的工期因素,对软件项目总工作量安排和各个阶段工作量安排进行优化分析,将软件项目的总工作量以合理可行的方式分解为各个阶段的工作量。
同时考虑各种约束条件,如客户强制工期要求、市场竞争性等。
软件项目的规模、工作量和成本是如何进行估算的
例如,针对上面所述的软件项目a,如果已估算出该项目的软件规模是33.3kloc,而且该项目属于半独立型,即cocomo模型中的参数a、b、c、d的取值分别是3.0、1.12、2.5、0.35,那么根据模型公式e=a*(kloc)b可以估算出该项目的工作量是3.0*(33.3)1.12,即152人月;然后根据公式d= c*ed可以估算出该项目的开发时间是2.5*(152)0.35,即14.5月。
2.其它估算方法其它估算方法包括:专家估算、类比估算等等。
专家估算方法是由一组专家来对软件项目所需的成本、工作量和进度等进行估算。
一般地,这些专家具有应用领域或者开发环境方面的知识、参与了以往类似软件项目的开发。
为了避免专家估算的片面性,专家估算方法一般要求每位专家给出估算的最小值a、可能值m和最大值b,然后计算出每位专家估算的平均值esti=(a+4m+b)/6,最后根据各位专家的估算情况计算出最终的估算值est=(est1+est2+est3+……+estn)/n。
如果软件开发组织或者项目组拥有一批经验丰富的专家,可以考虑采用该方法。
专家估算方法具有人为因素多、主观因素大的特点,一般应用于软件开发的初期阶段,此时软件项目组往往难以获得估算软件项目所需的各种数据和信息。
类比估算方法是指估算人员根据以往类似软件项目实施所积累下来的数据,通过分析待开发软件项目和以往软件项目二者之间的相似性,估算出软件项目的开发工作量、成本和进度等。
使用该方法的前提是:待估算的软件项目和以往的软件项目必须具有一定的相似性(如它们均属于同样的应用领域),并且拥有以往类似软件项目的开发数据(如工作量、周期、参与的人数、规模和成本等)。
软件估算发生在事前,因而估算的结果与实际的结果有所偏差是不可避免的。
但是,如果估算的偏差过大,那么估算的结果将会对软件项目的实施和管理产生消极的影响,甚至可能导致软件项目的失败。
因此,在对软件项目的规模、成本和工作量等进行估算的过程中,要避免低劣的估算,尽可能地获得合理和准确的估算数据。
如何对一个软件项目的成本进行评估或估算?
如何对一个软件项目的成本进行评估或估算?如何对一个软件项目的成本进行评估或估算?概述本文主要讲解估算软件规模、估算软件工作量、估算软件工期和估算软件成本这4个基本过程,最终确定软件成本。
其中成本估算需要对直接人力成本、间接人力成本、间接非人力成本及直接非人力成本分别进行估算。
软件成本估算过程1、估算规模通常情况下,软件规模的估算是软件成本估算过程的起点。
估算规模是后续计算软件项目的工作量、成本和进度的主要依据,是项目范围管理的关键,因此,在条件允许的情况下,应该进行软件项目规模估算。
规模估算时,要根据可行性研究报告或类似文档明确项目需求及系统边界。
选择估算方法时,要依据项目特点和需求详细程度来决定。
通常估算人员在选择估算方法时应采用纳入国际标准的功能点方法进行功能规模估算,如COSMIC-FFP方法、IFPUG方法、MkⅡ方法、NESMA方法及FiSMA方法。
若当前项目的需求不确定,可跳过这一环节,进入下个一环节。
2、估算工作量在完成规模估算后,应当开展工作量估算工作,若当前项目未开展规模估算,也可直接启动工作量估算工作。
软件项目工作量估算可采用方程法、类比法和类推法。
类推法:软件项目需求极其模糊或不确定时,如果有高度相似的历史项目,可采用此方法,利用历史项目数据来粗略估算工作量。
类比法:软件项目需求极其模糊或不确定时,如果有与本项目部分属性类似的一组基准数据,可采用类比法,利用基准数据来粗略估算工作量。
方程法:已经开展了规模估算的项目,可以采用方程法,通过各项参数来确定待估算项目的工作量。
项目工作量估算都应该采用两种估算方法来对估算结果进行交叉验证,以追求估算的准确性。
工作量的估算结果是一个范围,不是单一的值。
3、估算工期在工作量估算结束后可根据工作量,采用科学的方法进行工期估算过程。
软件项目工期的估算同样可以采用类推法、类比法和方程法。
工期估算的结果有可能导致重新估算工作量。
比如,当工期估算结果长于期望工期时,压缩工期会增加项目工作量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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元/小时 进度规划:项目总进度(一般是合同要求) 学习曲线
18
资源规划 需要的资源种类、数量等
23
项目估算结果
估算文件 包括资源,资源的数量,质量标准,估算成 本等信息 单位:一般是货币单位 相关说明文件 工作范围的描述 估算的基础和依据 估算的假设 估算的误差变动等
24
3、估算的方法
25
成本估算方法 估算的基本单位介绍 1.代码行 2.功能点 3.对象点
文本
3.75
8.00
17.07
38
36.41
77.66
Probe方法的步骤
① 基于产品需求构建体系结构和概要设计。
② 对设计中的每个类(面向对象方法中的Class)的输入和 交互,标识所设计的对象属于表中哪类方法并估算其复 杂性。 ③ 将上述标识的结果构造成一个如表形式的矩阵,然后将 这个矩阵中的值与表中对应的值相乘。
37
对象规模表(C++)
方法种类 计算 数据 I/O 逻辑 设置
很小 2.34 2.6 9.01 7.55 3.88
小 5.13 4.79 12.06 10.98 5.04
中 11.25 8.84 16.15 15.98 6.56
大 24.66 16.31 21.62 23.25 8.53
很大 54.04 30.09 28.93 33.83 11.09
51
参数估算法-估算单位 每个任务必须至少有一个统一的 规模单位 例如 KLOC,FP 人天,人月,人年 参数:xx元/ KLOC. xx元/ FP, xx元/人天
52
参数估算法-特点
比较简单,而且也比较准确 如果模型选择不当或者数据不准, 也会导致偏差
53
参量成本估算实例(适合单价合同)
代码行(LOC)
从软件程序量的角度定义项目规模。 LOC =NCLOC+CLOC
要求功能分解足够详细的 有一定的经验数据(类比和经验方法) 与具体的编程语言有关 生产率LOC/PM,LOC/hour等
27
功能点(FP)
功能点(FP)是用系统的功能的数量来测量其规模。 与实现产品所使用的语言和技术没有关系。 两个评估 内部基本功能 外部基本功能 加权和量化
46
自下而上—使用情况
在进入项目开始以后,WBS以后的 开发阶段 需要进行准确估算的时候
47
自下而上—特点
这种方法最为准确。它的准确度来源 于每个任务的估算情况 非常费时,估算本身也需要成本支持 可能发生虚报现象
48
估算的基本方法:参数法估算法 定义 一种使用项目特性参数建立数据模 型来估算成本的方法,是一种统计 技术,如回归分析和学习曲线。 模型可以简单也可以复杂,很少有 通用性。
43
类比—特点
简单易行,花费少 具有一定的局限性 准确性差,可能导致项目出现困难
44
类比—举例
证券交易网站 需求类似 历史数据:10万 学习曲线:5-8万
45
估算的基本方法:自下而上估算法
定义: 利用任务分解结构图,对各个具体工 作包进行详细的成本估算,然后将结 果累加起来得出项目总成本。
10.98
5.04 8.00
40
15.98
6.56 17.07
23.25
8.53*6 36.41
33.83
11.09 77.66
规模估算
5.13*5+ 16.15*8+ 8.53*6=206.03
估算的基本方法:类比 (自顶向下)估算法
自下而上估算法 参数法估算法 专家估算法
41
类比-定义
第6章 规模成本估算
Scale cost estimation
吉林大学珠海学院教授 李军国
0
问题的提出
1. 成本管理包含哪些内容? 2. 软件规模的单位有哪些? 3. 什么时候开始成本估算? 4. 成本估算的意义? 5. 成本估算包含哪些输入内容? 6. 自下而上估算法的特点是什么? 7. 参数估算法的特点是什么? 8. 估算不准的主要原因有哪些? 9. 如何避免低劣的估算?
④ 将上述所有相乘结果相加求和,产生估算结果。
39
对象点的估计-举例
方法种类 计算
很小 2.34
小 5.13* 5
中 11.25
大 24.66
很大 54.04
数据
I/O
2.6
9.01
4.79
12.06
8.84
16.15* 8
16.31
21.62
30.09
28.93
逻辑
设置 文本
7.55
3.88 3.75
49
参数估算法-说明 参考历史信息 重要参数必须量化处理 根据实际情况,对参数模型按 适当比例调整
50
参数估算法—使用情况 存在成熟的项目估算模型 应该具有良好的数据库数据为基础
目前软件企业估算很少使用(其它行业 如建筑行业等会经常使用)通用的数学 模型,但是会存在一个特定的模型。
项目经理(30美元/小时) 分析家(20美元/小时) 技术员(13美元/小时) 总劳动开支 一般管理费(35%) 总劳动费加管理费 额外费用(25%) 小计 交通费(四次旅行,1000/次) 微机计算机费(2台,3500/台) 打印与复制费 总辅助费 总项目费用开支
54
15,000美元 20,000美元 2,6000美元 61,000美元 21,350美元 82,350美元 16,470美元 98,820美元 4000美元 7000美元 2000美元 13,000美元 111,820美元
28
功能点的公式
FP= =UFC*TCF UFC:未调整功能点计数 TCF:技术复杂度因子
29
UFC-未调整功能点计数
功能计数项:
外部输入 外部输出 外部查询 外部文件 内部文件
30
UFC-未调整功能点计数
功能计数项的复杂度等级
复杂度权重因素
项
外部输入 外部输出 外部查询 外部文件 内部文件
1
引言
项目成功的必要条件
做好的计划 控制好计划
2
承上启下
确定项目的范围 需求规格 进行任务分解
3
RoadMap
合同管理 生存期 需求管理 任务分解 项目估算 项目进度
质量计划
配置计划 风险计划
团队管理
项目度量
集成项目 跟踪控制
4
项目结束
1、软件项目规模成本的概念
5
成本管理
资源计划编制: 确定项目需要的资源种类和数量 成本估算:中心环节 编制一个为完成项目各活动所需要的资源成本的近似 估算 成本预算:项目进度 将总成本估算分配到各单项工作活动上 成本控制:项目跟踪 控制项目预算的变更
从项目的整体出发,进行类推,即估算 人员根据以往完成的类似项目所消耗的 总成本(或工作量),来推算将要开发 的软件的总成本(或工作量),然后按 比例将它分配到各个开发任务单元中 是一种自上而下的估算形式
42
类比—使用情况
有类似的历史项目数据 信息不足(要求不是非常精确)的时候 在合同期和市场招标时 在高层对任务的总的评估
33
数据通信 性能 联机数据输入 在线升级 复杂数据处理 安装简易性 易于修改
技术复杂度因子的取值范围
调整系数
描述
不存在或者没有影响
0
1
2 3 4
不显著的影响
相当的影响 平均的影响 显著的影响 强大的影响
34
5
功能点计算实例
FP=UFC*TCF UFC=301
TCF=0.65+0.01(14*3)=1.07
56
成本模型:整体公式:E=A+B*SC
E:以人月表示的工作量 A,B,C:经验导出的常数 S:主要的输入参数(通常是LOC,FP等)