资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,第二章 软件项目计划,问题定义,可行性研究,项目实施计划,目录,0.,软件项目计划,系统目标与范围的说明,(1)可行性研究的内容,(2)可行性研究的步骤,(3)系统流程图,(4)成本效益分析,成本,计算系统的成本的组成,开发成本估计使用的几个概念,开发成本估计的方法,估算方法,估算模型,效益分析,货币的时间价值,纯收入,投资回收期,(5)方案选择,(6)可行性论证报告,3.,项目计划,问题:软件项目计划是做什么?,1.,一个软件是否值得开发,需多长开发,时间,和多少,投资成本,?使用多少,资源,?,存在哪些风险,如何预防这些风险?,可行性分析,2.,如何制定计划,安排人员?分配任务?安排进度?,项目计划,这些问题都要开发前预先研究,才能减少失误,这就是计划时期的主要任务,用最小的代价,,在尽可能短的时间内确定问题能否解决?,计划时期的工作流程,开始,问题定义,可行性研究,可行否,项目实施计划,终止项目的建议,停止,转开发时期,目录,Problem Definition,目的,弄清用户需要解决的问题系统总目标是什么?,项目所需的资源和经费(粗略估计),任务,编写“系统目标与范围的说明”,例:学生到教材课购书,人工教材销售中,学生购教材,要先到系里根据教学计划用书开购书证明,然后去教材科购买学生要跑两个地方烦!系里烦!,如果直接到教材科,为防止学生多买或错买,影响计划供应,教材科在开发票前要审查购书单,(书种类多,学生专业多!),手续繁琐效率低下!,求助计算机管理!,系统目标与范围的说明示例,系统目标和范围 说明书,:教材销售系统,:人工发售教材手续繁琐,且易出错。,:建立一个高效率、无差错的微机教材销售系统。,:利用现有微型计算机,软件开发费用不超过5000,0,元。,:建议在系统中增加对缺书的统计与采购功能。,:建议进行大约10天的可行性研究,研究费用不超过1000元,。,Statement of Scope and Objective,目标不是一下子就能确定的!,系统分析员要同用户多次交流、还应收集阅读资料,确定目标:系统将产生什么信息?期望功能和性能如何?,投资的估计是粗略的心中有数!,注意:,目录,资源,涉及人员、环境、可重用复件,对资源的分析用途:,将在计划阶段中,可行性分析中,经济可行性(成本效益估计)中用到(资源人员不同,造价不同),也将写入,项目计划报告,中,因为资源关乎到项目的进度和任务、人员的分配,软件工程环境,硬件与软件工具,软件工程环境,硬件与软件工具,人员,软件工程环境,硬件与软件工具,可复用软件,1,)人员:软件生命周期中各阶段人力资源的安排,P15,Human Resources,软件生命周期的不同阶段,所需人员的技术水平、专业知识、和所参与项目的程度多少都是不同的。,高级技术人员和管理人员在开发初期和后期参与较多,而初级的技术人员主要从事编码和单元测试,高,低,高级技术人员,初级技术人员,管理人员,时间,软件计划,需求分析,概要设计,详细设计,编码,单元测试,集成测试,确认测试,参,与项目的程度,图,2-2,软件生命周期中各阶段人员的参与情况,2,)可复用软件资源,可供软件计划中考虑的可复用软件资源,1),成品构件,已有的、或由其他厂家开发的,可以直接使用,如,POS,机,2),具有完全经验的构件,已有的,以前开发的,(,规约、计划、代码或测试数据,),与现在开发的类型,稍作修改即可使用的,如:商品数据库、对登陆界面的测试数据等等,3),具有部分经验的构件,需做实质性修改的,4),新构件,3,)软件工程环境资源,SEE,Software Engineering Enviroment,软件环境,硬件环境,开发系统,目标机器,硬件接口,目的,研究项目是否可能实现和值得进行?,回答,Why to do?,&,Yes or No,开销,可行性研究的成本只占预期工程总成本的,5%-10%,不是解决用户提出的问题,而是分析存在风险,确定是否值得投入巨大的人力物力去作这个项目?,目录,3.1 可行性研究的步骤,推陈出新、几套方案备选、可行性分析,1.,细化和修改“系统目标和范围”,得出新系统逻辑模型,复查“系统目标和范围”,弄清用户意图,研究目前正在使用的系统流程图,导出新系统逻辑模型,数,据流图简化版,2.,导出新系统的几种可能的解决方案,提供多种开发方案,评价,择一,3.,提出推荐的方案,本项目的开发价值,推荐这个方案的理由,4.,可行性分析,(经济可行性、技术可行性、法律可行性、用户使用可行性),5.,书写文档提交审查,给出结论意见(作,or,放弃?),目录,第,1,阶段:推陈出新,使用,系统流程图,描述系统物理模型,表达了数据在系统各部件之间的流动情况,包含人员、硬件、软件等子系统,符号,借用程序流程图符号,举例,见,系统流程图符号,1,基本符号,加工,输入输出,2 系统符号,汇合,跨页汇合,控制流向,卡片,联机存储,磁盘、磁鼓、软盘,海量存储器等,显示器,或类似设备,脱机辅助操作,文档,磁盘,人工输入,通信链路,磁带,磁鼓,人工操作,例:人工销售教材的系统流程图,系里开,教材科,例:待开发的计算机售书系统的系统流程图,仍旧采用手添发票,作业:,1.,扩充加入机打发票功能,2.,扩充加缺书统计和简单的采购功能。,包含计算机打印发票的售书系统流程图(,P27,图2.9),收书费,目录,第2阶段:推荐方案,方案选择,系统的分解和实现方案是不唯一的,,不同方案开发出的系统在系统功能和性能方面会有很大差异,(精度,安全性,可靠性),不同方案对成本、时间、人员、技术、设备的要求不同,(设计,开发,设备,编码,测试,评审,运行,维护成本。),直接购买类似的商业软件,VS,自行开发,(钱!),反复比较,折衷选择!,例:教材销售系统的方案选择,买现成的还是自行开发?,只包括销售?,销售和采购教材并存,?,只作单机版?(价格低),还是作网络版?(,web,的是否加上学生可以查询余书,或预订?),目录,第3阶段:可行性分析的内容,1.,可行性分析,(,1,)经济可行性,这个系统有无经济效益,多久能收回开发成本?,(投资,-,回报期,),通过,成本效益估算,,确定系统是否值得投资开发,(,2,)技术可行性,风险分析,:给定约束下能否设计并实现系统所需功能?,资源分析,:现有资源下(硬、软件,技术力量,),能否实现?,技术分析,:现有科学技术能否实现?有哪些技术难点?,(,3,)法律可行性:,侵权、破坏、责任,是否与法律相抵触?,目录,3.2 成本效益分析,估计新系统所需的成本和可能产生的效益,以便从经济上衡量这个项目的价值,系统成本,开发成本,运行维护成本,系统效益,经济效益 -有形,(按货币),社会效益 -无形,(学生节约购书时间),如,高考招生系统的建立,原来一个全国招生的学校在全国32个省市招生招收规模小的时候,每个省至少2个老师,一个老师至少呆半个月,若一个老师坐火车的话,来回路费平均1000/人 食宿60 元/天,共1000+60*15=,1900,元,一个老师平均就1900元;1900*2*32=12.1万,不算通讯费用,光上面的一所高校就12.1万,全国几百所高校,就算100所,也要1210万!,而作一个网上的高招系统,省去车马劳顿,以节省大量人力物力。,Cost-Benefit Analysis,3.2.1 成本效益分析内容,成本估计,计算系统的成本的组成,成本估计使用的几个概念,成本估计方法,1,)基于代码行技术,2,)基于工作量的任务分解技术,3,)基于经验公式的估算模型,a),静态单变量模型,b),动态多变量模型,C,),COCOMO,模型,效益分析,(a),货币的时间价值,(b),纯收入,(c),投资回报期,计算系统的成本的组成,一个计算系统的成本由以下四部分组成,购置并安装软,硬件及其相关设备成本,系统开发费用,见下面的成本估计,要算一笔经济账,能否拿下?怎么安排人和时间?,程序的规模?,代码行数,L,需多少人干多久,?,工作量,E(,人月,),工期为多长?,开发时,T(,月,),人员培训费用,系统安装、运行和维护费用,返回,案例:购销系统成本组成,费用名称,数量,单价,金额(万元),1.,软、硬件设备成本,网络服务器,1,1,1,防火墙,1,3,3,网络打印机,1,0.5,0.5,打印机,1,0.12,0.12,普通交换机,5,0.06,0.3,微机,3,0.55,1.65,杀毒软件网络版,1,2,2,2.,开发费用,待估,3.,安装,0.1,4.,培训费用,0.2,成本合计,8.87,成本估计的方法,开发成本估计使用的几个单位,代码行,L,(,行数,),工作量,(,人月,人年,),人员数量,(人,),开发时间,(,月,),成本率,(元/行,),生产率,(行/月,),工资,(元/人月,),估算的方法,1,)基于代码行技术,2,)基于工作量的任务分解技术,3,)基于经验公式的估算模型,1)基于代码行技术,思想:,简单,自底向上,的定量的估算方法,把开发每个软件功能的,成本,和源程序,代码行,数联系起来,.,若有历史数据作参考的话,方法还是有效的。,1.,最佳期望行数为:,L,(a+4m+b)/6,a,:可能,最小行数,,,b,:可能,最大行数,,,m1,:最可能的行数,2.,行数的总误差为:,Ld,其中,n,为所划分的子系统数。,3.,计算成本,软件成本,(元),代码行,(行数),成本率,(元/行),其中成本率取决于软件的复杂程度和工资水平。,例:基于代码行的,CAD,软件包成本估计,功能,a,m,b,L,每行成本,(,元,/,行,),生产率,(,行,/,人月,),成本,(,万元,),工作量,(,人月,),用户界面及控制,1750,2400,2500,2300,10,950,2.3,2.4,二维几何分析,3900,5200,7100,5300,13,600,6.9,8.8,三维几何分析,4600,6900,8600,6800,13,600,8.9,11.3,数据库管理,2900,3400,3600,3350,12,660,4.1,5.1,计算机图形显示,4000,4900,6100,4950,14,500,7.0,9.9,外设控制功能,1900,2100,2300,2100,19,350,4.0,6.0,设计分析,6600,8500,9800,8400,12,800,10.1,10.5,总计,33200,43.3,54,代码行为开发前大致估出的数据,用户接口控制成本:,2300,行1,0,元,/,行,2.3,万元,用户接口控制工作量,2300,行/,950,行/人月人月,2300,5300,6800,3350,4950,2100,8400,33200,6.9,8.9,4.1,7.0,4.0,10.1,43.3,8.8,11.3,5.1,9.9,6.0,10.5,54,返回,也是自底向上的分析方法,把软件开发工程分解为若干个相对独立的子任务,再分别估计每个子任务的成本,最后累加起来得到软件工程的总成本,。,T=B,T:,软件总成本,B:,每个单独开发任务的成本,:,系数,因为,B,C,*,D,,令,C:,完成该子任务所需人力,(,人月),D:,每人每月的平均工资(元/月人,),所以,T=CD,2,)基于工作量的任务分解技术,40-20-40 rule,Analysis,Testing and,40%design,40%,Coding,20%,例:基于工作量的,CAD,软件包成本估计,任务,功能,工作量,用户交流,计划,风险分析,需求,设计,编码,测试,客户评价,总计,(,人月,),用户界面及控制,0.50,2.50,0.40,5.00,二维几何分析,0.75,4.00,0.60,2.00,三维几何分析,0.50,4.00,1.00,3.00,数据库管理,0.50,3.00,1.00,1.50,计算机图形显示,0.50,3.00,0.75,1.50,外设控制功能,0.25,2.00,0.50,1.50,设计分析,0.5,2.00,0.50,2.00,Totals,0.3,0.5,0.25,3.50,20.50,4.75,16.50,0.5,工作量百分比,%,1%,1%,1%,8%,45%,10%,36%,1%,工资,(,万元,/,人月,),1.00,1.20,1.00,0.95,0.82,0.70,0.76,0.3,成本,(,万元,),47,各个阶段的工作量不同:需求分析子任务成本人月,总成本需求设计编码测试万元,返回,人月,1,(工资万元)*工作量成本(元),3,)基于经验公式的估算模型,a),静态单变量模型,Walston_Felix,模型,b),动态多变量模型,b.1 Putnam,模型,3),COCOMO,模型,返回,a),静态单变量模型,面向,KLOC,的估算模型,(1)Walston_Felix,模型,(,教材,P20),(,L,E,和,T,),E=5.2(KLOC),0.91,(人月),T=2.5E,其中,,KLOC,为代码行数的单位,(,千行,),(2)Doty,模型(在,KLOC9,时适用,(,教材,P21,(五),),E=5.288(KLOC),返回,b),动态多变量模型,人力资源的,Rayleigh-Norden,曲线,Putnam,模型提出的基础,Reyleigh,曲线:,横坐标表示距开发起点的时间,,纵坐标代表在不同时间点需要的,人力,td,位于曲线的峰点,从,Rayleigh,曲线上看出,,若平均使用人力(如虚线所示),,则:,开始阶段人力过剩,如图中的,,中间人手不足,如图中,,后期后期补偿已为时过晚,如图中,又造成人员浪费,。,信息系统的人力分配大致如,Rayleigh,曲线,,td,两次约为,4,:,6,td,开发与计划占,40%,维护占,60%,NO!,人力和时间是成正比的线性关系么,?,b),动态多变量模型,b.1 Putnam,模型 (,P22,),基于,Raleigh,曲线,,Putanam,结合,4000,多个当代软件项目中收集的生产率数据,推导出来动态多变量模型,(,也成为软件方程式,),工作量是软件规模和开发时间这两个变量的函数。,E=(,LOC,B/P),3,(1/,t,),4,LOC,:由前面基于,LOC,估算除的代码行(行),E,:工作量 单位:,(,人月)或(人年),t1,:开发时间(月)或(年),B,:特殊技术因子,,随规模和要求的增加而缓慢增加,:,小的程序,(KLOC=515),,,B=0.16,超过,70 KLOC,的程序,,B=0.39;,P,:生产率参数,(2000-30000),,,P=,2000,实时嵌入式开发:,P=10000,电信及系统软件,P=12000,科学计算软件,P=28000,商业系统应用软件,返回,Putnam,揭示的是什么?人力和资源是等价互换的么?,例如,有一软件估计源程序,L,长为,98475,行,假定两年完成开发工作量,用,Putanam,模型计算每年需多少人,若开发时间压缩为年时,需多少人每年?,E=(LOCB/P),3,(1/t),4,B,取,0.39(,超过,70 KLOC,的程序,),电信及系统软件,P,取,10000,,若,t=2,年,则,/10000),3,(1/,2,),4,=23(,人,-,年,),若提前到年,则:,/10000),3,(1/),4,=35(,人,-,年,),(35-23)/23=52%,即工期想提前,10%,,却需要增加,52%,的工作量,putnam,模型揭示了工作量与时间的,4,次方成反比,!,NO!,C,),COCOMO,模型,是改进的单变量估算模型,L,E,和,T,以静态单变量模型为基础,加入,2,点改进:,1,),软件分类,:,软件应用领域不同,经验常数不同,三种项目开发模式,基本,COCOMO,2,)考虑开发因素的影响,考虑开发阶段的影响,三种,COCOMO,模型,工作量调节因子,EAF,:,考虑,15,种对软件开发的影响的有关因素(产品属性,计算机、人员、项目等),中级,COCOMO,返回,COCOMO模型的三种开发模式,该模型是,Boehm,提出的结构性成本估算模型,他将现有的项目分成了三种开发模式:,模式,产品,规模,项目,/,团队规模,革新,期限和约束,开发环境,组织型,250KLOC,小型项目,/,团队,很少,不严格,稳定,内部,半独立型,50300KLOC,中型项目,/,团队,中等,中等,中等,嵌入型,大于,300KLOC,大型项目,/,团队,许多,约束严格,复杂的硬件,/,客户接口,难,度,增,加,COCOMO模型的三个等级,基本,COCOMO,仅使用,规模,和,模式,来确定工作量和进度,适于中小规模的项目,快速而粗略的评估。,中等,COCOMO,使用规模、模式和,15,个成本驱动因子,确定工作量,这些因子与产品、人员、计算机和增加或减少软件项工作量的项目属性相关。,详细,COCOMO,基于中等,COCOMO,之上,引入了,结合了成本驱动因子对软件工程过程中,每一个步骤,(,分析、设计等,),的影响的评估,工作量系数,以及一个,3,层产品结构。,1)基本COCOMO公式,工作量,E=a,(规模,L,),b,开发时间,TDEV=c(E),d,开发模式,a,b,c,d,工作量公式(人月),开发时间(月),组织型,2.4,1.05,2.5,0.38,E=2.4,(,KLOC,),1.05,TDEV=2.5(E),0.38,高级语言程序,如科学计算、数据处理,半独立型,3.0,1.12,2.5,0.35,E=3.0,(,KLOC,),1.12,TDEV=2.5(E),0.35,大多数事务处理系统,对于终端硬件和数据库软件有确定需求,嵌入型,3.6,1.20,2.5,0.32,E=3.6,(,KLOC,),1.20,TDEV=2.5(E),0.32,与硬件关系密切相关的如,OS,,,DBMS,,实时控制等,飞机的航空控制系统,),估算出,E,和,T,后:很容易得到,生产率:,P=KLOC/E,(代码行,/,人月),完成项目的平均全职人员,FSP=E/TDEV,(人),COCOMO估算例,一个,32KLOC,的中型项目:,工作量:(,32,),=91,人月,进 度:(,91,),=14,个月,生产率:,平均安置人员:,效益分析,系统效益,经济效益 -有形,(按货币),社会效益 -无形,(学生节约购书时间),一般设生命周期为5年,经济效益分析涉及的重要概念,(a),货币的时间价值,(b),纯收入,(c),投资回报期,(,a),货币的时间价值,成本估算的目的是要对项目投资,但投资在前取得效益在后,因此,要考虑货币的时间价值,通常用利率来表示货币的时间价值,设年利率为,i,,现存入钱为,P,,则,n,年后可以获得的钱数为:,F=P(1+i),n,这就是,P,元钱在,n,年后的价值,反之,若,n,年后能收入,F,元,则这些钱折合到现在价值为,P=F/(1+i),n,CAD,系统,每年能节省多少钱,),,如何计算?,分析员对现行人工系统和待开发系统(,CAD),定义可度量的特性绘图时间,t_draw:,平均绘图时间4小时,c:,每个绘图小时的成本20元,n:,每年的绘图量80000,p:CAD,系统中已完成的绘图比60,采用,CAD,系统后绘图时间缩减比为1/4,则每年节省的绘图费用为,:,缩减比,t_draw*c*n*p=,万元,例:CAD系统的效益分析,在工程设计中采用,CAD,来代替人工设计,每年可节省万元,若软件生存期为,5,年,则可节省9.6*548万,已知开发这个,CAD,系统共投资,20,万,效益4820,28,?,错,!,20万是现在投资的钱,而48万是5年后的钱!,5年节省多少钱?,第3年9.6折合到现在:,年份,将来值(万),(1+i),n,现在值(万),折合到现在值的累计值(万),1,9.6,1.05,9.1429,9.1429,2,9.6,1.1025,8.7075,17.8513,3,9.6,1.,1576,8.2928,26.1432,4,9.6,1.2155,7.8979,34.0411,5,9.6,1.2763,7.5219,41.5630,设年利率为5,目录,(b)纯收入,是指在整个生存周期之内系统的累计经济效益(,折合成现在值,)与投资之差。,例如上例中:,目录,(c)投资回报期,使累计的经济效益等于最初投资所需的时间。,显然投资回收期越短,就能越快地获得利润,因此这项工程也就越值得投资,上例,CAD,系统中,投资20万,到第2年,效益已经为,17.8513,离最初投资还差2.15万,而第三年的效益是26.14万,折合的每个月上,得投资回报期为,年份,将来值(万),(1+i),n,现在值(万),折合到现在值的累计值(万),1,9.6,1.05,9.1429,9.1429,2,9.6,1.1025,8.7075,17.8513,3,9.6,1.576,8.2928,26.1432,CAD成本效益分析图,目录,附:可行性研究报告(,FAR),(,国标,GB8567-2006),1,引言(编写目的,背景,定义,参考资料),2,引用文件(,应列出本文档引用的所有文档的编号、标题、修订版本和日期,),3,可行性研究的前提,要求,目标,条件,假定和限制,进行可行性研究的方法,评价尺度,4,可选择的其他系统方案,4.1,对现有系统的分析,数据流程和处理过程,工作负荷,费用开支,人员,设备,局限性、存在问题,4.2,可重用系统与要求之间的差距,4.3,可选择的方案1,4.4,可选择的方案,2,选择最终方案的准则,5,所建议的系统,说明,数据流程和处理流程,改进之处,影响,局限性,技术条件可行性,6,经济可行性,投资及收益分析,投资:(,基本建设投资,投资,(,如开发环境、设备、软件和资料等,),,,其他一次性和非一次性投资,(,如技术管理费、培训费、管理费、人员工资、奖金和差旅费等,),。,收益,(,一次性、,非一次性收益,不可定量的收益,),收益投资比,投资回收周期,7,技术可行性(技术风险评价),8,法律可行性(,系统开发可能导致的侵权、违法和责任,等),9.,用户使用可行性方面(社会条件方面的可行性,即用户使用方面),10,结论,附录,目录,小结:可行性论证报告,系统概述,简述当前系统及其问题,新系统功能及新旧系统的比较,可行性分析,经济、技术、法律上的可行性,建立新系统的主客观条件分析,结论意见,Yes or No,3.,软件计划,想法:,都有哪些任务,需要多少时间?相互之间的依赖关系?,像日历一样画出来?,甘特图,哪些是关键任务?,Pert,图,在这样的安排下最短的工期是多久?,可以微调进度么?,软件开发进度的安排,甘特图,(Gantt Char),Pert,图,(,工程网络图,),像日历一样画出来?甘特图,P=10000 电信及系统软件,D:每人每月的平均工资(元/月人),P=2000 实时嵌入式开发:,工作量 E=a(规模L)b,1900*2*32=12.,3)基于经验公式的估算模型,研究项目是否可能实现和值得进行?,存在哪些风险,如何预防这些风险?,Pert图(工程网络图),要求,目标,条件,假定和限制,进行可行性研究的方法,评价尺度,Reyleigh曲线:,基于中等COCOMO之上,引入了结合了成本驱动因子对软件工程过程中每一个步骤(分析、设计等)的影响的评估工作量系数以及一个3层产品结构。,1,)甘特图,通过日历形式列出项目活动及其相应的开始和结束日期,它为反映项目进度信息提供了一种标准形式,2,),PERT,工程网络图,项目网络图是项目的所有活动以及它们之间逻辑关系或排序的图形显示。,项目网络图是活动排序的输出,它有以下作用:,(,1,)能表示项目活动,并表示活动之间的依赖关系。,(,2,)表明项目活动将以什么顺序继续。,(,3,)在进行工期估计时,表明项目将需要多长时间。,(,4,)当改变某项活动工期时,表明项目工期将如何变化。,项目网络图有两种表示形式:,(,1,)前导图法(,PDM,:,Precedence Diagramming Method,),(,2,)箭线图法(,ADM,:,Arrow Diagramming Method,),工程网络图的表现形式,【,法,1】,箭线图法,(ADM),活动,,节点将活动连接,,表示依赖关系,【,法,2】,前导图法,(ADM),活动,依赖关系,任务,PERT,箭图法图示,本书采用箭图法,任务持续时间,箭头表示任务(活动),圆圈表示事件,任务(活动)的开始或结束,事,件,号,EET,上一个任务结束的最早时刻,LET,上一个任务结束的最迟时刻,(,任务机动时间,),Pert,图例:,D1,,,C2,,,C3,4,产品测试,C4,前置任务,月,名称,任务编号,F1,E1,D1,C3,C2,C1,B1,A1,2,4,6,2,2,4,3,E1,,,C4,结束,B1,文档,B1,编码,C1,测试软件,A1,,,c1,测试数据,测试计划,A1,设计,分析,分析,3,个月,设计,4,个月,在分析后,测试计划,2,个月,,准备测试数据,2,个月,在分析之后、测试计划之后,编制测试软件,6,个月,在测试计划后设计后,编码,4,个月,撰写文档,2,个月,在设计后,当编码、测试数据完成后,测试软件完成后才进行产品测试,4,个月,最后结束,1.,绘制,pert,图 标记任务和持续时间,A1,分析,3,1,2,B1,设计,4,3,C1,测试计划,2,4,C3,测试软件,6,6,7,D1,编码,4,5,C2,测试数据,2,8,E1,文档,2,C4,产品,测试,4,任务编号,名称,月,前置任务,A1,分析,3,B1,设计,4,A1,C1,测试计划,2,C2,测试数据,2,A1,,,c1,C3,测试软件,6,C1,D1,编码,4,B1,E1,文档,2,B1,C4,产品测试,4,D1,,,C2,,,C3,F1,结束,E1,,,C4,2.,计算最早时刻,EET(,前一任务最早结束或下一任务开始的最早时间),分析,3,1,2,设计,4,3,测试计划,2,4,测试软件,6,6,7,编码,4,5,测试数据,2,测试数据,2,8,文档,2,产品,测试,4,0,3,7,3+4=7,2,Max3+0,2+0,3,8,Max7+4,3+2,8+0,11,15,1.,令起始点的,EET=0,2.,对进入该事件的所有子任务,当前事件的,EET=Max,子任务的起始事件的最早开始时刻,+,持续时间,3.,计算最迟时刻,LET(,前一任务最迟结束或下一任务最迟开始时刻,),分析,3,1,2,设计,4,3,测试计划,2,4,测试软件,6,6,7,编码,4,5,测试数据,2,测试数据,2,8,文档,2,产品,测试,4,0,3,7,2,3,8,15-4=11,11,15,15,11,Min15-2,11-4,7,11-2=9,9,11,5,Min7-4,9-0,3,0,1.,终点事件:令,LET=EET,2.,对离开该事件的所有子任务,当前事件的,LET=,Min,子任务的结束事件的最迟时刻,-,子任务持续时间,1.,绘制,pert,图:,标记任务和持续时间,2.,计算最早结束时间,3.,计算最迟结束时间,4.,找出关键路径,工期最短为,15,个月,最早,=,最迟时间的任务,4.,找出关键路径,分析,3,1,2,设计,4,3,测试计划,2,4,测试软件,6,6,7,编码,4,5,测试数据,2,测试数据,2,8,文档,2,产品,测试,4,0,3,7,2,3,8,11,15,15,11,7,9,11,5,3,0,分析,3,1,2,设计,4,3,测试计划,2,4,测试软件,6,6,7,编码,4,5,测试数据,2,测试数据,2,8,文档,2,产品,测试,4,0,3,7,2,3,8,11,15,15,11,7,9,11,5,3,0,15-11-4=0,(,0,),11-8-0=3,(,3,),(,6,),(,0,),(,6,),(,0,),(,0,),(,3,),(,3,),5.,计算子任务的非机动时间,机动时间,=,该任务结束事件的,LET-,该任务开始事件的,EET-,任务持续时间,产品测试的结束事件,产品测试的开始事件,分析,3,1,2,设计,4,3,测试计划,2,4,测试软件,6,6,7,编码,4,5,测试数据,2,测试数据,2,8,文档,2,产品,测试,4,0,3,7,2,3,8,11,15,15,11,7,9,11,5,3,0,(,0,),(,3,),(,6,),(,0,),(,6,),(,0,),(,0,),(,3,),(,3,),测试数据(最早开始,3,,最迟结束,11,),所以最迟第,9,月开始就行,而测试软件是,(,最早,2,,最迟,11),如果是按最早,2,开始,则第,8,月结束,这样只需一组测试人员即可,,先做测试软件,再设计测试数据,6.,根据非机动时间调整进度,附:,Project,生成的甘特图,附:,Project,的工程网络图,:建议在系统中增加对缺书的统计与采购功能。,(a)货币的时间价值,包括目标设备的硬件和操作系统;,Statement of Scope and Objective,1900*2*32=12.,(2)Doty模型(在KLOC9时适用(教材P21(五)),这些因子与产品、人员、计算机和增加或减少软件项工作量的项目属性相关。,估算出E和T后:很容易得到,它为反映项目进度信息提供了一种标准形式,总成本需求设计编码测试万元,(1)Walston_Felix模型(教材P20)(LE和T),基本的COCOMO模型只考虑的规模(LOC)和项目的开发模式(组织型、半独立型、嵌入型),而实际的项目还受到来自产品、人员等各方面属性的影响,本计划的批准者和批准日期,用户使用可行性方面(社会条件方面的可行性,即用户使用方面),1 Putnam模型 (P22),生产率:P=KLOC/E (代码行/人月),程序的规模?代码行数 L,附:软件开发计划,(,国标,GB8567-2006),1,引言,编写目的、背景、定义、参考资料),2,项目概述,工作内容,主要参加人员,产品,程序,文件,服务,非移交的产品,验收标准,完成项目的最迟期限,本计划的批准者和批准日期,3,实施计划,工作,任务的分解,与,人员分工,接口人员,进度,预算,关键问题,4,支持条件,计算机系统支持,需由用户承担的工作,由外单位提供的条件,5,专题计划要点,第二章作业,软件计划包括哪些内容?,可行性分析包括哪些?、,计算机的开发成本包括哪些?,结合生活中的列子,举一个软件项目不能违背法律可行性的例子,假如待开发一个教材销售管理信息系统,要包括缺书登记和统计的功能,请绘制系统流程图。,6 P39,,,23,题 成本估计,Using the LOC technology finish the following table,功能,a,m,b,L,¥,/line,生产率,Line/,month,成本,Cost,工作量,Months,A,2000,2400,2650,15,350,B,2400,3000,3300,25,350,C,3560,4000,4250,25,340,D,1900,2000,2100,30,300,E,2120,2200,2300,18,280,F,1800,2100,2400,20,300,Total,P39,25,题,Calculate the software development effort and cost according to the following table.,Function,Requirement,Design,Code,Test,Total,A,3.5,8,1,6,B,3.5,7,2,6,C,5,12,2.5,9,D,4,7,2,5,E,3,6.5,1,4,F,6,10,2.5,7,Total,Rate(,元,),15000,12000,8000,11000,Cost(,元,),包含人员、硬件、软件等子系统,经济效益 -有形 (按货币),导出新系统逻辑模型数据流图简化版,估算出E和T后:很容易得到,假如待开发一个教材销售管理信息系统,要包括缺书登记和统计的功能,请绘制系统流程图。,需做实质性修改的,本计划的批准者和批准日期,程序的规模?代码行数 L,将在计划阶段中可行性分析中经济可行性(成本效益估计)中用到(资源人员不同,造价不同),对离开该事件的所有子任务,包含人员、硬件、软件等子系统,(1)可行性研究的内容,系统安装、运行和维护费用,3)基于经验公式的估算模型,(2)表明项目活动将以什么顺序继续。,不是解决用户提出的问题,而是分析存在风险,确定是否值得投入巨大的人力物力去作这个项目?,7,要对一个现有教材销售系统进行改造升级,经过初步估计,现行的旧系统的运行费用为,2,万元,由基于,LOC,方法计算出的新系统的开发成本计算出的人力资源(至少要,4,个人开发,每人工资,2500,元,/,月,要,3,个月),购买硬件(,2,台,PC,,,4 000/,台,网络设备,2000,元,网络服务器,1,台,每台,1,万,网络打印机,1,台,每台万,打印机,1,台,每台万元,网络设备(含普通交换机),5,个,每个),新系统的运行费用,(,耗材,3000,元,日常维护,1000,元,),,安装和培训费用分别为、万元,请对该系统进行成本效益分析,并计算出新系统节省的费用,投资回报期,纯收入,成本,总计,新系统运行费用,总计,现有系统的运行费用,每年节省的费用,投资回报期,纯收入,教材系统的成本-效益核算,8.,书上,P34,表,2-5,,绘制工程网络图,求关键路径,以及机动时间,并绘制出甘特图,看有无调整的可能,9.,使用,project,绘制第,8,题的甘特图和生成工程网络图,页第,22,题,是图书系统基于工作量的估算,请计算:,1),进行基于工作量的成本估算,2,)使用,project,绘制甘特图和工程网络图,得出最 短工期,看有无调整的可能,附录:简化改进后的,Putnam,模型(略),Putnam,和,Myers,又进一步简化了,Putnam,模型,最小开发时间:,t,min,=8.14(LOC/P),其中,,t,min6,个月,工作量:,E=180Bt,3,例:,以本节,CAD,软件为例,tmin,8.14,(,33200,/12000,),个月,=(,年,),E,180 0.28,(),3,58,人月,附录2)中等COCOMO,思想:,基本的,COCOMO,模型只考虑的规模,(LOC),和项目的开发模式,(,组织型、半独立型、嵌入型,),,而实际的项目还受到来自产品、人员等各方面属性的影响,中等,COCOMO,模型,其中“成本驱动因子”包括对产品、硬件、人员、及项目属性的主观评估采用对应于,15,个成本驱动因子的属性系数进行调整,开发模式,标称工作量公式,组织型,(MM),NOM,=,3.,2(KLOC),1.05,半独立型,(MM),NOM,=,3.0,(KLOC),1.12,嵌入型,(MM),NOM,=,2.8,(KLOC),1.20,工作量,E=a(,规模,L),b,F,i,其中,(i=1,2,15),15,i=1,中等,COCOMO,的系数也对基本,COCOMO,模型进行了调整,因子取值:,P261,成本驱动因子,等级,很低,低,标称,高,很高,极高,产品属性,软件可靠性,RELY,0.75,0.88,1.00,1.15,1.40,数据规模,DATA,0.94,1.00,1.08,1.16,复杂执行时间,CPLX,0.70,0.85,1.00,1.15,1.30,1.65,计算机属性,执行时间约束,TIME,1.00,1.11,1.30,1.66,主存利用率,STOR,1.00,1.06,1.21,1.56,虚拟机的易变
展开阅读全文