资讯新闻

电子商务软件开发成本估算方法研究

2010-03-24 14:24:39作者: admin

        准确的软件成本估算是保证电子商务开发和应用顺利进行的必要手段。本文通过分析电子商务的特点及软件功能,选用功能点分析法对电子商务软件进行成本估算,首先估算未调整功能点数,然后通过功能点调整系数计算调整后的功能点数,最后根据电子商务开发工具中一般水平开发人员的劳动生产率估算出软件开发成本。

    1引言

    软件是电子商务应用的基础。企业要规划电子商务发展战略,制订电子商务应用与开发计划,首先要进行可行性分析,成本估算是可行性分析阶段的重要任务。随着电子商务应用领域和规模的日益增大,软件开发成本估算的重要性日益突出。如果估算周期过长、费用过高,就会造成企业资源的巨大浪费;如果估算周期过短、费用过低,就会造成整个项目失控,远远超过预计的使用日期。准确的软件成本估算是保证电子商务开发和应用顺利进行的必要手段,已成为软件工程领域一个重要的研究方向。

  2电子商务特点及软件功能

  2. 1电子商务特点

  电子商务特点包括:①普遍性。电子商务作为一种新型的交易方式,将生产企业、流通企业以及消费者和政府带入了一个网络经济、数字化生存的新天地;②方便性。在电子商务环境中,人们不再受地域的限制,客户能以非常简捷的方式完成过去较为繁杂的商务活动,如通过网络银行能够全天候地存取资金账户、查询信息等,同时使得企业对客户的服务质量可以大大提高;③整体性。电子商务能够规范事务处理的工作流程,将人工操作和电子信息处理集成为一个不可分割的整体,不仅能提高人力和物力的利用,也可以提高系统运行的严密性;④安全性。在电子商务中,安全性是一个至关重要的核心问题,要求网络能提供一种端到端的安全解决方案,如加密机制、签名机制、安全管理、存取控制、防火墙、防病毒保护等,这与传统的商务活动有着很大的不同;⑤协调性。商务活动本身是一种协调过程,它需要客户与公司内部、生产商、批发商、零售商间的协调,在电<优麦电子商务论文>子商务环境中,更要求银行、配送中心、通讯部门、技术服务等多个部门的通力协作,往往电子商务的全过程是一气呵成的。

  2. 2软件功能

  电子商务通过Internet可提供在网上交易和管理的全过程服务,软件具有功能主要包括[6]:①广告宣传。通过Web服务器和网络主页等在Internet上宣传企业形象和发播各种商品信息,客户用网络浏览器可以迅速找到所需的商品信息;②咨询洽谈。借助非实时的电子邮件、新闻组和实时的讨论组来了解市场和商品信息、洽谈交易事务,还可用白板会议、公告板BBS来交流即时的信息;③网上订购。网上订购系统在商品介绍页面上提供订购提示信息和订购交互表格,当客户填完订购单后,系统回复确认信息单,表示订购信息已收悉;④网上支付。客户和商家之间可采用信用卡、电子钱包、电子支票和电子现金等多种电子支付方式进行网上支付;⑤电子账户。网上支付由银行、信用卡公司及保险公司等金融单位提供电子账户,管理网上金融服务,客户的信用卡号或银行账号是电子账户的标志;⑥服务传递。将客户订购的商品尽快传递到已订货并付款的客户手中。对于有形商品,在网络中进行物流调配并通过快递业务完成传送;对无形的信息产品,立即从电子仓库通过网络直接传递到用户端;⑦意见征询。收集客户对商品和销售服务的反馈意见,提高网上交易售后服务水平,使企业获得改进产品、发现市场的商业机会;⑧交易管理。对客户及本企业内部的各方面进行协调和管理。电子商务的上述功能,为网上交易提供了一个良好的交易服务和进行管理的环境,使电子商务的交易过程得以顺利和安全地完成,并可以使电子商务获得更广泛的应用。

  3开发成本估算

  软件成本估算方法很多,结合电子商务的特点及软件功能,选择功能点分析法进行估算。功能点分析法(FPA)是在软件开发过程中,完成软件估计、度量、分析等项目管理活动,帮助软件项目解决管理方面的问题,促进项目的规范化,提高客户满意度,创造新的市场机会。近年来由FPA演化而来的功能点估算方法的应用也越来越广泛。

  3. 1未调整功能点数估算

  未调整功能点数(UFP)的估算步骤如下:

  第1步:按类型确定功能点数

  根据软件需求和文档设计,明确划分用户功能类型,对每种类型功能点数分别统计。功能点类型划分的类型和依据如下:①外部输入(EI)。进入被估算软件系统外部边界的每一种唯一的用户数据或用户控制输入类型;②外部输出(EO)。从被度量软件系统的外部边界出来的每一种唯一的用户数据或用户控制输出类型;③内部逻辑文件(ILF)。把软件系统中主要的用户数据或控制信息逻辑组,计算为一个逻辑的内部文件类型。包含软件系统产生、作用或维护的每个逻辑文件;④外部接口文件(EIF)。软件系统间传递或共享的文件应被每一个系统计算为外部接口文件类型;⑤外部查询(EQ)。每一种唯一的输入输出组合,此时输入引起并产生一个直接的输出,因此计算为一个外部查询类型。

  第2步:确定功能点复杂性等级

  每个功能点应当给予一个功能点复杂性等级。功能点复杂性等级由数据元素类型(DET)、记录元素类型(RET)和参考文件类型(RFT)的数目决定。一个DET就是一个唯一的用户可辨认的、不可递归的域;一个RET就是一个用户可辨认的ILF或EIF中的数据元素组成的子组;RFT指可维护、读取、参考的ILF和可读取、参考的EIF的数目。每个功能的复杂性,具体确定为“低”、“一般”、“高”3个等级。

  第3步:计算未调整功能点

  对于表1中的每个UFP复杂性等级有一个对应的复杂性权重,见表2的3个权重列。所有功能点的复杂性权重的和为未调整功能点。未调整功能点数是通过表2计算出来的。未调整功能点数栏的计算公式为低、中、高功能点的数量分别乘以其权重的和。即:

  未调整功能点数=数据(低)×权重(低)数据(中)×权重(中)数据(高)×权重(高)。

  3. 2调整后功能点数估算

  UFP是通过建立一个标准来确定某个特定的测量参数并进行计算,复杂性权重的确定带有一定的主观性。UFP与功能点调整系数(FPAF)相乘得到调整后的功能点数作为软件规模估算的功能点数。

  FPAF通过技术复杂因子(TCF)进行计算。技术复杂因子TCF共由14个因子组成,如表3所示。每个因子按照其对系统的重要程度分为6个级别,如表4所示。

  FPAF用下式计算:

  调整后的功能点数FP用下式计算:

  FP=UFP×FPAF。

  3. 3成本估算

  软件开发包括需求、设计ʍ<优麦电子商务论文>80;编码、测试、评审以及项目管理等工作。软件生产率的影响因素很多,每个软件组织需要根据自身的具体情况进行分析,需要大量的历史数据作基础,对于缺乏类似数据的组织来说,找出生产率因素并不容易。根据参考文献[2]及作者本人的开发经验,当前常用的电子商务开发工具中一般水平开发人员的劳动生产率(每人日完成的功能点数):JAVA为0.69,VB.NET为1.12,C#.NET为0.98,E-Busines为0.87,Delphi为1.35,COOL:PLEX为0.79。

  根据软件的功能点数和生产率,可估算出软件的开发周期和成本。

  软件成本的计算公式为:

  软件开发成本(PM)=功能点数量FP/(开发工具的日生产率×19)。

  式(3)中,一个月的实际工作天数按19天计算。公式结果以人月(PM,Person Month)作为计量单位。如果改为货币单位,可用人月乘以劳动力月成本。

  假定一个软件项目FP的估算值为1 000,采用JAVA语言开发。则开发成本以人月为单位的估算值为1 000/(0.69×19)=76(PM)。如果劳动力月成本为6 000元人民币,软件开发成本以货币为单位的估算值为76×6 000=456 000(元)。

  根据以人月(PM)为单位的软件开发成本,并结合开发中可供安排的人员情况,能够估算出软件的开发周期并制订相应的进度计划。

  4结束语

  运用功能点估算方法可对电子商务软件成本做出早期估算,可直接通过功能点估算出软件成本,也可根据经验将功能点转化为代码行后再估算软件成本。文中提出的功能点方法对电子商务应用企业和从事电子商务的软件开发机构具有很好的参考价值。实际运用时应根据具体情况,对各种参数进行适当的调整,使软件成本估算更接近实际值。

京公网安备 11010502039920号