软件工程 第13章 软件项目管理

上传人:飞*** 文档编号:51671780 上传时间:2018-08-15 格式:PPT 页数:105 大小:1.47MB
返回 下载 相关 举报
软件工程 第13章 软件项目管理_第1页
第1页 / 共105页
软件工程 第13章 软件项目管理_第2页
第2页 / 共105页
软件工程 第13章 软件项目管理_第3页
第3页 / 共105页
软件工程 第13章 软件项目管理_第4页
第4页 / 共105页
软件工程 第13章 软件项目管理_第5页
第5页 / 共105页
点击查看更多>>
资源描述

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

1、软件工程第13章 软件项目管理1项目 罗伯特.J.格雷厄姆(美国著名学者): 因为项目是适应环境变化的普遍方式,故而 一个组织的成功与否将取决于其管理项目的 水平 项目管理权威机构PMI:项目管理协会 Project Management Institute 项目的定义(PMI):一种被承办的旨在创 造某种独特产品或服务的暂时性努力2软件项目管理 软件危机后的普遍性结论:软件项目成功 率非常低的原因可能是项目管理能力太弱 软件项目管理是指软件生存周期中软件管 理者所进行的一系列活动,其目的是在一定 的时间和预设范围内,有效地利用人力、资 源、技术和工具,使软件系统或软件产品按 原定计划和质量要

2、求如期完成 3内容摘要 软件项目管理概述 软件项目估算 项目进度管理 软件项目的组织 软件质量管理 软件配置管理 小结4内容摘要 软件项目管理概述软件项目管理概述 软件项目估算 项目进度管理 软件项目的组织 软件质量管理 软件配置管理 小结5软件项目管理 项目管理是通过项目经理和项目组织的努 力,运用系统理论的方法对项目及其资源进 行计划、组织、协调、控制,旨在实现项目 的特定目标的管理方法体系 (软件)项目管理的基本内容: 项目定义、项目计划、项目执行、项目控制 、项目结束6软件项目管理的关注点(3P/4P) 人员(People)人员是软件工程项目的基本要素和关键因素 在对人员进行组织时,有

3、必要考虑参与软件过程(及每一个软件 项目)的人员类型 产品(Product,Problem)定义项目范围,其中包括建立产品的目的和范围、可选的解决 方案、技术或管理的约束等 过程(Process) 通常将项目分解为任务子任务等,其分解准则是基于软件工程 的过程 项目(Project) 采用科学的方法及工具对项目基本内容进行管理 7软件项目管理中的五类人员 项目管理人员 负责软件项目的管理工作,其负责人通常称为项目经理 高级管理人员 可以是领域专家,负责提出项目的目标并对业务问题进行 定义 开发人员 掌握了开发一个产品或应用所需的专门技术,可胜任包括 需求分析、设计、编码、测试、发布等各种相关的

4、开发岗位 客户 一组可说明待开发软件的需求的人,也包括与项目目标有 关的其它风险承担者 最终用户 产品或应用提交后与产品/应用进行交互的8软件项目管理中的产品 定义项目范围,其中包括建立产品的目的和范 围、可选的解决方案、技术或管理的约束 目的:从客户的角度定义该产品的总体目标, 但不必考虑这些目标如何实现 软件范围定义了与软件产品相关的数据、功能 和行为,及其相关的约束: 语境(context):说明待建造的软件与其它相关系统、产品或环 境的关系,以及相关的约束条件 信息目标:说明目标系统所需要的输入数据及应产生的输出数 据 功能和性能:说明软件应提供的功能来完成输入数据到输出数 据的变换以

5、及给出对目标软件的性能要求9软件项目方法 对项目进行有计划和可控制的管理明确目标及过程:充分理解被解决的问题,明确定 义项目目标及软件范围,为项目小组及活动设置明确、 现实的目标,并充分发挥相关小组的自主性 保持动力:提供激励措施使人员变动最小 跟踪进展:对每个任务的进展进行跟踪,并对其软 件过程和质量进行度量 做出聪明的决策:项目管理者和软件小组的决策应 该 “保持其简单” 项目总结:从每个完成的项目中获取可学习的经验10软件项目管理过程示例11软件项目启动 在软件项目启动前对项目进行可行性分析,以 明确项目的目标和范围,从而确定:合理精确的 成本分析;实际可行的任务分解;可管理的进度 安排

