试论软件工作量及投资评估方法研究

上传人:宝路 文档编号:2312339 上传时间:2017-07-22 格式:DOC 页数:4 大小:94KB
返回 下载 相关 举报
试论软件工作量及投资评估方法研究_第1页
第1页 / 共4页
试论软件工作量及投资评估方法研究_第2页
第2页 / 共4页
试论软件工作量及投资评估方法研究_第3页
第3页 / 共4页
试论软件工作量及投资评估方法研究_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《试论软件工作量及投资评估方法研究》由会员分享,可在线阅读,更多相关《试论软件工作量及投资评估方法研究(4页珍藏版)》请在金锄头文库上搜索。

1、试论软件工作量及投资评估方法研究随着信息技术的快速发展和应用领域的扩大深入,软件工作量及成本投资评估方法的研究正在成为当前及未来项目管理研究的热点之一。目前多数软件企业遇到项目投资前项目工作量不明确,投资评估是长期存在的难点,工作量统计一直采用收集各厂家工作量数据为主,对比各厂家工作量数据,最后根据企业需要决定开发厂家,工作量及成本投资估算缺乏科学性,较少采用 RO1(投资回报) 的分析,通过本文研究工作量及成本投资评估方法的研究,为企业提供工作量及成本投资提供科学的、相对准确的方法,为企业商业投资提供参考,它为解决软件危机所表现出的各种问题提供了思路和方案。一、软件工作量及成本评估方法简介目

2、前,国际上已有许多软件规模估计方法,如功能点(FunctionPoint)、特征点(FeaturePoint)、对象点 (ObjectPoint)、德尔菲(Delphi)、模糊逻辑(FuzzyLogic)、标准构件法(StandardComponent)等,这些方法随着各国研究者的不断研究细化又有许多具体的方法,如国际功能点用户协会(IFPUGTheIntemationalFunctionPointUsersGroup)提出的 IFPUG 方法、英国软件度量协会(UKSMAUnitedKingdomSoftwraeMetricsAssociation)提出的 MkIIFPA方法、荷兰功能点用户

3、协会 fNEFPUGNethedandsFunctionPointUsersGroup)提出的 NESMA 方法以及软件度量共同协会(COSMICtheCOmmonSoftwareMetricsConsortium)提出的 COSMICFFP 方法,这些方法都属于 Albrecht 功能点(FuncitonPoint)方法的发展和细化。目前大部分软件估计方法有工具支持。国际上目前已经有一些组织吸收和积累世界各地软件企业的软件估计和度量数据,建立了被广泛使用的历史数据库,如在功能规模度量领域,有一个 ISBSG(国际软件基准组织InternationalSofwtareBenehmrakingS

4、tandardsGroup)数据库。另外,CO COMOIIEsfimMingModel 也有丰富的估计和度量数据提供。COCOMII:Boehm 在其经典着作“软件工程经济学 ”(softwareengineeringconomics)中,介绍了一种软件估算模型的层次体系,称为COCOMO(构造性成本模型,COnstructiveCOstMOde1),它代表了软件估算的一个综合经验模型。COCOMOII 是软件成本估算模型,是软件决策中成本和进度关系模型,涉及软件开发工作量、预算、进度、软件质量。功能点估算法是一种在需求分析阶段基于系统功能的一种规模估计方法。通过研究初始应用需求来确定各种输

5、入、输出、计算和数据库需求的数量和特性。这种方法的计算公式是:功能点=信息处理规模技术复杂度。信息处理规模包括各种输入、输出、查询、内部逻辑文件数、外部接口文件数等等;技术复杂度包括性能复杂度、配置项目复杂度、数据通信复杂度、分布式处理复杂度、在线更新复杂度等等。运算法:是一种简单直观的估计方法,它根据规模估计的结果和相应的系数运算得到工作量估计。专家法(WidebandDelphi):Delphi 法是一种专家评估技术,在没有历史数据的情况下,这种方式适用于评定过去与将来,新技术与特定程序之间的差别。对于需要预测和深度分析的领域,依赖于专家的技术指导,可以获得较为客观的估算。通过专家们的互相

6、讨论,还可以博取众长。当使用 COCOMOII 和功能点估算时,虽然两者是估算方法中比较科学的方法但也存在一些主观判断,一般存在很大主观判断时采用此方法。类比法:类比法适合评估一些与历史项目在应用领域、环境和复杂度的相似的项目,通过新项目与历史项目的比较得到估计数据。三点法:这种方法共估计三个值,软件产品预期规模的一般值、最大值和最小值。通过这三个值的计算可得到一个统计学上的期望值和一个标准偏差。工作量及成本估算不仅只是在项目初期展开,而是在项目的各个阶段都进行工作量及成本的估算,随着项目的开展,工作量估算更加准确。二、软件工作量及成本评估流程提交准确估算的能力取决于需求被明确定义的程度。但是

7、缺少明确定义的需求却不是不进行估算的借口。准确的估算需要以下关键元素:(1)对需求的基本理解;(2)准确计算产品规模的能力;(3) 对产品复杂度的评定;(4)对厂家交付能力的描述。厂家的交付能力几个方面决定,包括:厂家开发过程,特别是避免无附加值活动的过程的能力(返工、官僚主义的拖延、沟通开销);软件工程人员的能力,特别是有关计算机科学问题和项目应用领域问题的经验;环境,它由能支持有效的软件开发和能使过程自动化的工具和技术构成;所有要求的产品质量,包括产品的特征、性能、可靠性和适应性。流程图如下:软件规模估算:软件估算首先要将整个工程的规模估算出来,才能进行下面的其他估算。规模,就是一个工程可

