第13章-软件项目 管理

上传人:f****u 文档编号:128699011 上传时间:2020-04-21 格式:PPT 页数:81 大小:408.50KB
返回 下载 相关 举报
第13章-软件项目 管理_第1页
第1页 / 共81页
第13章-软件项目 管理_第2页
第2页 / 共81页
第13章-软件项目 管理_第3页
第3页 / 共81页
第13章-软件项目 管理_第4页
第4页 / 共81页
第13章-软件项目 管理_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《第13章-软件项目 管理》由会员分享,可在线阅读,更多相关《第13章-软件项目 管理(81页珍藏版)》请在金锄头文库上搜索。

1、软件工程 第13章软件项目管理 软件工程 软件开发 项目管理 过程改进 关于本章目的 树立两个观念项目是要管理的项目管理有一些方法可循掌握基本原则学到一些方法 本章要点 一 软件项目管理的必要性二 软件成本估算和管理技术三 能力成熟度模型 项目管理定义 项目管理是一系列的伴随着项目的进行而进行的 目的是为了确保项目能够达到期望的结果的一系列管理行为 软件项目与传统项目 是个别和一般的关系软件项目的特点是由软件的特性和软件开发过程的特点决定的 软件项目实例 社保系统目标 实现社会保险管理的七大保险功能时间 1年资金 2 万资源 人 设备 资料等等 软件项目管理定义 软件项目管理是为了使软件项目能

2、够按照预定的成本 进度 质量顺利完成 而对成本 人员 进度 质量 风险等进行分析和管理的活动 软件项目管理现状 中国 许多非专业项目管理人员正在管理几百万到数十亿人民币的项目 项目管理思想 方法和系统在许多企业尚未建立 项目管理工具很少应用 严重拖期 超支普遍 重大事故频繁发生 90 的项目失败 项目管理的六要素 成本 组织 时间 范围 质量 目的 软件项目管理的一般过程 启动规划执行收尾 启动 规划 执行 收尾 软件项目管理的核心 软件项目管理的核心 项目规划和项目控制 基于过程的软件开发项目管理 本章要点 一 软件项目管理的必要性二 软件成本估算和管理技术三 能力成熟度模型 软件项目规划

3、软件项目规划是项目管理者对资源 成本和进度作出合理的估算 制定出切实可行的软件项目计划 软件项目规划过程确定项目的目的和范围具体说明项目的最终产品以及期望的时间 成本 质量目标分解和定义整个项目应包括的工作活动和任务估算完成该项目的规模及其所需资源制定合理的软件项目计划包括进度 成本 质量等方面的预测 软件项目规划过程 确定项目的目的和范围具体说明项目的最终产品以及期望的时间 成本 质量目标分解和定义整个项目应包括的工作活动和任务估算完成该项目的规模及其所需资源制定合理的软件项目计划包括进度 成本 质量等方面的预测 软件项目规模 软件项目规模即工作量 是从软件项目范围中抽出的软件功能 然后确定

4、每个软件功能所必须执行的一系列软件工程任务包括 软件规划 软件管理 需求 设计 编码 测试 以及后期的维护等任务 规模的单位 LOC LineofCode 源代码程序长度的测量FP FunctionPoint 用系统的功能数量来测量人月人天人年 软件的规模和成本的关系 规模是成本的主要因素 是成本估算的基础有了规模就确定了成本软件项目的规模是20人月 企业的人力资本是1万元 人月 则成本是 20 x1 20万元 成本估算定义 对完成项目所需费用的估计和计划包括预测开发一个软件系统所需要的总工作量的过程 是一种量化的结果可以有一些误差成本估算不同于项目定价贯穿于软件的生存周期 一个月的时间造这样

5、一栋房子 没问题 太好了 那我们开工吧 你当初计划10万元造的房屋可能最终的实际造价为50万元 估算的基本方法 代码行功能点类比 自顶向下 估算法自下而上估算法参数法估算法 通过度量软件代码行数进行估算 软件代码行数是度量软件规模的直观指标 对软件成本估算起一定的作用 首先将系统的功能反复分解 直到可以对为实现该功能所要求的源代码行数做出可靠的估算为止 对各子功能 根据经验数据计算其代码行成本 据此得出各子功能的成本 所有子功能的成本之和即为本系统的估算成本 代码行 LOC 从软件程序量的角度定义项目规模 要求功能分解足够详细的有一定的经验数据 类比和经验方法 与具体的编程语言有关为了使对程序

