软件工程课件 第十一章 软件项目管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11.2 成本估算技术
二.软件成本的估算量 源代码行(LOC) 源代码行(LOC) 机器指令行/非机器语言的执行步 机器指令行/ 开发工作量 人-月(PM) 人-年(PY) 人-日(PD) 月 ) 年 ) 日 ) 软件生产率 LOG/PM ¥/LOC ¥/PM 软件开发时间
11.2.1 专家估算模型
不可见性 不确定性 人员流动性
11.1 软件项目管理概述
随着软件的规模和复杂度的不断增大, 随着软件的规模和复杂度的不断增大 , 开发人 员的增加以及开发时间的增长, 员的增加以及开发时间的增长 , 这些都增加了软件 项目管理的难度. 项目管理的难度. 例如: 2000的开发 例如:Windows 2000的开发 是微软公司历史上 最艰巨的任务,仅核心部门的的成员就有2500 2500人 最艰巨的任务,仅核心部门的的成员就有2500人, 测试用的代码就有1000万行, 1000万行 测试用的代码就有1000万行,测试中所用到的脚本 程序就有6500 6500种 .象规模如此之大的软件系统, 程序就有6500种….象规模如此之大的软件系统, 如果没有科学的,规范的,有效的管理, 如果没有科学的,规范的,有效的管理,是不可能 成功的.因此软件项目管理成为软件工程的重要研 成功的.因此软件项目管理成为软件工程的重要研 究内容之一. 究内容之一.
COCOMO模型(Constructive Cost Model) 模型( 模型 ) 公司开发, 由 TRW公司开发 , 是由 公司开发 是由Boehm提出的结构型成本 提出的结构型成本 估算模型,其特点是精确,易用. 估算模型,其特点是精确,易用. 是一种层次模型,按照其祥细程度分为三级: 是一种层次模型,按照其祥细程度分为三级: 即基本的COCOMO模型,中间的 模型, 即基本的 模型 中间的COCOMO模型和 模型和 详细的COCOMO模型. 模型. 详细的 模型 该模型主要对工作量MM ( 单位: 该模型主要对工作量 MM( 单位 : PM) 和进 MM ) 进行估算. 度 TDEP( 单位 : 月 ) 进行估算 . 模型中考虑到估 ( 单位: 算量与开发环境有关,将开发项目分为三类: 算量与开发环境有关,将开发项目分为三类:
嵌入型( 嵌入型(Embadded)
软件, 硬件关系紧密 , 操作有限制条件 , 对接口 , 数 软件 , 硬件关系紧密,操作有限制条件,对接口, 据结构,算法要求较高.如大型复杂的事务处理系统, 据结构,算法要求较高.如大型复杂的事务处理系统,大 超大型的操作系统,军事指挥系统, 型,超大型的操作系统,军事指挥系统,航天控制系统等
3.开发所需时间
对确定规模,复杂度的软件存在一个"最佳开发时间" 对确定规模,复杂度的软件存在一个"最佳开发时间". 4.软件开发技术水平 4.软件开发技术水平 指开发方法,工具,语言等,技术水平高,效率高. 指开发方法,工具,语言等,技术水平高,效率高. 5.软件可靠性要求 可靠性要求愈高,成本愈高. 5.软件可靠性要求 — 可靠性要求愈高,成本愈高.
1977年由 年由Waiston 和 Felix 总结了 总结了IBM联合系统 年由 联合系统 分部( 60个项目的数据 分部 ( FSD) 负责的 60 个项目的数据 , 利用最小 ) 负责的60 个项目的数据, 二乘法拟合,得到如下估算公式: 二乘法拟合,得到如下估算公式: E=5.2*L 工 作 量: (PM) ) 项目持续时间: 项目持续时间: D=4.1*L (月) 人员需要量: 人员需要量: S=0.54*E (人) DOC=49*L (页) 文 档 数: 其中: 源代码行,以千行计. 其中:L _ 源代码行,以千行计.
11
第十一章
软件项目管理
11.1 软件项目管理概述
项目管理是广泛应用于各种工程, 项目管理是广泛应用于各种工程,金融等技术 管理过程,管理的好坏决定了工程的成败. 管理过程,管理的好坏决定了工程的成败. 软件及IT 行业, 尤其是软件产品的特殊性, 软件及 IT 行业 , 尤其是软件产品的特殊性 , 软件项目管理对于保证软件产品的质量具有极为重 要的作用,是决定一个产品或企业能否成功的最重 要的作用, 要的指标. 要的指标.
11.1.2 项目管理的主要活动 11.
包括: 包括: 可行性分析 软件成本估算 软件计划
软件项目的规划 人员的组织管理 软件风险管理 软件配置管理
11.1.2 项目管理的主要活动 11.
软件项目的规划 人员的组织管理 软件风险管理 软件配置管理
包括: 包括: 人员配备原则 人员配备模式 软件团队建设 软件项目沟通活动
9.5.5 COCOMO模型
11. 11.2.4 COCOMO模型 COCOMO模型
组织型(Organic) 组织型(Organic)
规模< 较简单,开发人员对产品目标理解充分, 规模<5万,较简单,开发人员对产品目标理解充分, 经验丰富,对软件开发环境熟悉. 经验丰富,对软件开发环境熟悉.大多数应用软件及老的 操作系统,编译系统属此类. 操作系统,编译系统属此类.
IBM估算模型是一种静态单变量模型,它利用已估算 估算模型是一种静态单变量模型, 估算模型是一种静态单变量模型 的结果,如源代码行,来估算各种资源的需求量. 的结果,如源代码行,来估算各种资源的需求量. 估算模型不是一种通用模型, 但 IBM 估算模型不是一种通用模型 ,因此应用中应 根据具体实际情况调整模型中的参数. 根据具体实际情况调整模型中的参数.
11. 11.1.1 软件项目管理的任务
三,软件项目管理与过程管理的关系
软件过程管理 过程定义 过程改进
项目规划 项目实施 软件项目管理
项目监控
Hale Waihona Puke Baidu
软件项目管理用于保证项目目标的成功实现, 软件项目管理用于保证项目目标的成功实现,过程管理用 于辅助项目管理,将最佳的项目实践用于软件开发过程. 于辅助项目管理,将最佳的项目实践用于软件开发过程.
11.2.3 Putnam 估算模型 估算模型
K= L
3 3 4
L= Ck K
1 3
Ck t d
系统定义 功能设计规格说明 功能设计 规格说明
td
4
3
系统开发 设计与编码
运行与维护
系统定义
测试与确认
安装 时间
大型项目的工作量分布情况
9.5.5 COCOMO模型
11. 11.2.4 COCOMO模型 COCOMO模型
td
4
3
其中: 源代码行, 所需人力( ) 其中: L—源代码行, K — 所需人力(PY) 源代码行 td— 开发时间 开发时间, CK —技术水平常数其值与开发 技术水平常数其 技术水平常数 环境有关. 环境有关.(差:2500-2000,正常:10000-8000,好: ,正常: , 12500-11000) )
MM=
cl × kloc
a
其中: 工作量( 其中: MM — 工作量(PM),KLOC — 估计的源代码行 ) Cl —模型系数,α —模型指数 . Cl, α 取决于开发项目的模 模型系数, 模型系数 模型指数 式为组织型,半独立型或嵌入型. 式为组织型,半独立型或嵌入型.
下表是根据63 个项目的数据统计结果 , 按照 基本的 下表是根据 63个项目的数据统计结果 按照基本的 63 个项目的数据统计结果, COCOMO模型估算的工作量和进度. 模型估算的工作量和进度. 模型估算的工作量和进度
11.1.2 项目管理的主要活动 11.
软件项目的规划 人员的组织管理 软件风险管理 软件配置管理
包括: 包括: 风险识别 风险分析 风险规划 风险监控
11.1.2 项目管理的主要活动 11.
是为了有效地控制 和管理软件开发过 程中的变化, 程中的变化,进行 标识, 标识,组织和控制 修改的技术. 修改的技术. 配置管理活动: 配置管理活动: 配置项的标识 版本管理 系统构建 变更控制
11.2 成本估算技术
一,影响成本估算的因素 1. 软件人员的业务水平 2. 软件产品的规模及复杂度 规模: 小型,中型 规模:按YOURDON分类法分为 超小型 小型 中型 大 分类法分为 超小型,小型 中型,大 超大型,极大型 型,超大型 极大型. 超大型 极大型. 复杂度:应用程序, 实用程序, 复杂度:应用程序, 实用程序,系统程序 低 高
软件项目的规划 人员的组织管理 软件风险管理 软件配置管理
11.2 成本估算技术
成本估算是可行性分析的重要依据, 成本估算是可行性分析的重要依据 , 也是软件 管理的重要内容,直接影响到软件开发的风险. 管理的重要内容,直接影响到软件开发的风险. 软件开发成本主要是指软件开发过程中所花费 的工作量及相应的代价,即主要是人的劳动的消耗. 的工作量及相应的代价,即主要是人的劳动的消耗. 以软件计划,需求分析,设计,编码到测试的 以软件计划,需求分析,设计, 软件开发全过程所花费的代价为依据. 软件开发全过程所花费的代价为依据. 一个大型,复杂项目,由于其项目的度, 一个大型,复杂项目,由于其项目的度,成本 估算并不是一件简单的事,必须建立相应的估算模型, 估算并不是一件简单的事,必须建立相应的估算模型, 按照一定的方法,技术来进行估算. 按照一定的方法,技术来进行估算.
11.1.1 软件项目管理的任务 11.
一,软件项目管理的"4P" 软件项目管理的"4P"
过程 (process)
工具 (tools)
技术集成 项目 (Project) 结果 产品 (Product) 人员 people) (people) 参与
自动化
11.1.1 软件项目管理的任务 11.
二,软件项目管理过程 软件项目管理, 软件项目管理,是对整个软件生存期的所有活动 进行管理.主要过程包括: 进行管理.主要过程包括: 1.项目启动 1.项目启动 确定系统范围,组建项目团队,建立项目环境. 确定系统范围,组建项目团队,建立项目环境. 2.项目规划 2.项目规划 确定项目活动,项目成本估算, 确定项目活动,项目成本估算,制定进度计划 3.项目实施 3.项目实施 监控项目执行,管理项目风险, 监控项目执行,管理项目风险,控制项目变更 4.项目收尾 4.项目收尾 项目验收,软件安装培训, 项目验收,软件安装培训,项目总结
ai+4mi+bi Li = 6 L=
1 n
n
∑L
i=1
i
其中: 其中:ai — 估计的最小行数 mi — 最可能的行数
bi — 估计的最大行数
将估算的源代码行数, 将估算的源代码行数,乘以根据经验推算的每行源代 码所需成本,即为该软件的成本. 码所需成本,即为该软件的成本.
11. 11.2.2 IBM 估算模型
总体类型 组织型 半独立型 嵌入型 工作量 MM=10.4(KLOG)1.05 ( ) MM=3.0(KLOG)1.12 ( ) MM=3.6(KLOG)1.20 ( ) 进度 TDEV=10.5(MM)0.38 ( ) TDEV=10.5(MM)0.35 ( ) TDEV=10.5(MM)0.32 ( )
即源代码行估算模型(Deiphi技术) 源代码行估算模型 Deiphi技术) 估算模型( 技术 Rand公司提出的 Deiphi技术 是由n 公司提出的Deiphi 技术, 由 Rand 公司提出的 Deiphi 技术 , 是由 n 位专家进行成本 估算.每位专家根据系统规格说明书,反复讨论给出a 估算.每位专家根据系统规格说明书,反复讨论给出ai, bi 的值,并按照下式反复估算源代码 期望值Li 源代码的 及 mi的值,并按照下式反复估算源代码的期望值Li ,期望 中值L 中值L.
11.2.3 Putnam 估算模型 估算模型
Putnam 估算 模型 是一种动态多变量模型 , 是 估算模型是一种动态多变量模型, 模型是一种动态多变量模型 根据一些大型项目中工作量的分布情况推导出来的. 根据一些大型项目中工作量的分布情况推导出来的 .
L K=
3
Ck 3 t d
L= CkK
4
1 3
半独立型 半独立型(Semidetached)
对项目要求界于上述两者之间,规模复杂度中等. 对项目要求界于上述两者之间 ,规模复杂度中等 . 如新 操作系统,大型数据库,生产控制等软件属此类. 操作系统,大型数据库,生产控制等软件属此类.
基本的COCOMO模型(静态单变量模型) 模型( ① 基本的 模型 静态单变量模型)