软件开发成本估算.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

精选资料

精选资料

软件成本估算

近年来,由于软件的价格越来越高,在计算机系统中软件所占的比重越来越大,软件价格估计的差错对于一个计算机公司的盈亏起到举足轻重的作用。因此,软件成本的估计受到普遍的重视。

软件价格的计算不是一门精确的学科,因此我们称为成本估算。它受到许多因素的影响,包括人的技术和环境的影响。在开发工作尚未开始之前作软件成本估价就要冒险。有的公司采用“三段估价”的办法,在开发初期的计划阶段订出初步估算价,在要求分析阶段后给出一个修正估算价格,在设计完成之后给出最终估算价格。在软件成本估算方面的工作大多数都从分析与软件成本相关的因素入手。

一、影响软件成本的因素

软件人员的业务水平

软件人员的素质、经验、掌握知识的不同在工作中的表现有很大的差别。有人作过试验,组织一些不同程度的软件人员开发同一课题,对开发的程序进行统计分析,结果发现,完成得好的和差的,生产率相差五倍,甚至十几倍。可见软件人员的业务水平对软件产品的生产率影响是很大的。

软件产品按开发的复杂性可分为三类:

一类是应用程序,如用高级语言写的科学计算、数据处理、企业管理等用户程序。二类是实用程序,如用系统程序设计语言或汇编语言写出的编译程序、汇编程序、联

接编辑程序、输入加载程序。

三类是系统程序,如用汇编语言或系统程序语言写的操作系统、实时处理控制系统等。这三类程序,以系统程序的生产率为1,以应用程序开发的复杂为1,可以画出三类程序的

生产率和复杂性的比例关系图表。见表2.3

表2.3生产率和复杂性比例关系表

项目

系统程序

实用程序

应用程序

生产率

1

5—10

25—100

复杂性

9

3

1

B.Bo?hm教授进一步给出了这三种软件产品的程序规模和工作量的相互关系的公式。程序的规模是以源程序每千行语句(或指令)为单位。程序的工作量以一人一月为单位,记为PM这三类程序,每个人每月生产程序的千行数为:

应用程序是:

PM=2.4*(KDSI)**1.05 (其中KDSI为千行源代码数)实用程序是

PM=3.0*(KDSI)**1.12

系统程序是

PM=3.6*(KDSI)**1.20

例如,三类程序所选取的开发项目都是60000行的程序,所需投入的人-数三类不同程序大体比例为了:1:1.7:2.8,工作量估计曲线大约如图21所示。

估计工作量

6000

5000

4000

3000

2000

1000

100 300 500 700 900 软件产品规

图2.1 工作量估计曲线

3.I 开发软件所花费的时间估算:

Boehm给出了各类程序所花费的时间如下:应用程序所花的时间

实用程序所花的时间系统程序所花的时间

TDEV(AP)=2.5*(PM)**0.38

TDEV(UP)=2.5*(PM)**0.36TDEV(SP)=2.5*(PM)**0.32

上述三类程序都针对同样规模的程序,设以上三类程序所要开发的时间基本相同。例如60KDSI的程序都需18个月,同时如果把开发时间;拉长或者缩短,则都需要更多的工作量,把这个时间称为最佳开发时间。

在研究了63个开发项目之后,Boehm得出结论,每个软件项目所用的时间有一个极限值,在此极限值之外,如果想用增加人员和设备的办法来缩短开发时间是不可能达到目的的,这个极限值即为上述开发时间的75%。

我们应该记住Boehm提出的这条程序开发规律,即每个程序项目有一个最佳时间,以这个时间来计划开发过程,就可达到较好的经济效益。

4、软件开发的技术水平: 软件开发水平,主要是指所用程序开发技术(包括系统分析和系统设计的方法,结构化设计方法,程序设计语言,遍查和评审、结构程序设计,系统测试和程序库)。软件开发CASE工具和支撑环境水平的高低也关系重大。

软件开发技术水平高则开发效率高。例如,使用高级语言要比用汇编语言提高3至10倍,各种高级语言的效率也有很大差别。例如ADA语言有很强的类型检设施、数据抽象、单独编译、中断处理、并行结构等。它使软件的生产率和可靠性均有提高。在开发中使用工具可以提高生产率,工具也有基本工具和先进工具的区别,我们把它对软件开发工具量的关系列表如表7.5所示。

表2.5 现代软件设计技术和工具的使用

对软件开发工作量的影响系统

使用情况 开发工程系数未采用 1.24

充分使用

仅用基本工具

使用先进开发工具5、软件开发的可靠性要求

0.82

1.24

0.83

软件的可靠性是在计划阶段,考虑到软件可能失效的代价而确定下来的,要根据开发和维护的价格,提出不同的可靠性要求,对软件开发的工作量综合地作出估计。表2.6给出与五类软件可靠性相应的开发工作量系数。

表2.6可靠性对软件开发量的影响系数可靠性 失效的影响 开发工作数

很低

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档