《软件工程与项目管理》第10章 软件项目管理

上传人:我*** 文档编号:133604746 上传时间:2020-05-28 格式:PPT 页数:57 大小:386KB
返回 下载 相关 举报
《软件工程与项目管理》第10章 软件项目管理_第1页
第1页 / 共57页
《软件工程与项目管理》第10章 软件项目管理_第2页
第2页 / 共57页
《软件工程与项目管理》第10章 软件项目管理_第3页
第3页 / 共57页
《软件工程与项目管理》第10章 软件项目管理_第4页
第4页 / 共57页
《软件工程与项目管理》第10章 软件项目管理_第5页
第5页 / 共57页
点击查看更多>>
资源描述

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

1、第10章软件项目管理 掌握 项目管理 项目管理的内容 人力资源管理 软件成本管理 各种软件成本估算方法 开发进度管理 Gantt图 工程网络图 软件风险管理 软件配置管理 软件文档管理 10 1软件项目管理概述 10 1 1项目 中国项目管理研究委员会对项目的定义是 项目是一个特殊的将被完成的有限任务 它是在一定时间内 满足一系列特定目标的多项相关工作的总称 根据这个定义 项目实际包含3层含义 1 项目是一项有待完成的任务 有特定的环境和要求 2 在一定的组织机构内 利用有限资源 如人力 物力 财力等 在规定的时间内 指项目有明确的开始时间和结束时间 为特定用户完成特定目标的阶段性任务 3 任

2、务要满足一定性能 质量 数量 技术指标等要求 项目就具有如下基本特性 1 项目的独特性 每一个项目在时间 目标 资源等方面的要求都是特定的 不会与其他项目完全相同 2 项目的一次性 项目的开发是各种智力活动的体现 很难再重复这一过程 3 项目的组织性 项目的开发可能需要多个人员参与 因此需要一个组织机构来协调和管理开发人员 4 项目的生命期 通常 项目至少要经过前期调研 可行性分析 实际开发 测试 验收与移交等环节 这构成了项目的完整生命周期 10 1 2项目管理 项目管理就是在项目活动中运用专门的知识 技能 工具和方法 使项目达到预期目标的过程 是以项目作为管理对象 通过一个临时性的 专门的

3、组织 对项目进行计划 组织 执行和控制 并在时间 成本 性能 质量等方面达到预期目标的一种系统管理方法 项目管理具有以下基本特征 1 项目管理的对象是项目 2 系统工程思想在项目的全过程中都得以体现 3 项目管理的组织具有一定的特殊性 4 项目管理的体制是基于团队管理的个人负责制 5 项目管理的要点是创造和保持一个使项目顺利进行的环境 使置身于这个环境的人们能在集体中协调工作以完成预定的目标 6 项目管理的方法 工具和技术手段具有先进性 10 1 3项目管理的内容 PMl编写的 项目管理知识体系 将项目管理划分为9个知识领域 即范围管理 时间管理 成本管理 质量管理 人力资源管理 沟通管理 采

4、购管理 风险管理和综合管理 中国项目管理研究委员会则将项目管理的内容概括为两个层次 4个阶段 5个过程 9大知识领域 42个要素及多个主体 1 项目层次 企业层次 项目层次 2 项目主体 业主 承包商 监理 用户 3 项目阶段 概念阶段 开发阶段 实施阶段 收尾阶段 4 基本过程 启动过程 计划过程 执行过程 控制过程 结束过程 5 知识领域 综合管理 范围管理 时间管理 成本管理 质量管理 人力资源管理 风险管理 沟通管理 采购管理 6 知识要素 项目与项目管理 项目管理的运行 通过项目进行管理 系统方法与综合 项目开发与评估 项目启动 范围与内容 项目费用与融资 效果度量 项目组织 沟通

5、项目质量管理 问题解决 业务流程 变化管理 安全健康与环境 项目背景 项目目标与策略 项目收尾 时间进度 技术状态与变化 项目日控制 团队工作 冲突与危机 项目信息学 项目后评价 人力资源开发 项目日投资体制 法律与法规 项目阶段与生命周期 项目成功与失败标准 项目结构 资源 项目风险 信息 文档与报告 领导 采购与合同 标准与规范 项目监理与监督 组织的学习 系统管理 财务与会计 10 2人力资源管理 10 2 1组织结构 图10 2软件开发的典型组织结构 10 2 2人员配置 1 项目负责人 项目经理2 总设计师3 系统分析师4 软件设计师5 软件工程师6 测试工程师7 文档管理员8 系统

