关注点分离不仅适用于不同设计主题之间的分离,还适用于同一个设计主题,这就是多视点方法(multi-viewpoints methods),又被称为多视角方法(multi-perspectives method)。
多视点方法在设计一个复杂部件时,从不同的观察角度,将系统中既交织共存又相对独立的不同内容拆解成不同的方面(aspect),然后分别设计每一个拆解后的方面,实现分而治之。例如,对同一个软件模块,可以用类图、顺序图、状态图等多种方法分别描述模块的静态结构、动态协作过程和动态行为。
拆解后的方面被称为视点(viewpoint)。每一个视点都是独立的设计模型。所有视点的设计模型集成起来便是对复杂部件完整设计方案的描述。当然,这里所说的集成并不是将多个视点模型描述转化为单一的统一模型形式,而是依据不同方面之间的关系,建立不同模型内元素之间的联系,从而在语义上将多个独立的模型描述连接起来。
多视点方法示意图,如图1-4所示。
图1-4 多视点方法示意图
IEEE1016—2009列举了设计中的常见视点,解释了其相关的设计关注,以及可以使用哪些设计模型进行表达,如表1-1所示。
表1-1 设计视点