子系统层次
一个子系统层次看上去像什么呢?这里有一些我用过的简单的"标准"形式。注意,这些只是用来实现一个系统的概念形式。实际系统的范围超出了这些形式的集合,并且每个子系统外部用例的总和是系统全部的外部用例;因此,一个实际的系统可能有超过 10 个外部用例,但是正如我们后面将要看到的那样,上限并不是无限的。注意,这里并不是建议所有的开发都在它们的描述中使用 4 层用例。小的系统(<5 万 slocs)可能只用 1 层或者 2 层。
第一层
在第一层,具有通过零个或以上的子系统中的类实现的用例
在这一层估计系统(系统具有可通过类来实现的用例)规模的范围(使用7+或者-2的概念):
2 到 9 个类(没有形成到子系统中)――1700 slocs 到 8000 slocs ,或者
由 5 个类组成的子系统,共计 4000 slocs
由 7 个类组成的子系统为 9 个,共计 53,550 slocs
范围为 2 到 76 个用例。这是个模糊的界限,至少对于上限来说是这样的――在该限定下,以这种方式构建一个系统(在这个规模上),永远也不使用更高层的形式来表达所要求的行为,那么用例的数量应该降到零。如果用例的数字大于零,那么是画蛇添足。
第二层
在第二个层次上,我们有一个由 8 个子系统组成的子系统组。我认为这等同于防御性术语中的计算机系统配置项(computer system configuration item ,CSC I)。在这一层,用例是通过子系统的协作来实现的:
在这一层估计系统规模的范围(使用 7+或者-2 的概念):
从由 5 个子系统(每个子系统有 5 个类)组成的子系统组,共计 22,000 slocs,到
9 个由 7 个子系统(每个子系统有7个类)组成的子系统组,共计 370,000 slocs。
这是说,外部用例的范围是 4 到 66。再次重申,这些只是模糊的界限。
第三层
在第三层,我们具有一个系统(由子系统组构成)。在这一层,用例是通过子系统组的协作来实现的:
在这一层估计系统规模的范围(使用 7+或者-2 的概念):
从 1 个系统,由 5 个子系统组组成,每个子系统组又由 5 个子系统(每个子系统有5个类)组成,共计 11 万 slocs,到
9 个系统,每一个系统都由 7 个子系统组组成,每个子系统组又由 7 个子系统(每个子系统有 7 个类)组成,共计 260 万 slocs 的类组成。外部用例的范围是 3 到 58。再次重申,这些界限是模糊的。
第四层
在第四层中,我们有一个由系统组成的系统。在这一层,用例是通过系统的协作来实现的:
在这一层估计系统规模的范围(使用 7+或者-2 的概念):
从 1 个由 5 个系统组成的系统,每个系统是由 5 个子系统组组成,每个子系统组是由 5 个子系统(每个子系统有 5 个类)组成,共计 54 万 slocs,到
9 个由系统组成的系统,每个大系统由7个系统组成,每个系统由 7 个子系统组组成,每个子系统组由 7 个子系统(每个子系统有7个类)组成,共计 1800 万 slocs 的类组成。外部用例的范围是 2 到 51。再重申一次,这些界限是模糊的。