基于构造性成本模型软件成本估算方法的研究与应用
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着软件企业对过程能力要求的增加,成本估算作为提高过程管理的重要方法之一,也渐受企业的重视。有效的软件成本估算是软件产品合理控制和科学管理的前提,目前软件成本估算方法在国外已相对成熟,但在国内仍是项目管理中的一个薄弱环节。COCOMOII(Constructive Cost Model,构造性成本模型)是少数几种公开发表的成本估算模型中应用相对广泛和成熟的模型,并且可以针对不同组织进行裁剪和校准。因此如何从国内软件环境出发,找出对模型影响较大的因素,将模型进行改进使之适应国内软件环境具有极大的价值。本文的主要分析研究工作如下:
     1.结合国内软件行业现状,分析了COCOMOII各成本因子的含义及取值,确立了改进目标和原则,对成本因子做了本地化改进,并给出了新的工作量估算公式。本地化改进减低了COCOMOII模型的复杂度和应用难度,节约了成本估算工作自身带来的工作量。
     2.搜集了某企业的历史项目数据,采用线性回归法,借助最小二乘法数据处理软件,对新的工作量公式进行参数校准,经校准的工作量公式适用于本企业环境,从而提高了估算的准确度。
     3.由于功能点转换为代码行后可作为本地化工作量估算公式的规模输入,于是本文改进了功能点规模估算方法。采用UML的用例建模技术和类图对功能点估算过程进行规范,并给出了映射规则。此改进为功能点估算过程提供指导的同时,在一定程度上缓解了国内软件企业文档不规范导致的功能分解随意性大的问题。
     4.将模型应用于某企业的协同自动化办公系统中四个开发环境类似的模块,进行工作量估算,并将估算结果和采用原COCOMOII模型的工作量估算结果分别对比实际工作量,评估表明模型应用取得了良好的效果。
As software enterprises are increasingly in demand on process capability, software cost estimation which is one of the important methods of improving process management is gradually concerned by them. Effective software cost estimation is the premise of reasonable control and scientific management of software products. At present, software estimation methods are relative mature in foreign countries. But software estimation is a weak link in domestic project management. In those few published models, COCOMOII (Constructive Cost Model) is a relative widely used and mature model. So proceedding from domestic software environment, how to identify factors which have more effect on the model and how to impove the model to adapt to the domestic environment is very valuable. The main analysis and research works of this paper are as follows:
     1. Combined with domestic software industry, analysised concept and value of every cost factor in COCOMOII, established the objectives and principles of improvement, improved cost factors localizedly, and provided a new formula for effort estimation. Localized improvement reduced the complexity and difficulty of application of the model. So it saved itself workload of cost estimation.
     2. Collected historical project data in some enterprise, adopted linear regression method and used the data processing software of least square method to calibrate parameters in the new effort estimation formula. The formula whose parameters have been calibrated was more appropriate to the enterprise’s environment and helped to improve the accuracy of estimation.
     3. Because function point could convert to lines of code as size input of the localization effort estimation formula, this paper improved function point method of size estimation. Used use case model modeling technology and class diagram of UML to standardize the process of function point estimation and provided mapping rules. This improvement provided guidance for the process of function point estimation. At the same time, it to some extent alleviated the problem of decomposing function randomly which is caused by non-standardized document in local enterprises.
     4. Applicated model to four modules of Office Automation System in some enterprise to estimate effort. These modules are in similar development environment. Then compared the effort which was estimated by using new model with actual effort and compared the effort which was estimated by using original COCOMOII with actual effort respectively. The evaluation results showed that the model application effect is good.
