《计算机软件技术(软件工程7).ppt》由会员分享,可在线阅读,更多相关《计算机软件技术(软件工程7).ppt(15页珍藏版)》请在优知文库上搜索。
1、第第10章软件项目管理章软件项目管理10.1 软件的度量软件的度量10.2 软件估算模型软件估算模型 10.3 软件成本估计软件成本估计 10.4 人员的分配与组织人员的分配与组织 10.5 项目进度安排项目进度安排 10.1 软件的度量软件的度量软件度量可划分为软件度量可划分为1.1.软件项目度量:软件项目度量:目的在于改进软件产品的质量;目的在于改进软件产品的质量; 2.2.软件过程度量:软件过程度量:目的在于改进企业的软件开发过程,目的在于改进企业的软件开发过程,提高整个过程的质量。提高整个过程的质量。 一、一、项目度量的内容项目度量的内容 1. 5种基本度量种基本度量 度量度量常用单位
2、常用单位Size 规模LOC,KLOCEffort 工作量人-月Duration 时间(或Schedule 进度)月Quality 质量错误数 / KLOCCost 成本(或Rework 返工)元2. 特点特点 (1) 以代码行(以代码行(LOCLOC)表示的软件规模是最基本的度量。)表示的软件规模是最基本的度量。它直接关系到软件的成本、开发工作量和完成时间。它直接关系到软件的成本、开发工作量和完成时间。 (2)在项目度量中,所有的基本度量都是以代码行在项目度量中,所有的基本度量都是以代码行LOCLOC为基础的。例如,为基础的。例如,软件成本软件成本( (元元)=LOC)=LOC每行代码的成本
3、每行代码的成本( (行行/ /元元) )开发工作量开发工作量( (人人- -月月)=LOC/)=LOC/每人每人- -月开发的代码行(行月开发的代码行(行/ / 人人- -月)月)(3) 软件的规模、成本和工作量通常都分阶段进行度软件的规模、成本和工作量通常都分阶段进行度量。量。 3.面向功能的项目度量面向功能的项目度量 中心思想中心思想 任何软件都包含若干种功能,每种功能又包含具任何软件都包含若干种功能,每种功能又包含具有不同复杂度的若干个功能点。因此,软件的规模也有不同复杂度的若干个功能点。因此,软件的规模也可用功能点数量的多少来表示,以代替原来常用的可用功能点数量的多少来表示,以代替原来
4、常用的LOCLOC表示法。表示法。 一、一、过程度量过程度量 1. 含义含义 过程度量可以认为是对整个企业中全体项目组开过程度量可以认为是对整个企业中全体项目组开发能力的衡量。发能力的衡量。 2. 特点特点 把对于项目组中个人的度量组合起来,可形成对把对于项目组中个人的度量组合起来,可形成对项目的度量;把所有项目组的项目度量组合起来,就项目的度量;把所有项目组的项目度量组合起来,就形成了对整个企业的过程度量。形成了对整个企业的过程度量。 10.2 软件估算模型软件估算模型 估算在软件度量中占有重要的地位。一般地说,估估算在软件度量中占有重要的地位。一般地说,估算算是是在在软件软件开发之前进行开
5、发之前进行的的。资源模型资源模型可用来估算软件在开发中花费的资源可用来估算软件在开发中花费的资源。典型的资源模型:典型的资源模型:静态单变量资源模型静态单变量资源模型 PutnamPutnam资源模型资源模型 COCOMOCOCOMO模型模型 一、一、静态单变量资源模型静态单变量资源模型 1. 特点特点 这种模型在计算软件开发的资源花费时,只需要这种模型在计算软件开发的资源花费时,只需要设定被开发软件的一种参数,故称为单变量型。设定被开发软件的一种参数,故称为单变量型。 2. 形式形式 资源资源= =C1 (估计的软件特征估计的软件特征)C2 二、二、 Putnam资源模型资源模型 1. 形式
6、形式 L=L=CK K1/31/3T T4/34/3或或K=LK=L3 3/ /( (C3 3T T4 4) ) 2. 特点特点(1)Putnam模型是一种多变量资源模型模型是一种多变量资源模型。(2)Putnam模型是在同一个模型中给出了模型是在同一个模型中给出了K(或(或E)、)、L和和T三者之间的关系。三者之间的关系。(3)Putnam模型方程揭示了模型方程揭示了E与与T之间的关系。根据之间的关系。根据这一方程,开发工作量这一方程,开发工作量E与开发时间与开发时间T的四次方成反比。的四次方成反比。这表明,开发时间的小量变化,会引起开发工作量相这表明,开发时间的小量变化,会引起开发工作量相
7、当大的变化。当大的变化。 三、三、COCOMOCOCOMO模型模型 特点特点 以静态单变量模型为基础,但在下列两个方在作了以静态单变量模型为基础,但在下列两个方在作了较大的改进:较大的改进: (1) 按照软件的应用领域和复杂程度,将它们分为组按照软件的应用领域和复杂程度,将它们分为组织、半独立和嵌入三种类型,每类分别使用一组不同织、半独立和嵌入三种类型,每类分别使用一组不同的模型方程,的模型方程, (2) 在模型中增加一个工作量调节因子在模型中增加一个工作量调节因子EAFEAF,反映各种,反映各种有关因素对软件开发的影响。这些因素归结为有关因素对软件开发的影响。这些因素归结为4 4类、类、15
8、15种因子,种因子, 10.3 软件成本估计软件成本估计 资源模型是估计成本的一种手段,成本估计是软资源模型是估计成本的一种手段,成本估计是软件费用管理的核心,件费用管理的核心, 成本估计方法分为成本估计方法分为 “ “自顶自顶向下估计向下估计”、“由底由底向上估计向上估计”和和“算法模型估计算法模型估计”三类。三类。 1.自顶向下成本估计自顶向下成本估计 这类方法着眼于软件的整体。根据被开发项目的这类方法着眼于软件的整体。根据被开发项目的整体特性,首先估算出总的开发成本,然后在项目内整体特性,首先估算出总的开发成本,然后在项目内部进行成本分配。部进行成本分配。 2.由底向上成本估计由底向上成
9、本估计 不是从整体开始,而是从一个个任务单元开始。不是从整体开始,而是从一个个任务单元开始。具体作法是具体作法是: : 先将开发任务分解为许多子任务,子任先将开发任务分解为许多子任务,子任务又分成子子任务,直到每一任务单元的内容都足够务又分成子子任务,直到每一任务单元的内容都足够明确为止。然后把各个任务单元的成本估计出来,汇明确为止。然后把各个任务单元的成本估计出来,汇合成项目的总成本。合成项目的总成本。 3. 算法模型估计算法模型估计 算法模型就是资源模型,是成本估计的又一有效算法模型就是资源模型,是成本估计的又一有效工具。由于任何资源模型都是根据历史数据导出的,工具。由于任何资源模型都是根
10、据历史数据导出的,所以比较客观,计算结果的重复性也好。所以比较客观,计算结果的重复性也好。 模型估计法常与自顶向下估计或由底向上估计结模型估计法常与自顶向下估计或由底向上估计结合使用。以合使用。以COCOMOCOCOMO模型为例,使用自顶向下方法时,模型为例,使用自顶向下方法时,可以用可以用COCOMOCOCOMO模型来计算整项目的成本;如果使用由模型来计算整项目的成本;如果使用由底向上方法,又可用这一模型来计算各个任务单元的底向上方法,又可用这一模型来计算各个任务单元的成本。成本。 10.4 人员的分配与组织人员的分配与组织 1. 人员分配的计算可通过人员分配的计算可通过Rayleigh-N
11、ordenRayleigh-Norden曲线曲线实现实现2. 人员分配的两条重要的定律人员分配的两条重要的定律(1) 人员人员- -时间权衡定律时间权衡定律 (2) Brooks定律定律 3. 人员组织的结构层次人员组织的结构层次软件经理软件经理 项目经理项目经理 开发小组开发小组 4. 开发小组的组织方式开发小组的组织方式(1) 民主开发小组民主开发小组(2) 主程序员小组主程序员小组10.5 项目进度安排项目进度安排 1. 进度安排是项目管理的一个重要内容。进度安排是项目管理的一个重要内容。 2. 两种安排进度计划的方法两种安排进度计划的方法 (1) 计划评审技术计划评审技术 简称简称PERT技术技术,有时有时PERT技术也称为工程网络技术也称为工程网络技术。技术。 (2) Gantt图图Gantt图是安排软件进度计划的一有用工具。它图是安排软件进度计划的一有用工具。它以图形的方式列出了项目开发活动的进展情况。以图形的方式列出了项目开发活动的进展情况。