Bang Metric 不可以
IFPUG 不可以
Mark II FPA 不可以
表 5: 自动化度量的可能性
在文献中可以发现几种自动化度量的方法。这里介绍两种方法。
Ho等提出了一种源于源代码利用程序的篇幅来自动化度量功能点的框架方法[24]。被提出的框架可以用来建立一种符合“IFPUG计算实践手册”自动化功能点度量模型。认识到模型高度依赖于限幅工具的能力和效率,已经进行了原型开发的进一步研究。Paton发表了对于这种方法的理论基础[25] 。首先,定义了中间程序表现包含足够信息计算功能点的DF(P)的方式。其次,很明显这种中间程序表示法可以利用程序篇幅(一种静态代码分析形式)以及程序追查(一种动态代码分析形式) 得到。 因而,自动化功能点计算是可能的。
另外一种是Oppermann 为了支持全面功能点版本1自动化度量而开发的方法[27],它作为西门子和马格德堡的大学(译者注:马格德堡的大学是德国的一所综合性大学)合作的成果论文提出的。 它是经过评价全面功能点在西门子的适用性后,才决定开发一个工具进行自动计算[28]。但是,遗憾的是经过进一步的调查研究发现,由于西门子说明书文档的结构复杂和多样性,完全自动化计算是不可能的。因而开发了一个由两部分组成的帮助度量的工具。 FFPExtract 分析西门子的需求说明书且选出一些可能可以度量的作品。然后FFPCounter 在一个对话框中显示出需求说明书和建议进行度量的作品。这些作品可以被用户接受进行计算也可以拒绝。
Diab, Frappier 和St-Denis 提出了另一种有趣的方法[52][53]。利用IFPUG和全面功能点的正式定义,他们能够进行自动计算。这种方法对B说明书语言(针对IFPUG)和ROOM(实时面向对象模型)语言(针对COSMIC的全面功能点)特别适用。
自动计算功能点的一般解决方案是可能的(本文介绍的方法是非常专门的),但还没有令人满意,还必须做在这个领域的进一部研究。
4.2客观性/可靠性(Objectivity/Reliability)
在功能规模度量,任何参与的评估员个人的方法主观地方强调的越多,结果的可重复性越难。
举一个Symons给出的有关IFPUG内部问题的例子[15]:三个子系统单独度量的功能点和少于由他们组成的整个系统度量的功能点。
此外,在他看来单个功能元素如输入、输出等的权重是任意选择,他认为应该根据某种具体环境进行修改。
Iok Kuan Wu Simon在一次案例研究(500不同地区的香港商业公司)中发现由于功能点方法太主观,仅有大约23%的公司使用这种方法[29]。从这里可以看出经验对功能点分析方法的结果可重复性是非常重要。因此,这个问题可以通过培训来解决,但是太花工作量。然而,不管主观性,LOC对Simon来说好像也不是一个好的选择,特别是在科学应用如数据通讯和多媒体应用领域。
文章来源于领测软件测试网 https://www.ltesting.net/