所有提交的EM系统将被重定向到网上投稿系统.作者被要求将文章直接提交给网上投稿系统各自的日志。

使用Loc和Fp面向估计模型和模糊逻辑方法的大小度量框架建模的软件工作量估计

Shama Kousar Jabeen。一个1, Mrs.B.Arthi2, Mrs.V.Vani3.
  1. 印度泰米尔纳德邦金奈Easwari工程学院IT系PG学生[软件工程]
  2. 印度泰米尔纳德邦金奈Easwari工程学院IT系助理教授
  3. 印度泰米尔纳德邦金奈Easwari工程学院IT系高级助理教授
有关文章载于Pubmed谷歌学者

更多相关文章请访问国际电气、电子和仪器工程高级研究杂志

摘要

随着软件规模和需求的增长,它的复杂性和成本也不断增加。在软件聚合的初始阶段准确地评估大小估计是高度优先的。传统方法在估算尺寸时存在不确定性和精度不高的问题。软件工程成本模型和估计技术用于许多目的。在我们的工作中,我们比较了使用三种基于功能点的工作量估计模型的结果。我们还通过模糊逻辑方法训练数据集,比较了MRE、MMER、MRE、MER值,克服了传统方法的问题。本文通过对尺寸度量框架进行建模,得到了工作量估计。

关键字

大小度量,模糊逻辑软件工作,软件工程,成本估计模型,MRE, MER,MRE,MMER。

介绍

对于许多组织来说,按时并在预算范围内交付软件是一个关键的关注点。成本估计是指对时间、人员和工作量的预测。在许多论文中,成本估计被称为工作量预测,因此可以互换使用。工作量预测通常在软件开发的早期阶段进行。估计困难重重,因为估计往往是不确定的,已知的知识很少。规模代理度量框架考虑了传统度量中没有考虑的工作量的平均值和方差。在努力预测时,懒惰和无知必须考虑在内,因为软件设计者在预测过程中没有考虑所有的因素。我们考虑工作中的不确定性,这在具体的项目规模指标中是相当大的。这项工作是通过一个框架实现的,其中考虑了大小度量以更好地预测工作量。本文的整个项目主要分为两个部分来实现。第一部分包括从需求文档中提取功能点。在第二部分中,通过训练数据集,使用提取的功能点来计算工作量估算。 This training of the dataset has been done using fuzzy logic approach.
本文组织结构如下。第二部分论述了相关工作。架构实现和在我们的工作中执行的概念已经在第3节中讨论过。第四部分给出了实验结果和系统的实现。第5节提出结论和今后的工作。

2相关的工作

Boehm的[1]描述了,行业中的软件工程实践决定了软件产品的成本和质量。因此,一个大的和越来越昂贵的项目也会对人类福利产生巨大的和越来越大的影响。
Moataz A.Ahamed, Irfan Ahmad和Jarallah S.Alghamdi[9]所做的工作解释了大小代理框架,该框架将正态分布与回归模型结合起来考虑,他们将LOC作为早期软件工作量预测的输入。在工作量预测方面主要有两个研究领域:(1)开发预测技术和模型,(2)开发可用作工作量估计代理的规模指标。
B. Boehm, C. Abts, S. Chulani[2]在他们的工作中阐述了第一个研究领域。本文详细介绍了不同的努力预测方法,如专家判断,基于类比的预测,算法模型,非算法方法。专家判断是一种耗费时间的方法。使用类比进行预测需要预先估计工作量,然后用于比较相似或类似的项目。算法模型有很多,包括COCOMO、SLIM、SEER-SEM模型。非算法建模方法基于机器学习和软计算技术。其中包括贝叶斯信念网络、模糊逻辑方法、人工神经网络和进化计算。也有研究使用软计算方法的组合,如神经模糊,神经遗传方法。
Moataz A.Ahamed和Zeeshan Muzaffar[10]已经提出,用于软件项目工作量预测的传统方法,例如使用来自历史数据的数学公式,或者使用专家判断,都受到与结果的有效性和稳健性有关的问题的困扰。因此,ii型模糊逻辑系统必须允许处理不精确性和不确定性。他们在工作中考虑了COCOMO模型。
工作量预测研究的第二个领域是为良好的软件工作量预测开发早期和更好的大小度量。其中一些涉及用例,类图,源代码。在软件开发生命周期的早期阶段,最常用的大小度量是LOC(代码行)和FP(功能点)、项目特性和用例。
功能点度量是由Albrecht提出的一种度量软件规模和生产力的方法。功能点度量从最终用户的角度通过测量交付给最终用户的功能来衡量软件的大小。功能点被定义为一个最终用户业务功能。它采用功能和逻辑实体,如输入、输出、文件和查询,与代码行等其他度量相比,这些实体被认为与软件执行的功能更密切相关。
功能点的计数基于他们标准中建议的IFPUG[3]。在文献中提出了许多功能点度量的其他衍生品,试图解决和克服与使用功能点度量度量尺寸相关的问题。Mark II功能点度量是行业中应用最广泛的度量之一。
Justin Wong,Danny Ho,Luiz Fernando,Capretz[4]建议神经模糊函数点回火(NFFPB)利用神经网络来调整使用回火方法的模糊逻辑隶属函数。在这种方法中,函数点被转换为SLOC估计和编程语言,并根据模糊级别分组。
K.K.Shula[6]在他的工作中讨论了神经遗传方法与基于回归树的传统方法相比在预测精度上的显著提高。他们使用了由63个项目组成的COCOMO数据集和由15个项目组成的kemerer数据集,这些数据集被随机合并到一个由18个项目组成的单一数据库中。

