Figure 8: Pre-implementation FURs (Source: [16])
Figure 9: Post- implementation FURs (Source: [16])
图中所有显示的工作产品,应该可以得到度量的必须信息。
度量时间的最早点(Earliest point of time for measurement)
Garmus和 Herron [03] 说过,DeMarco’s Bang和3-D功能点方法需要对系统过程的详细认识,但是在初期不可能充分计算系统过程(如系统的状态和转换过程),对这两种方法来说, 计算功能点越早越困难。因此它们必须在比 Mark II功能点、特征点和IFPUG功能点使用的软件生命周期更后的阶段度量,其中Mark II功能点、特征点和IFPUG功能点可以在相同的系统详情水平,得到相同精确程度的功能点,但是不幸的是他们需要的详情业只有经过大约15-40 %的开发时间后才可能有。
早期估计(Earlier estimations)
Boehm指出越早度量项目就可能越早在控制之下[19]。
一般都相信只有在设计阶段才可能进行功能点计算,但是有规则可以使得更早得到功能点数据(在IFPUG4.0支持下)。有时用启发式规则。但在真正进行这种可能新得计算往往发现是又不可能,根据一般模型的适用性,在需求收集阶段,功能点计算可能只是一个更好或者更差估计。当所有商业需求终结时,可能有准确的功能点计算。为了克服这个时间点迟后问题,有人提出了早期功能点方法。Meli总结了应用这种方法的结果[31][33]。他发现方法在软件项目没有所有详细资料(功能说明书)时估计功能点值早期功能点是一种非常有用的方法,它能是一种正式标准的计算。
但重要的是需要考虑这种方法的效力,这种方法的系统是根据实际计算案例来设置的,它的效果只是用一种不变的确认来保证。但依照资料,早期功能点方法已经完善地比较有效,在大多情况它估计的数值在实际功能点数值+/-10%内。
另外一种早期估计的方法是早期全面功能点方法。这种方法基于早期功能点分析并且现在正在开发完善。
利用UML进行度量(Measurement using UML)
有几种利用UML元素进行估计功能规模的方法已经被提出和讨论。其中一种是Stutzke被提出来的用来估计特征点的方法[44]。他参考结合了以前别人的工作成果如Reifer’s模型(1990)、类点方法(the Class Points Method,被Fischmann/McRitchie 提出)和南非方法(the South African Method 被Meyerson提出)。但他认为不是所有的问题都解决了,可能问题是:
对象模型的重用部分需要多少工作量 ,
特别的分析方法是怎样影响工作量的 ,
将设计的对象转换为执行代码需要多少工作量 。
Longstreet给出了一些怎么用用例度量功能点的例子[20]。他声明每一步必须分析它是否是一个事务或者是一个数据类型。他还列出了采用用例进行功能点计算的风险:
在用例中没有标识清楚必须的事务,
在用例中可能没有正确标识事务,
在用例中没有清楚定义属性数,
属性数不能固定到一个实体上。
但他, Longstreet [36], 声明功能点分析可以非常容易的适用于用例方法。
Meli 提出用例已经变成一个捕获用户需求的一般方法,因为用例是从用户的角度描述功能,他们应该很容易转换成功能点[37]。但这个事实需要一项一项确认,既然功能转换和用例的“解剖”水平可能不同,进一步的研究应提供些这种潜在关系的统计证据。
从源代码进行后期计算(Post-calculation from source code)
一个最后重要的考虑是希望从源代码进行后期计算功能点 。既然有方法已经从源代码实现功能业务内容自动度量,后期计算也是可能。
文章来源于领测软件测试网 https://www.ltesting.net/