1 - 子系统
0 - 类
类和子系统在 UML 中定义为;在 UML 中更大的聚合是子系统(包含子系统),为了更简单的进行描述,我进行了不同的命名。对于那些知道 2167 和 498 军方标准(称子系统为 CSC,称类为 CSU)中的术语的人来说,子系统组(subsystemGroup)的规模用 CSCI -来表示。我记得,经过 2167 天的关于 Ada 的结构应该映射到哪一层次的争论后,尘埃落定,Ada 包通常映射为 CSU。我并不建议系统必须严格的遵循这种层次结构,还将存在层次之间的混合,这种层次结构使我能够更好地了解规模对于每个用例工作量的影响。
在每一层上都会有用例(尽管对于单个的类可能不是这样),但并不是单纯的大量细节堆砌 ,而是用例针对那个层上的每个组件(例如子系统、子系统组,等等)。在上文中我曾断言对于每一层的每一个组件都有 10 个用例――如果用例的描述平均是 10 页,那么将会给出一个潜在的、大约 100 页长度的说明文档(还要加上类似的或者少一些的关于非系统性需求的相应说明),这是 Stevens 98 提倡的数字,并且和Royce98推荐的数字很接近。但是为什么是 10 个用例呢?为了得出这个数字,基于对每一个子系统的类的数量、类的规模、操作规模等等我认为的合理的规模,我进行了自下向上的推理。这些和其他假设共同搜集在下表中供大家引用。
![](/Management/UploadFiles_7470/200910/2009100708050544.gif)
我没有大量的经验数据-贯穿文中的是琐碎的、分散的数据,Lorentz 94 和 Henderson-Sellers 96 有一些数据,我也有一些在澳大利亚的项目中得出的数据,主要是在军用航空航空领域。任何情况下,在这个阶段,将框架或多或少的定位到合适的位置是非常重要的。
分层结构中组件的大小
这里我应该指出的是,我曾经使用代码行来度量组件的大小,但许多人不喜欢这种度量。这些是 C (或者相同层次的语言)代码行,所以,要回到功能点非常容易。