基于UML顺序图及类图的功能点度量的研究与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
软件度量和估算能够有效的监控软件进度。在常用软件度量方法中,对规模的度量和估算是所有度量活动的基础,其结果可作为其它度量的一个主要输入,因此在软件度量活动中具有重要地位。软件规模度量和估算的根本目的是通过量化的分析与总结,提高软件项目的生产率,提高产品质量,降低成本和产品研发周期,尽可能的减少因错误估算给企业带来的损失。
     在众多的软件规模度量的技术中,国际功能点用户组IFPUG(International Function Point Users Group)的FPA(Function Points Analysis)方法得到了最广泛的应用,本文在规模度量一般方法的基础上,重点对FPA方法进行了详细探讨。
     本文分析了FPA方法的优缺点。功能点最大程度地突破了传统评估方法的局限,能够不依赖于外部条件,客观、公正、独立地评估系统的规模。但是,传统的功能规模度量为手工操作,不仅抽取数据及度量过程非常繁琐、容易发生差错,而且度量人员不同,工作方法亦不同,带有很强的主观性,结论很难具有可重复性,所以亟需实现自动化地度量。
     UML(Unified Modeling Language)是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法,它的提出和普遍应用,为客观、可比较、自动化地度量功能点提供了可能性。
     为了解决FPA方法不能自动化度量的缺点,本文引入UML标准建模方法来对FPA进行改进。通过对UML顺序图和类图的分析,定义了相应的度量元映射规则,提取度量信息,从而自动的从顺序图中抽取出事务功能点,从类图中抽取出数据功能点,并最终得到FPA的功能点个数。本文描述了该规则的转换算法,实现了一种基于UML的自动化功能点度量工具—UBFPT(UML Based Function Point Tool)。它具有友好的用户界面,使用方便,以Rational Rose定义的MDL文件为基本输入,并以表格的形式将计算结果返回给用户。最后通过实验证明,该工具能够比较准确的对系统功能点进行自动化度量。
The scale measurement and estimation are the foundation of software measurements,the results are major inputs for other measurements. Thus it is of importance in softwaremeasurement activity. The basic goal of scale measurement is to increase project'sproductivity, enhance quality, and reduce cost and researching period through quantitativeanalysis.
     Among the scale measurement, IFPUG' (International Function Point Users Group)FPA (Function Points Analysis) is one of the most widely used methods; this paperfocuses on the detailed investigation of FPA.
     Although function point is widely accepted and used, this method is manual, and theprocess of extracting and measuring data is very complex and easy to get mistakes.Different person uses different methods. This brings a strong subjectivity, and the result isdifficult to repeat. Thus it is expected to make this method automatically.
     UML is a standard modeling language that summarizes the experience of pastmodeling technologies and assimilate current modeling excellent achievement. Thefunction point measurement can be done impersonally, objectively based on UMLmodels.
     This paper introduces UML models into FPA in order to overcome the shortcomingsof FPA. The proposed approach uses the Sequence diagrams and class diagrams in UMLmodels. The paper describes FPA measurement mapping rules for Sequence diagrams andclass diagrams respectively. Measurement data extracted from Sequence diagrams arecalled transaction function points, those extracted from class diagrams are data functionpoints. From the both kinds of function points the total function points of a softwaresystem can be calculated. Algorithms which automatically transform the mapping rulesare also presented in the paper. Then a fimction point tool UBFPT (UML Based FunctionPoint Tool) is described. Finally, experiments are performed and shown that the methodand the tool can calculate system function points relative exactly.
