软件项目中的成本构成及估算方法【转】

随着知识经济、信息时代的来临,计算机软件业迅猛发展。商品化、资本化、资产化的计算机软件的价值 评估的社会需求也日益增多,而且有越来越多的趋势。由于系统软件通常是一些规模大、复杂程度高的人一 机系统,因此,系统软件的开发、使用、维护、管理的过程,是一个非常复杂的系统工程,需要有巨大的人 力、物力、财力资源,需要各种计算机软、硬件的支持。这一特点是在系统软件评估中应予充分考虑的,也 是从成本途径评估系统软件价值时应予着重关注的。据统计,软件成本在软、硬件总成本中的份额,已从50 年代的百分之十几,上升到近期的百分之七八十,而且还在持续上升。软件成本中的开发成本和维护成本的 比例,也从50年代的接近1:1,达到了近期的1:2。系统软件开发成本和维护成本在整个生命周期中份额。  

    本文对上表的数字作了部分调整。主在维护阶段剔除了完善性维护成本。这一项成本不应列入委托评估系 统软件的本次价值评估。这样,开发、维护成本在整个生命周期中的份额也相应发生了变化。  

    一、系统软件的成本构成  

    系统软件的成本作为一个经济学范畴,应反映软件产品在其生产过程中所耗费的各项费用,为原材料、燃料、动力、折旧、人工费、管理费用、财务费用待项开支的总和。  

    从财务角度来看,列入系统软件的成本有如下的项目: 

    (1)硬件购置费如计算机及相关设备的购置,不 间断电源、空调器等的购置费。 

    (2)软件购置费,如操作系统软件、数据库系统软件和其它应用软件的购 置费。 

    (3)人工费,主要是开发人员、操作人员、管理人员、的工资福利费等。 

    (4)培训费。 

    (5)通讯费,如 购置计算机网络设备、通讯线路器材、租用公用通讯线路等的费用。 

    (6)基本建设费,如新建、扩建机房、购置计算机机台、机柜等的费用。 

    (7)财务费用。 

    (8)管理费用,如办公费、差旅费、会议费、交通费。 

    (9)材料费,如打印纸、包带、磁盘等的购置费。 

    (10)水、电、汽、气费。 

    (11)专有技术购置费。 

    (12)其它费用,如资料费、固定资产折旧费及咨询费。  

    从系统软件生命周期构成的两阶段即开发阶段和维护阶段看,系统软件的成本由开发成本和维护成本构成。其中开发成本由软件开发成本、硬件成本和其他成本组成,包括了系统软件的分析/设计费用(含系统调研、需求分析、系统分析)、实施费用(含编程/测试、硬件购买与安装、系统软件购置、数据收集、人员培训)及系统切换等方面的费用;维护成本由运行费用(含人工费、材料费、固定资产折旧费、专有技术及技术资料购置费)、管理费(含审计费、系统服务费、行政管理费)及维护费(含纠错性维护费用及适应性维护费用)。  

    二、系统软件的成本测算程序  

    1、根据待开发软件的特征、所选用硬件的特征、用户环境特征及以往同类或相近项目的基础数据,进行软件规模测算。  

    2、由系统软件的成本构成,结合成本影响因素、环境因素以及以往同类或相近项目数据分析,进行软件 成本测算。其中包括了安装、调试的人力和时间表、培训阶段的人力和时间表。  

    3、系统软件成本测算的风险分析。这是基于系统软件成本测算的不确定性、成本测算的理论和测算技术 的不成熟性而提出的工作程序。系统软件成本测算的风险因素应包括:  

    (1)对目标系统的功能需要、开 发队伍、开发环境等情况的了解的正确性;  

    (2)所运用历史数据及模型参数的可靠性;  

    (3)系统分析 中的逻辑模型的抽象程度、业务处理流程的复杂程度及软件的可度量程度;  

    (4)软件新技术、替代技术的出现和应用对成本测算方法的冲击的影响;(5)用户在系统软件开发中的参 与程度,开发队伍的素质及所采用开发模式对开发成本的影响;  

    (6)对系统软件开发队伍复杂因素认识程度;  

    (7)系统软件开发人员及其组成比便的稳定性; 

    (8)系统软件开发和维护经费,时间要求等方面的变更等非技术性因素所带来的风险等。  

    在系统软件价值评估中实施上述程序进行成本测算时,除了应坚持持资产评估操作程序中规定的各项原 则外,还应遵循真实性与预见性原则、透明性与适应性原则和可操作性与规定性原则。  

    三、系统软件成测算  

    综上所述,系统软件的成本由软件的开发和维护成本所构成,即: C=C1+C2 (1)  

    式中:C为系统软件的开发成本;C1为系统软件的开发成本所构成;C2为系统软件的维护成本。  

    1、系统软件的开发成本C1的测算。  

    我们认为系统软件的开发成本按其工作量及单位工作量成本来测算是可行的,具体测算方法为按系统软 件的软件规模(一般为软件源程序的指令行数,不包括注释行)、社会平均规模指数以及工作量修正因素来 进行。尤其是CAD系统软件的实际测算,结合国内外研究成果的综合分析和专家咨询,软件社会平均生产率 参数和软件社会平均规模指数可分别确定为3.5和1.3左右;软件工作量订由八个因子、五个等级组成。  

    2、系统软件维护成本C2的测算。  

    系统软件的维护为修正现有可运行软件并维护欺其主要功能不变的过程。系统软件在其交付使用后,其维护阶段在软件生命周期或生存期中占较大比重,有的可达软件生存周期的50-70%。因此,系统软件的维护成本是软件成本测算中不可忽略的一部分。  

    系统软件的维护包括三类:A、改正、纠正性维护;B、适应性维护;C、完美性维护。其中C类是为扩充 功能、提高性能而进行的维护,在软件资产价值评估中一般不计入该系统软件成本,而A、B两类,则与软 件的开发过程有着紧密的联系,应计入软件成本。  

    在系统软件维护阶段,对软件工作量的影响因素与开发阶段的影响因素基本相同,是开发阶段影响因素 的后的影响。因此,系统维护的可靠性越大,规模越复杂,隐错越难发现,纠错越难。系统软件越复杂, 要使其适应软、硬环境变化,进行适应性维护也越困难。当然,可靠性大、复杂度高的系统软件,其可维 护性要求也越高,软件在运行中出错的可能性也会少些。基于上述分析,系统软件维护成本的测算,可按 系统软件开发成本乘以一个该系统软件的维护参数来求取。这一维护参数,可按系统软件的复杂度从简单 到一般、到复杂的顺序,分别取0.15、0.20、0.25及0.30、0.35、0.40等。  

    计算机系统软件作为计算机系统的组成部分,是信息社会的重要商品,也是知识经济社会中的重要资产。 系统软件同其他计算机软件一样,具有如下的特点:  

    1、系统软件是由许多人共同完成的高强度智力劳动的结晶,是建立在知识、经验和智慧基础上的具有独 创性的产物。系统软件的开发可以工程化,软件生产可以工厂化,因此,系统软件具有价值和使用价值。 同时,系统软件具有独创性(即原始性),所以软件著作权人对系统软件产品依法享有发表权、开发者身份权、使用权、许可权、获取报酬权及转让权。  

    2、系统软件产品是无形的,存在于磁盘等介质的有形载体中,通过载体进行交易。因此,带有系统 软件的磁盘交换价值,是磁盘自声价值与系统软件之和,而且主要是系统软件的价值。  

    3、系统软件产品的复制(批量生产)相应简单,其复制成本同其开发成本比较,几乎可以忽略不 计。因此,系统软件产品易被复制乃至剽窃。为保护系统软件产品的著作权,必须依法登记。  

    4、系统软件产品一般没有有形损耗,仅有无形损耗。系统软件产品的维护,一是由于系统软件自身 的复杂性,特别是为了对运行中新发现的隐错进行改正性维护;二是由于系统软件对其硬、软件环境有依赖性。硬、软环境改变时,系统软件要进行适应性维护;三是由于需求的变化,要求增强系统软件功能和提高系统软件性能,系统软件要进行完美性维护。因此,系统软件的维护在其生命周期中占有重要地位。同时,系统软件的维护过程是一个软件价值的增值过程。由上述测算方法可知,系统软件的维护费用,即使不计入完善性维护费用也已相当昂贵。不断的升级的新版本代替旧版本软件也是系统软件价值评估中应予考虑的一个特点。

