软件工程概论(第3版)教学课件第13章 软件项目管理-new

举报
资源描述
第13章 软件项目管理软件项目管理概述软件项目管理概述项目估算项目估算风险管理风险管理进度管理进度管理需求管理需求管理配置管理配置管理质量管理质量管理13.1 软件项目管理概述管理目标管理目标通常认为,项目成功的标志,也是项目管理人员争通常认为,项目成功的标志,也是项目管理人员争取的目标,应该包括以下几个方面。取的目标,应该包括以下几个方面。(1)达到项目预期的软件产品功能和性能要求达到项目预期的软件产品功能和性能要求。也就是软件。也就是软件产品达到了用户已认可的需求规格说明的要求。产品达到了用户已认可的需求规格说明的要求。(2)时限要求时限要求。项目应在合同规定的期限内完成。项目应在合同规定的期限内完成。(3)项目开销限制在预算之内项目开销限制在预算之内。软件项目管理涉及的几个主要方面是软件项目管理涉及的几个主要方面是人员人员、产品产品、过程过程和和项目项目,即所谓,即所谓4P(People、Product、Process、Project)。)。(1)人员管理)人员管理 美国卡内基美国卡内基梅隆大学软件工程研究所的梅隆大学软件工程研究所的Bill Curtis在在1994年发表了年发表了“人员管理能力成熟度模型人员管理能力成熟度模型”(people capability maturity model,P-CMM)。该模型力图通过)。该模型力图通过吸引、培养、激励、部署和骋用高水平的人才来提升软件组吸引、培养、激励、部署和骋用高水平的人才来提升软件组织的软件开发能力。织的软件开发能力。管理涉及的范围人员管理涉及:人员管理涉及:共利益者共利益者。包括:包括:项目的高级管理者项目的高级管理者负责项目商务问题的决策;负责项目商务问题的决策;项目经理项目经理负责项目的计划与实施以及开发人员的组负责项目的计划与实施以及开发人员的组织与管理;织与管理;开发人员开发人员项目开发的实施者;项目开发的实施者;客户客户提出需求并代表用户与开发人员交往的人员;提出需求并代表用户与开发人员交往的人员;最终用户最终用户直接使用项目成果(产品)的人员。直接使用项目成果(产品)的人员。团队负责人团队负责人。在小项目的情况下,项目经理就是团队负。在小项目的情况下,项目经理就是团队负责人。而大型项目也许会有若干个设计、编程团队或是若干责人。而大型项目也许会有若干个设计、编程团队或是若干个测试团队。团队负责人除去负有团队日常工作的安排、组个测试团队。团队负责人除去负有团队日常工作的安排、组织和管理之外,还应特别注意发挥团队成员的潜能。织和管理之外,还应特别注意发挥团队成员的潜能。管理涉及的范围 团队集体团队集体。团队内部有分工是必要的,但必须很好地配。团队内部有分工是必要的,但必须很好地配合,做到步调一致,为此必须强调以下合,做到步调一致,为此必须强调以下3点。点。个人的责任心,这是团队完成工作的基本条件。个人的责任心,这是团队完成工作的基本条件。互相信任、尊重以及互相支持。互相信任、尊重以及互相支持。充分的交流与沟通。充分的交流与沟通。管理涉及的范围管理涉及的范围(2)产品管理产品管理 项目经理必须在项目开始时就明确项目的以下三个目标:项目经理必须在项目开始时就明确项目的以下三个目标:产品的工作环境。产品的工作环境。产品的功能和性能。产品的功能和性能。产品工作处理的是什么数据,经它处理后得到什么数据。产品工作处理的是什么数据,经它处理后得到什么数据。只有明确了项目的这些基本要求才能着手项目管理的各项只有明确了项目的这些基本要求才能着手项目管理的各项工作,如项目估算、风险分析、项目计划的制定等。工作,如项目估算、风险分析、项目计划的制定等。(3)过程管理)过程管理 过程在软件工程项目中是重要的因素,它决定着项目中过程在软件工程项目中是重要的因素,它决定着项目中开展哪些活动以及对活动的要求和开展活动的顺序。开展哪些活动以及对活动的要求和开展活动的顺序。(4)项目管理)项目管理 项目管理的任务是如何利用已有的资源,组织实施既定项目管理的任务是如何利用已有的资源,组织实施既定的项目,提交给用户适用的产品。的项目,提交给用户适用的产品。管理涉及的范围项目管理要开展的主要工作可分为项目管理要开展的主要工作可分为3类。类。计划及计划管理计划及计划管理。包括项目策划及计划制定、项目估。包括项目策划及计划制定、项目估算、风险分析及风险管理、进度管理、计划跟踪与监督。算、风险分析及风险管理、进度管理、计划跟踪与监督。资源管理资源管理。包括人员管理(人员安排、使用)、成本管。包括人员管理(人员安排、使用)、成本管理、信息管理。理、信息管理。成果要求管理成果要求管理。包括需求管理、配置管理、质量管理。包括需求管理、配置管理、质量管理。管理涉及的范围 通常在项目的目标确定和软件基本功能确定之后,就应通常在项目的目标确定和软件基本功能确定之后,就应该着手项目计划的制定工作。该着手项目计划的制定工作。项目估算是制订计划的基项目估算是制订计划的基础和依据础和依据。项目策划与项目估算项目策划与项目估算13.2 项目估算 项目策划项目策划是项目开展初期阶段的重要工作,其主要目是项目开展初期阶段的重要工作,其主要目标是得到项目计划,或者说计划(标是得到项目计划,或者说计划(plan)是策划)是策划(planning)的结果。)的结果。13.2 项目估算项目策划中需要开展的活动项目策划中需要开展的活动(1)确认并分析项目的特征。确认并分析项目的特征。(2)选择项目将遵循的生存期模型,确定各阶段的任务。选择项目将遵循的生存期模型,确定各阶段的任务。(3)确定应得到的阶段性工作产品以及最终的产品。确定应得到的阶段性工作产品以及最终的产品。(4)开展项目估算,包括估算产品规模、工作量、成本以及开展项目估算,包括估算产品规模、工作量、成本以及所需的关键计算机资源。所需的关键计算机资源。(5)制订项目进度计划。制订项目进度计划。(6)对项目风险进行分析。对项目风险进行分析。(7)制订项目计划。制订项目计划。在项目估算中,要在项目估算中,要解决的问题解决的问题是项目实施的几个主要属是项目实施的几个主要属性,即将要开发性,即将要开发产品的规模产品的规模(size)、项目所需的)、项目所需的工作量工作量(effort)以及)以及项目的成本项目的成本(cost)。)。13.2 项目估算(1)规模规模。项目的规模指的是得到最终软件产品的大小。项目的规模指的是得到最终软件产品的大小。一般以编程阶段完成以后得到程序的代码行表示,如以一般以编程阶段完成以后得到程序的代码行表示,如以1千千行代码行代码为单位,记为为单位,记为KLOC。当然,在项目的开始只是对代码行的估计值。另一表示当然,在项目的开始只是对代码行的估计值。另一表示方法是方法是功能点功能点,记为,记为FP,它是根据软件需求中的功能估算,它是根据软件需求中的功能估算的。的。13.2 项目估算13.2 项目估算(2)工作量工作量。项目的工作量按项目将要投入的人工来考。项目的工作量按项目将要投入的人工来考虑,以一个人工作一个月为单位,记为虑,以一个人工作一个月为单位,记为“人月人月”。(3)成本成本。软件项目的成本通常只考虑投入的人工成本,。软件项目的成本通常只考虑投入的人工成本,如某项目投入的总人工费用为如某项目投入的总人工费用为12万元。万元。l 成本计算成本计算一个软件组织在完成多个项目以后积累了一些数据,进行一个软件组织在完成多个项目以后积累了一些数据,进行成本分析后便可得到自己的生产率数值和人工价格。成本分析后便可得到自己的生产率数值和人工价格。生产率是平均每个人月完成的源程序行数,可记为生产率是平均每个人月完成的源程序行数,可记为KLOC/人月或人月或FP/人月。人月。人工价则为每人月的价值。人工价则为每人月的价值。有了这两个数值,如果在估出项目规模以后就可以很容易有了这两个数值,如果在估出项目规模以后就可以很容易得到项目的工作量和成本,即得到项目的工作量和成本,即工作量工作量=规模规模/生产率生产率成本成本=工作量工作量人工价人工价13.2 项目估算项目估算的功能点方法项目估算的功能点方法功能点方法功能点方法(function point)简称)简称FP方法,该方法,该方法克服了项目开始时无法得知源程序行数的实方法克服了项目开始时无法得知源程序行数的实际困难,从软件产品的际困难,从软件产品的功能度功能度(functionality)出发估算出软件产品的规模。出发估算出软件产品的规模。项目估算的功能点方法项目估算的功能点方法1功能度功能度 功能点方法是以项目的需求规格说明中已经得到确认的软功能点方法是以项目的需求规格说明中已经得到确认的软件功能为依据,着重分析要开发系统的件功能为依据,着重分析要开发系统的功能度功能度,并且认为,并且认为,软件的大小与软件的功能度相关软件的大小与软件的功能度相关,而与软件功能如何描述无而与软件功能如何描述无关,也与功能需求如何设计和实现无关关,也与功能需求如何设计和实现无关。项目估算的功能点方法项目估算的功能点方法1功能度功能度 为具体说明功能点方法,区分各种不同的功能,为具体说明功能点方法,区分各种不同的功能,需要建立应用系统边界的概念。需要建立应用系统边界的概念。应用系统边界应用系统边界把目标应用系统与用户和与其相关把目标应用系统与用户和与其相关的应用系统分割开来。的应用系统分割开来。内部功能仅限于应用系统的边界之内,而外部功内部功能仅限于应用系统的边界之内,而外部功能则是跨边界的。能则是跨边界的。l系统边界系统边界 图中系统图中系统A有有4项功能都是跨越边界的,称其为外部功能。项功能都是跨越边界的,称其为外部功能。项目估算的功能点方法项目估算的功能点方法l五种类型的功能:五种类型的功能:(1)外部输入外部输入。外部输入处理那些进入应用系统边界的数。外部输入处理那些进入应用系统边界的数据或是控制信息。经特定的逻辑处理后,形成内部逻辑文据或是控制信息。经特定的逻辑处理后,形成内部逻辑文件。件。(2)外部输出外部输出。外部输出处理离开应用系统边界的数据或。外部输出处理离开应用系统边界的数据或控制信息。控制信息。(3)内部逻辑文件内部逻辑文件。是用户可识别的逻辑相关数据或控制。是用户可识别的逻辑相关数据或控制信息组,它可在应用系统边界之内使用。内部逻辑文件代表信息组,它可在应用系统边界之内使用。内部逻辑文件代表应用系统可支持的数据存储需求。应用系统可支持的数据存储需求。项目估算的功能点方法项目估算的功能点方法l五种类型的功能:五种类型的功能:(4)外部接口文件外部接口文件。外部接口文件是用户可识别的逻辑相。外部接口文件是用户可识别的逻辑相关数据或控制信息构成的集合,该控制信息为应用系统所关数据或控制信息构成的集合,该控制信息为应用系统所使用,却被另一应用系统所支持。外部接口文件代表应用使用,却被另一应用系统所支持。外部接口文件代表应用系统外部支持的数据存储需求。系统外部支持的数据存储需求。(5)外部查询外部查询。外部查询是唯一的输入。外部查询是唯一的输入/输出组合,它为实输出组合,它为实现即时输出引起所需数据的检索,代表了应用系统查询处现即时输出引起所需数据的检索,代表了应用系统查询处理的需求。理的需求。项目估算的功能点方法项目估算的功能点方法项目估算的功能点方法项目估算的功能点方法2功能复杂性功能复杂性 软件项目每类功能的复杂程度可能各不相同,为表明功能软件项目每类功能的复杂程度可能各不相同,为表明功能复杂性的差别,将其分为复杂性的差别,将其分为简单的、中等的和复杂的简单的、中等的和复杂的3个等个等级。同时为表示其差异程度,分别给予不同的影响参数。下级。同时为表示其差异程度,分别给予不同的影响参数。下表列出了功能复杂性的影响参数值。表列出了功能复杂性的影响参数值。3未调节功能点未调节功能点 只要能够从规格说明中得到了以上只要能够从规格说明中得到了以上5种功能度的各级复杂种功能度的各级复杂性功能点的个数性功能点
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > 高等教育 > 大学课件


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