软件项目管理5 软件估算
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4. 成本估算(人力和软硬件成本,学习、培训、风险 和维护成本)
5. 缺陷数估算,缺陷数影响工作量和进度估算
估算改进:提供某一范围内的估算,并且随着项目的 进行,定期改进范围,以提供更高的精确度。
Software Estimation
5.2.3 Size来自百度文库Estimation
Software Estimation & Measurement
很复杂 3X6=18 0X7=0 4X6=24 3X15=45 2X10=20
5.3.3 COCOMO估算法
• COCOMO(COnstuctive COst mode)模型: 结构性成本模型
• COCOMO模型分为基本、中级模型和详细 模型
• 基本(静态单变量模型)、中级模型(静 态多变量,将系统模型分为系统和部件两 部分)、详细模型(计算公式与中间模型 相同,但其相关因子分级更细)
实际工作量
• MM= A*(kDSI)B*(f1*f2*…….*f15)
• 成本驱动因子 P96
例:一个规模为10KDSI的商用微 机远程通信嵌入软件,使用中 间COCOMO模型进行软件成本估算. 则: • 程序名义工作量
MM=3.2*(10)1.20=50.72(MM) •程序实际工作量
MM=50.72* f1 * f2 * f3…… * f15=50.72*1.17=59.34(MM)
一些组织希望在需求定义投入前就把成本估算的误差控制在10% 以内,尽管项目估算的精确程度越早达到越好,但理论上是不可能 实现的。如果真能那么早实现,精确度可以控制在2%以内。
软件开发是一个逐步细化的过程,在每个阶段,都可能做出影 响最终项目成本与进度的决策。
Software Estimation
Software Estimation & Measurement
5.3.3 COCOMO适合的软件项目
• 组织型(Organic):相对较小,简单项目 ,工作人员理解好,经验丰富,硬件相 关性小。如多数应用软件,编译程序, 老操作系统
• 嵌入型(Embadded):项目紧密联系硬件 、软件、操作。对接口,数据结构,算 法要求较高,规模任意。如航天指挥系 统
• 半独立型:介于两者间
• 开发所用的时间 TDEV=2.5*(59.34)0.32=9.23(月)
• 如果分析员与程序员的工资都按每 月6000美元计算,则该项目的开发 人员的工资总额为 59.34*6000=356030(美元)
5.1 The Software-Estimation Story
——可能细化的数量
项目成本 (工作量和成本)
项目进度
估
4.0x
算
2.0x
1.5x
收
1.25x 1.0x
敛
0.8x 0.67x
图
0.5x
0.25x
1.6x
1.25x 1.15x 1.1x 1.0x 0.9x 0.85x 0.8x
0.6x
Software Estimation
Software Estimation & Measurement
Input: 需求说明书 系统设计 对象设计 变更请求
Output: 软件规模 工作量 进度
Software Estimation
5.1 Introduction
Software Estimation & Measurement
有些估算做的很仔细,而有些却只 是凭直觉的猜测。大多数项目超过估算 进度25%到100%,但也有少数一些组织 的进度估算准确到10%以内,能控制在 5%之内的还没有听说(Jones,1994)。
软件开发的特点是变化,正因为变化所 以要计划。(根据科学的理论、过程、 经验。)
Software Estimation
程序规模:
指的是非常普通意义上的程序总的范 围。它包含功能集的深度和广度以及程 序的难度和复杂性。
规模估算的信息来源于清晰、有界限的用 户需求。
Software Estimation
Software Estimation & Measurement
5.2.3 Size Estimation ——方法
• TDEV(度量单位为月)表示开发进度,他由 工作量决定。
5.3.3 基本COCOMO公式
类型
组织 半独立 嵌入
工作量 MM=2.4(KDSI)1.05 MM=3.0(KDSI)1.12 MM=3.6(KDSI)1.20
进度 TDEV=2.5(MM)0.38 TDEV=2.5(MM)0.32 TDEV=2.5(MM)0.32
5.3.3 中间COCOMO工作量、
进度公式
公式和基本一致,只不过参数不一样,还要加上15个成本驱动因 子。
类型 工作量
进度
组织 半独立 嵌入
MM=2.8(KDSI)1.05 MM=3.0(KDSI)1.12 MM=3.2(KDSI)1.20
TDEV=2.5(MM)0.38 TDEV=2.5(MM)0.32 TDEV=2.5(MM)0.32
1. 用估算算法(功能点、特征点、对象点、 模糊逻辑、标准构建、delphi、PERT)。
2. 用规模估算软件。
3. 如果参与过类似的项目,并知道它的规 模,那么按百分比形式估算新系统每个 主要部分与旧系统相似部分的规模。每 部分的规模加起来是总规模。
Software Estimation
Software Estimation & Measurement
5.3.1 Size Estimation ——功能点估算(1984IBM方法)
面向数据库应用的项目早期估算,基于需求 说明书
(1)未调整的功能点,对每一个独立的功能进行计算: 1. 输入 2. 输出 3. 查询 4. 内部逻辑文件 5. 外部接口文件
Software Estimation
Software Estimation & Measurement
5.1The Software-Estimation Story ——软件开发是一个改进的过程
盖一幢房子要花多少钱呢?这取决于房子本身。一个新的计费系 统要花多少钱呢?这也取决于计费系统本身!
和建筑相比,软件设计没有可参考的准确的标准数据,评价估 算准确度的最常见标准:一个良好的估算方法应该在75%的时间内都 能提供与实际结果相差不超过25%的估算结果。
软件估算
5.1 估算概述
• 软件项目估算是以准确的调查资料和项 目可用资源信息为依据,对估算对象的 规模、工作量、进度和成本和缺陷进行 预测。它是项目计划的依据。
• 估算的误差大小对项目是否能成功具有 很大的决定作用,项目估算是一个逐步 细化的和准确的过程,它贯穿于整个开 发和维护过程中,而不仅是项目启动前 。
Software Estimation & Measurement
5.1 The Software-Estimation Story ——软件与建筑
一年的时间建这样一幢房子? 没问题!
太好了,那我们赶快开工吧!
Software Estimation
Software Estimation & Measurement
按上表计算未调整的功能点总数
然后根据14个对程序有影响的因素计算“影响系数”,这些因素包括数据通 信、联机数据条目、处理复杂性和安装容易度等。影响系数在0.65到1.35之间。
Software Estimation
Software Estimation & Measurement
5.3.1 Size Estimation ——功能点估算举例
计算功能点数的例子
程序功能 输入数量 输出数量 查询 内部逻辑文件 外部接口文件 未调整功能点总数 影响系数 调整后功能点总数
一般复杂 6X3=18 7X4=28 0X3=0 5X7=35 9X5=45 304 1.15 350
功能点 中等复杂 2X4=8 7X5=35 2X4=8 2X10=20 0X7=0
初始的 批准的 需求 产品设计 详细设计 产品 产品定义 产品定义 说明书 说明书 说明书 完工
Software Estimation
Software Estimation & Measurement
5.2.3,5.3 估算内容与方法
1. 估算产品规模(代码行或功能点) 2. 估算工作量(人月) 3. 估算进度(日历月份)
5.3.1 Size Estimation ——功能点估算(1984IBM方法)
(2)加权因子值:通过规则中定义好的一般系统特征针 对软件总体环境和处理过程的复杂度计算。
(3)功能点 FP(功能点)=UFC(未调整功能点计数)*TCF
(技术复杂度因子)
TCF=0.65+0.01(sum(Fi))
Software Estimation
Software Estimation & Measurement
5.3.1 Size Estimation ——功能点估算举例
程序功能 输入数量 输出数量 查询 内部逻辑文件 外部接口文件
一般复杂 X3 X4 X3 X7 X5
功能点 中等复杂 X4 X5 X4 X10 X7
很复杂 X6 X7 X6 X15 X10
5.3.3 COCOMO模型参量
• DSI(原指令条数-Size)定义为代码或卡片形式 的源代码。若一行由两个语句,算作一条指 令,包括作业控制语句,格式语句,不包括 注释语句。1KDSI=1024DSI
• MM(度量单位为人月-Effort)表示开发工作量 ,定义:1MM=19人日=152人时=1/12人年