软件项目管理精选课件.ppt

上传人(卖家):晟晟文业 文档编号:5196867 上传时间:2023-02-16 格式:PPT 页数:96 大小:1.48MB
下载 相关 举报
软件项目管理精选课件.ppt_第1页
第1页 / 共96页
软件项目管理精选课件.ppt_第2页
第2页 / 共96页
软件项目管理精选课件.ppt_第3页
第3页 / 共96页
软件项目管理精选课件.ppt_第4页
第4页 / 共96页
软件项目管理精选课件.ppt_第5页
第5页 / 共96页
点击查看更多>>
资源描述

1、2精1 项目管理是广泛应用于各种工程、金融等技术项目管理是广泛应用于各种工程、金融等技术管理过程,管理的好坏决定了管理过程,管理的好坏决定了工程的成败。工程的成败。软件及软件及IT IT 行业,尤其是软件产品的特殊性,行业,尤其是软件产品的特殊性,软件项目管理对于保证软件产品的质量具有极为重软件项目管理对于保证软件产品的质量具有极为重要的作用,是决定一个产品或企业能否成功的最重要的作用,是决定一个产品或企业能否成功的最重要的指标。要的指标。不可见性不可见性不确定性不确定性人员流动性人员流动性精2 随着软件的规模和复杂度的不断增大,开发人随着软件的规模和复杂度的不断增大,开发人员的增加以及开发时

2、间的增长,这些都增加了软件员的增加以及开发时间的增长,这些都增加了软件项目管理的难度。项目管理的难度。例如:例如:Windows 2000Windows 2000的开发的开发 是微软公司历史上是微软公司历史上最艰巨的任务,仅核心部门的的成员就有最艰巨的任务,仅核心部门的的成员就有25002500人,人,测试用的代码就有测试用的代码就有10001000万行,测试中所用到的脚本万行,测试中所用到的脚本程序就有程序就有65006500种种。象规模如此之大的软件系统,。象规模如此之大的软件系统,如果没有科学的、规范的、有效的管理,是不可能如果没有科学的、规范的、有效的管理,是不可能成功的。因此成功的。

3、因此精3项目项目(Project)(Project)参与参与自动化自动化结果结果技术集成技术集成精4 软件项目管理,是对整个软件生存期的所有活动软件项目管理,是对整个软件生存期的所有活动进行管理。主要过程包括:进行管理。主要过程包括:确定系统范围、组建项目团队、建立项目环境。确定系统范围、组建项目团队、建立项目环境。确定项目活动、项目成本估算、制定进度计划确定项目活动、项目成本估算、制定进度计划 监控项目执行、管理项目风险、控制项目变更监控项目执行、管理项目风险、控制项目变更 项目验收、软件安装培训、项目总结项目验收、软件安装培训、项目总结精5过程定义过程定义过程改进过程改进项目规划项目规划项

4、目监控项目监控项目实施项目实施精6包括:包括:可行性分析可行性分析 软件项目度量软件项目度量 软件成本估算软件成本估算 软件计划软件计划精7包括:包括:人员配备原则人员配备原则 人员配备模式人员配备模式 软件团队建设软件团队建设 软件项目沟通活动软件项目沟通活动精8包括:包括:风险识别风险识别 风险分析风险分析 风险规划风险规划 风险监控风险监控精9是为了有效地控制是为了有效地控制和管理软件开发过和管理软件开发过程中的变化,进行程中的变化,进行标识、组织和控制标识、组织和控制修改的技术。修改的技术。配置管理活动:配置管理活动:配置项的标识配置项的标识 版本管理版本管理 系统构建系统构建 变更控

5、制变更控制精10软件度量软件度量软件项目度量软件项目度量软件度量分类软件度量分类精11度量、估算度量、估算 度量度量 metrics度量具有数字特征,软件工程范围的度量是软度量具有数字特征,软件工程范围的度量是软件开发过程、软件资源或软件产品简单属性的件开发过程、软件资源或软件产品简单属性的定量描述。定量描述。如,程序规模、操作符个数、程序中错误的个数如,程序规模、操作符个数、程序中错误的个数等。等。估算估算 estimation对软件产品、过程、资源进行预测对软件产品、过程、资源进行预测估算可以采用经验公式、或参考历史资料估算可以采用经验公式、或参考历史资料估算用于事前签订合同、立项、制定工

