软件项目的成本管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三节 成本估算方法
估算的基本方法
1. 2. 3. 4. 代码行、功能点、对象点、用例点 自下而上估算法(WBS) 参数法估算法 专家估算法
1、代码行
代码行:指源代码的总行数。包括无注释的 源代码行NCLOC及注释的源代码行CLOC。源代 码的总行数LOC包括NCLOC与CLOC之和。 在评估时,可以分别根据LOC和NCLOC做为评 估值。
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
Business analysts Administrative staff
• 1.成本与质量、时间的关系。 • 2.在预算框架内控制成本。
2、成本管理,就是为保障项目实际发生的 成本不超过项目预算,使项目在批准的预 算内按时、按质、经济高效地完成既定目 标而开展的项目管理活动。
3、成本类型 • 可变成本:随规模变化的成本,如人员工资。 • 固定成本:不随规模变化的非重复成本,如办公室租赁 费用。 • 直接成本:能够直接归属于项目的成本,如项目组旅行 费用、项目组人员工资和奖金等。 • 间接成本:需要几个项目共同分担的成本,如员工福利、 保安费用、行政部门和财务部门费用等; • 沉入成本:那些在过去发生的费用,就像沉船一样不能 回收的部分。当决定继续投资项目时,不应该考虑这部 分费用。当决定项目是否该继续时,许多人像赌徒一样 的心理指望能够收回沉入成本,这是不可取的。 • 机会成本:如果选择另一个项目而放弃这一项目收益所 引发的成本。
一代码行(1LOC)的价值和人均代码行可以 体现一个软件生产组织的生产能力,组织可 以根据对历史项目的评审来核算组织的单行 代码价值。(我们国内公司的私人老板不愿 意这样做及有量化的东西,否则不好剥削)。
代码行(LOC)
从软件程序量的角度定义项目规模。 要求功能分解足够详细的 有一定的经验数据(类比和经验方法) 与具体的编程语言有关
资源,资源的数量,质量标准,估算成本等信息 单位:一般是货币单位 BAC(Budget At completion)
估算说明
工作范围 估算的基础和依据 估算的假设 估算的误差变动等
估算说明
预测所需要的总工作量的过程。 是一种量化的结果 可以有一些误差 成本估算不同于项目定价 贯穿于软件的生存周期。
二、成本管理过程
资源计划编制:
确定项目需要的资源种类和数量
成本估算:中心环节
编制一个为完成项目各活动所需要的资源成本的 近似估算
成本预算:项目进度
将总成本估算分配到各单项工作活动上
成本控制:项目跟踪
控制项目预算的变更
关于估算
估算不是很准确的,有误差的 经验(历史)数据非常重要 不要太迷信数学模型
软件项目规模
软件项目规模即工作量,是从软件项目范围 中抽出的软件功能,然后确定每个软件功能 所必须执行的一系列软件工程任务 包括:软件规划,软件管理,需求,设计, 编码,测试,以及后期的维护等任务。
规模的单位
LOC(Loc of Code)
源代码程序长度的测量
FP(Function Point)
第二节 成本估算过程
成本估算过程
估算输入
成 本 估 算 方 法
估算结果
成本估算输入
项目需求、 WBS 历史项目度量 资源要求(资源编制计划) 资源消耗率:如人员成本: 100元/小时 进度规划:项目总进度(一般是合同要求) 学习曲线
资源规划
需要的资源种类、数量等
Sample Resource Histogram for a Large IT Project
4.学习曲线理论
• 当重复作某种类似的项目时,每次项目的成本会逐步下 降;学习曲线理论认为,当作某事的次数翻倍时所花费 的时间也会以一种有规律的方式递减,可以使用回归模 拟的方式确定下降的速度。
5.收益递减规律
• 投入的资源越多,单位投入的回报率就越低,有时甚至 会呈现负增长。例如,在软件项目中,将编程人员增加 一倍,项目总共的编程时间并不会减少一半。
Technical writers Database analysts
成本估算
直接成本 间接成本
直接成本
与具体项目相关的成本
间接成本
不能具体到某个项目中的成本, 可以分摊到各个具体项目中的成本,例如:
培训 房租水电 员工福利 市场费用 管理费 其他等等
项目估算输出
估算文件
代码行(LOC)缺点
1. 对代码行没有公认的可接受的标准定义 2. 代码行数量依赖于所用的编程语言和个人的 编程风格. 3. 在项目早期,需求不稳定、设计不成熟、实现 不确定的情况下很难准确地估算代码量. 4. 代码行强调编码的工作量,只是项目实现阶段 的一部分
2、功能点
功能点度量是在需求分析阶段基于系统功能 的一种规模估计方法,该方法通过研究初始 应用需求来确定各种输入、输出、查询、外 部文件、内部文件的数目,从而确定功能数 量。
学习目标
1、软件项目规模成本的概念 2、成本估算过程 3、成本估算过程
第一节 软件项目规模成本的概念
主要内容:
一、基本概念和术语 二、成本管理过程
一、基本概念和术语
1、成本 2、成本管理 3、成本类型 4、学习曲线 5、收益递减规律
1、成本,就是为了获取商品或服务而支付的 货币总量。软件项目的成本,就是为了使软 件项目如期完成,而支付的所有费用 。软件 项目成本可以从以下两个方面来看:
用系统的功能数量来测量
人月 人天 人年
软件项目成本
完成软件规模相应付出的代价。 待开发的软件项目需要的资金。 人的劳动的消耗所需要的代价是软件产品的 主要成本
源自文库
成本的单位
货币单位
人民币元 美元 ……..
软件的规模和成本的关系
规模是成本的主要因素,是成本估算的基础 有了规模就确定了成本,