6、规模的估计值更接近实际 可采用由多名有经验的工程师分别做估算 每人给出最小规模a 最大规模b 最可能的规模m 再利用下述公式计算 L a 4m b 6 代码行技术 代码行技术是一种简单而直观的软件规模估算方法 它从过去开发类似产品的经验和历史数据出发 估算出所开发软件的代码行数 优点 简单方便 在历史数据可靠的情况下可以很快估算出比较准确的代码行数 缺点 需要依赖比较详细的功能分解 难以在开发初期进行估算 估算结果与所用开发语言紧密相关 无法适用于非过程语言 估算的基本方法 代码行功能点类比 自顶向下 估算法自下而上估算法参数法估算法 功能点 FP 估算技术 用系统的功能数量来测量其规模与实现

7、产品所使用的语言和技术没有关系的两个评估内部基本功能外部基本功能加权和量化 功能点的公式 FP UFC TCFUFC 未调整功能点计数TCF 技术复杂度因子 UFC 未调整功能点计数 功能计数项 外部输入外部输出外部查询外部文件内部文件 UFC 未调整功能点计数 功能计数项的复杂度等级 功能点计算实例 UFC TCF 技术复杂度因子 TCF 0 65 0 01 sum Fi Fi 0 5 TCF 0 65 1 35 技术复杂度因子的取值范围 功能点计算实例 FP UFC TCFUFC 301TCF 0 65 0 01 14 3 1 07Fi取值为3FP 301 1 07 322 通过软件功能点

8、进行估算的步骤 4 5 4 10 7 确定系统的五个信息域数值 各信息域数值乘以权重 总计数值 求该五项数据的和 第一步 通过软件功能点进行估算 对软件复杂度 用Fi表示 作出估算 软件复杂度的估算基于14个问题 逐一对各问题做出复杂度估计 其取值范围是0 5 没有影响 取值0 偶然的 取值1 适中的 取值2 普通的 取值3 重要的 取值4 极重要的 取值5 功能点 FP 个数 总计数值 0 65 0 01 Fi 系统需要可靠的备份和复原吗 需要数据通信吗 有分布处理功能吗 性能很关键吗 系统是否在一个已有的 很实用的操作环境中运行 系统需要联机数据项吗 联机数据项是否需要在多屏幕或多操作之间

9、切换以完成输入 需要联机更新主文件吗 输入 输出 文件或查询很复杂吗 内部处理复杂吗 代码需要被设计成可复用的吗 设计中需要包括转换及安装吗 系统的设计支持不同组织的多次安装吗 应用的设计方便用户修改和使用吗 第二步 第三步 项目成本 功能点成本 经验值 功能点个数 代码行和功能点度量之间的关系依赖于实现软件所采用的程序设计语言及设计的质量 下面给出了在不同的程序设计语言中建造一个功能点所需的平均代码行数的统计 程序设计语言LOC FP汇编语言320C128FORTRAN106Pascal90C 64Java46VisualBASIC32PowerBuilder16SQL12 功能点与代码行的

10、转换 课堂练习 计算UFC 某公司准备开发一个简单的工资系统系统生成员工的工资单 列出工资的所有收入项和纳税扣除额 并在屏幕上显示工资单 工资单的功能复杂度是 复杂 另外 系统产生7个报表 每个报表的复杂度是 简单 系统要求用户从屏幕上输入员工的基本信息 包括员工编号 基本工资 所在等级 所属部门等 和每月的考勤情况 这两个屏幕输入的复杂度为 复杂 另外 还有一个所得税信息的输入 其复杂度为 中等 系统提供20个查询 每个查询的复杂度是 简单 系统内部维护一个员工信息文件 该文件的复杂度是 复杂 系统引用了3个数据表 包括员工基本信息 部门信息和所在等级 其中员工基本信息的复杂度是 中等 其他

11、两个的复杂度是 简单 估算的基本方法 代码行功能点类比 自顶向下 估算法自下而上估算法参数法估算法 类比 定义 从项目的整体出发 进行类推 即估算人员根据以往的完成类似项目所消耗的总成本 或工作量 来推算将要开发的软件的总成本 或工作量 然后按比例将它分配到各个开发任务单元中是一种自上而下的估算形式 类比 使用情况 有类似的历史项目数据信息不足 要求不是非常精确 的时候在合同期和市场招标时在高层对任务的总的评估 类比 特点 简单易行 花费少具有一定的局限性准确性差 可能导致项目出现困难 类比 举例 证券交易网站需求类似历史数据 10万学习曲线 5 8万 估算的基本方法 代码行功能点类比 自顶向