6、作计划估算用于事前签订合同、立项、制定工作计划等等精12面向规模的度量面向规模的度量 代码行数代码行数 LOC或或KLOC 生产率生产率 Pl=L/E 其中其中 L 软件项目代码行数软件项目代码行数 E 软件项目工作量(人月软件项目工作量(人月 PM)Pl 软件项目生产率(软件项目生产率(LOC/PM)代码出错率代码出错率 EQRl=Ne/L 其中其中 Ne 软件项目的代码错误数软件项目的代码错误数 EQRl 每千行代码的错误数每千行代码的错误数精13 每行代码平均成本每行代码平均成本 Cl=S/L 其中其中 S 软件项目总开销(元美元)软件项目总开销(元美元)Cl软件项目每行代码的平均成本软

7、件项目每行代码的平均成本 文档与代码比文档与代码比 Dl=Pd/L 其中其中 Pd 软件项目文档页数软件项目文档页数 Dl 每千行代码的平均文档数每千行代码的平均文档数精14例例 软件项目记录软件项目记录项目项目工作量工作量 PM成本成本万美元万美元代码行代码行kLOC文档页数文档页数 Pd错误数错误数 Ne人数人数 MAaa-012416.812.1365293Ccc-046244.027.21224865Fff-034331.420.21050646精15生产率:生产率:Pl=L/E=12.1kLoc/24PM=504Loc/PM出错率:出错率:EQRl=Ne/L=29个个/12.1kLo

8、c=2.4个个/kLoc平均成本:平均成本:Cl=S/L=168 000美元美元/12.1kLoc=13.88美元美元/Loc每千行代码的平均文档页数:每千行代码的平均文档页数:Dl=Pd/L=365Pd/12.1kLoc=30.16Pd/kLoc精16 规模度量的优缺点规模度量的优缺点用软件代码行数估算软件规模简单易行。用软件代码行数估算软件规模简单易行。缺点缺点 代码行数的估算依赖于程序设计语言的功能和表代码行数的估算依赖于程序设计语言的功能和表达能力;达能力;采用代码行估算方法会对设计精巧的软件项目产采用代码行估算方法会对设计精巧的软件项目产生不利的影响;生不利的影响;在软件项目开发前或

9、开发初期估算它的代码行数在软件项目开发前或开发初期估算它的代码行数十分困难;十分困难;代码行估算代码行估算只适用于过程式程序设计语言只适用于过程式程序设计语言,对非,对非过程式的程序设计语言不太适用等等。过程式的程序设计语言不太适用等等。精17 根据事务信息处理程序的基本功能定义的,根据事务信息处理程序的基本功能定义的,在系统设计初期可以估算出软件项目的规模在系统设计初期可以估算出软件项目的规模 FP=CT*0.65+0.01*Fi 其中:其中:CT按表按表2.1计算计算 Fi 是复杂性调节值是复杂性调节值 Fi 取值取值 0,1,.,5 当当 Fi=0 时,表示时,表示 Fi 不起作用不起作

10、用 Fi=5 时,表示时,表示 Fi 作用最大作用最大 面向功能的度量面向功能的度量精18 表表 功能点度量功能点度量测量参数测量参数 值值 权值权值用户输入数用户输入数 *4 用户输出数用户输出数 *5 用户查询数用户查询数 *4 文件数文件数 *7 外部界面数外部界面数 *7 CT 精19 表表2.1中的五个信息量按下列方式取值中的五个信息量按下列方式取值用户输入数用户输入数 用户为软件提供的输入参数个数用户为软件提供的输入参数个数用户输出数用户输出数 软件系统为用户提供的输出参数个数软件系统为用户提供的输出参数个数用户查询数用户查询数 一个联机输入确定一次查询,软件以一个联机输入确定一次

11、查询,软件以 联机输出的形式联机输出的形式,实时地产生一个响应实时地产生一个响应文件数文件数 统计逻辑的主文件个数统计逻辑的主文件个数外部界面数外部界面数 统计所有机器可读的界面,利用这些统计所有机器可读的界面,利用这些 界面可以将信息从一个系统传送到另一界面可以将信息从一个系统传送到另一 个系统个系统 精20用功能点定义相应的概念用功能点定义相应的概念 生产率:生产率:Pf=FP/E 其中其中 Pf表示每人月完成的功能点数表示每人月完成的功能点数 平均成本:平均成本:CiCi=S/FP =S/FP 其中其中 CiCi表示每功能点的平均成本表示每功能点的平均成本 文档与功能点比:文档与功能点比

12、:Di=Pd/FP Di=Pd/FP 其中其中 DiDi表示每个功能点平均具有的文档页数表示每个功能点平均具有的文档页数 代码出错率:代码出错率:EORiEORi=Ne/FP =Ne/FP 其中其中 EORiEORi表示每个功能点的平均错误个数表示每个功能点的平均错误个数精21 面向功能的度量面向功能的度量 软件规模的功能点度量没有直接涉及软件系统本软件规模的功能点度量没有直接涉及软件系统本身的算法复杂性。身的算法复杂性。1986年年Jones把软件项目中的算法复杂性因素引入把软件项目中的算法复杂性因素引入到功能点计算中来,为了避免混淆,我们把到功能点计算中来,为了避免混淆,我们把Albrec

13、ht定义的功能点称为定义的功能点称为简单功能点简单功能点,用,用FPs表表示,把示,把Jones推广的功能点称为推广的功能点称为功能点功能点,用,用FP表示。表示。推广的功能点包括计算机程序中用于各类问题求推广的功能点包括计算机程序中用于各类问题求解的算法因素,如求解线性代数方程组、遍历二解的算法因素,如求解线性代数方程组、遍历二叉树的各个结点、处理中断等等。叉树的各个结点、处理中断等等。功能点计算仍用上面的公式功能点计算仍用上面的公式,其中其中CT按表按表2.2计算。计算。精22 表表 推广的推广的功能点度量功能点度量 测量参数测量参数 值值 权值权值用户输入数用户输入数 *4 用户输出数用

14、户输出数 *5 用户查询数用户查询数 *4 文件数文件数 *7 外部界面数外部界面数 *7 算法算法 *3 CT 对一般的工程计算或事务处理软件,用表对一般的工程计算或事务处理软件,用表2.1和表和表2.2两两种方法计算出来的种方法计算出来的FP值应该基本上相同值应该基本上相同 对于比较复杂的软件系统对于比较复杂的软件系统 FP比比FPs的值高的值高20%35%精23 面向功能的度量的优缺点面向功能的度量的优缺点优点优点与程序设计语言无关,与程序设计语言无关,它不仅适用于过程式语它不仅适用于过程式语言,也适用于非过程式的语言言,也适用于非过程式的语言;软件项目开发初期就能基本上确定系统的输入、

15、软件项目开发初期就能基本上确定系统的输入、输出等参数,功能点度量能用于软件项目的开输出等参数,功能点度量能用于软件项目的开发初期。发初期。缺点缺点它涉及到的主观因素比较多,如各种权函数的它涉及到的主观因素比较多,如各种权函数的取值;取值;信息领域中的某些数据有时不容易采集;信息领域中的某些数据有时不容易采集;FPFP的值没有直观的物理意义。的值没有直观的物理意义。精24代码行度量与功能点度量的比较代码行度量与功能点度量的比较 代码行度量依赖于程序设计语言,而功能点度代码行度量依赖于程序设计语言,而功能点度量不依赖于程序设计语言。量不依赖于程序设计语言。Albrecht和和Jones等人对若干软

16、件采用事后处理等人对若干软件采用事后处理的方式分别统计出不同程序设计语言每个功能的方式分别统计出不同程序设计语言每个功能点与代码行数的关系,用点与代码行数的关系,用LOC/FP的平均值表示。的平均值表示。表表2.3表明,表明,一行一行Ada语言代码的语言代码的“功能功能”平均平均是一行是一行FORTRAN语言代码语言代码“功能功能”的的1.4倍。倍。一行四代语言代码的一行四代语言代码的“功能功能”平均是一行传统平均是一行传统程序设计语言代码程序设计语言代码“功能功能”的的3至至5倍。倍。精25 表表 各种语言的各种语言的LOC/FP(平均值平均值)程序设计语言程序设计语言 LOC/FP(平均值

17、平均值)汇编语言汇编语言 300COBOL 100FORTRAN 100Pascal 90Ada 70面向对象的语言面向对象的语言 30四代语言四代语言(4GL)20代码生成器代码生成器 15 精26软件复杂性度量软件复杂性度量1976年年 T.J.McCabe McCabeMcCabe度量法又称环路复杂性度量度量法又称环路复杂性度量,基于程序控制基于程序控制结构的软件复杂性度量模型。结构的软件复杂性度量模型。程序控制结构图程序控制结构图 程序结构对应于有一个入口结点和一个出口结点的有向图程序结构对应于有一个入口结点和一个出口结点的有向图 图中每个结点对应一个语句或一个顺序流程的程序代码块图中

18、每个结点对应一个语句或一个顺序流程的程序代码块 弧对应于程序中的转移弧对应于程序中的转移 它它,因此计算它,因此计算它先要画出程序图。先要画出程序图。程序图是退化的程序流程图。流程图中每个处理都退化成程序图是退化的程序流程图。流程图中每个处理都退化成一个结点,流线变成连接不同结点的有向弧。一个结点,流线变成连接不同结点的有向弧。精27McCabeMcCabe度量法度量法 McCabe用程序控制结构图的用程序控制结构图的巡回秩数巡回秩数V(G)作为程序结构复杂性的度量作为程序结构复杂性的度量 V(G)=e-n+2 其中:其中:e为结构图的边数为结构图的边数 n为结构图的结点数为结构图的结点数 可

19、以证明可以证明 V(G)等于结构图中有界或无界的等于结构图中有界或无界的封闭区域个数封闭区域个数精28例例 计算计算程序控制结构的程序控制结构的V(G)值值E=1 E=3N=2 N=3V=1 V=2精29计算计算程序控制结构的程序控制结构的V(G)值值E=4 E=3N=4 N=3V=2 V=2精30计算计算程序控制结构的程序控制结构的V(G)值值E=6N=5V=3精31例例2.1 计算如图所示程序控制结构图的计算如图所示程序控制结构图的V(G)值。值。(a)e=1,n=2,v=1;(b)e=3,n=3,v=2;(c)e=4,n=4,v=2;(d)e=3,n=3,v=2;(e)e=6,n=5,v

20、=3.精32 这种度量的缺点是:这种度量的缺点是:对于不同种类的控制流的复杂性不能区分对于不同种类的控制流的复杂性不能区分 简单简单IF语句语句与与循环语句循环语句的复杂性同等看待的复杂性同等看待 嵌套嵌套IF语句语句与与简单简单CASE语句语句的复杂性是的复杂性是一样的一样的 模块间接口模块间接口当成当成一个简单分支一个简单分支一样处理一样处理 一个一个具有具有1000行的顺序程序行的顺序程序与与一行语句一行语句的的复杂性相同复杂性相同精33软件项目估算软件项目估算常用的估算方法常用的估算方法参照已经完成的类似项目估算待开发项目的成本和工作参照已经完成的类似项目估算待开发项目的成本和工作量。

21、量。将大的项目分解成若干子项目,在估算出每个子项目成将大的项目分解成若干子项目,在估算出每个子项目成本和工作量之后,再估算整个项目。本和工作量之后,再估算整个项目。将软件项目按软件生存周期分解,分别估算出软件项目将软件项目按软件生存周期分解,分别估算出软件项目在软件开发各个阶段的工作量和成本,然后再把这些工在软件开发各个阶段的工作量和成本,然后再把这些工作量和成本汇总估算整个项目。作量和成本汇总估算整个项目。根据实验或历史数据给出软件项目工作量或成本的经验根据实验或历史数据给出软件项目工作量或成本的经验估算公式。估算公式。精34 四种方法可以同时、单独或组合使用,以便取长四种方法可以同时、单独

22、或组合使用,以便取长补短,提高项目估算的精度和可靠性。补短,提高项目估算的精度和可靠性。采用采用分解技术分解技术估算软件项目应考虑系统集成时需估算软件项目应考虑系统集成时需要的工作量。要的工作量。为了实现软件项目估算,实践中开发了大量的软为了实现软件项目估算,实践中开发了大量的软件项目件项目自动估算工具自动估算工具,用以支持软件工作量或成,用以支持软件工作量或成本估算。本估算。精35 分解技术分解技术采用采用”分而治之分而治之”的策略进行软件项目估算的策略进行软件项目估算.将项目将项目分解为若干个主要的功能及相关的软件工程活动分解为若干个主要的功能及相关的软件工程活动,通过逐步求精的方式进行成

23、本及工作量估算。通过逐步求精的方式进行成本及工作量估算。经验估算模型经验估算模型可用于补充分解技术可用于补充分解技术 自动估算工具自动估算工具实现一种或多种分解技术或经验模型,与人机交互实现一种或多种分解技术或经验模型,与人机交互结合,自动估算将是很好的选择。结合,自动估算将是很好的选择。精36代码行、功能点和工作量估算代码行、功能点和工作量估算 软件项目的规模是影响软件项目成本和工作量的软件项目的规模是影响软件项目成本和工作量的重要因素。重要因素。软件项目软件项目代码行和功能点估算是成本和工作量估代码行和功能点估算是成本和工作量估算的基础。算的基础。采用上面的估算方法可以估算出采用上面的估算

24、方法可以估算出LOCLOC或或FPFP的的乐观值乐观值a a,悲观值悲观值b b和和一般值一般值m m,然后根据下列加权公式计,然后根据下列加权公式计算出期望值算出期望值 e=(ae=(a4m4mb)b)6 6 希望希望LOCLOC或或FPFP的值落在区间的值落在区间a,ba,b之外的概率极小之外的概率极小 精37 当当LOC或或FP的期望值估算出来之后,根据以前软的期望值估算出来之后,根据以前软件项目开发的平均生产率件项目开发的平均生产率LOC/PM或或FP/PM就可就可以计算出工作量。以计算出工作量。如,软件项目的规模估算为如,软件项目的规模估算为310FP,以前完成的,以前完成的软件项目

25、的生产率为软件项目的生产率为5.5FP/PM,于是工作量估算,于是工作量估算为为E=310/5.5=56PM。精38估算计算机辅助设计软件项目估算计算机辅助设计软件项目将将CAD项目按功能分解为七个子项目项目按功能分解为七个子项目用户界面和控制;用户界面和控制;二维几何分析;二维几何分析;三维几何分析;三维几何分析;数据库管理;数据库管理;计算机图形显示;计算机图形显示;外设控制;外设控制;设计分析。设计分析。表表2.4给出七个子项目代码行的乐观估计、悲观给出七个子项目代码行的乐观估计、悲观计和一般估计值,然后计算出加权平均值。计和一般估计值,然后计算出加权平均值。精39估算计算机辅助设计软件

26、项目估算计算机辅助设计软件项目 分析七个子项目的规模复杂性和难度,参照以分析七个子项目的规模复杂性和难度,参照以前开发类似项目的经验给出开发每行代码的平均成前开发类似项目的经验给出开发每行代码的平均成本,每月开发的代码行数。本,每月开发的代码行数。用这两组数据计算出七个子项目的开发成本和用这两组数据计算出七个子项目的开发成本和工作量。工作量。最后汇总的最后汇总的CADCAD软件开发项目软件开发项目 规模为规模为 33360 LOC33360 LOC 成本为成本为 656680$656680$工作量为工作量为 144.5 PM144.5 PM。精40 再用这两种方法分别估算软件开发子项目在软件再

27、用这两种方法分别估算软件开发子项目在软件工程各个阶段的工作量,估算结果列入表工程各个阶段的工作量,估算结果列入表2.5。两种方法估算的工作量分别为两种方法估算的工作量分别为144.5PM和和152.5PM,相差,相差5%左右。左右。估算的成本分别为估算的成本分别为656680$和和708075$,相差,相差7%左右。左右。两种方法估算的工作量和成本基本一致。两种方法估算的工作量和成本基本一致。精41表表 代码行和成本、工作量估算代码行和成本、工作量估算 功能功能 乐观乐观 一般一般 悲观悲观 加权加权$LOC 成本成本 工作量工作量 LOC LOC LOC 平均平均 /LOC /PM (人月人

28、月)用户界面控制用户界面控制1790 2400 2650 2340 14 315 32760 7.4 二维几何分析二维几何分析4080 5200 7400 5380 20 220 107600 24.4三维几何分析三维几何分析4600 6900 8600 6800 20 220 136000 30.9数据库管理数据库管理 2900 3400 3600 3350 18 240 60300 13.9图形显示图形显示 3900 4900 6200 4950 22 200 108900 24.7外设控制外设控制 1990 2100 2450 2140 28 140 59920 15.2设计分析设计分析

29、 6600 8500 9800 8400 18 300 151200 28.0总计总计 33360 656680 144.5精42 表表 工作量估算工作量估算 功能功能 需求分析需求分析 设计设计 编码编码 测试测试 总计总计 用户界面控制用户界面控制 1.0 2.0 0.5 3.5 7二维几何分析二维几何分析 2.0 10.0 4.5 9.5 26三维几何分析三维几何分析 2.5 12.0 6.0 11.0 31.5数据库管理数据库管理 2.0 6.0 3.0 4.0 15计算机图形显示计算机图形显示 1.5 11.0 4.0 10.5 27外设控制外设控制 1.5 6.0 3.5 5.0

30、16设计分析设计分析 4.0 14.0 5.0 7.0 30总计总计(人月人月)14.5 61 26.5 50.5 152.5 每人月成本每人月成本 5200 4800 4250 4500成本成本()75400 292800 112625 227250 708075 精43 成本估算是可行性分析的重要依据,也是软件成本估算是可行性分析的重要依据,也是软件管理的重要内容,直接影响到软件开发的风险。管理的重要内容,直接影响到软件开发的风险。软件开发成本主要是指软件开发过程中所花费软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价,即主要是人的劳动的消耗。的工作量及相应的代价,即主要是人的

31、劳动的消耗。以软件计划、需求分析、设计、编码到测试的以软件计划、需求分析、设计、编码到测试的软件开发全过程所花费的代价为依据。软件开发全过程所花费的代价为依据。一个大型、复杂项目,由于其项目的度,成本一个大型、复杂项目,由于其项目的度,成本估算并不是一件简单的事,必须建立相应的估算模型,估算并不是一件简单的事,必须建立相应的估算模型,按照一定的方法、技术来进行估算。按照一定的方法、技术来进行估算。精44一、影响成本估算的因素一、影响成本估算的因素 规模:按规模:按YOURDON分类法分为分类法分为 超小型超小型,小型小型,中型中型,大大型型,超大型超大型,极大型。极大型。复杂度:应用程序,复杂

32、度:应用程序,实用程序,系统程序实用程序,系统程序 低低 高高 对确定规模、复杂度的软件存在一个对确定规模、复杂度的软件存在一个”最佳开发时间最佳开发时间”。指开发方法、工具、语言等,技术水平高,效率高。指开发方法、工具、语言等,技术水平高,效率高。可靠性要求愈高,成本愈高。可靠性要求愈高,成本愈高。精45二二.软件成本的估算量软件成本的估算量 源代码行源代码行(LOCLOC)机器指令行机器指令行/非机器语言的执行步非机器语言的执行步 开发工作量开发工作量 人人-月(月(PM)人人-年(年(PY)人人-日(日(PD)软件生产率软件生产率 LOG/PM¥/LOC¥/PM 软件开发时间软件开发时间

33、精46其中其中:a:ai i 估计的最小行数估计的最小行数 b bi i 估计的最大行数估计的最大行数 m mi i 最可能的行数最可能的行数 即即(DeiphiDeiphi技术)技术)由由RandRand公司提出的公司提出的DeiphiDeiphi技术,是由技术,是由n n位专家进行成本位专家进行成本估算。每位专家根据系统规格说明书,反复讨论给出估算。每位专家根据系统规格说明书,反复讨论给出a ai i、b bi i及及 m mi i的值,并按照下式反复估算的值,并按照下式反复估算源代码源代码的的期望值期望值Li Li,期望期望中值中值L L。a ai i+4+4m mi i+b+bi i

34、6 61 1n nniiL1L Li i=L=L=将估算的源代码行数,乘以根据经验推算的每行源代将估算的源代码行数,乘以根据经验推算的每行源代码所需成本,即为该软件的成本。码所需成本,即为该软件的成本。精47 1977年由年由Waiston 和和 Felix 总结了总结了IBM联合系统联合系统分部(分部(FSD)负责的个项目的数据,利用最小)负责的个项目的数据,利用最小二乘法拟合,得到如下估算公式:二乘法拟合,得到如下估算公式:工工 作作 量:量:E=5.2*L (PM)项目持续时间:项目持续时间:D=4.1*L (月)(月)人员需要量:人员需要量:S=0.54*E (人)(人)文文 档档 数

35、:数:DOC=49*L (页)(页)其中:其中:L 源代码行,以千行计。源代码行,以千行计。IBM估算模型是一种静态单变量模型,它利用已估算估算模型是一种静态单变量模型,它利用已估算的结果,如源代码行,来估算各种资源的需求量的结果,如源代码行,来估算各种资源的需求量但但IBM 估算模型不是一种通用模型,因此应用中应估算模型不是一种通用模型,因此应用中应根据具体实际情况调整模型中的参数根据具体实际情况调整模型中的参数精48 L LC Ck k t td d3343134 C Ck k t td d Putnam 估算估算模型模型是一种动态多变量模型,是是一种动态多变量模型,是根据一些大型项目中工

36、作量的分布情况推导出来的。根据一些大型项目中工作量的分布情况推导出来的。其中:其中:L源代码行,源代码行,K 所需人力(所需人力(PY)td 开发时间开发时间,CK 技术水平常数技术水平常数其其值与开发值与开发环境有关。(差:环境有关。(差:2500-2000,正常:,正常:10000-8000,好:,好:12500-11000)精49 L LC Ck k t td d3343134 C Ck k K K t td d大型项目的工作量分布情况运行与维护运行与维护系统开发系统开发功能设计规格说明功能设计规格说明系统定义系统定义安装安装测试与确认测试与确认设计与编码设计与编码系统定义系统定义功能设

37、计功能设计规格说明规格说明时间时间精50 COCOMO模型(模型(Constructive Cost Model)由由TRW公司开发,是由公司开发,是由Boehm提出的结构型成本提出的结构型成本估算模型,其特点是精确、易用。估算模型,其特点是精确、易用。是一种层次模型,按照其祥细程度分为三级:是一种层次模型,按照其祥细程度分为三级:即基本的即基本的COCOMO模型、中间的模型、中间的COCOMO模型和模型和详细的详细的COCOMO模型。模型。该模型主要对工作量(单位:该模型主要对工作量(单位:PM)和进)和进度度TDEP(单位:月)进行估算。模型中考虑到估(单位:月)进行估算。模型中考虑到估算

38、量与开发环境有关,将开发项目分为三类:算量与开发环境有关,将开发项目分为三类:9.5.5 COCOMO模型精51 组织型组织型(OrganicOrganic)规模规模55万,较简单万,较简单,开发人员对产品目标理解充分,开发人员对产品目标理解充分,经验丰富,对软件开发环境熟悉。大多数应用软件及老的经验丰富,对软件开发环境熟悉。大多数应用软件及老的操作系统、编译系统属此类。操作系统、编译系统属此类。嵌入型嵌入型(EmbaddedEmbadded)软件、硬件关系紧密软件、硬件关系紧密,操作有限制条件操作有限制条件,对接口、数对接口、数据结构据结构,算法要求较高。如大型复杂的事务处理系统,大算法要求

39、较高。如大型复杂的事务处理系统,大型、超大型的操作系统型、超大型的操作系统,军事指挥系统军事指挥系统,航天控制系统等航天控制系统等半独立半独立型型(Semidetached)Semidetached)对项目要求界于上述两者之间对项目要求界于上述两者之间,规模复杂度中等。如新规模复杂度中等。如新操作系统操作系统,大型数据库大型数据库,生产控制等软件属此类生产控制等软件属此类。9.5.5 COCOMO模型精52alklocc 基本的基本的COCOMO模型(静态单变量模型)模型(静态单变量模型)其中:其中:MM 工作量(工作量(PM),),KLOC 估计的源代码行估计的源代码行Cl 模型系数,模型系

40、数,模型指数模型指数 .Cl、取决于开发项目的模取决于开发项目的模式为组织型、半独立型或嵌入型。式为组织型、半独立型或嵌入型。下表是根据下表是根据6363个项目的数据统计结果,按照个项目的数据统计结果,按照基本的基本的COCOMO模型估算的工作量和进度。模型估算的工作量和进度。总体类型总体类型工作量工作量进度进度组织型组织型MM=10.4(KLOG)1.05TDEV=10.5(MM)0.38半独立型半独立型MM=3.0(KLOG)1.12TDEV=10.5(MM)0.35嵌入型嵌入型MM=3.6(KLOG)1.20TDEV=10.5(MM)0.32精53 其中:其中:fi fi 成本因素包括:

41、成本因素包括:生产因素生产因素(可靠性,数据库规模,软件复杂度)(可靠性,数据库规模,软件复杂度)计算机因素计算机因素(时间约束,存储约束,环境变更率,计算机(时间约束,存储约束,环境变更率,计算机换向时间)换向时间)人员因素人员因素(系统分析员能力、经验,程序员能力,开发人(系统分析员能力、经验,程序员能力,开发人员环境知识,程序时间语言知识)员环境知识,程序时间语言知识)项目工程因素项目工程因素(设计技术,软件工具,进度限制约束)(设计技术,软件工具,进度限制约束)详细的详细的COCOMO模型模型 按照开发阶段给出更加详细的按照开发阶段给出更加详细的成本因素成本因素fifi。alklocc

42、 151iif 中间的中间的COCOMO模型模型进一步考虑了进一步考虑了1515种影响软件工作量的因素,更加合种影响软件工作量的因素,更加合理的估算软件工作量和进度。理的估算软件工作量和进度。精54 据以前完成的同类项目的总成本推算,再将其分配到据以前完成的同类项目的总成本推算,再将其分配到各开发任务中。各开发任务中。特点:简便、估算工作量小、误差大。特点:简便、估算工作量小、误差大。每一子任务的开发工作量,将它们累加起来。每一子任务的开发工作量,将它们累加起来。特点:精确度高、但缺少子任务(模块)间的联系。特点:精确度高、但缺少子任务(模块)间的联系。与已完成的项目进行类比,对不同部分另行估

43、算。与已完成的项目进行类比,对不同部分另行估算。特点:估算较精确、但区分类比较困难。特点:估算较精确、但区分类比较困难。对于大型软件项目的估算处理,处理手段主要是分解对于大型软件项目的估算处理,处理手段主要是分解和类比。一般有以下方式:和类比。一般有以下方式:通常使用综合方法通常使用综合方法对实际项目进行估算。对实际项目进行估算。精55 成本效益分析首先估算成本和运行费用(系统的操成本效益分析首先估算成本和运行费用(系统的操作费用和维护费用),系统的经济效益则等于因使用新系作费用和维护费用),系统的经济效益则等于因使用新系统而增加的收入,加上使用新系统可以节省的运行费用。统而增加的收入,加上使

44、用新系统可以节省的运行费用。通常以利率形式表示。假设,年利率为通常以利率形式表示。假设,年利率为i i,P P元钱在元钱在n n年年后的价值后的价值F F为:为:投资回收期即工程累计经济效益等于最初投资所需要投资回收期即工程累计经济效益等于最初投资所需要的时间。的时间。n nF F P P(1+i1+i)精56用于衡量投资效益的大小,并且可以用它和年利率用于衡量投资效益的大小,并且可以用它和年利率比较,设现在的投资额为比较,设现在的投资额为:1 1/(1+j1+j)2 2/(1+j1+j)2 2 n n/(1+j1+j)n n其中:其中:i i是第是第i i年年底的效益(年年底的效益(i=1i

45、=1,2 2,3 3,n n););n n是系统的使用寿命是系统的使用寿命;j j是投资回收率是投资回收率。参考书:软件工程经济学参考书:软件工程经济学 美美 巴里巴里.W.W.贝姆贝姆.赵越等赵越等译译 中国铁道出版社中国铁道出版社在整个生存周期内新系统的累计经济效益与投资之差在整个生存周期内新系统的累计经济效益与投资之差称为纯收入称为纯收入。精57软件开发进度计划安排是一件困难的任务,软件开发进度计划安排是一件困难的任务,尽可能并尽可能并行地安排任务,行地安排任务,还要考虑各个子任务之间的相互联系,又还要考虑各个子任务之间的相互联系,又要预见潜在的问题,提供意外事件的处理意见。要预见潜在的

46、问题,提供意外事件的处理意见。描述计划进度的主要工具:一般的表格工具、甘特图、描述计划进度的主要工具:一般的表格工具、甘特图、PERT技术与技术与CPM方法方法。例如:进度表例如:进度表 软件测试 编码 详细设计 总体设计 需求分析2 3 4 5 6 7 8 9 10 11 12 任务任务月份月份0 01010202030304040505060607070一月一月二月二月三月三月四月四月五月五月六月六月需求分析 总体设计详细设计编码、测试进度表精58用水平线段表示任务的工作阶段;线段的起点和终点用水平线段表示任务的工作阶段;线段的起点和终点分别表示任务的开始和完成时间,线段的长度表示完成分别

47、表示任务的开始和完成时间,线段的长度表示完成任务所需的时间。下图给出了具有五个任务的甘特图。任务所需的时间。下图给出了具有五个任务的甘特图。甘特图周 1 2 3 4 5 6 7 8 9 10 11任务当前进度:标明了各任务的计划:标明了各任务的计划进度和当前进度。能够动态进度和当前进度。能够动态反映软件开发的进展情况。反映软件开发的进展情况。:不能够反映多个任务:不能够反映多个任务之间的复杂逻辑关系。之间的复杂逻辑关系。完成计划完成 文档编写 评审图图 例例精59 PERT(Program evaluation&review technique)计计划评审技术或划评审技术或CPM(Critic

48、al path method)关键路径法,)关键路径法,都是采用网络图来描述项目的进度安排。如图描述了开发都是采用网络图来描述项目的进度安排。如图描述了开发模块模块A、B、C的任务网络图。各边上所标注的数字为该任的任务网络图。各边上所标注的数字为该任务所持续的时间,数字结点为任务的起点和终点。务所持续的时间,数字结点为任务的起点和终点。0 02 23 34 45 56 67 71 18 8起点A编码 A调试B编码A测试C理解测试C修改C调试C测试6 66 68 87 78 88 87 79 96 68 8BC组装测试5 5调试任务网络图假设红线为关键路径,即完成所有任务的主要路径。假设红线为关

49、键路径,即完成所有任务的主要路径。精60 1 1、固掌握计算机软件的基本知识和技能;、固掌握计算机软件的基本知识和技能;2 2、善于分析和综合问题,具有严密的逻辑思维能力;、善于分析和综合问题,具有严密的逻辑思维能力;3 3、工作踏实、细致、不靠运气,遵循标准和规范,具有严格的科学作风;、工作踏实、细致、不靠运气,遵循标准和规范,具有严格的科学作风;4 4、工作中耐心、有毅力、有责任心;、工作中耐心、有毅力、有责任心;5 5、善于听取意见,善于团结协作,有良好的人际关系;、善于听取意见,善于团结协作,有良好的人际关系;6 6、具有良好的书面和口头表达能力。、具有良好的书面和口头表达能力。合理的

50、配备人员是成功的完成软件项目的切实保证。合理的配备人员是成功的完成软件项目的切实保证。按按Putnam_NordenPutnam_Norden 曲线分配曲线分配。Putnam _ Norden 曲线高低计划计划需求分析初步设计详细设计编码单元测试整体测试功能测试管理人员管理人员高级技术人员高级技术人员初级技术人员初级技术人员 重质量重质量;重培训重培训;阶梯提阶梯提升升:精61 随着软件项目规模的增大,需要组成开发小组共同随着软件项目规模的增大,需要组成开发小组共同承担软件开发项目中的某一任务,于是人与人之间必须通承担软件开发项目中的某一任务,于是人与人之间必须通过交流来解决各自承担任务之间的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(软件项目管理精选课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

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


163文库-Www.163Wenku.Com |网站地图|