3提出的方法

本文所做的工作是进行规模估计,以预测软件项目的整体工作。当获得项目的工作量估计时,它与用户所做的规模估计是等价的。在这里,确定规模代表了项目计划人员要完成的第一个主要挑战。
在m.a.a ahamed, Irfan Ahmad和Jarallah S.Alghamdi[9]的工作中引用的框架被用作训练大小估计的代理。我们认为这篇论文是我们工作的主要来源。由于该工作存在不确定性问题,本文采用模糊逻辑等软计算方法克服了这一问题,该方法非常适合于大小代理框架的训练。
此外,在该工作中提出,训练数据集也将导致更好和准确的估计。因此,我们使用模糊逻辑工具箱和功能点来进行我们的工作,从而使所开发的框架中的结果精确和准确,以阐明适合工作量预测的代理度量。
Roger.S。Pressman[11]提出了软件模型的总体结构如下:
E = A + B * (ev) ^ c (1)
式(1)中A、B、C为经验常数。E是工作量/人/月,ev是估计变量(LOC或FP)。除了上述方程外,他还提出了努力方程(2),(3),(4),以使用各种面向FP的模型来估计功能点的努力,如下所示:
图像
式(2)为Albrecht和Gaffney模型。式(3)为克默尔模型。式(4)为小项目回归模型。对这些模型的快速检查表明,对于相同的LOC或FP值,每个模型都会产生不同的结果。很明显,估计模型必须根据我们估计的本地需求进行校准。
Roger S.Pressman[11]也对文献中提出的面向LOC (Lines Of Code)的估计模型提出了如下建议:
图像
式(5)表示Walston Felix模型。(6)式为Bailey-Basili模型,(7)式为Boehm-simple模型,(8)式为KLOC大于9时的Doty模型。
L.Putnam和W.Myers[7]提出了克服尺寸问题的四种方法:
1)模糊逻辑规模法:在这种方法中,项目经理必须确定应用程序的性质和类型,从而在原始范围内确定其规模。
2)功能点评估方法:需求工程师对信息域特性进行评估
(3)组件规模方法:软件应用程序由各种类型的组件组成,这些组件对于特定的应用领域是唯一的。
4)变更规模方法:当项目限定必须作为软件项目的一个细分进行修改的软件的使用时,使用这种方法。
在我们的工作中实现的系统架构如下图1所示。它分为两个较大的模块。第一个模块,处理从需求文档中生成大小估计。第二个模块使用MATLAB R2009a中的模糊逻辑工具箱中的模糊逻辑编辑器对数据集进行训练。第二模块有四个子模块,分别是模糊器、推理器、解模糊器和规则模块。在功能点估计过程中,分解工作是规范的。随后的评估过程不仅考虑功能,而且还关注领域特征和复杂性问题。由此产生的估计可用于获得FP值,该值可与过去的数据相关联,并用于实现一般估计。这项工作涉及到通过从需求文档中提取用例来计算功能点。这项工作已经使用可视化用例设计工具[16]实现,其中用例是从需求文档中导入的。用例图分为简单、平均和复杂。这将得到未调整的功能点计数。然后利用功能点计算器计算了数值调整因子(VAF)。 On calculation of VAF and UFC ‘s they are displayed to the client for acceptance or rejection of the project. This display to the client is done using Extensible Mark up Language(XML) tags. This function point (FP) dataset is then trained using fuzzy logic toolbox in MATLAB and it’s corresponding MMRE,MMER,MRE,MER and other parameters are calculated in order to identify the accuracy of the size estimates. Stephen H. Kan[12] refers to the calculation of value adjustment factors(VAF) which forms the second part of function point computation. This is done using 14 general system characteristics (GSC’S). These are rated in a scale of 0 to 5 in order to assess their impact. The 14 GSC’s are as follows:
1)数据通信功能。
2)系统功能分布。
3)系统性能。
4)系统使用较多的配置。
5)系统的事务率。
6)系统在线数据录入。
7)系统的最终用户效率。
8)系统在线更新。
9)系统的复杂处理。
10)系统的可重用性。
11)系统安装简便。
12)系统的操作简易性。
13)多站点使用。
14)促进制度变革。
图像
IFPUG[3]引用了如下所示的表1,表1表示了帮助客户估计不同未调整功能点的复杂性因素和评级。未调整的功能点取决于软件应用程序的复杂性判断,分为五个部分,分别是:
1)外部输入。
2)外部输出。
3)逻辑内部文件。
4)外部接口文件。
5)外部询价。
Stephen H.Kan[12]引用式(5)计算VAF如下图所示。这在本文中被用于评估我们研究数据集中使用的用例图的复杂性。
图像
图像
Stephen H.Kan[12]参考式(6)计算功能点如下图所示。这个方程已经在我们的工作中实现,以估计研究数据集的功能点。
FP = FC * VAF (6)
本文采用式(6)作为函数点计算的简单推导。项目经理或软件分析师必须理解完整的文档化方法,例如国际功能点用户组(IFPUG)[3]标准,以实现完整和准确的实现。因此,估计的数据集大小,然后应用于Mamdani系统,这是一个典型的2型模糊逻辑系统,在Moataz a . ahamed和Zeeshan Muzaffar的工作中详细介绍。
M.Wasif Nasar, Yong-Ji Wang和Manzoor Elahi[8]在他们的工作中已经表达了模糊逻辑作为处理不确定性和不精确性的数学工具。它是一种不明确边界的理论,用于解决过于复杂而无法定性理解的问题。模糊集的概念必须看作是经典脆集概念的推广。
Sandeep Kad和Vinay Chopra[13]在他们的工作中用COCOMO方法描述了2型模糊系统。本文对COCOMO的成本动因进行了模糊化和解模糊化处理。2型Mamdani模糊逻辑系统由四个部分组成:
1)模糊:它将清晰的输入转换为模糊集。成员函数用于图形化地描述一种情况。
2)模糊规则库:它使用if-then规则。
3)模糊推理引擎:存储在模糊规则库中的if-then规则的集合称为推理引擎。它执行两个操作,即聚合和组合。
4)去模糊化:是指将模糊输出转换为清晰输出的过程。