引文
[1]崔敬乐,左广.软件开发成本估算方法的比较研究.技术经济,2002(11): 50-52
    [2]陈洪涛,高禹.构建基于软件过程的成本模型.计算机应用与软件,2007,24 (5):35-36, 68
    [3]田俊国. IT项目四大败因分析. http://pm.csai.cn/pmcase/200809152348311316. htm,2008-09-15
    [4]彭英.规模化软件成本估算及其改进. http://lw.china-b.com/jsjlw/ 20090221/26 25871.html,2009-02-21
    [5] John L.软件估算技术. http://www.changeway.com.cn/xqit_admin/uploaddir/ 2007630142931530.pdf,2007-06-30
    [6] Da Y, Qing W, Mingshu L et al. A survey on software cost estimation in the Chinese software industry. ESEM’08: Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement. New York: ACM Press, 2008, 253?262
    [7] Barry B W.软件工程经济学.李师贤等译.第1版.北京:机械工业出版社, 2004,12, 43-44, 222-260
    [8]甘早斌,聂正茂,卢正鼎.软件开发成本估算技术综述.计算机工程与科学, 2005,27 (6):108-110
    [9] Boehm B W, Valerdi R. Achievements and challenges in software resource estimation. Technical Report, 2008, 25(5): 74-83
    [10] Boehm B W, Clark B, Horowitz E et al. Cost models for future software life cycle processes: COCOMO 2.0. Annals of Software Engineering, 1995, 1(1): 57-94
    [11] Boehm B W, Valerdi R, Lane J etal. COCOMO suite methodology and evolution. Cross Talk: The Journal of Defense Software Engineering, 2005, 18 (4): 20-25
    [12]李明树,何梅,杨达等.软件成本估算方法及应用.软件学报,2007,18 (4): 775-795
    [13] Berry W D, Feldman S. Multiple Regression in Practice. Newbury Park:Sage Publications, 1985, 57-64
    [14] Jorgensen M. A review of studies on expert estimation of software development effort. Journal of Systems & Software, 2004, 70(1-2): 37?60
    [15]周海玲.关于软件成本估算模型COCOMO的研究与校准的探讨:[苏州大学硕士学位论文].苏州:苏州大学,2005,14
    [16] Xu Z, Taghi M. Identification of fuzzy models of software cost estimation. FuzzySets and Systems. 2004, 145(11): 141-163
    [17] Delany S J, Cunningham P, Wilke W. The limits of CBR in software project estimation. In: Proc. of the 6th German Workshop on Case-Based-Reasoning. Berlin: Springer-Verlag, 1998
    [18] Shepperd M, Schofield C. Estimating software project effort using analogies. IEEE Trans. on Software Engineering, 1997, 23(12): 736-743
    [19] Cost S, Salzberg S. A weighted nearest neighbor algorithm for learning with symbolic features. Machine Learning, 1993, 10(1): 57-78
    [20] Briand L C, Emam K, Bomarius F. COBRA: A hybrid method for software cost estimation, benchmarking and risk assessment. In: Proc. of the 20th Int’l Conf. on Software Engineering. IEEE CS Press, 1998, 390-399
    [21] Ruhe M, Jeffery R, Wieczorek I. Cost estimation for Web application. In: Proc. of the 25th Int’l Conf. on Software Engineering. IEEE CS Press, 2003, 270-279
    [22]台安.软件开发成本估算研究与实践:[中山大学硕士学位论文].广州:中山大学,2006,11
    [23] Albrecht A J. Measuring application development productivity. Proceedings of the Joint SHARE, GUIDE, and IBM Application Development Symposium. Monterey, California: IBM Corporation, 1979: 83-92.
    [24] International Function Point Users Group. Function Point Counting Practices Manual, Release 4.1.1, Princeton Junction: International Function Point User’s Group, 2001. 15-290
    [25]李新忱,蒋辉.采用Mark_FPA方法进行软件规模度量.科技信息(学术研究),2008,8:13-15
    [26] Vogelezang F. COSMIC full function points the next generation of functional sizing. In: Software Measurement European Forum-SMEF 2005, 2005.
    [27]余方,李娟,王晓程等.功能点分析方法研究.计算机科学,2007,34(11): 245-251
    [28] Jones C. Applied Software Measurement-Assuring Productivity and Quality. New York: McGraw-Hill Inc., 1991, 20-57
    [29] Tran-Cao D. Measuring software functional size: towards an effective measurem- ent of complexity. In: Proc. of Int. Conf. on Software Maintenance. 2002, 370?376.
    [30] Abran A, Desharnais J M, Maya M et al. Design of a functional size measurement for real-time software. Research Report, No. 13-23, UQAM, 1998.
    [31]卓月.使用COSMIC_FFP模型评估软件大小的方法.计算机工程,2005,31(19): 91-95
    [32] Banker R D, Kauffman R J, Kumar R. An empirical test of object-based output measurem- ent metrics in a computer aided software engineering environment. Journal of Management Information Systems, 1991-1992, 8(3): 127-150.
    [33] Kauffman R J, Kumar R. Modeling estimation expertise in object-based case environments. Stern School of Business Report, New York: New York University, 1993.
    [34] Mohagheghi P, Anda B, Conradi R. Effort estimation of use cases for incremental large-scale software development. In: Proc of the 27th Int’l Conf. on Software Engineering.New York:ACM Press, 2005, 303-311.
    [35] Carroll E R. Estimating software based on use case points. In: Proc. of the Conf. on Object Oriented Programming Systems Languages and Applications. New York: ACM Press, 2005, 257-265.
    [36]杨文.通信软件开发成本评估系统研究:[电子科技大学硕士学位论文].成都:电子科技大学,2004,3
    [37] Barry B W, Abts C, Brown A W et al.软件成本估算.李师贤等译.第1版.北京:机械工业出版社,2005,2-42
    [38] Yang D, Wan Y, Tang Z et al. COCOMO-U: An extension of COCOMO II for cost estimation with uncertainty. In: Software Process Change, SPW/ProSim 2006. LNCS 3966, Berlin, Heidelberg: Springer- Verlag, 2006, 132-141.
    [39]汤子楠,舒风笛.用于软件开发工作量估算的IOP模型.计算机工程与设计,2008,29(4):784-788
    [40]方海光,陈澎,佘莉.基于范例库推理的软件成本估算模型研究.计算机工程,2006,32 (19): 191-192, 220
    [41]赵亮,胡旭晓,潘双夏等.基于动态模糊神经网络的产品成本估算.浙江大学学报. 2006,40(2):304-308
    [42]顾勋梅,宋国新,邵志清.一种改进的功能点分析方法.计算机工程,2007,33(22):12-14, 18
    [43]周杨,吴海涛,张栋伟.扩展的用例点估算方法.计算机技术与发展,2006,26(12): 64-66
    [44]李聪廷,鱼滨.利用SCM工具辅助功能点分析.计算机技术与发展,2006,16(5): 166-169
    [45]彭英.软件成本估算模型的研究与应用:[中南大学硕士学位论文].长沙:中南大学,2007,9-16
    [46]徐广宇,吴和群.浅析国内软件行业的现状与发展趋势.内蒙古科技与经济,2008,2:49-52
    [47]我国软件行业的现状、发展前景及对策分析. http://www. newer .com.cn/news/4 412.html,2006-08-10
    [48]萨日娜.中国软件产业四大瓶颈全面解析. http://www.cce.com.cn/guancha/zon ghe/200805/20080527092915.html,2008-05-27
    [49] IT行业介绍,中国IT行业现状. http://www.lovoinfo.net/news/kcxj/81.html,2007-10-16
    [50]李平.对国内软件开发现状的思考.芜湖职业技术学院学报,2005,7(3): 56-58
    [51]冯静.应用IFPUG功能点方法的军用软件规模估算.计算机工程,2006,32 (10): 50-52
    [52] Hans-Erik, Eriksson, Magnus P. UML工具箱.俞俊平,余安萍,徐敏等译.第1版.北京:电子工业出版社,2004,3-7,65-66
    [53] Giovanni C, Davide P, Giuseppe C. Applying function point to Unified Modeling Language: Conversion Model and Pilot Study. In: IEEE Proceedings of the l0th International Symposium on Software Metrics. Washington: IEEE Computer Society, 2004: 280-291
    [54]李师贤,程利,杜云梅等.基于UML建模技术的功能点度量研究.小型微型计算机系统,2007,28(9):1660-1664.
    [55] Schwalbe K et al. IT项目管理.邓世忠等译.第1版.北京:机械工业出版社, 2005:124