您好,欢迎访问三七文档
软件工程经理管什么?计划预算组织进度标准什么是软件项目管理?管理就是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。什么是软件项目管理?什么是软件项目管理?成本管理:估算软件项目的成本,作为签订合同或项目立项的依据;在软件开发过程中按计划管理经费的使用。质量管理:制定软件质量保证计划;按照软件质量评价体系控制软件质量要素;对阶段性的软件产品进行评审;对最终产品进行验证和确认,确保软件产品的质量。软件配置管理:制定配置管理计划;对程序、文档和数据的各种版本进行管理,确保软件的完整性和一致性。第2章软件项目管理2.1软件度量2.2软件项目估算2.3软件质量度量2.4软件复杂性度量2.5软件可靠性度量2.6软件开发过程的管理软件度量是软件产品、软件开发过程或自愿简单属性的定量描述。如程序规模、操作符个数、程序中错误的个数等。面向规模的度量面向功能的度量2.1软件度量2.1软件度量2.1.1软件度量的基本概念1.测量、度量、估算和指标软件工程项目的定量描述涉及测量、度量、估算和指标等一些基本概念。1)测量(measure):对产品或过程的某个属性的范围、数量、维度、容量或大小提供一个定量的指示。2.1软件度量4)指标(guideline):是一个度量或度量的组合,它可对软件产品、过程或资源提供更深入的理解。2)度量(metric):对系统、部件或过程的某一特性所具有的程度进行的量化测量。如软件质量度量等。3)估算(estimation):对软件产品、过程、资源等使用历史资料或经验公式等进行预测。如工作量、成本、完成期限等。估算一般用于立项、签订合同、制定工作计划等。2.软件项目管理的对象及其属性软件项目管理的对象主要包括产品、过程和资源等。产品(product)是指软件开发过程得到的文档和程序。过程(process)是指与软件项目有关的活动。资源(resource)是指进行软件项目所需要的各种支持。要对软件项目管理的对象进行有效的管理与控制,就必须对这些对象的属性进行测量、度量与估算。一般来说,产品、过程、资源等对象都具有内部属性和外部属性。2.1软件度量对象的属性对象的内部属性是指对象本身的属性,如软件产品的代码长度、模块化的程度、复杂性等。对象的外部属性体现了对象与环境的关系,如软件的可靠性、可维护性、可移植性、成本、人员的生产率等。表2-1软件工程的产品、过程、资源的属性产品过程资源内部属性程序代码行长度;程序功能;模块化;控制流结构;重用性;模块耦合度与内聚度。工作量;计划及进度;事件。人员;方法;工具;环境;经验。外部属性软件的可靠性;软件的可理解性;软件的有效性;软件的可用性;软件的可维护性;软件的可移植性。成本;可控制性;可观察性;稳定性。成本;生产率;时间。3.软件度量的分类可分为直接度量和间接度量两类:1)直接度量。即对不依赖于其他属性的简单属性的测量。如软件的模块数、程序的代码行数、操作符的个数,工作量、成本等。2)间接度量。即对涉及若干个其他属性的软件要素、准则或属性的度量。因为它们必须通过建立一定的度量方法或模型才能间接推断而获得。如软件的功能性、复杂性、可靠性、可维护性等等。2.1软件度量2.1.2面向规模的度量面向规模的度量是以软件的代码行(LOC,LineofCode)数为基础的直接度量。L表示软件的代码行数,单位为KLOC(千行代码)或LOC;E表示开发软件所需工作量,单位为人月(PM)或人年(PY);S表示软件成本,单位为美元或元;N表示错误个数;Pd表示软件文档页数;M表示开发所用的人数。1.软件开发的生产率P:P=L/E2.开发每行代码的平均成本C:C=S/L3.代码出错率EQR:EQR=N/L4.软件的文档率D:D=Pd/L2.1.2面向规模的度量2.1.2面向规模的度量优点:简单、直接。缺点:①代码行数的估算依赖于程序设计语言的功能和表达能力。②对设计精巧的软件项目产生不利影响。③在开发初期估算代码行十分困难。④只适用于过程式程序设计语言。2.1.2面向规模的度量2.1.3面向功能的度量1.简单功能点度量1979年,Albrecht首先提出了功能点度量方法。这是一种面向功能的间接度量方法,即从软件定义的基本功能出发,来估算软件系统的规模。因此,该方法可以在软件开发项目的初期,在软件定义过程中即可预测待开发软件的规模。1.简单功能点度量功能点FP的度量公式如下:FP=CT×TCF=CT[0.65+0.01∑Fi]其中:CT——基本功能点。CT值按表2-2来计算,它的值为5个参数加权值的总和。14i=1表2-2简单功能点度量的基本功能点的计算测量参数值加权因子加权值简单一般复杂用户输入数×3×4×6=用户输出数×4×5×7=用户查询数×3×4×6=文件数×7×10×15=外部接口数×5×7×10=基本功能点CT表2-2中的5个参数的含义1)用户输入数:用户为软件系统提供的输入参数的个数(不包括查询);2)用户输出数:软件为用户提供的输出参数(报告、屏幕帧、错误信息等)的个数;3)用户查询数:一次联机输入导致软件以联机输出方式实时产生一个响应的个数;4)文件数:逻辑主文件的个数;5)外部接口数:机器可读的接口(如磁盘或磁带上的数据文件等)的个数。1.简单功能点度量在FP度量公式中:TCF——技术复杂性调节因子。0.65和0.01——经验数据。Fi(i=1,2,…,14)——复杂性调节值。Fi所代表的因素如表2-3所示,每个Fi可根据实际情况取0、1、2、3、4、5中的一个值。其中:0—没有影响、1—偶然的、2—适中、3—普通、4—重要、5—极重要的影响。TCF取值范围:0.65~1.35。表2-3Fi取值表i因素Fii因素Fi1234567需要可靠的备份和恢复吗?需要数据通信吗?有分布式处理的功能吗?性能是关键吗?在现存实用的操作环境下运行吗?需要联机数据入口吗?联机数据入口需要用输入信息构造复杂的界面或操作吗?891011121314需要联机更新主文件吗?输入、输出、文件、查询复杂吗?内部处理过程复杂吗?要求代码设计可重用吗?设计中包含转换和安装吗?系统设计支持不同组织的多次安装吗?系统设计有利于用户的修改、使用吗?2.功能点度量简单功能点度量方法没有直接考虑软件本身的算法的复杂性问题。所以它仅适用于度量算法简单的事务处理等系统。1986年Jones对简单功能点度量进行了推广,在计算软件系统的基本功能点CT时,引入了算法复杂性因素,即使用表2-4计算CT。我们称这种推广的度量方法为功能点度量。这两种方法对一般的事务处理系统等算法简单的软件系统计算出来的FP值基本相同,但对于较复杂的软件系统,功能点度量方法比简单功能点度量方法计算出来的FP值要高20%~35%。表2-4推广的功能点度量的基本功能点的计算测量参数值权值加权值用户输入数×4=用户输出数×5=用户查询数×4=文件数×7=外部接口数×7=复杂算法数×3=基本功能点CT用功能点计算软件项目的有关参考量:1)生产率P:P=FP/E2)平均成本C:C=S/FP3)代码出错率EQR:EQR=N/FP4)软件的文档率D:D=Pd/FP3.功能点度量方法的优缺点优点:①可用于软件项目开发的初期阶段的项目估算。②与程序设计语言无关。缺点:①某些参考量的收集有一定困难;②度量值的主观因素较多,如Fi取值;③功能点FP本身没有直观的物理意义。2.2软件项目估算常用的软件项目的估算方法主要有以下4种1.自顶向下的估算方法2.自底向上的估算方法3.差别估算法4.根据经验估算公式2.2.1软件项目的估算方法1.自顶向下的估算方法基本思想:首先根据已完成项目的总成本或总工作量来推算待开发软件的总成本或总工作量,然后再按比例将其分配到各开发任务中去。即从整体到局部。优点:估算工作量小、速度快。缺点:对项目中的特殊困难估计不足,有可能产生遗漏,估算出的值盲目性较大。2.自底向上的估算方法基本思想是:把待开发软件细分,直到每一个子任务或阶段都已经明确所需要的开发工作量或成本,然后再把它们累加起来,得到待开发软件的总工作量或总成本。优点:计算各个部分的准确性较高。缺点:缺少各个子任务之间相互联系的工作量和系统工作量(如项目管理、配置管理、质量管理),估算值往往偏低,必须用其他方法进行校正。3.差别估算法基本思想:把待开发的软件项目与过去完成的软件项目进行比较,从各子任务中区分出类似的和不同的部分。类似的部分按已知的实际量计算,不同的部分则采用某种方法进行估算。差别估算法综合了以上两种方法的优点。优点:估算的准确程度高。缺点:不容易划分相似的界限。4.根据经验估算公式通过众多实际软件项目的经验,总结出一些有价值的软件成本和工作量估算的经验模型。这些模型对于软件项目管理具有一定的指导意义和验证效果。2.2.2代码行和功能点的估算采用2.2.1中介绍的估算方法可以估算出代码行或功能点的乐观值a、一般值m和悲观值b,并用如下的加权平均公式计算LOC或FP的期望值(expectation):X=(a+4m+b)/6软件的LOC或FP的期望值估算出来后,就可以根据已有的标准生产率对成本和工作量等进行估算了。2.2.3软件项目的经验估算模型1.IBM模型(静态单变量模型)数据利用最小二乘法拟合,得到的经验估算公式:E=5.2×L0.91D=4.1×L0.36=2.136×E0.3956S=0.54×E0.6DOC=49×L1.012.Putnam模型(动态多变量模型)该模型以工作量在30人年以上的大型软件项目的实测数据为依据,推导出了工作量分布曲线,如图2-2-1所示。2.2.3软件项目的经验估算模型图2-2-1软件项目的工作量分布曲线系统定义功能设计规格说明设计编码测试和确认维护管理系统定义、需求分析开发运行维护0开发占总工作量的40%维护占总工作量的60%总工作量td时间t(年)工作量(人年)图2-2-1软件项目的工作量分布曲线2.Putnam模型Putnam估算模型如下:L=CkE1/3td4/3Ck为技术状态常数,与开发环境有关,如下:2000较差,没有方法学的支持,缺乏文档和评审,采用批处理方式;Ck=8000一般,有方法学的支持,有适当的文档和评审,采用交互处理方式;11000较好,有集成化的CASE工具和环境。E=L3/(Ck3td4)图2-2-2人力资源的分配初级技术人员高级技术人员管理人员验收测试组装测试单元测试编码详细设计概要设计需求分析系统定义人数Putnam模型的优缺点优点:揭示了软件项目的源程序代码长度、软件开发时间和工作量三者之间的关系,在理论上有重要意义。缺点:准确程度不高。没有反映软件产品、项目、参加人员、软硬件资源等属性。3.CoCoMo模型(构造性成本模型)CoCoMo模型按其详细程度分三个层次:基本CoCoMo模型;中间CoCoMo模型;详细CoCoMo模型。2.2.3软件项目的经验估算模型(1)基本CoCoMo模型其工作量和开发时间的估算公式如下:E=aLbD=cEd其中:L——软件代码行的估算值(以KLOC计);E——工作量(以PM计);D——开发时间(以月计);a、b、c、d——经验常数。表2-8a、b、c、d参数值的选取软件类型abcd适应领域组织型2.41.052.50.38一般应用程序半独立型3.01.122.50.35实用程序、编译程序等嵌入型3.61.202.50.32实时控制程序、操作系统(2)中间CoCoMo模型中间CoCoMo模型在估算工作量时,在基本CoCoMo模型的基础上再乘以由15个因素组成的工作量调节因子EAF,于是有:E=aLbEAF=aLb∏Fi其中:L——软件的代码行数(以KLOC计);E——工作量(以PM计);a、b——经验常数;i=115表2-9a、b参数的取值软件类型ab组织型3.21.05半独立型3.01.12嵌入型2.81.20(2)中间CoCoMo模型工作量调节因子EAF与软件的产品的取值属性、计算机属性、人员属性、项目属性等因素有关。这1
本文标题:02-软件项目管理
链接地址:https://www.777doc.com/doc-3188616 .html