8、量化的结果,是用具体数字来体现项目的描述。规模估算的信息来源是清晰、有界限的用户需求。软件规模度量单位一般使用功能点和 SLOC(代码行)两种方法。在定制构造占绝对优势的应用中, SLOC(代码行)很好用,还因为 SLOC(代码行)度量很容易自动化。但目前,语言的进步和构件的使用、自动化源代码生成以及面向对象技术,已经使 SLOC(代码行) 成为一种更有歧义的度量。功能点也有大量的追随者,功能的主要优势是,独立于技术,因此是一个在项目和组织之间进行比较的更好的原始单位。软件工程的历史与发展趋势1 软件工程的出现11 软件危机20 世纪中期,计算机刚被从军用领域转向民用领域使用,那时编写程序的工

9、作被视同为艺术家的创作。当时的计算机硬件非常昂贵,编程人员追求的是如何在有限的处理器能力和存储器空间约束下,编写出执行速度快、体积小的程序。程序中充满了各种各样让人迷惑的技巧。这时的软件生产非常依赖于开发人员的聪明才智。到了 20 世纪 60 年代,计算机的应用范围得到较大扩展,对软件系统的需求和软件自身的复杂度急剧上升,传统的开发方法无法适应用户在质量、效率等方面对软件的需求。这就是所谓的“软件危机” 。为解决这个问题,1968 年 NATO 会议上首次提出“软件工程”(SotfwraeEngineeirng)的概念,提出把软件开发从“艺术”和“个体行为”向“工程”和“群体协同工作”转化。其

10、基本思想是应用计算机科学理论和技术以及工程管理原则和方法,按照预算和进度,实现满用户要求的软件产品的定义、开发、发布和维护的工程。从此也诞生了一门新的学科软件工程。迄今为之,为了达到最初设定的目标,软件工程界已经提出了一系列的理论、方法、语言和工具,解决了软件开发过程中的若干问题。但是,由于软件固有的复杂性、易变性和不可见性,软件开发周期长、代价高和质量低的问题依然存在。IEEE 在 2002 年发表的报告指出,即使是 IT 产业最发达的美国,在2001 年美国本土公司开发的软件产品中平均每 1000 行代码中有 037 个错误,对于美国之外的其他国家,这个比例更高。12 软件与其他产品的差异

11、软件是一种特殊的产品,人们通常看到的是它的载体,而真正具有意义的是载体上的计算机或信息。软件既不同于通常的精神产品,也不同于常见的物质产品。作家的作品是一种精神产品,它没有使用价值却可以供人阅读欣赏。若把软件也看成是一种作品,却发现其价值在于供人们使用,无人喜欢读它的源代码软件也与传统的工业产品不同。工业产品在设计好之后,主要的成本是原材料成本、生产过程的开销等,但生产任何软件的主要成本是设计、实现软件时的成本,以及软件投入使用后的维护成本,在生产线上制造软件的成本非常低。用户购买某种商品后,就拥有了该商品的所有权和使用权。可是用户买来的软件却只拥有它的有限“使用权” 。工业产品会随着使用而磨

12、损、报废,但软件在使用过程不会有任何磨损,在相同的硬件条件下用户 1 年前使用的软件和5 年后使用该软件无任何差别。传统的工业产品在车间里生产,生产过程可见、可触摸,也容易衡量生产过程中的消耗和进展。可是软件的开发过程在人的大脑里,很难度量其进度。所谓的“软件工程”就是要这种过程“可视化” 、 “定量化” ,把看不见的思维活动变成看得见的“文档”或者其他看得见的东西。2 软件工程方法和技术30 多年来,软件工程的研究和实践取得了长足的进展,尽管目前离彻底解决“软件危机”还有相当的差距(对是否能彻底解决目前也存在争议),但软件工程的方法对软件产业的发展还是起到了很大的推动作用。从 20 世纪 6

13、0 年代以来,陆续出现了结构化程序设计技术、计算机辅助软件工程(CASE) 、面向对象语言和方法、软件过程及软件过程改善研究等一系列成果,并应用到实践中。目前软件工程中主要使用的方法和技术可以分成技术和管理两类。21 技术的角度主要包括:软件开发范型、软件设计方法。软件开发范型关注软件工程的方向,即如何才是正确的编写满足需求的软件;软件设计方法关注软件工程的“途径” ,即研究怎样完成从高层概念模型到低层概念模型的映射。软件工程理论在实践中应用时重点放在软件复用上。参考目前成熟的工业产品的开发模式,软件复用可以在软件开发中避免重复劳动,它以已有的成果为基础,充分利用过去开发应用系统中积累的知识和经验,将开发的重点集中于新应用的特有构成成分上。通过使用软件复用技术,开发应用系统时可以充分利用已有的开发成果,消除软件生命周期中的许多重复劳动,提高软件开发的效率。同时,复用高质量的已有成果,可以避免重新开发时引入的错误,从而提高软件质量。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号