6、配置人员 10 2 3沟通方式 图10 3开发小组人数 通信路径及开发效率之间的关系 图10 4组织方式对沟通方式的影响 10 3软件成本管理 10 3 1软件成本估算 软件开发成本估算主要指软件开发过程中所花费的工作量及相应的代价 不同于传统的工业产品 软件的成本不包括原材料和能源消耗 而主要是人的劳动的消耗 软件成本估算需要考虑的因素有项目所包括的工作 资源需求 资源单价 项目完成所需要的时间 已完成项目的历史资料等 10 3 2代码行估算法 代码行估算法是一种比较简单的定量估算成本的方法 它是用每行代码的平均成本乘以程序的行数来确定软件的成本 例如 某软件采用代码行估算法估算本软件的总代

7、码行数大约为5000行 根据经验 这种系统的平均生产率为750行 人月 每个人月的工资为2500元 则总的开发成本应为16667元 代码行估算法通常并不被认为是最优的方法 因为有很多因素直接影响代码的行数 10 3 3功能点估算法 功能点估算法是根据软件所提供的功能来测量工作量 通过研究需求来确定各种输入 输出 查询 文件与外部接口的数量和特性 然后将这些功能点数乘上一个反映其复杂程度的加权因子 最后累加 即可确定软件总的功能点数 同样 根据历史数据或某种计算模型可以估算出每个人月所能完成的功能点数 也可以计算出软件的人工费 功能点数可由以下4个参数计算出来 1 外部输入和输出数 2 外部接口

8、数 3 用户交互数 4 系统要用的文件数 表10 1功能点的计数 10 3 4COCOMO模型 COCOMO模型是一种精确 易于使用的 基于模型的成本估算方法 最早由勃姆 Boehm 于1981年提出 在COCOMO模型中 根据开发环境及项目规模等因素 可把项目分为以下3类 1 组织型相对较小 较简单的软件项目 对此种软件一般需求不那么苛刻 2 嵌入型该种类型的项目受到硬件 软件和操作等方面限制较多 3 半独立型对此种软件的要求介于上述两种软件之间 但软件规模和复杂性属于中等以上 为便于计算成本 COCOMO模型规定了几个基本量 1 DSI 源指令条数 定义为代码或卡片形式的源程序行数 2 M

9、M 度量单位为人月 表示开发工作量 定义1MM 19人日 152人时 1 12人年 3 TDEV 度量单位为月 表示开发进度 它由工作量决定 COCOMO模型的基本计算公式为 E A KDSI b其中 E为开发成本 A b为两个常数 其具体取值由项目的种类决定 COCOMO模型提出了3种基本形式 即初级COCOMO模型 中级COCOMO模型和高级COCOMO模型 用以确定A b的值 同时计算开发成本E 1 基本COCOMO模型 表10 3基本COCOMO模型的参数取值 2 中级COCOMO模型 表10 4中级COCOMO模型的参数取值 3 高级COCOMO模型高级COCOMO模型的工作量及进度

10、估算公式与中级COCOMO模型一致 但高级COCOMO模型引入了两种主要功能 1 阶段敏感工作权数 某些阶段 设计 编码 调试 比其他阶段有关因素的影响可能更大 高级COCOMO模型为每个因素提供了一个 阶段敏感工作权数 2 3层产品分级结构 分别是模块 子系统和系统 10 3 5Putnam模型 该模型是由美国定量软件管理公司总裁Putnam于1978年提出的 全称是定量软件管理软件成本进度模型 Putnam模型是一种动态多变量模型 软件开发所需的工作量可由以下公式计算 L Ck K1 3 td4 3其中 L是源代码行数 以LOC计 K是软件开发与维护在整个生存期所花费的工作量 以人年计 t

11、d是开发持续时间 以年计 Ck是技术状态常数 也称为 妨碍开发进展的限制 因开发环境而异 典型取值如下 1 对于差的开发环境 Ck 2500 2 对于好的开发环境 Ck 10000 3 对于有的开发环境 Ck 12500 10 3 6类比估算法 类比估算法是通过类比的方法 由估算专家根据以前类似规模 开发难度的项目来进行成本估算 如果有一个以前做过的类似项目 并且掌握它的规模 就可以把新项目的各个主要部分与原有项目的相应部分进行比较 得出一个比例关系 将各部分相对于原项目规模比例相加 计算出新项目的规模 如果估算专家的经验丰富 并且新项目与老项目具有足够的相似性 就能够得到合理的估算值 10