引文
[1] Standard For software Quality Metrics Methodology[S]. IEEE Std. 1993: 1061-1992.
    [2] Roger S Pressman.软件工程—实践者的研究方法[M].北京:机械工业出版社,1999.
    [3] 朱三元.软件质量及其评价技术[M].北京:清华出版社,1990.
    [4] Watts S. Humphrey. Estimating With Objects—PartⅡ:http://www.sei.cmu.edu/publications/articles/watts-humphrey/estimate-objects-002.html.
    [5] 李帜,林立新,曹亚波.软件工程项目管理—功能点分析方法与实践[M].北京:清华大学出版社,2005.
    [6] Roberto Meli, Luca Santillo. Function Point Estimation Methods: A Comparative Overview[J]. FESMA 1999, Amsterdam, 1999, 32(1): 52-55.
    [7] IFPUG. Function Point Counting Practices Manual v 4.2[J]. IFPUG Publication, 2006, 50(3): 129-136.
    [8] M. Halstead. Elements of Software Science[J]. Elsevier North Holland, New York 1977: 34-36.
    [9] Roger S.Pressman著,梅宏泽.软件工程—实践者的研究方法[M].北京:机械工业出版社,2002.
    [10] 魏汝祥,刘宝平.装备软件产品成本测算方法的研究[J].装备指挥技术学院学报,2003.12(2):20-22.
    [11] Hale.J, Parrish.A, Dison.B. Enhancing the COCOMO estimation models[J]. IEEE Software, 2000. 17 (6): 45-49.
    [12] 吴际,汤铭端.扩展功能点[J].软件学报,2001,(12):310-315.
    [13] UKSMA Metrics Practices Committee. MKII FUNCTION POINT ANALYSIS COUNTING PRACTICES MANUAL Version 1.3.1[J]. UKSMA, 1998,58(6): 238-246.
    [14] John Wiley. Software Sizing and Estimating: MKII Function Point Analysis[J]. Journal of Intelligent Information Systems, 1993, 18(1): 71-94.
    [15] 程莉莉,刘宗田.基于UML模型的全功能点自动化度量[J].计算机科学.2004(05):93-95.
    [16] Alain Abran, Jean-Marc Deshamais, Serge Oligny. COSMIC FFP Measurement Manual Version2.1 [J]. Common Software Measurement International Consortium, 2001,55(2): 13-19.
    [17] C.Jones. A Short History of Function Points and Feature Points[S]. Software Productivity Research Inc., USA, 1987.
    [18] S.A Whitmire.3D Function Points: Scientific and Real-time Extensions to Function Points[A], Pacific Northwest Software Quality Conference, 1992:102-106.
    [19] S.A Whitmire. An Introduction to 3D Function Points[J]. Software Development. April 1995: 43-53.
    [20] Abran A, et al. Full Function Points for Embedded and Real-Time Software Engineering[M]Management Research Laboratory, 1997.
    [21] Serge Oligny, Alain Abran. On The Compatibility Between Full Function Points and IFPUG Function Points[M]. Shaker Publishing, 1999.
    [22] Angela H. Benton. User Guide: Function Point Analysis Spread sheet [M]. April 1996.
    [23] Abran, A., Robillard, P. N. Function Points Analysis, An Empirical Study of its Measurement Processes[J]. IEEE Transactions on Software Engineering, 1996, 22(12): 895-909.
    [24] David Garmus,David Herron著.功能点分析—成功软件项目的测量分析[M].北京:清华大学出版社,2003,12.
    [25] International Function Point Users Group编著.IT度量—专家实践[M].北京:清华大学出版社,2003.
    [26] J.Rumbaugh,I.Jacobson,G Booch.UML参考手册[M].北京:机械工业出版社,2001.
    [27] Tom Pender著,耿国桐,史立齐等译.UML宝典[M].北京:电力工业出版社,2004.
    [28] Erik Eriksson等著,余安萍等泽.UML 2 Toolkit[M].北京:电子工业出版社.2004,10.
    [29] BRIAND L., MORASCA S. BASILI V. Defining and Validating measures for Object-Based High-Level design [J]. IEEE Software Engineering, 1999, 25(5): 722-743.
    [30] Benoit Baudry, Gerson Sunye. Testability Analysis of UML Class Diagram [C]. Proceedings of the Eighth IEEE Symposium on Software Metrics, 2002, 16(20): 202-209.
    [31] Raimi Ayinde Rufai. New Structural Similarity Metrics For UML Models [D]. King Fahd University of Petroleum&Minerals Dhahran, Saudi Arabia. 2003.
    [32] B.Bernardea, A. Duran, M. Genero. An empirical review of use cases metrics for requirements verification[C]. Proceedings of the Software Measurement European Forum (SMEF'04), 2004: 235-241.
    [33] L. Briand, S. Morasca, V. Basili. Defining and validating measures for object based high level design[J]. IEEE Transactions on Software Engineering, 1999, 25(5): 722-743.
    [34] P. Feldt. Requirements metrics based on use cases [D]. Department of Communication Systems, Lund Institute of Technology: Lurid University, 2000.
    [35] M. Marchesi. OOA Metrics for the Unified Modeling Language[C]. 2nd Euromicro Conference on Software Maintenance and Reengineering, 1998: 67-73.
    [36] M. Saeki. Embedding Metrics into Information System Development Methods: An Application of Method Engineering Technique[C]. Lecture Notes in Computer Science, 2003, 2681: 374-389.
    [37] Marcela Genero, Mario Piattini, Coral Calero. Early Measures for UML Class Diagrams[J]. L'OBJET,2000, 6(4): 123-125.
    [38] D.Miranda, M.Genero, M.Piattini. Empirical validation of metrics for UML statechart diagrams [C]. Fifth International Conference on Enterprise Information Systems (ICEIS 03), 2003, 1: 87-95.
    [39] 林扬帆,李师贤.UML分析模型中功能点计算的探讨[J].计算机科学.2001,28(8):85-88.
    [40] 张稀.在UML基础上的功能点分析[J].职大学报.2004,(4):52-56.
    [41] Wendy Bogs.Michael Boggs著,邱仲潘等译.UML with Rational Rose从入门到精通[M].北京:电子工业出版社,2002.
NGLC 2004-2010.National Geological Library of China All Rights Reserved.
Add:29 Xueyuan Rd,Haidian District,Beijing,PRC. Mail Add: 8324 mailbox 100083
For exchange or info please contact us via email.