软件项目管理精选课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件项目管理精选课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 项目 管理 精选 课件
- 资源描述:
-
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估算计算机辅助设计软件
展开阅读全文