四、实验结果及讨论

在我们的工作中,我们提出了基于模糊的软件工作量估计模型规则,其中包含与项目相关的语言变量。模糊推理系统(FIS)规则库以未调整的功能点、值调整因子和功能点为输入变量,采用OR、AND逻辑运算,形成了大量的规则。我们通过3个输入和1个输出实现了我们的工作,从而形成了27个规则的组合。这些规则分别为面向FP和LOC的估计模型实现。在估计了努力值之后,我们找到了其他参数,如MMRE,MMER,MRE和MER,并将它们进行比较,以得出适合我们本地数据集的最佳模型。OR操作的模糊逻辑规则如下:
图像
图像
面向Albrecht FP模型的AND和OR操作的工作量估计为9.6和8.63人/小时。采用与或运算的Kemerer FP模型估计工作量为371和406Man/Hours。采用AND和OR操作的小回归FP模型估计工作量分别为159人/小时。图2、图3、图4、图5、图6显示了在MATLAB R2009a的模糊逻辑工具箱中实现的规则查看器。对模型进行了模拟,计算了各自的MRE、MER、MRE、MMER值,如表2所示。
图像
图像
图像
Shama Kousar Jabeen。一个and Mrs. B.Arthi[15] have shown in there work for effort estimation using function points with training the dataset using fuzzy logic approach. Shama Kousar Jabeen.A and Mrs.B.Arthi[14] have shown in there another work for size estimation with neuro fuzzy logic approach for Albrecht dataset.

