第11章-软件项目管理
5.指软开件发可方靠法性、要工求具—、可语靠言性等要,技求术愈水高平,高成,本效愈率高高。。20211/2/211
11.2 成本估算技术
二.软件成本的估算量 源代码行(LOC) 机器指令行/非机器语言的执行步 开发工作量 人-月(PM) 人-年(PY) 人-日(PD) 软件生产率 LOG/PM ¥/LOC ¥/PM 软件开发时间
的结果,如源代码行,来估算各种资源的需求量.
但IBM 估算模型不是一种通用模型,因此应用中应
根据具体实际情况调整模型中的参数.
15
2021/2/11
11.2.3 Putnam 估算模型
Putnam 估算模型是一种动态多变量模型,是根 据一些大型项目中工作量的分布情况推导出来的。
K=
L3
Ck3td 4
6
L=
1 n
n
Li
i 1
其中:ai — 估计的最小行数 bi — 估计的最大行数 mi — 最可能的行数
将估算的源代码行数,乘以根据经验推算的每行源代
码所需成本,即为该软件的成本。
14
2021/2/11
11.2.2 IBM 估算模型
1977年由Waiston 和 Felix 总结了IBM联合系统
13
2021/2/11
11.2.1 专家估算模型
即源代码行估算模型(Deiphi技术)
由Rand公司提出的Deiphi技术,是由n位专家进行成本估 算。每位专家根据系统规格说明书,反复讨论给出ai、 bi及 mi的值,并按照下式反复估算源代码的期望值Li ,期望中 值L。
Li =
ai+4mi+bi
程序就有6500种…。象规模如此之大的软件系统,
如果没有科学的、规范的、有效的管理,是不可能
成功的。因此软件项目管理成为软件工程的重要研
究内容之一。
3
2021/2/11
11.1.1 软件项目管理的任务
一、软件项目管理的“4P”
过程 (process)
工具 (tools)
技术集成
自动化
项目 (Project)
11
第十一章
软件项目管理
1
2021/2/11
11.1 软件项目管理概述
项目管理是广泛应用于各种工程、金融等技术 管理过程,管理的好坏决定了工程的成败。
软件及IT 行业,尤其是软件产品的特殊性,软件
项目管理对于保证软件产品的质量具有极为重要的
作用,是决定一个产品或企业能否成功的最重要的
指标。
不可见性 不确定性 人员流动性
t L=
Ck
K
1 3
d
4 3
系统定义 功能设计规格说明 系统开发
软件开发成本主要是指软件开发过程中所花费的 工作量及相应的代价,即主要是人的劳动的消耗。
以软件计划、需求分析、设计、编码到测试的软 件开发全过程所花费的代价为依据。
一个大型、复杂项目,由于其项目的度,成本估 算并不是一件简单的事,必须建立相应的估算模型, 按照一定的方法、技术来进行估算。
11
2021/2/11
辅助项目管理,将最佳的项目实践用于软件开发过程。6
2021/2/11
11.1.2 项目管理的主要活动
包括:
软件项目的规划• 可行性分析
• 软件成本估算
人员的组织管理• 软件计划
软件风险管理
软件配置管理
7
2021/2/11
11.1.2 项目管理的主要活动
软件项目的规划 包括:
人员的组织管理 • 人员配备原则
分部(FSD)负责的60个项目的数据,利用最小二
乘法拟合,得到如下估算公式:
工 作 量:
E=5.2*L (PM)
项目持续时间: D=4.1*L (月)
人员需要量: S=0.54*E (人)
文 档 数:
DOC=49*L (页)
其中:L _ 源代码行,以千行计。
IBM估算模型是一种静态单变量模型,它利用已估算
t 1
L= CkK 3
d
4 3
其中: L—源代码行, K — 所需人力(PY)
td— 开发时间, CK —技术水平常数其值与开发环
境有关。(差:2500-2000,正常:10000-8000,好:1250011000)
1模型
L3 K=
Ck3 td4
• 人员配备模式
软件风险管理 软件配置管理
• 软件团队建设 • 软件项目沟通活动
8
2021/2/11
11.1.2 项目管理的主要活动
软件项目的规划
包括:
人员的组织管理 • 风险识别
• 风险分析
软件风险管理 • 风险规划
• 风险监控
软件配置管理
9
2021/2/11
11.1.2 项目管理的主要活动
是为了有效地控制
3.项目实施
监控项目执行、管理项目风险、控制项目变更
4.项目收尾 项目验收、软件安装培训、项目总结
5
2021/2/11
11.1.1 软件项目管理的任务
三、软件项目管理与过程管理的关系
软件过程管理 过程定义
过程改进
项目规划
项目监控
软件项目管理
项目实施
软件项目管理用于保证项目目标的成功实现,过程管理用于
软件项目的规划
和管理软件开发过 程中的变化,进行标
人员的组织管理
识、组织和控制修 改的技术。
软件风险管理
配置管理活动: • 配置项的标识
• 版本管理
软件配置管理 • 系统构建
• 变更控制
10
2021/2/11
11.2 成本估算技术
成本估算是可行性分析的重要依据,也是软件管 理的重要内容,直接影响到软件开发的风险。
参与
结果
产品 (Product)
人员 (people)
4
2021/2/11
11.1.1 软件项目管理的任务
二、软件项目管理过程
软件项目管理,是对整个软件生存期的所有活动进 行管理。主要过程包括:
1.项目启动
确定系统范围、组建项目团队、建立项目环境。
2.项目规划
确定项目活动、项目成本估算、制定进度计划
2
2021/2/11
11.1 软件项目管理概述
随着软件的规模和复杂度的不断增大,开发人员 的增加以及开发时间的增长,这些都增加了软件项 目管理的难度。
例如:Windows 2000的开发 是微软公司历史上
最艰巨的任务,仅核心部门的的成员就有2500人,
测试用的代码就有1000万行,测试中所用到的脚本
11.2 成本估算技术
一、影响成本估算的因素
1. 软件人员的业务水平 2. 软件产品的规模及复杂度
规模:按YOURDON分类法分为 超小型,小型,中型, 大型,超大型,极大型。
复杂度:应用程序, 实用程序,系统程序
低 3高.开发所需时间 对确定规模、复杂度的软件存在一个”最佳开发时间” 。
4.软件开发技术水平