您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 第11章 软件工程管理
第十一章软件工程管理Chapter11SoftwareEngineeringManagement11.1管理的目的与内容●管理的目的:按预定的时间和费用,成功地完成软件的计划、开发和维护任务。●管理的内容1.费用管理①估算软件的开发费用;②管理开发费用的有效使用。2.质量管理(包括配置管理)3.项目的其它管理①项目进度安排;②人员的分配与组织。11.2软件估算模型(ResourceEstimationModel)11.2.1资源估算模型(ResourceEstimationModel)●资源模型用来估算软件在开发中花费的资源,如开发时间、开发人数以及工作量等(人-月或人-年)。1.静态单变量资源模型资源=c1×(估计的软件特征)c2其中:●资源为开发工作量E(人-月)、开发时间T(月)或开发人数P;●“估计的软件特征”通常用源程序长度L(千行)表示;●c1、c2为依赖于开发环境和应用领域的2个经验常数。如:E=5.1×L0.91(人-月)T=2.47×E0.35(月)2.Putnam(普特南)资源模型●Putnam资源模型是动态多变量资源模型。用以下的方程式表示:K=L3/(c3T4)其中:L(行):源程序长度。T(年):开发时间。K(人-年):全生存周期工作量。c:与开发环境有关的常数。11.2.2COCOMO模型(COnstructiveCOstMOdel,结构性成本模型)●COCOMO模型分为基本COCOMO模型、中间COCOMO模型和详细COCOMO模型三种。●基本COCOMO模型是静态单变量模型,它将软件分类为:组织型、半独立型和嵌入型3种类型,每类分别使用一组不同的模型方程(见表11.1)。例11.1有一个嵌入型的电信处理程序,程序规模为10000行。计算所需的工作量与开发时间。E=2.8×101.20=44.4(人-月)T=2.5×44.40.32=8.4(月)●中间COCOMO模型以静态单变量模型为基础,增加15个工作量调节因子,是静态多变量模型。表11.1不同类型软件的COCOMO模型软件类别模型方程适用范围组织型E=3.2×L1.05T=2.5×E0.38高级语言应用程序,如科学计算、数据处理、企业管理程序等规模较小的软件产品半独立型E=3.0×L1.12T=2.5×E0.35大多数实用程序,如编辑程序、连接程序、编译程序等。(规模较大的软件产品)嵌入型E=2.8×L1.20T=2.5×E0.32与硬件关系密切的程序,如操作系统、数据库管理系统、实时处理与控制程序等。表11.2调节因子和它的值范围属性调节因子调节值范围例11.1中使用的值产品属性要求的可靠性等级数据库规模产品复杂度0.75-1.400.94-1.160.70-1.651.000.941.30计算机属性对程序执行时间的约束对程序占用存储容量的约束开发环境的变动开发环境的响应时间1.00-1.661.00-1.560.87-1.300.87-1.151.111.061.001.00人员属性分析员水平程序员水平对应用领域的熟悉程度对开发环境的熟悉程度对所用语言的熟悉程度1.46-0.711.42-0.701.29-0.821.21-0.901.14-0.950.860.861.001.101.00项目属性开发方法的现代化软件工具的数质量完成时间的限制1.24-0.821.24-0.831.23-1.100.911.101.0011.3软件成本估计●软件成本估计方法有主要3类:自顶向下成本估计、由底向上成本估计和算法模型估计。1.自顶向下成本估计(1)首先估算总成本(可以采用特尔斐专家估计法);●特尔斐(Delphi)法:①多个专家各自填“成本估计表”;②综合专家意见,把摘要意见通知大家;③开始新一轮估计;④多次反复,直到专家意见接近。(2)然后在项目内部(按阶段或任务单元)进行成本分配。●自顶向下成本估计的缺点是:对某些局部问题或特殊困难容易低估;如果所开发的软件缺乏可以借鉴的经验,估计时就可能出现较大的误差。2.由底向上成本估计(1)先将开发任务分解为许多子任务;(2)子任务再分成子子任务,直到每一个任务单元;(3)估计各个任务单元的成本;(4)汇合成项目总成本。●由底向上成本估计的缺点是:具体工作人员往往只注意到自己范围内的工作,对涉及全局的花费可能估计不足,可能使成本估计偏低。3.算法模型估计●算法模型就是资源模型,要选择适用的模型。●算法模型估计法常与自顶向下估计或由底向上估计结合使用。11.4人员的分配与组织●各个开发阶段需要的人力并不相同。一般地说,计划与分析阶段只需要很少的人;概要设计的人多一些;详细设计的人又多一些;编码和测试阶段的人数最多;在运行初期,需要较多的人参加维护,但很快就可以减少下来,只需保留很少的维护人员就可以满足需要。1.Rayleigh-Norden曲线①②③tdt人力●td相当于软件开发完成的时间;●用虚线画出来的矩形,显示了平均使用人力的问题:①浪费的人力②不足的人力③过晚的人力。图11.5Rayleigh-Norden曲线MAINTENANCESYSTEMDESIGNREQUIREMENTSANALYSISPROGRAMDESIGNPROGRAMIMPLEMENTATIONUNITTESTINGINTEGRATIONTESTINGSYSTEMTESTINGSYSTEMDELIVERYSOFTWAREDEVELOPMENTSTEPSANALYSTDESIGNERPROGRAMMERTESTERTRAINER2.两条重要的定律(1)人员-时间权衡定律●软件项目开发存在一个最佳的开发时间。不能通过增加人员来缩短开发时间,因为人员的增加意味着增加相互通信的时间,从而减少直接用于软件生产的时间,导致开发时间的增加,所以“时间与人员不能互换”。(2)Brooks定律●向一个已经延晚的项目追加开发人员,可能使它完成得更晚。3.人员组织●通常采用层次型组织结构:软件经理→项目经理→开发小组(1)民主开发小组组长轮流担任;组内人人平等;一切问题集体决定。(2)主程序员小组一元化领导;主程序员分配工作;主程序员决定重大问题。主程序员(组长)文档员2~5名程序员后援程序员(副组长)图11.6主程序员小组11.5项目进度安排1.计划评审技术图(ProgramEvaluationandReviewTechniques,简称PERT图),也称为工程网络图。(1)建立PERT图●图中的每一圆圈,代表一项开发活动;●圈内的数字,表示完成这一项活动所需的时间;●圈间的箭头,表示活动发生的先后顺序。图11.7一个简单软件开发项目的PERT图测试数据2编码4产品测试4测试软件6测试计划2起点分析3终点文档2设计4(2)找出关键路径(CriticalPath)●从起点到终点,耗时最长的路径就是关键路径,它决定了完成整个工程所需要的时间。●最早开始时间(EarliestStarttime,ES)是指某项活动能够开始的最早时间。。●最早结束时间(EarliestFinishtime,EF)是指某项活动能够完成的最早时间。EF=ES+该项活动的时间●最早开始时间采取从前往后的计算方法,它等于所有“紧前活动”的最早结束时间的最大值●在每个活动框的上方标出该项活动的最早起止时间。编码4产品测试4测试软件6测试数据2测试计划2起点终点文档2设计4分析3(0,0)(0,3)(0,2)(3,5)(2,8)(3,7)(7,9)(7,11)(15,15)(11,15)图11.8某软件开发项目的关键路径(3)标出最迟开始时间●最迟结束时间(LatestFinishtime,LF)是指为了使整个项目在要求完工时间内完成,某项活动必须完成的最迟时间。●最迟开始时间(LatestStarttime,LS)是指某项活动必须开始的最迟时间:LS=LF-该活动的时间。●关键路径上各项活动的最迟起止时间等于该活动的最早起止时间。●非关键路径上各项活动的最迟结束时间采取从后往前的计算方法,它等于所有“紧后活动”的最迟开始时间的最小值。●每个活动的最迟起止时间均标在活动框的下方。编码4产品测试4测试软件6测试数据2测试计划2起点终点文档2设计4分析3(0,0)(0,3)(0,2)(3,5)(2,8)(3,7)(7,9)(7,11)(15,15)(11,15)(3,5)(5,11)(9,11)(13,15)图11.9注有最迟开始时间的PERT图(15,15)(4)PERT图的使用①确保关键路径上的各项活动按时完成。②通过缩短关键路径上某项活动的时间,达到缩短项目开发时间的目的。③对于不处在关键路径上的活动时间,可以根据需要,或者调整其起止时间,或者延缓活动的进度。2.Gantt图(GanttChart,甘特图)●Gantt图中,左方列出项目的开发活动,上方列出时间,水平线段表示对活动的进度安排。●在每一活动的开始时间和结束时间各画一个小三角形,当活动已经开始或结束时,就把小三角形涂黑。活动2008123456789101112分析▲▲测试计划▲△设计▲△编码△△测试软件△△测试数据△△图11.11Gantt图示例●Gantt图的优点:简单易用,容易修改,直观方便,能够描述各个任务的起止时间以及各个任务之间的并行性。●Gantt图的缺点:不能显示各项活动之间的依赖关系,难以确定整个项目的关键所在。习题6:图11.12是某项目的PERT图起点A3F5H2B6C5I3D3G8J2E3终点图11.12习题6(关键路径)起点A3F5H2B6C5I3D3G8J2E3终点(18,18)(0,0)图11.12习题6(活动的最早起止时间)起点A3F5(0,5)H2(0,2)B6(5,11)C5(11,16)I3(5,8)D3(11,14)G8(5,13)J2(13,15)E3(15,18)终点(18,18)(0,0)(0,3)图11.12习题6(活动的最迟起止时间)起点A3(0,3)(3,6)F5(0,5)H2(0,2)(3,5)B6(5,11)(6,12)C5(11,16)(13,18)I3(5,8)(10,13)D3(11,14)(12,15)G8(5,13)J2(13,15)E3(15,18)终点(18,18)(0,0)
本文标题:第11章 软件工程管理
链接地址:https://www.777doc.com/doc-202911 .html