论文部分内容阅读
随着软件产业的蓬勃发展,人们越来越深刻地认识到软件度量的重要性。规模是软件的一个重要属性,是成本估计和生产率分析的重要参数,同时它也是软件项目管理所必须考虑的一个重要因素。在当今越来越复杂的软件面前,如果不能采用有效的规模度量手段来得到软件的一个比较准确的规模,开发商就会面临巨大的风险,包括人员安排、开发进度、甚至影响到项目的完成情况。软件的功能规模度量(FSM)方法就是为了满足这种软件度量的需要而诞生的,随着技术的进步该方法还在不断完善,并被越来越多的软件行业和组织所采用。实践表明功能规模度量方法是有效的,应用功能规模度量方法将会为企业提高软件项目的成功率奠定良好的基础。
FSM方法的设计目标首先是为了能够对项目的工作量进行合理估计,并能够对之进行公正、客观、有效地度量;其次是为了保证该方法实施的有效性和及时性;也为了在软件开发的初期就可以使用该方法,以便更容易地被用户理解、接受和采纳。
FSM方法区别于之前出现的其它软件度量方法,是因为它独立于物理组件和开发方法,仅仅从用户和功能角度来度量一个应用软件的大小,
根据ISO/IEC14143-1:1998,本文对FSM方法的若干术语进行了阐述,归纳了FSM方法共同的度量原理。分析了IFPUGFPA、NESMA、MkⅡ、COSMIC-FFP四种方法,总结出了目前应用最广的IFPUGFPA和COSMIC-FFP方法的优缺点,并根据FSM方法的共性,给出了FSM方法的泛化。
随着软件规模的不断扩大,早期提出的IFPUGFPA方法呈现出了一定的不精确性。因此本文在详细分析了IFPUGFPA方法的复杂度等级划分标准之后,指出了IFPUGFPA方法中复杂度等级划分的不精确性,提出了一种改进的功能点分析方法——模糊功能点分析(FFPA)方法。FFPA方法通过产生梯形模糊数来对FPA复杂度矩阵中的复杂度等级进行模糊化,由此产生新的复杂度等级来扩展FPA复杂度矩阵,并且还为这些新的复杂度等级确定功能点数,同时使用隶属函数消除功能点数中复杂度等级的模糊性。针对面向对象的基本概念和两种面向对象方法(OMT和UML),本文提出了面向对象方法的功能点(OOMFP)方法,完成了从IFPUGFPA方法到面向对象方法的概念上的映射和度量规则上的映射。并结合Web应用的特点,把导航模型引入到面向对象系统中,给出了Web应用的FSM方法。另外,还根据COSMIC-FFP的度量元素和Web应用的结构,对COSMIC-FFP软件模型进行了改进,列出了针对Web应用的度量规则,并给出了实例说明了这些规则的使用。
根据IFPUGFPA规则的半形式化模型,本文对外部查询(EQ)的4个规则进行了扩充。然后结合逆向工程技术,提出了从源代码的角度来度量软件功能规模的基本方法,给出了基于Java源代码的功能规模度量规则,并以Java源代码为例说明了度量的过程。
本文还基于随机变量的数学期望和数学方差的概念,提出了模糊回归决策基本模型。对文献[96]中给定的数据集,本文分析了该文献所给出的线性和非线性模型,并结合随机变量的正态分布特点,定义了相应的隶属函数,以工作量为应变量,功能规模为自变量,建立了适用于COSMIC-FFP度量结果的回归模型,计算结果表明该模型比现有的其他模型更能反映工作量和功能规模之间的关系。