大话软件工程:需求分析与软件设计
上QQ阅读APP看书,第一时间看更新

3.1 基本概念

3.1.1 定义与作用

1.定义

组合原理,给出了用要素、逻辑和模型三元素形成图形的原理和设计方法,利用组合三元素可以表达出任意的逻辑图。

在分析与设计过程中,不论使用什么样的逻辑图形(分析用、架构用、管理用等),图形的构成都包括这三个元素,三元素既可以用来绘图,也可以用来检查图形是否正确。

2.作用

在企业管理咨询行业和软件行业中,针对企业管理对象的描述,不同的业务领域、不同的描述人、不同的关注点等使得表达方式有无数种,这就带来了传递意图、解读意图都很困难的现象。这些图形是否存在着相似的规律呢?是否可以找到一套与业务领域、描述人和关注点无关的、具有普遍性的图形表达方法呢?

通常寻找具有普遍性的表达方法时,最常用的做法就是“穷尽”所有应用场景,然后通过抽提共性整合成为一套方法。由于“应用场景”与具体业务相关联,所以这种方式的最大短处就是随着遇到的场景越多,相应的约束规则、附加条件也会增多。例如,基于100次不同应用场景抽提出的方法,在用到第101次时如果存在着新的不同点,就要将新场景中的不同之处再加入到既有约束规则中,这种积累方式难以收敛为一个具有共性的模型。

理想的方式是,不论什么业务应用场景仅通过有限的“元素”组合就可以表达,“组合原理”的提出就是为了满足这一要求。

3.1.2 组合原理模型

1.图形的基本构成

由于研究对象的形态有万千种,所以表达分析、设计意图的图形也就有非常多的形式,如果要想找到一套通用的方法来替代,需要先研究一下各种图形的构成内容是什么、规律性有哪些等,从而找到一个通用的建模方法。

下面通过对比几个完全没有任何业务背景,也无任何关联的图形,研究一下它们之间有哪些共同之处。如图3-2(a)所示,其中有4个图形a1~a4,它们从外形上看似乎没有什么共同点,如果对a1~a4的图形进行拆分,将拆分后获得的图形元素进行分类,可以获得三组不同的元素,分别详见图3-2(b)~图3-2(d),这三组不同元素的含义如下。

(1)图3-2(b):表达的是图的“要素”。

将a1~a4各图中都具有的共同内容3个方块A、B、C提出来,这3个方块是用来表达构成图形主体内容的“构件”,它们被称为图形的“要素”。

(2)图3-2(c):表达的是要素间的“逻辑”。

在去掉a1~a4各个图形中的构件要素后,剩下了“线条、位置、背景框”等内容,它们是用来表达各个构件要素之间的关系,它们被称为“逻辑”。

(3)图3-2(d):表达的是图的“模型”。

在去除了a1~a4各个图形中表达要素和逻辑的内容之后,只剩下了要素方块和逻辑的“投影”,这些投影表达的是要素与逻辑构成的不同“形状”,它们被称为“模型”。

图3-2 组合原理三元素的抽提

2.组合原理的三元素

从前面利用4种与业务无关的图形中抽提出来的三种共同元素,可以得出这样的结论:只要是逻辑类图形都是由这三种元素构成的,这个结论就是图形的构成原理,称为“组合原理”,而这三个元素就称为“组合原理三元素”,它们是组合原理的核心。组合原理三元素与逻辑图的关系如图3-3所示。组合原理三元素的定义与说明详见图3-4。

图3-3 组合原理模型

图3-4 组合原理三元素的内容与说明

表达企业管理信息化研究成果的图形基本上都是可以通过用组合三元素来描绘的,反过来,利用组合原理的三元素也可以检查绘制完成的逻辑图是否正确、合乎逻辑(读者可以尝试使用其他领域的图形去验证组合三元素的适用性)。

3.1.3 思路与理解

通过少量元素的组合,就可以表达出多种形式业务构成和业务逻辑是理想的建模方法,如何才能够找到这样的方法呢?基于某些业务场景建立起来的模型一般来说都有一定的局限性,因为选择的业务场景不具有普遍性。在对组合原理进行详细说明之前,首先借用具象事物来说明一下组合原理形成的思路,观察一下提线木偶道具的构成和运行机理,如图3-5所示。

图3-5 木偶原理示意图

提线木偶道具由以下三个部分构成。

(1)构件:是构成木偶骨骼的部分,不论是什么形态的木偶,它的形体都是由有限的构件组成的,每个构件都代表唯一的功能,如头、身躯、腿骨、手等。

(2)提线:提线关联了所有的构件,通过提拉操作,可以调动各个部分的构件发生位置移动,这些移动就会产生木偶的表情、运动等行为。

(3)服装:服装、面具、鞋帽等装饰物让木偶具有了不同的造型,这些不同的造型表现了不同的角色,可以让人辨识出木偶表达的是人、动物、物件等。

将这三者安装在一起,就可以形成木偶,通过操作提线,就可以表达出表演者的意图(表情、动作、故事情节等),但是去掉了服饰之后,木偶内部的构成、运动原理都是一样的。

构件、提线和服装分别对应组合原理中的要素、逻辑和模型。下面分别对组合原理的三元素进行详细说明。