在COSMIC FPP中用户功能需求(FUR)中并不包括技术与质量的需求,在实践中有些需求很难界定是否是“功能需求”,比如“应该简单易用”最基本的识别原则是:只要需要移动数据组,则应该识别为功能需求,并识别出功能处理,度量其规模。
3.5 识别数据组
一个数据组包含的每个数据属性描述了感兴趣的同一个对象的一个互补的侧面。一个数据组可以是永久存储的也可以是短期存储的数据,它必须在系统中被具体化。通过它的唯一的数据属性集合,每个被识别的数据组必须是唯一的和可区别的。每个数据组必须被直接的关联到一个在软件的FUR中描述的兴趣对象上。在COSMIC-FFP中,采用术语“兴趣对象”替代“实体类型”或“范式关系”,以避免使用特定的 软件工程方法的术语。例如:在管理信息软件领域,一个兴趣对象可以是雇员(物理的)或订单(概念的),在实时系统中,一个兴趣对象可以是一个脱机文件。
3.6 识别数据属性
一个数据属性是已识别的数据组中最小的信息包,从软件的用户功能需求的角度表达了一定含义。一个数据属性要么刻画了用户的现实世界,要么是一种记录了环境信息,但不能是一种特定的实现技术所使用的信息,如临时变量等。
识别数据属性并非是必须的活动。COSMIC-FFP中基本的功能度量单位是一次数据移动,数据移动的对象是数据组,数据组是数据属性的集合。在计算功能规模时没有考虑数据属性的多少,对于特定的度量目的,需要更加精确地度量规模时,可以对COSMIC-FFP方法进行扩展,度量数据属性的个数即是其中的一种扩展方法。
3.7 识别数据移动
一个数据移动是一个功能处理的部件,它移动属于一个单独的数据组中一个或多个数据属性。如果移动多个数据组的数据属性,则应识别为多个数据移动。有四种子类型的数据移动:输入、输出、读和写。
在任何一个功能处理中,不要重复识别一个数据移动。例如:假定在FUR中要求一个数据组的移动,但是开发人员决定通过2个命令,在功能处理的不同地方,每次读取不同数据子集,在考虑规模时,仅识别为1次读。但是,本规则也有一些合法的例外,比如在实时软件中, 如果FUR要求在某个处理停止之前,必须重复读以检查从第1次读到现在的数据是否已经改变了,在这种情况下,如果有额外的和/或不同的数据操作与第2次读相关联,那么读就应该识别为2次。
3.8 执行度量与汇总结果
在COSMIC FFP方法中,每一个有效的数据移动被看成为一个Cfsu。在为每一个功能处理都找到其应有的所有数据移动之后,将它们累加在一起便是这个功能处理的规模,如式(1所示)。
SizeCfsu (功能处理) = Size(输入)+Size(输出)+Size (读 )+Size (写 ) (1)
将所有的功能处理的规模累计在一起便是这个软件系统的规模。如果是从不同观点来度量的软件规模,则不应该累加一起。从最终用户的观点和从开发者的观点度量同一个软件系统的规模,其结果是不相同的。除非有特别的需要,不同层的规模一般也不应该累加一起。
文章来源于领测软件测试网 https://www.ltesting.net/