时间: 2024-10-10 23:35:52

软件项目中的成本构成及估算方法【转】的相关文章

WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭

原文:WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭 在我们开发WCF项目的时候,常常会碰到一些莫名其妙的错误,有时候如果根据它的错误提示信息,一般很难定位到具体的问题所在,而由于WCF服务的特殊性,调试起来也不是那么方便,因此往往会花费不少时间来进行跟踪处理.本文介绍我在我在我的框架里面使用WCF服务的时候,出现的一个常见错误的处理方法,它的提示信息是:基础连接已经关闭: 连接被意外关闭.这种情况我碰到的有两种,一种是返回DataTable的时候出现的,一种是返回实体类

eclipse项目中丢失的R包找回方法

当我们项目中的R文件丢失的时候会令我们痛苦不已,怎样找回呢?总不能删了吧,那样心血会毁于一旦的,我们肯定不会那样做,那要怎么办呢?我这里提供三种方法: ?一,一般情况下这样: ?    ?方法一:选中项目clean一下: ?    ?方法二:选中项目然后右击找到Android Tool再Fix一下: ?二,第二种情况下: ?    ?1,找到你的xxx.xml文件,首先找到报错的,把错误改正过来,这样应该就可以了. ?    ?2,如果第一种方法不行,就把自己的xxx.xml文件都改动改动,然后