6、 在多个项目方案中选择一个相对完善的方案 考虑交付期限、预算、个人能力、技术界面等限制条件 在正式启动软件项目前组成项目组,并召开项 目启动会议,内容包括:项目组的初步交流;进 一步对项目目标理解;对组织形式、管理方式、 方针的一致认识;明确岗位职责12项目组织 在项目经理领导下,组织不同类型的项目组成 员共同协作完成软件项目 存在多种可选的项目组织结构,组织结构的选 择对项目的成败具有很大影响 规划软件工程项目组织结构时考虑如下因素: 待解决问题的困难程度 目标系统的规模,可用代码行或功能点来度量 项目组的生存期,即项目小组需要共同工作的时间 问题可被分解的程度 对目标系统要求的质量和可靠性

7、 可供开发时间的紧迫性,即交付时间的严格程度 项目组内部的通信的复杂性,即成员(小组)之间正式或非 正式通信的机制13项目计划 项目计划是项目组织根据软件项目的目标及 范围,对项目实施中进行的各项活动进行周密 的计划 项目计划根据项目目标确定项目的各项任务 、安排任务进度、编制完成任务所需的资源预 算等 项目计划包括:工作计划、人员组织计划、 设备采购计划、变更控制计划、进度控制计划 、财务计划、文件控制计划、应急计划等14项目估算 项目估算是制定项目计划的基础 项目所需的人力(以人月为单位)、项目持续时间 (以年份或月份为单位)、成本(以元为单位)等 参照以前类似项目中的相关数据进行估算 若

8、存在类似历史项目则可进行类比估算 若缺少可类比的项目数据则采用特定的估算技 术(例如功能点估算方法等) 通常采用多种估算技术进行交叉检查15进度安排 进度安排 将项目划分成可管理的子项目、任务和活动 确定任务之间的依赖关系,找出影响项目按期 完成的关键任务 为每个任务分配时间、工作量以及指定责任人 ,定义每个任务的输出结果及其关联的里程碑 在项目实施过程中将在进度计划基础上跟 踪实际执行情况,从而及时发现偏差并采取 措施加以调整以确保项目按期完成16跟踪与控制 跟踪是控制的前提,它实际上是在项目实 施过程中对影响项目进展的内外部因素进行 及时的、连续的、系统的记录和报告的活动 ,其核心在于反映

9、项目变化、提供相关信息 的报告 控制是通过工具和技术对项目计划与实际 执行进行对比,并对项目的未来走向进行预 测,再此基础上进行项目的各种调整17软件配置管理 Software Confignation Management(SCM) 任务:标识和确定系统中的配置项,在系 统整个生命期内控制这些项的发布和变更, 记录并报告配置的状态和变更要求,验证配 置项的完整性和正确性 SCM存在于整个软件过程中,是一种保护 性活动18内容摘要 软件项目管理概述 软件项目估算 项目进度管理 软件项目的组织 软件质量管理 软件配置管理 小结19内容摘要 软件项目管理概述 软件项目估算软件项目估算 项目进度管理

10、 软件项目的组织 软件质量管理 软件配置管理 小结20软件项目估算 估算软件规模 代码行技术(KLOC) 功能点技术(FP) 工作量估算(E 人月)各种经验公式 静态单变量模型:E = f(FP), E = f(KLOC), 动态多变量模型:E = (LOC X B0.333/P)3X (1/T)4 COCOMO2模型 E = a x KLOCb xfi 21软件项目估算 常用的估算方法: 基于已经完成的类似项目进行估算,这是一种 常用的也是有效的估算方法 基于分解技术进行估算 问题分解是将一个复杂问题分解成若干个小问题 ,通过对小问题的估算得到复杂问题的估算 过程分解指先根据软件开发过程中的

