COSMIC 功能点法在对软件中功能点的划分上更加灵活, 对软件内部的结构和实现依赖更小, 对软件功能变化的应对能力更强。全功能点分析方法于1997 年被提出, 后来被通用软件度量协会(COSMIC) 继承和发展, 并且得到了广泛的推广和使用。2003 年1 月31日,COSMIC-FFP 标准(COSMIC的前身) V2.2 版本诞生后, 被国际化标准组织正式接纳其为国际标准, 编号为150/ IEC19761:2003。2007 年9 月1 日, COSMIC-FFP 方法改称为COSMIC 方法, 标准也升级至3. 0 版本[8] 。
COSMIC功能点分析方法是第二代功能点分析方法, 符合国际标准, 编制标准的专家来源广泛。在过去几年中, 这种方法得到了广泛和严格的测试, 目前在实时系统、业务支撑领域的多层结构应用软件、面向对象的分析方法以及可视化开发工具等方面都有很好的适应性。
COSMIC 功能点方法将待度量的软件系统划分成一系列的功能过程, 对每个功能过程的规模大小进行度量, 最终汇总所有功能过程的规模就可以得到软件程序的总规模大小。COSMIC 功能点方法有四种数据移动, 分别为数据入、数据出、读和写。
表1 COSMIC与IFPUG的详细比较
COSMIC 功能点法在早期估算中非常有效,它适用于:
(1) 以数据处理为主的商务应用软件, 如银行、财务、保险、采购等领域的信息系统;
(2) 实时系统, 如电话交换系统、嵌入式控制软件;
(3) 上述两种类型的混合, 如飞机售票系统、旅馆预订系统等
COSMIC 功能点法在早期估算方面的具体计算过程如下:
( 1) 识别软件层次。识别层次的目的是为了识别被度量软件的边界, 清晰地定义被度量软件的范围。
( 2) 识别软件边界。边界定义为被研究的软件与其用户之间的概念性接口, 用户既包括系统的使用人员, 也包括其他软件或者硬件系统。
( 3) 识别功能处理。一个功能处理是用户功能需求集合的一个基本部件, 包括一组惟一的、内聚的、可独立执行的数据移动。
( 4) 识别数据组。一个数据组包含的每个数据属性描述了感兴趣的同一个对象的一个互补的侧面。一个数据组可以是永久存储的也可以是短期存储的数据, 它必须在系统中被具体化。
( 5) 识别数据属性。一个数据属性是已识别的数据组中最小的信息包, 识别数据属性并非是必须的活动。COSMIC-FFP 中基本的功能度量单位是一次数据移动, 数据移动的对象是数据组, 数据组是数据属性的集合。
( 6) 识别数据移动, 计算并汇总。COSMIC 功能点法就是一个计算数据移动的过
程。每一个有效的数据移动都被看成一个COSMIC 功能的规模大小单位, 为每一个功能过程找到其所有的数据移动之后, 将它们累加在一起就是这个功能过程的软件大小, 可以表示为:
Size( FPi ) = Size( 数据入i ) + Size( 数据出i ) +Size( 读i ) + Size( 写i )
将所有功能过程的大小数值累计就可以得到整个软件程序的规模大小:
通过该度量方法, 可将一个十分复杂的软件系统最终转换成一些具体的数值,以表示软件实际规模大小。
下面是一个用COSMIC估算的例子:
表2 COSMIC功能点法规模计算
组件 |
功能点数 |
数据入 |
33 |
数据出 |
138 |
读 |
13 |
写 |
25 |
功能点数合计 |
209 |
在运用COSMIC 功能点法估计规模时,
结果如由表2所示。取单位功能点成本为
3000元, 则该系统建设的软件成本为
209 *3000 元, 即627000 元. 而该系
统建设的软件实际投资为70万。估算
结果与实际投资的偏差为10.43% 。
ISBSG组织积累了大量的COSMIC功能点估算的经验数据,并发布了相关的经验数据库,但是该经验数据库是收费的,我们暂时无法获取。第一次发布的版本包括了来自实时系统和基础软件系统的62个项目数据,以及290个来自商业软件的项目的数据。这些数据对确定软件基准、估算、项目计划以及研究具有非常重大的价值。但是这些数据目前是不对外开放的或者是收费的。基于这些经验数据所得出的转换公式现在我们也无法获取。
posted on 2015-11-02 10:23
小龙虾 阅读(1599)
评论(0) 编辑 收藏 引用 所属分类:
测试经验