欧盟即将在免费开源软件项目中推行“漏洞赏金”

日前,外媒juliareda记者Julia Reda刊文谈论了欧盟运行的免费和开源软件审计项目(Free and Open Source Software Audit project)--FOSSA.据其介绍,在一些免费软件项目中他们发现了安全漏洞,其中一个问题是这些漏洞则是在开源加密库OpenSSL中发现. 该类型软件之所以被称为库则是因为它为大量其他软件提供了标准功能.由于OpenSSL对于互联网流量的加密也非常重要,因此它对于保护用户个人通信或其在网上购物时的支付细节也息息相关. 这一问题

JSONKit在项目中使用设置(ARC与方法更新)

在项目中经常会遇到解析json的情况,如果有同学想要解析JSON,那么JSONKit可以是一个不错的选择. git中JSONKit 的地址为:https://github.com/johnezang/JSONKit 由于项目已经很久没有更新,仍然使用了MRC,因此在使用时需要做几处修改: 1.把JSONKit设置为不支持arc的模式,在Build Phases ->Compile Sources 选择文件双击,在对话框中添加“-fno-objc-arc”参数(不含引号). 2.此时编译仍然会出现

Java Web项目中连接Access数据库的配置方法

本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问题,所以今天改了一下又一次的公布了 老师决定期末考试採用access数据库实现增删改查.我觉得如今的我已经没有问题了.可是曾经都是在JSP页面中连接access数据库,不管是下面的那种方式都进行了连接的练习,可是如今我想让我的项目中的訪问access数据库的java代码,封装到DAO中,在DAO中连接数据库,

在项目中学习.NET的JQuery CheckBox方法(全选、取消全选、其他)

一.在项目中遇到的CheckBox的全选和取消全选以及其他等解决方案如下: // 对全选和取消全选的事件 $("#CheckAll").click(function () {                var checkedOfAll = $(this).prop("checked");                if (checkedOfAll == true) {                    $("input[id*='check']

vue项目中使用less或者sass的方法

半年木有更新博客了... 前段时间一直在学习vue,开始记录一下遇到的问题吧 这篇文章主要是总结一下vue中使用less或者sass的方法,以less为例(style.less) 主要是两种 1.对于写在vue文件中的less: 所有vue文件的<style lang="less"></style>,会被vue-loader处理编译到一个css文件中,最终自动通过link标签写入index.html(在vue-loader.conf.js中配置) <sty

项目中碰到的问题及解决方法记录

1. xml 3 字节的 UTF-8 序列的字节 3 无效 在STS中,将项目自动部署到tomcat 7并启动,发现启动过程中控制台打印出错误:3 字节的 UTF-8 序列的字节 3 无效 参考此文:https://my.oschina.net/tomJune/blog/673824 首先尝试删掉中文,发现无效,然后在pom.xml中尝试添加properties也不行,最后逐个xml把UTF-8改成了UTF8就好了,对就是去掉个减号而已. 2. 静态资源路径不正确 终于能启动tomcat了,但发

java项目中redis的配置好工具方法

配置文件对redis的配置: #REDIS_CONFIG redis.sentinels = x.x.x.x:p,x.x.x.x:p,x.x.x.x:p redis.sentinel.master = redis-master redis.password = password redispool.maxtotal = 6000 redispool.maxidle = 300 redispool.maxwaitmillis = 10000 redispool.timeout = 100 #red