11、活动(分析、 设计、编码、测试等)进行估算,然后得到整个项目的估算 值。 基于经验估算模型的估算。典型的经验估算模 型有CoCoMo模型和Putnam模型。 上述方法可以组合使用以提高估算的精度22面向规模的度量 软件规模通常是指软件的大小(size),一 般用代码行度量优点:方便、直观 缺点:很大程度上取决于程序设计语言以及软件设计的 质量 测量出软件规模后可方便地度量其它软件 属性,包括:度量名含义及表示 LOC或KLOC代码行数或千行代码数 生产率PP=LOC/E,E为开发的工作量(常用人月数表示) 每行代码平均成本CC=S/LOC,S为总成本 文档代码比DD=Pe/KLOC,其中Pe为

12、文档页数 代码错误 率EQREQR=N/KLOC,其中N为代码中错误数23面向功能的度量 一种针对软件的功能特性进行度量的方法 主要考虑软件系统的“功能性”和“实用性” 功能点度量:基于软件信息域的特征(可 直接测量)和软件复杂性进行规模度量 功能点度量方法步骤: 计算信息域特征的值CT计算复杂度调整值 计算功能点FP24计算信息域特征的值CT对五个信息域特征及其含义(上表)统计相应的特征值,然后根据信息域特征的 复杂程度选择适当的加权因子进行计算(下表),得到总计的CT值25计算复杂度调整值复杂度调整值Fi(i=1到14)是基于对左表中问题的回答而得 到的值,对每个问题回答的取值范围是0到5

13、,见右表值定义 0没有影响 1偶然的 2适中的 3普通的 4重要的 5极重要的26计算功能点FP 功能点计算公式FP= CT*(0.65+0.01*F) 其中:CT是步骤1得到的“总计数值”,F是步骤2得到的Fi之和 一旦计算出功能点,则用类似代码行的方法来 计算软件生产率、质量及其他属性27一种简单有效的估算方法 1.请若干名有经验的技术人员或管理人员,采 用上述估算办法的一种或多种,分别估算出代码行LOC或功能点FP的乐观值ai,悲观值bi及最有 可能的值mi 2.计算出平均值a,b,m 3.LOC或FP的规模估算值:e(a4mb)/6 4.根据以前该组织软件开发的平均生产率(规模 /人月

14、数)和平均成本(资金/规模)计算工作量估算 值和成本估算值 工作量估算值e/平均生产率 成本估算值e*平均成本28CoCoMo模型 Boehm提出的“构造性成本模型” Constructive Cost Model, CoCoMo29Putnam模型 一种软件项目工作量估算的动态多变量模型 他根据一些大型软件项目(30人年以上)的工作量分布情况,推 导出软件项目在软件生存周期各阶段的工作量分布,如图所示 图中的工作量分布曲线与著名的Reyleigh-norden曲线相似30内容摘要 软件项目管理概述 软件项目估算 项目进度管理项目进度管理 软件项目的组织 软件质量管理 软件配置管理 小结31项

15、目进度管理 目标:确保软件项目在规定的时间内按期完成 项目进度管理任务定义所有的项目任务以及它们之间的依赖关系 制订项目的进度安排 规划每个任务所需的工作量和持续时间 在项目开发过程中不断跟踪项目的执行情况,发现那些未按计 划进度完成的任务对整个项目工期的影响,并及时进行调整 制定进度计划的两种情况客户方都规定了明确的交付日期,此时进度安排必须在此约束 下进行 只规定了大致的时间界限,最终的交付日期由开发组织确定, 此时的进度安排可以比较灵活,工作量的分布可考虑对资源的充分利 用32指导软件项目进度安排的基本原 则 划分:项目必须被划分成若干可以管理的活动 和任务,为了实现项目的划分,对产品和过程都 需要进行分解 相互依赖性:确定各个被划分的活动或任务之 间的相互关系,有些任务必须是串行的,有些可 能是并行的 时间分配:必须为每个被调度的任务分配一定 数量的工作单位此外还必须为每个任务制定开始 和结束日期,这些日期是相互依赖的 工作量确认:确保在任意时段中分配给任务的 人员数量不会超过项目组中的人员数量33指导软件项目进度安排的基本原 则 定义责任:每个被调度的任务都应该指定 某个特定的小组成员来负责 定义结果:每个被调度的任务都应该有一 个确定的输出结果 定义里程碑:每个任务或任务组都应该

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

当前位置:首页 > 商业/管理/HR > 其它文档

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