如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第二章软件项目管理70年代中期90年代中期什么是软件项目管理?本章重点介绍:软件项目管理的主要任务是:软件度量面向规模的度量四个公式面向功能的度量软件项目估算1、通过度量软件代码行数进行估算2、通过软件功能点进行估算2、通过软件功能点进行估算下面将以某个计算机辅助设计(CAD)应用为例,估算开发的软件包的输入、输出、查询、文件及外部接口。为了达到这个估算目的,我们假设复杂度加权因子都是平均的。根据对软件范围的叙述,对软件功能进行分解,识别出主要的几个功能:用户界面和控制功能、二维几何分析、三维几何分析、数据库管理、计算机图形显示功能、外设控制以及设计分析模块。最后可得到如表2所示的估算表。由表2得到总计数值为318。接着,估算14个复杂度加权因子(Fi,根据问题对项目的影响取值范围是0~5),表3给出了因子值。等价代码行=[(重新设计%+重新编码%+重新测试%)/3]×已有代码行比如:有10,000行代码,假定35%需要重新设计,55%需要重新编码,75%需要重新测试,那么其等价的代码行可以计算为:[(35%+55%+75%)/3]×10,000=5,500等价代码行。即:重用这10000代码相当于编写5500代码行的工作量。工作量估算(1)最好的方法是利用历史数据,根据以前做过的类似项目规模与新项目规模的比例关系,对照以前项目的工作量求出新项目的工作量。采用这个方法的前提是:a.对以前项目规模和工作量的计量是正确的;b.至少有一个以前的项目的规模和新项目类似;c.新项目的开发周期、使用的开发方法、开发工具与以前项目的类似,而且开发人员的技能和经验也不能与原来的人员相差太大。(2)如果没有历史数据可用,或者新项目与以前做过的项目差别较大,那么可以使用一个成熟的估算模型,如采用IBM模型、COCOMO模型或Putnam方法论,将软件项目规模转换成工作量。IBM模型下面以IBM模型为例来进行计算。为了计算,我们应当利用逆向法将功能点转化成一个等价的SLOC(SLOCisanacronymforSourceLineOfCode.ThetotalcountofSLOCSisthesumofdatadeclarationstatementsandexecutablestatements.)数值。这一步可以使用表4的语言等价表来完成:所以,使用Java2完成上述项目(366功能点)时,将大约要下列SLOC数:L=366×48=17568行=17.568KLOC(kilo)oflinesofcode)E=5.2×L0.91=5.2×17.568×0.91=83人/月DOC=49×L1.01=49×17.568×1.01=869页Putnam模型COCOMO模型(COnstructiveCOstMOdel)(2)COCOMO模型的分类COCOMO模型按其详细程度分成三级:即基本COCOMO模型、中间COCOMO模型、详细COCOMO模型。基本COCOMO模型是一个静态单变量模型,它用一个以已估算出来的源代码行数(LOC)为自变量的(经验)函数来计算软件开发工作量。中间COCOMO模型则在用LOC为自变量的函数计算软件开发工作量(此时称为名义工作量)的基础上,再用涉及产品、硬件、人员、项目等方面属性的影响因素来调整工作量的估算。详细COCOMO模型包括中间COCOMO模型的所有特性,但用上述各种影响因素调整工作量估算时,还要考虑对软件工程过程中每一步骤(分析、设计等)的影响。对软件项目进行估算的第三步是根据工作量制定项目计划,包括人员安排、工作量分解、开始和完成时间等等。可以根据自己的历史数据或行业模型决定所需的资源并落实到项目计划。可以采用上述的IBM模型或McConnell给出的方法粗略地给出项目持续时间(以IBM模型为例):项目需要的人员S=0.54×E0.6=0.54×83×0.6=27人项目持续时间D=4.1×L0.36=4.1×17.568×0.36=26月项目的成本估算包括许多因素:人力成本、办公费用、管理费用、设备和软件等的购置费用、场地租金、旅差费等等。对项目成本的估算取决于公司所采用的成本核算方法。有的公司某些费用并没有计入项目成本中,而是按管理费用等分摊。有的从历史数据求出生产率度量和每行成本,即行/PM(人月)和元/行,则LOC的值与元/行相乘得到成本,用LOC的值与行/PM相除得到工作量。具体可按公司的具体情况选择软件质量度量软件复杂性度量软件可靠性度量软件开发过程的管理软件项目风险管理五种状态软件项目风险管理原则风险检查列表风险因素安排风险管理计划的进度监控因素项目成本预算软件成本软件成本的构成某校在校生近5000人,每学期在期中都要进行一次对教师的教学质量测评,要求所有学