书签 分享 收藏 举报 版权申诉 / 134
上传文档赚钱

类型软件工程第13章-软件项目管理课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3219136
  • 上传时间:2022-08-07
  • 格式:PPT
  • 页数:134
  • 大小:1.65MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《软件工程第13章-软件项目管理课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    软件工程 13 软件 项目 管理 课件
    资源描述:

    1、第13章 软件项目管理 软件项目管理概述软件项目管理概述 项目估算项目估算 风险管理风险管理 进度管理进度管理 需求管理需求管理 配置管理配置管理13.1 软件项目管理概述管理目标管理目标 通常认为,项目成功的标志,也是项目管理人员通常认为,项目成功的标志,也是项目管理人员争取的目标,应该包括以下几个方面。争取的目标,应该包括以下几个方面。(1)达到项目预期的软件产品功能和性能要求达到项目预期的软件产品功能和性能要求。也就是软件。也就是软件产品达到了用户已认可的需求规格说明的要求。产品达到了用户已认可的需求规格说明的要求。(2)时限要求时限要求。项目应在合同规定的期限内完成。项目应在合同规定的

    2、期限内完成。(3)项目开销限制在预算之内项目开销限制在预算之内。软件项目管理涉及的几个主要方面是软件项目管理涉及的几个主要方面是人员人员、产品产品、过程过程和和项目项目,即所谓,即所谓4P(People、Product、Process、Project)。)。(1)人员管理)人员管理 美国卡内基美国卡内基梅隆大学软件工程研究所的梅隆大学软件工程研究所的Bill Curtis在在1994年发表了年发表了“人员管理能力成熟度模型人员管理能力成熟度模型”(people capability maturity model,P-CMM)。该模型力图通过)。该模型力图通过吸引、培养、激励、部署和骋用高水平的

    3、人才来提升软件组吸引、培养、激励、部署和骋用高水平的人才来提升软件组织的软件开发能力。织的软件开发能力。管理涉及的范围人员管理涉及:人员管理涉及:共利益者共利益者。包括:包括:项目的高级管理者项目的高级管理者负责项目商务问题的决策;负责项目商务问题的决策;项目经理项目经理负责项目的计划与实施以及开发人员的组负责项目的计划与实施以及开发人员的组织与管理;织与管理;开发人员开发人员项目开发的实施者;项目开发的实施者;客户客户提出需求并代表用户与开发人员交往的人员;提出需求并代表用户与开发人员交往的人员;最终用户最终用户直接使用项目成果(产品)的人员。直接使用项目成果(产品)的人员。团队负责人团队负

    4、责人。在小项目的情况下,项目经理就是团队负。在小项目的情况下,项目经理就是团队负责人。而大型项目也许会有若干个设计、编程团队或是若干责人。而大型项目也许会有若干个设计、编程团队或是若干个测试团队。团队负责人除去负有团队日常工作的安排、组个测试团队。团队负责人除去负有团队日常工作的安排、组织和管理之外,还应特别注意发挥团队成员的潜能。织和管理之外,还应特别注意发挥团队成员的潜能。管理涉及的范围 团队集体团队集体。团队内部有分工是必要的,但必须很好地配。团队内部有分工是必要的,但必须很好地配合,做到步调一致,为此必须强调以下合,做到步调一致,为此必须强调以下3点。点。个人的责任心,这是团队完成工作

    5、的基本条件。个人的责任心,这是团队完成工作的基本条件。互相信任、尊重以及互相支持。互相信任、尊重以及互相支持。充分的交流与沟通。充分的交流与沟通。管理涉及的范围管理涉及的范围(2)产品管理产品管理 项目经理必须在项目开始时就明确项目的以下三个目标:项目经理必须在项目开始时就明确项目的以下三个目标:产品的工作环境。产品的工作环境。产品的功能和性能。产品的功能和性能。产品工作处理的是什么数据,经它处理后得到什么数据。产品工作处理的是什么数据,经它处理后得到什么数据。只有明确了项目的这些基本要求才能着手项目管理的各项只有明确了项目的这些基本要求才能着手项目管理的各项工作,如项目估算、风险分析、项目计

    6、划的制定等。工作,如项目估算、风险分析、项目计划的制定等。(3)过程管理)过程管理 过程在软件工程项目中是重要的因素,它决定着项目中过程在软件工程项目中是重要的因素,它决定着项目中开展哪些活动以及对活动的要求和开展活动的顺序。开展哪些活动以及对活动的要求和开展活动的顺序。(4)项目管理)项目管理 项目管理的任务是如何利用已有的资源,组织实施既定项目管理的任务是如何利用已有的资源,组织实施既定的项目,提交给用户适用的产品。的项目,提交给用户适用的产品。管理涉及的范围项目管理要开展的主要工作可分为项目管理要开展的主要工作可分为3类。类。计划及计划管理计划及计划管理。包括项目策划及计划制定、项目估。

    7、包括项目策划及计划制定、项目估算、风险分析及风险管理、进度管理、计划跟踪与监督。算、风险分析及风险管理、进度管理、计划跟踪与监督。资源管理资源管理。包括人员管理(人员安排、使用)、成本管。包括人员管理(人员安排、使用)、成本管理、信息管理。理、信息管理。成果要求管理成果要求管理。包括需求管理、配置管理、质量管理。包括需求管理、配置管理、质量管理。管理涉及的范围 通常在项目的目标确定和软件基本功能确定之后,就应通常在项目的目标确定和软件基本功能确定之后,就应该着手项目计划的制定工作。该着手项目计划的制定工作。项目估算是制订计划的基项目估算是制订计划的基础和依据础和依据。项目策划与项目估算项目策划

    8、与项目估算13.2 项目估算 项目策划项目策划是项目开展初期阶段的重要工作,其主要目是项目开展初期阶段的重要工作,其主要目标是得到项目计划,或者说计划(标是得到项目计划,或者说计划(plan)是策划)是策划(planning)的结果。)的结果。13.2 项目估算 项目策划中需要开展的活动项目策划中需要开展的活动(1)确认并分析项目的特征。确认并分析项目的特征。(2)选择项目将遵循的生存期模型,确定各阶段的任务。选择项目将遵循的生存期模型,确定各阶段的任务。(3)确定应得到的阶段性工作产品以及最终的产品。确定应得到的阶段性工作产品以及最终的产品。(4)开展项目估算,包括估算产品规模、工作量、成本

    9、以及开展项目估算,包括估算产品规模、工作量、成本以及所需的关键计算机资源。所需的关键计算机资源。(5)制订项目进度计划。制订项目进度计划。(6)对项目风险进行分析。对项目风险进行分析。(7)制订项目计划。制订项目计划。在项目估算中,要在项目估算中,要解决的问题解决的问题是项目实施的几个主要属是项目实施的几个主要属性,即将要开发性,即将要开发产品的规模产品的规模(size)、项目所需的)、项目所需的工作量工作量(effort)以及)以及项目的成本项目的成本(cost)。)。13.2 项目估算(1)规模规模。项目的规模指的是得到最终软件产品的大小。项目的规模指的是得到最终软件产品的大小。一般以编程

    10、阶段完成以后得到程序的代码行表示,如以一般以编程阶段完成以后得到程序的代码行表示,如以1千千行代码行代码为单位,记为为单位,记为KLOC。当然,在项目的开始只是对代码行的估计值。另一表当然,在项目的开始只是对代码行的估计值。另一表示方法是示方法是功能点功能点,记为,记为FP,它是根据软件需求中的功能估,它是根据软件需求中的功能估算的。算的。13.2 项目估算13.2 项目估算(2)工作量工作量。项目的工作量按项目将要投入的人工来考。项目的工作量按项目将要投入的人工来考虑,以一个人工作一个月为单位,记为虑,以一个人工作一个月为单位,记为“人月人月”。(3)成本成本。软件项目的成本通常只考虑投入的

    11、人工成本,。软件项目的成本通常只考虑投入的人工成本,如某项目投入的总人工费用为如某项目投入的总人工费用为12万元。万元。l 成本计算成本计算一个软件组织在完成多个项目以后积累了一些数据,进行一个软件组织在完成多个项目以后积累了一些数据,进行成本分析后便可得到自己的生产率数值和人工价格。成本分析后便可得到自己的生产率数值和人工价格。生产率是平均每个人月完成的源程序行数,可记为生产率是平均每个人月完成的源程序行数,可记为KLOC/人月或人月或FP/人月。人月。人工价则为每人月的价值。人工价则为每人月的价值。有了这两个数值,如果在估出项目规模以后就可以很容易有了这两个数值,如果在估出项目规模以后就可

    12、以很容易得到项目的工作量和成本,即得到项目的工作量和成本,即工作量工作量=规模规模/生产率生产率成本成本=工作量工作量人工价人工价13.2 项目估算项目估算的功能点方法项目估算的功能点方法 功能点方法功能点方法(function point)简称)简称FP方法,该方法,该方法克服了项目开始时无法得知源程序行数的实方法克服了项目开始时无法得知源程序行数的实际困难,从软件产品的际困难,从软件产品的功能度功能度(functionality)出发估算出软件产品的规模。出发估算出软件产品的规模。项目估算的功能点方法项目估算的功能点方法1功能度功能度 功能点方法是以项目的需求规格说明中已经得到确认的软功能

    13、点方法是以项目的需求规格说明中已经得到确认的软件功能为依据,着重分析要开发系统的件功能为依据,着重分析要开发系统的功能度功能度,并且认为,并且认为,软件的大小与软件的功能度相关软件的大小与软件的功能度相关,而与软件功能如何描述无而与软件功能如何描述无关,也与功能需求如何设计和实现无关关,也与功能需求如何设计和实现无关。项目估算的功能点方法项目估算的功能点方法 1功能度功能度 为具体说明功能点方法,区分各种不同的功能,为具体说明功能点方法,区分各种不同的功能,需要建立应用系统边界的概念。需要建立应用系统边界的概念。应用系统边界应用系统边界把目标应用系统与用户和与其相关把目标应用系统与用户和与其相

    14、关的应用系统分割开来。的应用系统分割开来。内部功能仅限于应用系统的边界之内,而外部功内部功能仅限于应用系统的边界之内,而外部功能则是跨边界的。能则是跨边界的。l系统边界系统边界 图中系统图中系统A有有4项功能都是跨越边界的,称其为外部功能。项功能都是跨越边界的,称其为外部功能。项目估算的功能点方法项目估算的功能点方法l五种类型的功能:五种类型的功能:(1)外部输入外部输入。外部输入处理那些进入应用系统边界的数。外部输入处理那些进入应用系统边界的数据或是控制信息。经特定的逻辑处理后,形成内部逻辑文据或是控制信息。经特定的逻辑处理后,形成内部逻辑文件。件。(2)外部输出外部输出。外部输出处理离开应

    15、用系统边界的数据或。外部输出处理离开应用系统边界的数据或控制信息。控制信息。(3)内部逻辑文件内部逻辑文件。是用户可识别的逻辑相关数据或控制。是用户可识别的逻辑相关数据或控制信息组,它可在应用系统边界之内使用。内部逻辑文件代信息组,它可在应用系统边界之内使用。内部逻辑文件代表应用系统可支持的数据存储需求。表应用系统可支持的数据存储需求。项目估算的功能点方法项目估算的功能点方法l五种类型的功能:五种类型的功能:(4)外部接口文件外部接口文件。外部接口文件是用户可识别的逻辑相。外部接口文件是用户可识别的逻辑相关数据或控制信息构成的集合,该控制信息为应用系统所关数据或控制信息构成的集合,该控制信息为

    16、应用系统所使用,却被另一应用系统所支持。外部接口文件代表应用使用,却被另一应用系统所支持。外部接口文件代表应用系统外部支持的数据存储需求。系统外部支持的数据存储需求。(5)外部查询外部查询。外部查询是唯一的输入。外部查询是唯一的输入/输出组合,它为实输出组合,它为实现即时输出引起所需数据的检索,代表了应用系统查询处现即时输出引起所需数据的检索,代表了应用系统查询处理的需求。理的需求。项目估算的功能点方法项目估算的功能点方法项目估算的功能点方法项目估算的功能点方法2功能复杂性功能复杂性 软件项目每类功能的复杂程度可能各不相同,为表明功能软件项目每类功能的复杂程度可能各不相同,为表明功能复杂性的差

    17、别,将其分为复杂性的差别,将其分为简单的、中等的和复杂的简单的、中等的和复杂的3个等个等级。同时为表示其差异程度,分别给予不同的影响参数。下级。同时为表示其差异程度,分别给予不同的影响参数。下表列出了功能复杂性的影响参数值。表列出了功能复杂性的影响参数值。3未调节功能点未调节功能点 只要能够从规格说明中得到了以上只要能够从规格说明中得到了以上5种功能度的各级复杂种功能度的各级复杂性功能点的个数性功能点的个数C,不难计算出未调节功能点的值。,不难计算出未调节功能点的值。项目估算的功能点方法项目估算的功能点方法53=1=1UFP=ijijij C其中:其中:i 代表功能度类型号;代表功能度类型号;

    18、i=1,2,5;j 代表复杂性的等级;代表复杂性的等级;j1,2,3;ij是第是第i类功能度和第类功能度和第j级复杂性的影响参数,即上表级复杂性的影响参数,即上表 中第中第i行,第行,第j列的参数值;列的参数值;Cij是第是第i类功能度和第类功能度和第j级复杂度功能点的个数。级复杂度功能点的个数。4调节因子调节因子任何软件都会有其自身特性,在考虑其各种自身特性时,任何软件都会有其自身特性,在考虑其各种自身特性时,从从以下两个方面分解功能点计算的调节因子。以下两个方面分解功能点计算的调节因子。(1)影响因子影响因子。经过对各类软件的分析,综合出以下。经过对各类软件的分析,综合出以下14种种 类型

    19、的影响因子:类型的影响因子:项目估算的功能点方法项目估算的功能点方法 数据通信数据通信 分布数据处理分布数据处理 性能目标性能目标 系统配置要求系统配置要求 事务率事务率 联机数据录入联机数据录入 最终用户效率最终用户效率 联机更新联机更新 复杂的处理逻辑复杂的处理逻辑 可复用性可复用性 易安装性易安装性 易操作性易操作性 多工作场所多工作场所 设施变更设施变更(2)影响级影响级。上述影响因子对软件功能度的影响有多大必。上述影响因子对软件功能度的影响有多大必须加以区分,于是将影响因子的影响程度分为须加以区分,于是将影响因子的影响程度分为6级,即级,即 0级级 无影响无影响 1级级 微小影响微小

    20、影响 2级级 轻度影响轻度影响 3级级 中度影响中度影响 4级级 显著影响显著影响 5级级 重大影响重大影响 综合考虑综合考虑14类影响因子的影响度类影响因子的影响度N,应是将,应是将14种影响叠加种影响叠加起来,其值为起来,其值为070(145)。由此得到复杂度调节因子)。由此得到复杂度调节因子(complexity adjustment factor,CAF)CAF=0.65+0.01N其值应在其值应在0.651.35,其中基本调节常数是,其中基本调节常数是0.65,可见最大,可见最大的调节量为的调节量为35%。项目估算的功能点方法项目估算的功能点方法5交付功能点交付功能点 经过调节因子调

    21、节后的功能点值被称为经过调节因子调节后的功能点值被称为交付功能点交付功能点(delivered function point,DFP)DFP=CAFUFP6交付功能点与软件规模交付功能点与软件规模 一些研究成果表明,上述计算出的功能点的值可以代表软一些研究成果表明,上述计算出的功能点的值可以代表软件的规模,也可作为估算成本的依据。软件的规模可用件的规模,也可作为估算成本的依据。软件的规模可用交付交付的源代码行数的源代码行数(delivered lines of code,DLOC)来表)来表示。示。项目估算的功能点方法项目估算的功能点方法项目估算的功能点方法项目估算的功能点方法功能点与功能点与

    22、DLOC的对应关系如下表所示。例如,的对应关系如下表所示。例如,1 DFP相当于相当于105 DLOC(COBOL程序)程序)1 DFP相当于相当于128 DLOC(C程序)程序)7功能点方法的优点功能点方法的优点(1)DFP只与由规格说明得到的信息相关,而交付代码的只与由规格说明得到的信息相关,而交付代码的行数若不通过功能点计算是不能直接从规格说明中得到的。行数若不通过功能点计算是不能直接从规格说明中得到的。(2)DFP与实现软件的语言无关。与实现软件的语言无关。项目估算的功能点方法项目估算的功能点方法8功能点方法的不足之处功能点方法的不足之处(1)针对需求规格说明进行分析时,主观因素难以完

    23、全排)针对需求规格说明进行分析时,主观因素难以完全排除,这包括:除,这包括:对于规格说明,每人可能有不同的解释;对于规格说明,每人可能有不同的解释;对于功能度的复杂性估计也可能因人而异;对于功能度的复杂性估计也可能因人而异;CAF计算时会有主观因素。计算时会有主观因素。(2)非数据处理问题,如实时软件、系统软件、科学计算)非数据处理问题,如实时软件、系统软件、科学计算软件等功能点的上述计算方法并不适用。软件等功能点的上述计算方法并不适用。(3)DFP的计算目前尚不能借助工具自动完成。的计算目前尚不能借助工具自动完成。项目估算的功能点方法项目估算的功能点方法 1专家判定专家判定Delphi方法方

    24、法 专家判定技术就是由多位专家进行成本估算,取得多个估专家判定技术就是由多位专家进行成本估算,取得多个估算值。有多种方法把这些估算值合成一个估算值,算值。有多种方法把这些估算值合成一个估算值,Read公公司提出了司提出了Delphi技术,作为统一专家意见的方法。可得到极技术,作为统一专家意见的方法。可得到极为准确的估算值。为准确的估算值。软件开发成本估算软件开发成本估算软件开发成本估算软件开发成本估算标准标准Delphi技术的步骤:技术的步骤:组织者发给每位专家一份软件系统的规格说明书(略去名组织者发给每位专家一份软件系统的规格说明书(略去名称和单位)和一张记录估算值的表格,请他们进行估算。称

    25、和单位)和一张记录估算值的表格,请他们进行估算。专家详细研究软件规格说明书的内容,然后组织者召集专家详细研究软件规格说明书的内容,然后组织者召集小组会议,在会上,专家们与组织者一起对估算问题进行讨小组会议,在会上,专家们与组织者一起对估算问题进行讨论。论。软件开发成本估算软件开发成本估算 标准标准Delphi技术的步骤:技术的步骤:各位专家对该软件提出各位专家对该软件提出3个软件规模的估算值,即个软件规模的估算值,即ai该软件可能的最小规模(最少源代码行数);该软件可能的最小规模(最少源代码行数);mi该软件最可能的规模(最可能的源代码行数);该软件最可能的规模(最可能的源代码行数);bi该软

    26、件可能的最大规模(最多源代码行数)。该软件可能的最大规模(最多源代码行数)。无记名地填写表格,并说明做此估算的理由。无记名地填写表格,并说明做此估算的理由。标准标准Delphi技术的步骤:技术的步骤:组织者对各位专家在表中填写的估算值进行综合和分组织者对各位专家在表中填写的估算值进行综合和分类,做以下事情。类,做以下事情。计算各位专家(序号为计算各位专家(序号为i,i=1,2,n)的估算期望)的估算期望值值Ei和估算值的期望中值和估算值的期望中值E。对专家的估算结果进行分析。对专家的估算结果进行分析。软件开发成本估算软件开发成本估算软件开发成本估算软件开发成本估算标准标准Delphi技术的步骤

    27、:技术的步骤:组织者召集会议,请专家们对其估算值有很大差异之处组织者召集会议,请专家们对其估算值有很大差异之处进行讨论。专家对此估算值另做一次估算。进行讨论。专家对此估算值另做一次估算。在综合专家估算结果的基础上,组织专家再次无记名地在综合专家估算结果的基础上,组织专家再次无记名地填写表格。填写表格。从步骤到步骤适当重复几次,最终可获得一个得到多从步骤到步骤适当重复几次,最终可获得一个得到多数专家共识的软件规模(源代码行数)。数专家共识的软件规模(源代码行数)。最后,通过与历史资料进行类比,根据过去完成项目的规最后,通过与历史资料进行类比,根据过去完成项目的规模和成本等信息,推算出该软件每行源

    28、代码所需成本。然后模和成本等信息,推算出该软件每行源代码所需成本。然后再乘以该软件源代码行数的估算值,得到该软件的成本估算再乘以该软件源代码行数的估算值,得到该软件的成本估算值。值。软件开发成本估算软件开发成本估算2COCOMO模型模型软件工程专家软件工程专家Barry Boehm在其著作在其著作软件工程经济学软件工程经济学中中提出了软件估算模型层次结构,称为提出了软件估算模型层次结构,称为构造式成本模型构造式成本模型COCOMO(COnstructive Cost MOdel),也许这是在软),也许这是在软件界影响最为广泛、最为著名的估算模型。件界影响最为广泛、最为著名的估算模型。软件开发成

    29、本估算软件开发成本估算软件开发成本估算软件开发成本估算(1)3种类型的软件种类型的软件COCOMO是针对是针对Boehm划分的划分的3种类型软件进行估算的。种类型软件进行估算的。固有型(固有型(organic mode)项目)项目。规模较小,较为简单的。规模较小,较为简单的项目,开发人员对项目有较好的理解和较为丰富的工作经项目,开发人员对项目有较好的理解和较为丰富的工作经验。验。嵌入型(嵌入型(embedded mode)项目)项目。这类项目的开发工作。这类项目的开发工作紧密地与系统中的硬件、软件和运行限制联系在一起,如紧密地与系统中的硬件、软件和运行限制联系在一起,如飞机的飞行控制软件。飞机

    30、的飞行控制软件。半独立性(半独立性(semi-detached mode)项目)项目。项目的性质介。项目的性质介于上述两个类型之间,其规模与复杂性均属中等,如事务于上述两个类型之间,其规模与复杂性均属中等,如事务处理系统,数据库管理系统等。处理系统,数据库管理系统等。(2)COCOMO的的3级模型级模型 基本基本COCOMO模型模型(basic model)。)。该模型为静态、单变量,以估算出的源代码行数计算。该模型为静态、单变量,以估算出的源代码行数计算。开发工作量开发工作量 (人月)(人月)软件开发成本估算软件开发成本估算(KLOC)bbbEa其中,其中,KLOC为交付的千行代码数。为交付

    31、的千行代码数。ab、bb为模型系数。为模型系数。开发周期开发周期 (月月)系数系数 基本基本COCOMO模型系数如下表所示。模型系数如下表所示。软件开发成本估算软件开发成本估算bdbbDc d E软件开发成本估算软件开发成本估算 中级中级COCOMO模型模型(intermediate)该模型除考虑源代码行数外,还考虑调节因子(该模型除考虑源代码行数外,还考虑调节因子(EAF),),用其体现产品、软件、人员和项目等因素。用其体现产品、软件、人员和项目等因素。开发工作量开发工作量(KLOC)EAFibiEa 系数系数 软件开发成本估算软件开发成本估算 调节因子调节因子EAF(effort adju

    32、stment factor)。包含了)。包含了4类类15种属性,种属性,其值为其值为0.71.6。高级高级COCOMO模型模型(advanced)高级高级COCOMO模型除保留中级模型的因素外,还涉及软模型除保留中级模型的因素外,还涉及软件工程过程不同开发阶段的影响,以及系统层、子系统件工程过程不同开发阶段的影响,以及系统层、子系统层和模块层的差别。层和模块层的差别。软件可靠性在子系统层各开发阶段有不同的调节因子。软件可靠性在子系统层各开发阶段有不同的调节因子。软件开发成本估算软件开发成本估算13.3 风险管理 什么是软件风险什么是软件风险 风险管理的任务风险管理的任务 风险评估风险评估 风险

    33、控制风险控制13.3.1 软件风险软件风险l软件工程过程中可能出现的那些影响软件目标实现或是可软件工程过程中可能出现的那些影响软件目标实现或是可能造成重大损失的事件称为软件风险。能造成重大损失的事件称为软件风险。l在软件开发项目的最初阶段,确认需求对整个开发工作是在软件开发项目的最初阶段,确认需求对整个开发工作是至关重要的。软件开发项目经常遇到的一个严重问题就是至关重要的。软件开发项目经常遇到的一个严重问题就是用户的需求一变再变。可以说这是一个典型的软件风险。用户的需求一变再变。可以说这是一个典型的软件风险。l软件工程项目所需的主要资源是合格的人员,有不少软件软件工程项目所需的主要资源是合格的

    34、人员,有不少软件项目可能出现合格人员短缺的现象,这对于达到项目的目项目可能出现合格人员短缺的现象,这对于达到项目的目标自然构成威胁。标自然构成威胁。13.3.1 软件风险软件风险l风险的特点风险的特点可能发生的事件。风险是可能发生的事件,其发生的可能可能发生的事件。风险是可能发生的事件,其发生的可能性用风险概率来描述。性用风险概率来描述。会给项目带来损失的事件。会给项目带来损失的事件。可能对其加以干预,以期减少损失。针对每一种风险,我可能对其加以干预,以期减少损失。针对每一种风险,我们应弄清可能减少造成损失或避免损失的程度。对风险加们应弄清可能减少造成损失或避免损失的程度。对风险加以控制,采取

    35、一些有效的措施来降低风险或是消除风险。以控制,采取一些有效的措施来降低风险或是消除风险。13.3.1 软件风险软件风险l风险分类风险分类依据危害性分类依据危害性分类从危害到软件项目本身讲,软件风险可分为3类:1)成本风险。成本风险是项目预算和开销不够准确造成的。2)绩效风险。绩效风险是系统不能提供全部或某些预期效益,或是不能实现预期的软件需求。3)进度风险。进度风险关系到项目进度或项目达到指定里程碑的不确定性。13.3.1 软件风险软件风险l风险分类风险分类依据范围分类依据范围分类1)项目风险。这种风险涉及预算、成本、进度、人员的招聘和组织、资源的获取,以及顾客和需求等方面的问题。2)技术风险

    36、。技术风险威胁着开发产品的质量和交付产品的时间。技术风险会涉及设计方案、实现、接口、验证以及维护等方面的问题。3)商业风险。商业风险的发生会威胁开发软件的生命力,它会危及软件项目和产品出路。如市场风险、策略风险、管理风险、预算风险。13.3.2 风险管理的任务风险管理的任务l风险管理的目标风险管理的目标识别风险。识别风险是要找出可能的风险,对其进行分析、识别风险。识别风险是要找出可能的风险,对其进行分析、评估,并进一步对这些风险排序,以突出最为险恶的风险。评估,并进一步对这些风险排序,以突出最为险恶的风险。采取措施,把风险造成的影响降低到最小。采取措施,把风险造成的影响降低到最小。l风险管理的

    37、策略风险管理的策略回避风险。例如改变项目的某些功能或性能需求使风险不回避风险。例如改变项目的某些功能或性能需求使风险不可能发生。可能发生。转移风险。把风险转移到其他系统,或是借助购买保险将转移风险。把风险转移到其他系统,或是借助购买保险将经济损失转移,从而化险为夷。经济损失转移,从而化险为夷。承受风险,接受风险,但将风险损失控制在项目资源可承承受风险,接受风险,但将风险损失控制在项目资源可承受的范围之内。受的范围之内。13.3.2 风险管理的任务风险管理的任务l风险管理活动风险管理活动为达到风险管理的目标,必须使风险管理活动围绕着风险为达到风险管理的目标,必须使风险管理活动围绕着风险评估和风险

    38、控制开展。实施风险管理可以将其融入开发过评估和风险控制开展。实施风险管理可以将其融入开发过程,如软件开发的螺旋模型本身就包含有风险管理。程,如软件开发的螺旋模型本身就包含有风险管理。13.3.2 风险管理的任务风险管理的任务l风险管理活动风险管理活动13.3.2 风险管理的任务风险管理的任务l风险管理活动风险管理活动13.3.3 风险评估风险评估风险评估的目标是认识可能的风险,它应该是风险控制的风险评估的目标是认识可能的风险,它应该是风险控制的前提。前提。风险评估通常包括:风险识别、风险分析和风险排序风险评估通常包括:风险识别、风险分析和风险排序3个个方面的内容方面的内容13.3.3 风险评估

    39、风险评估l风险识别风险识别风险识别是风险评估的第一步。就某个特定的软件工程项风险识别是风险评估的第一步。就某个特定的软件工程项目来说,从项目的具体情况出发,列举出可能出现的风险,目来说,从项目的具体情况出发,列举出可能出现的风险,真正弄清每一可能风险的情况是风险识别的主要任务。真正弄清每一可能风险的情况是风险识别的主要任务。检查单检查单(checklist)是识别风险的有力工具。采用检查单来是识别风险的有力工具。采用检查单来识别风险是将检查单中所列举的各种风险,对照即将开发识别风险是将检查单中所列举的各种风险,对照即将开发的软件项目,逐一加以甄别,判定检查单中哪些风险在该的软件项目,逐一加以甄

    40、别,判定检查单中哪些风险在该项目中可能发生。项目中可能发生。在进行风险识别时采用访谈、调查还是会议的方式,或是在进行风险识别时采用访谈、调查还是会议的方式,或是对计划、过程和工作产品进行评审的方式,均应根据软件对计划、过程和工作产品进行评审的方式,均应根据软件项目的具体情况决定。项目的具体情况决定。13.3.3 风险评估风险评估l风险分析风险分析风险分析的任务是分析每个风险可能造成的影响,给出风风险分析的任务是分析每个风险可能造成的影响,给出风险大小的量值。险大小的量值。进行分析可以借助一些已有的模型,但也并非所有已列出进行分析可以借助一些已有的模型,但也并非所有已列出的风险都可借助模型进行分

    41、析,因此常常采用主观分析。的风险都可借助模型进行分析,因此常常采用主观分析。风险分析方法包括:风险分析方法包括:COCOMO成本模型成本模型,判定分析判定分析,网网络分析络分析,质量因子分析质量因子分析,性能分析性能分析等。等。13.3.3 风险评估风险评估l风险排序风险排序识别并分析风险将使我们初步弄清可能妨碍达到项目目标识别并分析风险将使我们初步弄清可能妨碍达到项目目标的危险事件,然而各种风险的后果会有很大的差别。的危险事件,然而各种风险的后果会有很大的差别。我们必须对其加以区别,以便把管理者的目光集中到最高我们必须对其加以区别,以便把管理者的目光集中到最高风险的事件上。这里所说的风险高低

    42、是以风险显露造成损风险的事件上。这里所说的风险高低是以风险显露造成损失的大小来衡量,损失大的风险自然应该给予更多的重视。失的大小来衡量,损失大的风险自然应该给予更多的重视。13.3.3 风险评估风险评估风险概率:风险概率:风险概率指的是风险事件出现的可能性,显然可能性大的事件其风险概率值较高。可以把各种概率值的风险划分为3类:低概率风险、中概率风险和高概率风险。13.3.3 风险评估风险评估风险影响:风险影响:不同的风险在发生时会造成多大的影响各不相同,影响的大小需要加以度量,例如可以用损失的金额数来衡量。但为了简单和直观。可以把风险影响分为4个等级,并按110来赋值。13.3.3 风险评估风

    43、险评估风险排序的步骤风险排序的步骤1)对已识别和分析了的风险估计概率的类别,判断其属于高概率风险,还是中概率风险,或是低概率风险。如有必要,给出其概率值的大小。2)评估每个风险对项目的影响级,如为低级、中级、高级或甚高级。如有必要给出其影响级的加权值。3)风险排序应根据该项目各有关风险的概率和风险影响。显然,具有高概率及高影响级的风险应该排在具有中概率和高影响级风险的前面。4)针对排序列在前几位的风险采取缓解措施和跟踪措施。13.3.3 风险评估风险评估风险显露风险显露风险对项目威胁的大小可用风险显露来表示,它既和风险概率有关,也和风险发生造成损失的大小有关。RE(R)=P(R)L(R)其中,

    44、RE(R)是风险R的发生可能给项目造成的损失;P(R)是风险R发生的概率;L(R)是风险R如果发生会造成的损失。13.3.3 风险评估风险评估风险显露风险显露计算实例:以回归测试为例。13.3.4 风险控制风险控制l风险管理策划风险管理策划风险管理策划是要针对每个已经过识别和分析认为应该受风险管理策划是要针对每个已经过识别和分析认为应该受控的风险制定风险管理计划。控的风险制定风险管理计划。按按Boehm的意见,风险管理计划主要包括以下的意见,风险管理计划主要包括以下5个方面:个方面:1)该项风险为什么重要,为什么一定要管理;2)风险管理应该能够提供什么以及什么时候提供;3)实施这些风险管理活动

    45、的责任人是谁;4)风险怎样能够得到减轻,该采取什么措施;5)需要什么资源。13.3.4 风险控制风险控制l风险化解风险化解风险化解是要实际消除风险或减轻风险。实施风险管理计风险化解是要实际消除风险或减轻风险。实施风险管理计划从根本上讲就是将风险化解。划从根本上讲就是将风险化解。为了帮助选择风险减轻的方法,必须考虑减轻风险的成本。为了帮助选择风险减轻的方法,必须考虑减轻风险的成本。我们把风险显露的损失差与风险减轻成本的比称为风险杠我们把风险显露的损失差与风险减轻成本的比称为风险杠杆杆(risk leverage)。即。即13.3.4 风险控制风险控制l风险化解风险化解印度印度Infosys公司根

    46、据许多软件项目的实践总结出公司根据许多软件项目的实践总结出10大风大风险及其相应的化解措施。险及其相应的化解措施。这这10大风险包括:大风险包括:受过技术培训的人员不足过多的需求变更需求不明确人员流失外部因素对项目决策的影响性能需求达不到要求进度计划不切实际面临新技术(软件或硬件)的挑战商业知识不足连接故障或性能迟钝13.3.4 风险控制风险控制l风险监控风险监控随时监控的必要性:随时监控的必要性:由于风险是一些概率事件,它经常依赖于外部因素。在外部因素改变以后,风险构成的威胁可能和以前的评估有很大的差别。显然,对风险的理解也要随时间改变,进而所采取的风险化解措施可能影响着对风险的认识。跟踪监

    47、控:跟踪监控:上述的风险动态特性表明,不应把项目的风险看成是静止不动的。必须定期对风险进行重新评估。13.4 进度管理 进度控制问题进度控制问题 甘特图甘特图 时标网状图时标网状图 PERT图图1值得重视的现象值得重视的现象 软件项目能否按计划的时间完成,及时提交产品是项软件项目能否按计划的时间完成,及时提交产品是项目管理的一个重要课题。我们都希望按计划及时完成,但目管理的一个重要课题。我们都希望按计划及时完成,但项目未能按预期的进度提交产品,延误工期的现象经常会项目未能按预期的进度提交产品,延误工期的现象经常会出现。我们必须重视这一现象,分析其原因,并有针对性出现。我们必须重视这一现象,分析

    48、其原因,并有针对性地地采取措施。采取措施。2制订项目进度安排的条件制订项目进度安排的条件 制订项目进度安排计划是为了实施,自然希望越准确,制订项目进度安排计划是为了实施,自然希望越准确,越符合实际越好,但是怎样才能做到这一点,需要在这以越符合实际越好,但是怎样才能做到这一点,需要在这以前做些工作,创造良好的条件,使得进度安排的确定是有前做些工作,创造良好的条件,使得进度安排的确定是有根据的。根据的。进度控制问题进度控制问题这些条件包括以下这些条件包括以下7条:条:(1)项目分解项目分解。无论多么大、多么复杂的项目都必须首先。无论多么大、多么复杂的项目都必须首先将其划分成能够管理的若干活动和若干

    49、任务,并且往往这种将其划分成能够管理的若干活动和若干任务,并且往往这种分解是多个层次的。分解是多个层次的。(2)确定各部分之间的相互关系确定各部分之间的相互关系。划分后的活动和任务按。划分后的活动和任务按项目本身的要求,必定存在着一定的相互依赖关系,如谁先项目本身的要求,必定存在着一定的相互依赖关系,如谁先谁后,或是两者应该并行互不依赖等。谁后,或是两者应该并行互不依赖等。(3)时间分配时间分配。为每项活动和任务分配需要的时间,如需。为每项活动和任务分配需要的时间,如需要多少人天的工作量。要多少人天的工作量。进度控制问题进度控制问题(4)确认投入的工作量确认投入的工作量。应确认按项目要求的人力

    50、投入工。应确认按项目要求的人力投入工作量在实际工作中能够予以满足,而不致出现某些工作阶段作量在实际工作中能够予以满足,而不致出现某些工作阶段人力投入不足的现象。人力投入不足的现象。(5)确定人员的责任确定人员的责任。(6)规定工作成果规定工作成果。任何分配的任务都应给出符合要求的。任何分配的任务都应给出符合要求的工作成果,它应该是整个项目的一个组成部分。工作成果,它应该是整个项目的一个组成部分。(7)规定里程碑规定里程碑。任何一项工作完成后需经过一定形式的。任何一项工作完成后需经过一定形式的检验,如经过评审或审核(批准)得到认可,被认为确已完检验,如经过评审或审核(批准)得到认可,被认为确已完

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:软件工程第13章-软件项目管理课件.ppt
    链接地址:https://www.163wenku.com/p-3219136.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库