COSMIC是一种度量方式,这个方法涉及的领域的软件功能变量:1.业务应用类、实时软件、一些科学工程软件中。
COSMIC分为软件环境模型和通用环境模型
COSMIC 软件环境模型
原则——COSMIC 软件环境模型 | |
a) 软件被硬件所界定。 b) 软件通常结构化为多 层。 c) 一层可包含一个或多个单独的 “ 对等 ”软件块。 d) 任何待度量的软件应由其 度量范围定义,并完全限定在一个单一的层中。 e) 待度量软件块的范围依赖于度量 目的 。 f) 可以从待度量软件的 FUR 中识别该软件的 功能用户,这些功能用户分别作为数 据的发送者和/或接受者。 g) 软件的 FUR 可以在不同的 颗粒度级别上表达。 h) 精确的 COSMIC 软件规模度量需要该软件块的 FUR 达到能够识别出 功能处理 和子处理的颗粒度级别。 i) 如果在高级别的颗粒度级别度量 FUR,则可以采用近似的 COSMIC 方法度量软 件块,并缩放至功能处理及子处理的颗粒度级别。 |
|
原则——COSMIC 通用软件模型 |
a) 软件块跨越 边界与功能用户交互、并与边界内的 持久存储介质进行交互。 b) 被度量软件块的 FUR 能够被映射到唯一的一组功能处理。 c) 每个功能处理由一系列子处理组成。 d) 一个子处理可以是一个 数据移动或者是一个 数据运算。 e) 一个数据移动仅移动单个 数据组。 f) 有四类数据移动: 输入,输出,写和读。 输入从功能用户移动一个数据组到功能处理内。 输出从功能处理中移出一个数据组到功能用户。 写从功能处理移动一个数据组到持久存储介质。 读从持久存储介质移动一个数据组到功能处理。 g) 一个数据组由唯一的一组 数据属性构成,描述了一个单一的 兴趣对象。 h) 功能处理被输入数据移动所触发。功能用户为响应 触发事件而产生了触发输入, 触发输入移动的数据组由一个响应 触发事件的功能用户生成。 i) 一个功能处理包括至少一个输入数据移动,以及一个写或输出数据移动,即一 个功能处理应该包含至少两个数据移动。一个功能处理中数据移动的数量没有 上限。 j) 作为对度量目的的一种近似处理,数据运算子处理不单独度量。任何数据运算 的功能被假定已经计算在相关的数据移动内了。 |