V.CONCLUSION

Bailey和Kemerer模型的mre和MMER值是有效的。在我们的工作中,数据集的进一步训练必须使用其他软计算技术,如神经网络、支持向量机、遗传算法和其他软计算技术。为了在今后的工作中进行有效的数据分析,还必须对其他参数进行分析。一个part from this work which has been implemented using triangular membership function other membership functions and other logical operations can be implemented for the same dataset to analyze it’s effect on the estimation parameters.
图像
图像

VI.ACKNOWLEDGEMENT

我衷心感谢所有为完成这项工作提供支持和宝贵指导的人。我也感谢我的家人一直以来对我努力的支持。

参考文献

  1. B. Boehm,软件工程经济学,Prentice-Hall,城市:Englewood Cliffs,州:新泽西州, 1981年。
  2. B.Boehm C.Abts S。Chulani,“软件开发成本估算方法——一个调查”,在J.C.Baltzer,软件工程年鉴,卷。10、科学出版社,页。177 - 205年,¼问题。
  3. 国际功能点用户组(IFPUG)
  4. J. Wong, D. Ho, L.E. Capretz,在软件规模估计中使用神经模糊的研究,在ICSE软件质量研讨会上,WOSQ ' 09, 2009,第51-58页。
  5. K. Srinivasan和D. Fisher,“评估软件开发工作量的机器学习方法”,《IEEE软件工程学报》,21(2),1995,第126-136页。
  6. K.K. Shukla,软件开发工作的神经遗传预测,信息与软件技术42(10)(2000),第701 - 713页。7.l .普特南和w .迈尔斯,《卓越测评》,约登出版社,1992年
  7. M.W.Nisar W.Yong-Ji, M。Elahi,“基于模糊逻辑的软件工作量评估-调查”,第五届国际模糊系统与知识发现会议,FKSD ' 08, pp-421-427, 2008
  8. Moataz A. ahamed, Irfan A. ahmad, Jarallah S.Alghamdi,“软件工作量预测的概率大小代理:一个框架”,法赫德国王石油矿产大学,达兰31261,沙特阿拉伯,241-251页,2013。
  9. Moataz A. ahmad, Zeeshan Muzaffar,“处理软件开发工作量预测中的不精确性和不确定性:基于2型模糊逻辑的框架”,信息与软件技术杂志(IST),Vol.51,No.3,pp.92-109,http://dx.doi.org/10.1016/j.infsof.2008.09.004.2009
  10. R.S.Pressman,软件工程,“实践者的方法”,Mcgraw Hill, pp-674-702,2001。
  11. S.H.Kan,软件质量工程中的度量和模型,第二版,皮尔逊教育公司,2002。
  12. 桑迪普·卡德,维奈·乔普拉,“基于软计算的软件开发工作量评估”,《计算机工程学报》,v2.86,卷。2、第五页。548-551, ISSN: 2010-3700,DOI:10.7763, 2012年10月。
  13. Shama Kousar Jabeen。A和b夫人。一个rthi,”A Proposal On Size Metric Framework Modelling For Software Effort Estimation Models Using Neuro Fuzzy Logic Approach”Proceedings of fourth International Conference On ”Advance Computing,Control Systems,Machnies and Embedded Technology”,(ICACT),pp-1372- 1376,ISBN:978-93-80757-74-2.
  14. Shama Kousar Jabeen。A和b夫人。一个rthi,”Size Proxy Metric Framework Modeling Of Software Effort Estimation in Soft Computing”, Journal Of Emerging Technolgies,Vol:8,pp:1-5,Special Issue-III,Feb 2014.
  15. 可视化用例工具,
全球科技峰会