您好,欢迎访问三七文档
SE06成本效益分析软件工程/UML中国科学技术大学计算机系冯晓静Spring@2010目录2.1可行性研究的任务2.2可行性研究的过程2.3系统流程图2.4数据流图2.5数据字典2.6成本效益分析2.7小结2.6成本/效益分析开发一个软件系统是一种投资,期望将来获得更大的经济效益。经济效益通常表现为减少运行费用或(和)增加收入。但是,投资开发新系统往往要冒一定风险,系统的开发成本可能比预计的高,效益可能比预期的低效益分析的目的正是要从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定为了对比成本和效益,首先需要估计它们的数量2.6.1成本估计软件开发成本主要表现为人力消耗(乘以平均工资则得到开发费用)成本估计不是精确的科学,因此应该使用几种不同的估计技术以便相互校验下面简单介绍3种估算技术1.代码行技术2.任务分解技术3.自动估计成本技术1、代码行技术代码行技术是比较简单的定量估算方法,它把开发每个软件功能的成本和实现这个功能需要用的源代码行数联系起来通常根据经验和历史数据估计实现一个功能需要的源程序行数。当有以往开发类似工程的历史数据可供参考时,这个方法是非常有效的一旦估计出源代码行数以后,用每行代码的平均成本乘以行数就可以确定软件的成本每行代码的平均成本主要取决于软件的复杂程度和工资水平2、任务分解技术这种方法首先把软件开发工程分解为若干个相对独立的任务。再分别估计每个单独的开发任务的成本,最后累加起来得出软件开发工程的总成本。估计每个任务的成本时,通常先估计完成该项任务需要用的人力(以人月为单位),再乘以每人每月的平均工资而得出每个任务的成本。最常用的办法是按开发阶段划分任务。如果软件系统很复杂,由若干个子系统组成,则可以把每个子系统再按开发阶段进一步划分成更小的任务。3.自动估计成本技术采用自动估计成本的软件工具可以减轻人的劳动,并且使得估计的结果更客观但是,采用这种技术必须有长期搜集的大量历史数据为基础,并且需要有良好的数据库系统支持2.6.2成本/效益分析的方法成本/效益分析的第一步是估计开发成本、运行费用和新系统将带来的经济效益运行费用取决于系统的操作费用(操作员人数,工作时间,消耗的物资等等)和维护费用系统的经济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用软件的寿命因为运行费用和经济效益两者在软件的整个生命周期内都存在,总的效益和生命周期的长度有关,所以应该合理地估计软件的寿命虽然许多系统在开发时预期生命周期长达10年以上,但是时间越长系统被废弃的可能性也越大,为了保险起见,以后在进行成本/效益分析时一律假设生命周期为5年。1、货币的时间价值应该比较新系统的开发成本和经济效益,以便从经济角度判断这个系统是否值得投资,但是,投资是现在进行的,效益是将来获得的,不能简单地比较成本和效益,应该考虑货币的时间价值。通常用利率的形式表示货币的时间价值。假设年利率为i,如果现在存入P元,则n年后可以得到的钱数为:F=P(1+i)n这也就是P元钱在n年后的价值。反之,如果n年后能收入F元钱,那么这些钱的现在价值是P=F/(1+i)n举例修改一个已有的库存清单系统,使它能在每天送给采购员一份定货报表。修改已有的库存清单程序并且编写产生报表的程序,估计共需5000元;系统修改后能及时定货将消除零件短缺问题,估计因此每年可以节省2500元,5年共可节省12500元。但是,不能简单地把5000元和12500元相比较,因为前者是现在投资的钱,后者是若干年以后节省的钱。假定年利率为12%,利用上面计算货币现在价值的公式可以算出修改库存清单系统后每年预计节省的钱的现在价值,如表2.3(51页)所示。2、投资回收期通常用投资回收期衡量一项开发工程的价值。所谓投资回收期就是使累计的经济效益等于最初投资所需要的时间。显然,投资回收期越短就能越快获得利润,因此这项工程也就越值得投资。举例投资回收期仅仅是一项经济指标,为了衡量一项开发工程的价值,还应该考虑其他经济指标。3、纯收入衡量工程价值的另一项经济指标是工程的纯收入,也就是在整个生命周期之内系统的累计经济效益(折合成现在值)与投资之差。这相当于比较投资开发一个软件系统和把钱存在银行中(或贷给其他企业)这两种方案的优劣。如果纯收入为零,则工程的预期效益和在银行存款一样,但是开发一个系统要冒风险,因此从经济观点看这项工程可能是不值得投资的。如果纯收入小于零,那么这项工程显然不值得投资。举例4、投资回收率把资金存入银行或贷给其他企业能够获得利息,通常用年利率衡量利息多少。类似地也可以计算投资回收率,用它衡量投资效益的大小,并且可以把它和年利率相比较,在衡量工程的经济效益时,它是最重要的参考数据P=F1/(1+j)+F2/(1+j)2+…+Fn/(1+j)nP是现在的投资额Fi是第i年年底的效益N是系统使用的寿命j是投资回收率4、投资回收率已知现在的投资额,并且已经估计出将来每年可以获得的经济效益,那么,给定软件的使用寿命之后,怎样计算投资回收率呢?设想把数量等于投资额的资金存入银行,每年年底从银行取回的钱等于系统每年预期可以获得的效益,在时间等于系统寿命时,正好把在银行中的存款全部取光,那么,年利率等于多少呢?这个假想的年利率就等于投资回收率。目录2.1可行性研究的任务2.2可行性研究的过程2.3系统流程图2.4数据流图2.5数据字典2.6成本效益分析2.7小结小结-I可行性研究进一步探讨问题定义阶段所确定的问题是否有可行的解在对问题正确定义的基础上,通过分析问题,导出试探性的解,然后复查并修正问题定义,再次分析问题,改进提出的解法……经过定义问题、分析问题、提出解法的反复过程,最终提出一个符合系统目标的高层次的逻辑模型然后根据系统的这个逻辑模型设想各种可能的物理系统,并且从技术、经济和操作等各方面分析这些物理系统的可行性最后,系统分析员提出一个推荐的行动方针,提交用户和客户组织负责人审查批准小结-II在表达分析员对现有系统的认识和描绘他对未来的物理系统的设想时,系统流程图是一个很好的工具。系统流程图实质上是物理数据流图,它描绘组成系统的主要物理元素以及信息在这些元素间流动和处理的情况。数据流图的基本符号只有4种,它是描绘系统逻辑模型的极好工具。通常数据字典和数据流图共同构成系统的逻辑模型。没有数据字典精确定义数据流图中每个元素,数据流图就不够严密;然而没有数据流图,数据字典也很难发挥作用。小结-III成本/效益分析是可行性研究的一项重要内容,是客户组织负责人从经济角度判断是否继续投资于这项工程的主要依据。
本文标题:成本效益分析
链接地址:https://www.777doc.com/doc-458255 .html