12、3 7累加估算法 该方法涉及单个工作的逐个估计 然后累加得到项目成本的总计 累加估计的成本和精度取决于单个工作的大小 工作划分很小 则会增加用于估算的成本和估算的精确性 此方法需要在精确性和估算成本间做出权衡 10 3 8软件成本控制 图10 5成本控制的动态过程 10 3 9效益预测与评估 1 函数求解法2 相关关系法3 模糊数学法4 专家意见法 10 4开发进度管理 10 4 1项目进度计划 在正式开发之前 可以先制订项目进度计划 编制一个项目进度计划 一般需要经过以下过程 1 确定项目目的 需要和范围 其结果要素具体说明了项目成品 期望的时间 成本和质量目标 要素范围包括用户决定的成果以

13、及产品可以接受的程度 以及可以接受的条件 2 指定的工作活动 任务或达到目标的工作被分解 下定义 并列出清单 3 创建一个项目组织 以指定部门 分包商和经理对工作活动负责 4 准备进度计划 以表明工作活动的时间安排 截止日期和里程碑 5 准备预算和资源计划 表明资源的消耗量和使用时间 以及工作活动和相关事宜的开支 6 准备各种预测 如完成项目的工期 成本和质量预测 10 4 2Gantt图 Gantt图中文为甘特图 也叫横道图 由亨利 甘特于1910年开发 它通过条状图来表示项目进度以及项目的各个活动随时间进展的情况 Gantt图表示法用横轴表示时间 纵轴表示活动 项目 用水平线段表示任务的工

14、作阶段 线段的起点和终点分别对应着任务的开工时间和结束时间 线段的长度表示完成任务所需的时间 图10 6一个软件项目开发的Gantt图表示 10 4 3工程网络图 工程网络图又称PERT图 在工程网络图中 用圆圈表示开发工程中的一项具体任务 圆圈之间的箭头表示各项任务完成的先后顺序和相互依赖关系 箭头上的数字表示完成该项具体任务所需的时间 绘制PERT图都是从终点向起点逐步倒推 根据各项任务相互之间的依赖关系画出每一项任务 直至整个工程的起点 表10 5办公楼建设项目的各项活动表 图10 7办公楼建设项目的工程网络图 10 4 4项目进度估算 软件项目进度估算是项目管理当中重要的一环 准确 合

15、理的估算是分配各项技术 人力 财力等资源的前提 由于项目的实际情况变化很大 因此要做到十分精确的进度估算比较困难 但也有一些实用的方法可供借鉴 1 根据目前完成的活动在关键路径上的位置来估算 2 根据目前完成的功能点占总功能点的多少来估算 3 在项目计划阶段 设置好里程碑 根据已完成的里程碑 估算项目进度 还有一些其他估算软件项目进度的方法 如参考历史数据法 专家估计法等 10 4 5项目追踪与控制 追踪与控制是在软件项目管理过程中实施的一项重要工作 可以用以下方式对项目进行追踪 1 定期举行项目状态会议 由每一位项目成员报告其进展及遇到的问题 2 评价在软件工程过程中产生的所有评审的结果 3

16、 确定由项目的计划进度所安排的可能选择的里程碑 4 比较在项目资源表中的每一个项目任务的实际开始时间与计划开始时间 5 与开发人员进行非正式会谈 了解他们对于开发进展与刚出现的问题的评价 10 5软件风险管理 10 5 1风险的基本概念 软件项目风险是指在软件开发过程中遇到的预算和进度等方面的问题 以及这些问题对软件项目的影响 软件项目风险会影响项目计划的实现 如果项目风险变成现实 就有可能影响项目的进度 增加项目的成本 甚至使软件项目不能实现 如果对项目进行风险管理 就可以最大限度地减少风险的发生 但是 目前国内的软件企业不太关心软件项目的风险管理 结果造成软件项目经常性的延期 超过预算 甚至失败 成功的项目管理一般都对项目风险进行了良好的管理 因此 任何一个系统开发项目都应将风险管理作为软件项目管理的重要内容 10 5 2风险识别与分类 1 需求风险2 计划编制风险3 组织和管理风险4 人员风险5 开发环境风险6 客户风险7 产品风险8 设计和实现风险9 过程风险 10 5 3风险估计 风险估计又称风险预测 常采用以下两种方法进行风险估计 一种是估计风险发生的可能性或概率 另一种是

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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