COSMIC简介
COSMIC度量过程
度量策略阶段
度量策略阶段需明确以下四个概念。
1、确定度量目的:
为什么执行本次度量以及度量结果的用途,如度量客户的概要说明以提供 价参考;度量完整用户需求估算成本投入等。
2、确定度量范围:
度量哪些软件块的规模,在度量活动中所包括的功能用户需求的集合。
3、确定功能用户:
站在什么使用角度,功能用户是软件块的功能性用户需求中数据的发送者或预期的接受者。通常包括人,其他与待度量软件存在接口的软件已经硬件设备(屏幕、按键等)。
4、确定需求描述详细程度
度量策略阶段可利用环境图展示被度量软件块在其功能用户环境中的范围以及它们之间的数据移动。
边界 – 被度量软件和它的功能用户之间的一个概念性接口,在两个有数据交换的软件块之间,同样存在一个这样的边界,此时一个软件块是另一软件块的功能用户,反之亦然。
持久存储介质 – 在功能处理生命周期结束后仍存储数据组的存储介质,持久存储介质存在于被度量软件的边界内,因此不能被视为被度量软件的功能用户。
软件环境模型图:软件块跨越边界与功能用户交互,并与边界内的持久存储介质交互
映射阶段
触发事件、功能用户、数据组及功能处理关系图
1)功能用户自己产生的触发事件,比如用户感到饥饿,所以在外卖软件点餐,此时用户感到饥饿即为触发事件。
功能处理是最小的,独立的功能部件,每个功能需求都可以拆分为功能处理,如人员管理功能拆分为增加一个人员,删除一个人员等。一个功能处理至少包含两个数据移动,一个输入E加上一个输出X或写W。
兴趣对象是软件处理的数据对象,需要软件去输入,输出,读或写它,而数据组是兴趣对象的属性的子集。比如某个系统中,人员是要处理的一个数据对象,人员有姓名,性别,年龄,出生日期等属性,这些属性的集合就是数据组。
数据属性是兴趣对象的属性,描述了兴趣对象的一个特征。比如人的姓名,性别,年龄,出生日期等。
任何一个功能处理都是由输入E、输出X、读R、写W构成的,输入、输出、读、写就是数据移动。
输入E: 将一个数据组从功能用户一侧跨越边界移动给需要它的功能处理
输出X: 将一个数据组从功能处理一侧跨越边界移动给需要它的功能用户
读R: 将一个数据组从持久存储介质移动到需要它的功能处理
写W: 讲一个数据组从功能处理移动到持久存储介质
四类数据移动E, X, R, W
注意:
度量阶段
最终度量结果可表示为:
x CFP(v.y)
其中:x表示使用v.y版本的COSMIC方法得到的软件规模度量数值汇总,如:2500CFP(4.0)
扩展COSMIC度量方法
COSMIC度量方法被设计用于度量“数据移动为主”的软件,并不能够度量软件所有方面的规模。因此COSMIC度量方法当前不能单独明确地度量数据运算子过程的FUR规模,该方法也没有捕获数据移动的数据属性数量多软件规模的影响。针对这类情况,COSMIC度量方法提供了本地化扩展。
针对复杂算法的本地化拓展
如果有必要解决复杂算法的度量问题,可以为这种例外的功能设置一个本地化标准。对于任何包含非常复杂的数据运算的功能处理,可以按照本地标准定义功能点。
示例:“在我们组织中,诸如<算法示例列表>的数学算法计作1个本地FP。< 另一个算法示例列表 >计作2个本地FP。”
当使用了本地化扩展时,最终度量结果可表示为:
CFP(v.y) +z LocalFP
其中:
x表示使用v.y版本的COSMIC方法得到的软件规模度量数值汇总,如:2500CFP(4.0)
z表示使用COSMIC本地化扩展得到的所有度量数值汇总,如:100FP
用户功能需求度量案例分析
原始需求:物联 风控平台能够以区域为维度进行物联 卡语音话单异常分析,需要从DACP平台获取原始语音话单数据,并进行分析存储,详细过程如下:
DACP平台定时将语音话单数据(包含本方 码、对方 码、被访区域、通话时长、IMSI、IMEI等数据属性)导入到物联卡风控平台;
物联 风控平台对数据进行清洗、提取后存储;
需对导入数据格式进行校验;
物联 风控平台对存储的话单数据进行物联 卡异常分析并保存分析结果。
功能用户为DACP平台,因为它是触发数据组的发起者;
触发事件为设定的某一时刻;
触发输入数据组为语音话单数据
可形成如下为度量表格,每一个度量团队使用的度量表格式以及度量字段会有区别,针对所需做适当增减和调整。
然后在汇总度量结果时,将使用COSMIC本地化扩展得到的所有度量数据包含在内。
此时案例度量结果可表示为:
5CFP(4.0)+2LocalFP
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!