敏捷顶层设计方法(2)

发表于:2013-03-25来源:减法架构设计专业论坛作者:高煥堂点击数: 标签:敏捷
图-5 xMCS模式促进书同文,建立互联互通的基础 基于此图的MCS系统模式,就在EA框架里,详细说明图中系统元素之间的信息交换协议、数据交换格式、数据
top-level-05

  图-5 xMCS模式促进书同文,建立互联互通的基础

  基于此图的MCS系统模式,就在EA框架里,详细说明图中系统元素之间的信息交换协议、数据交换格式、数据量、传输速率等规格。于是,产出了EA的系统架构文件(属于顶层架构设计文件的一部分)。

  2.3 中层设计:采用EIT造形

  两层减法设计

  在本方法里,有两层减法设计。这两层的减法设计就是:

  ◆ 从<业务架构层>到<系统架构层>的减法设计

  此时采取来协助减法设计,让业务架构层面的千变万化面貌下,能取得系统设计层面”书同文”,基于共同的概念和术语(如、和等元素种类名称),来减化复杂性,提升系统的互通性。

  ◆ 从<系统架构层>到<中层设计>的减法设计

  此时采取来协助减法设计,让系统架构里的互通接口规范部分,能落实微软件代码,并取得软件接口设计上的”诗同形”,就像唐诗三百首一样,据有共同的造形(Form),却能包容无限意境的诗人心灵感触。

Noname-24

  图-6 xMCS模式和EIT造形接力进行减法设计

  为什么要透过两层的减法设计来支撑顶层设计的目标呢? 而不是去设计一个业务层面的共同平台呢? 主要的理由是:各业务区块的系统大多已经发展一段时间了,并非重新兴建,而且会持续成长与发展。所以,业务架构层面的百花齐放是智慧城市、数字家庭,以及大型SoS系统蓬勃发展的必然性,其本质就是复杂的(Complex)。此外,城市、家庭、及系统会持续发展下去,顶层设计必须非常专注,其发展的未来性,由于未来环境变会的不可预期性,其本质就是多变的(Changeable)。

  君不见,城市里的建筑物外观也是百花齐放的,也是数千年来持续演化和发展的。人们不会寻求去统一这些建筑物的外貌,因为外貌的复杂性和多变性是本质性(Essential)的。因为城市、家庭、及系统所处的外在环境(如自然环境、经济市场环境等)也是复杂多变的。

  然而,我们可以看到,无论是教堂、学校、仓库、四合院、客栈等建筑物,虽然外貌都不一样,但其屋檐下的栋梁、砖块、水泥、门窗、卡榫接口的设计概念和造形却是极为一致。这就是中层设计的来源,藉由中层设计的一致化简单造形,来包容上层外貌的复杂性和多变性。因此,我们设计了xMCS系统模式和EIT软件造形,其效益如下:

  基于中间层造形的包容性,支撑上层业务的多样性,促进城市发展的未来性。

  基于中层设计概念一致化,促进不同区块、系统、及设计者之间的互通性。

  基于中间层的模块的复用性,促进不同区块、不同系统、不同设计者采用更优质、更受检验的模块,大幅提升城市建置的质量。

  以EIT造形实现互联互通的接口设计

  接续上图里的系统架构设计。以EIT软件造形形来实现上图里xMCS模式里元素之间的互联互通的关键部分:接口(Interface)。就得出中层设计里的接口定义(软件代码)。如图-7所示。

top-level-06

  图-7 EIT造形促进诗同形,确保互联互通的可实现性

  由于EIT造形的内容是软件代码了,已经到达很明确规范(电脑才能执行)地步了,包括元素本身的形式,以及元素之间的组合形式(就如同,一个H原子内部的质子、中子和电子的结构);此外还包括EIT造形外部的组合形式(就如同,两个H原子与一个O原子结合成为一个水分子),都明确定义了。它比上层的xMSC模式具有更明确的形式定义(不仅是规范),就称之为”造形”。所以,xMSC模式比较抽象,只是给人看、引发人们去创造的思考性模式(Thinking Pattern);而EIT则是具像到电脑可执行的软件(代码)造形(Software Form)。经过了EIT造形的减法设计之后,在中层设计里面,人们获得一致的概念和组合形式,有如唐朝时代,迈向”诗同形”的境界。

  以EIT造形封装通信机制

  由于EIT是软件造形,它能有效包装实体的通信接口,透过软件来转换信息格式,再转交由另一个实体层通信接口传输给对方。如此,包容了新、旧的实体层通信协议和设备。换句话说,除了促进互联互通的效益之外,又包容过去、现在和未来的通信协议,保护了过去的投资;还包容了标准的、不标准的通信协议和设备,提升了持续发展的未来性。于是,得出一个可既简单又可执行的中层设计。如图-8所示。

top-level-07

  图-8 以EIT造形包容新、旧的通信协议

  可继续运用EIT软件造形来实现更多的互联互通的接口设计,如图-9所示。

top-level-08

  图-9 持续运用EIT造形,落实系统的各个接口

  于是,得出了从顶层设计衔接到中层设计的途径。

  2.4 完成一回迭代(Iteration)的设计

  虽然增加了一项中层设计,但是这些都是顶层设计阶段所涵盖的范围。如下图:

top-level-09

  图-10 顶层设计阶段各层级的设计内涵

  也许你会问道,为什么要独立出一项中层设计呢? 将它合并到顶层设计,是不是也可以呢? 理由很多,其中最主要的是:中层设计是位于顶层与实践层之间,本来顶层只做设计,并不产出代码;而实践层的重要任务之一是以软件来整合硬件和通信,产出软件代码是它的核心任务。双方非常互补;但缺乏交集;而中层设计是双方的交集部分。在时间轴上,整个过程共分为两大阶段:<顶层设计阶段>和<实践开发阶段>。中层设计是在<顶层设计阶段>所完成的,属于<顶层设计阶段>的工作范围。到了<实践开发阶段>,我们将会拿中层设计所产出的软件代码(即EIT造形的内涵),来做为实践开发阶段的基础;也就是实践阶段进行敏捷迭代过程的单纯起点,在敏捷开发概念里,称为:简单方案(Simple Solution)。

原文转自:http://223.26.63.39/?p=138