12、下 估算法自下而上估算法参数法估算法 自下而上 定义 利用任务分解结构图 对各个具体工作包进行详细的成本估算 然后将结果累加起来得出项目总成本 自下而上 使用情况 在进入项目开始以后 WBS以后的开发阶段需要进行准确估算的时候 自下而上 特点 这种方法准确 它的准确度来源于每个任务的估算情况非常费时 估算本身也需要成本支持可能发生虚报现象 估算的基本方法 代码行功能点类比 自顶向下 估算法自下而上估算法参数法估算法 参数估算法 定义 一种使用项目特性参数建立数据模型来估算成本的方法 是一种统计技术 如回归分析和学习曲线 参考历史信息根据实际情况 对参数模型按适当比例调整模型可以简单也可以复杂

13、很少有通用性 参数估算法 使用情况 存在成熟的项目估算模型应该具有良好的数据库数据为基础目前软件企业估算很少使用通用的数学模型 参数估算法 估算单位 每个任务必须至少有一个统一的规模单位 例如KLOC FP人天 人月 人年参数 xx元 KLOC xx元 FP xx元 人天 参数估算法 特点 比较简单 而且也比较准确如果模型选择不当或者数据不准 也会导致偏差 软件成本估算模型 理论导出 不成熟阶段经验导出 软件估算常常采用 经验导出成本模型 提供工作量 规模 的直接估计通过过去项目数据 进行回归分析 得出的回归模型 经验导出成本模型 整体公式 E A B S CE 以人月表示的工作量A B C

14、经验导出的常数S 主要的输入参数 通常是LOC FP等 经验导出成本模型 续 面向LOC驱动的Walston Felix IBM E 5 2 KLOC 0 91Balley BasiliE 5 5 0 73 KLOC 1 16 COCOMOE 3 2 KLOC 1 05DotyE 5 288 KLOC 1 047 经验导出成本模型 续 面向FP驱动的AlbrechtandGaffneyE 12 39 0 0545FPKemererE 60 62 7 728 10 8FP 3Matson BarnettE 585 7 15 12FP COCOMO ConstructiveCostmodel 由B

15、arryBoehm开发的详见 www usc edu 南加州大学网站 COCOMO模型是结构性成本模型基本COCOMO 中等COCOMO高级COCOMO 基本COCOMO E ab KLOC exp bb 其中 E是所需的人力 人月 KLOC是交付的代码行ab bb是依赖于项目自然属性的参数 项目方式定义 有机式 相对较小的组在高度内部熟悉的环境中开发软件 而且开发的系统是小型的而且接口环境是灵活的 嵌入式 要开发的产品要在严格受约束的情况下操作 而且对系统的变更代价非常高 半有机式 兼有有机式和嵌入式要素 系数表 基本COCOMO 基本COCOMO模型适用于快速 早期 粗数据的软件成本估算

16、但由于缺乏对硬件约束 人员素质和经验 现代化工具和技术的使用 以及对软件成本有重大影响的其他已知项目属性之间差异因素的说明 其精度必然不高为了提高COCOMO模型估算精度 必须要考虑每个影响成本估算的因素 中等COCOMO 与基本COCOMO模型不同之处 它引入了15个成本因素 中等COCOMO E ai KLOC exp bi 乘法因子aibi是系数乘法因子是根据成本驱动属性打分的结果 对公式的校正系数 系数表 中等COCOMO的两类模型 前设计模型 EarlyDesign 知之甚少的时候初步估计后体系结构模型 Postarchitecture 需求和早期的设计完成比较精确的估计 高级COCOMO 高级COCOMO模型应用于自底向上的估算方式 首先 把系统分为系统 子系统和模块多个层次 然后 先在模块层应用估算方法得到它们的工作量 再估算子系统层 最后算出系统层的工作量 详细COCOMO模型对于生存期的各个阶段要使用不同的工作量系数高级COCOMO模型说明 其说明和处理的输入越详细 得到的估算则可能越精确 但必须要考虑为此所付出的代价也大 成本估算方法综述 主要考虑三种模型 类比法

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号