5.6 系统的建构问题
5.6.1 系统建构的意义
在系统工程过程中,人们面临的任务是建立一个系统(例如电子信息系统、交通运输系统、物流系统等),因而首先需要建立系统的总体构架,也就是进行系统的概念设计。这类总体构架可以用系统的体系结构来描述。
系统的体系结构(Architecture)用来表述系统某一方面特点的结构方式和模块组成。它侧重原则、侧重方法,而不具体规定技术与业务细节。它不局限于讨论具体机构、工作流程和人员组合,而更着眼于为实现系统功能而做的原则性安排。这种安排着眼于各部分的关系应该怎样处理,使得系统在整体上结构合理,各部分都能发挥作用。
国外的一些组织曾对系统的体系结构给出过下列定义。
(1)系统的体系结构乃是系统或部件的组织结构(IEEE 610.12)。
(2)系统的体系结构是部件及其关系的结构,以及支配其设计与演化的原理和纲领DoD C4ISR Framework,Perry-Garlan,NOT IEEE 610.12)。
(3)系统的体系结构是一个系统的基本组织,表现为各部件之间以及与环境之间的关系以及支配其设计与演化的原理(ANSI/IEEE 1471)。
(4)系统的体系结构使用系统的元素、接口、过程、约束与行为定义的基本而统一的系统结构(INCOSE SAWG)。
体系结构的英文名词是Architecture。它的概念先是从一些工程系统中产生的,最早是针对房屋、楼宇的整体布局的安排,使得各部分的空间位置合理匀称和美观。后来这一概念推广到其他工程领域,就有了计算机的体系结构等概念。尽管体系结构是一种比较抽象的概念,一般只能用自然语言或图形来表述,但对于工程系统来说,抽象的组成成分与具体的设备容易对应,使用结构图这样的工具来描述,会给人以更清晰的观念。后来对于一些较为抽象的系统,也就沿用结构图的工具,但对复杂系统说来,有时是难以用这类图形工具来充分表达的,还得用自然语言描述。
由于系统工程所研究的对象都是人造的系统,在建立这样的系统时,先得从全局的高度来考虑系统究竟应该如何构成,以满足要求,也就是说,先要搭建系统的架构。系统的体系结构正是从不同的视角来描述系统架构的。
建立系统体系结构的工作叫做“建构(Architecting)”,这是系统工程的基本任务。建构应该有科学基础,但由于每一个具体的系统都带有自己的独特性质,还不能千篇一律地用同一种方法,再加上同一问题的解决可以有不同方案,有发挥创造性的空间,所以说建构工作既是科学,又是艺术。正如中国书法讲究“间架结构”,每个汉字同样是那些笔画,但是布局不同,写出来的神韵就不同。
系统工程方法的重要特点就是保持系统的整体性,一个良好的系统体系结构是系统整体性的保证。只有从系统建构入手,才能在一开始就把系统整体性放在显著的地位。
系统工程方法还要考虑问题的综合性,因此系统的体系结构涉及的内容必然是多方面的,不仅涉及技术方面,而且还涉及组织、人员、文化等方面。
当前,人们重视系统建构的原因如下。
(1)全球化时代的系统工程规模越来越大。
(2)系统的体系结构越来越复杂,即使是很小的系统(小到一个半导体芯片)也是这样。
(3)现在计算机系统无处不在,而计算机系统的体系结构和它所服务的对象的体系结构密切相关。
对于任何系统来说,总有它作为共性的体系结构特点。如果我们能为系统建立一套带有共性的建构方法,作为参考,那么在建立一个具体的系统时,就可以按照它的框架来构想本系统的结构了。
任何系统都要求有一定的功能,而系统的结构就决定于对它的功能要求。系统之所以有整体功能,不仅取决于各组成部分,而且取决于各部分之间的关系。系统的体系结构正是这种关系的体现,它要确定各部分的匹配、平衡、折中。
系统建构工作一般是由前面所说的总体部来负责的。这种工作在用户和专业技术人员之间起到了中介作用。由于系统建构的重要性和专业性,使得系统建构已逐步成为一个独立的专业,而且有专门从事这一工作的岗位,可以称为系统建构师,例如在信息行业中,就有系统架构师这样一种岗位。
系统建构师的任务是在委托者或用户和从事具体工作的设计、开发工程师之间建立一座桥梁。他应该能掌握用户真正需要什么,而不是用户口头上说的需要什么,我们前面已经说过,有时候用户自己也说不清楚或说不完全他的需求。
系统建构师所构建的体系结构是系统的顶层设计。通过体系结构来保证系统的正确性、一致性和可操作性。
系统建构师不同于一般的技术工程师,他或她的经验和沟通能力要比专业知识更为重要,而在专业知识方面,知识的广度又比知识的深度重要。在选择和培养系统建构师的时候一定要注意这些特点。
总结半个多世纪的系统工程项目的经验和教训,发现许多项目的成功在于开始时对系统的总体结构进行了周密的考虑,而失败的根源在于开始缺乏总体思考和研究,正如有人说的:项目的失败在第一天就注定了。
5.6.2 整体功能涌现与建构
我们在前面讲过,系统具备各组成部分不具备的功能,即整体功能。这种功能的“涌现Emergence)”是发生在系统构成之时。这种构成是符合一定规律的。一堆电子元器件和一块电路板随便放在一起,只能是一堆要素的集合,只有在按一定电路原理组装起来之后,才能成为具有一定功能的系统。一群人在公共汽车站等车,这群人只是乘客的集合。如果按照先来后到的顺序排队,并照顾老弱病残优先,这就形成了结构,形成了候车系统。假如车一到,乘客争先恐后地挤在门前互不相让,则造成混乱,延长了上车时间,有时甚至会把人挤伤。这说明:1加1有可能大于2(系统有良好的结构),也可能小于2(混乱而无结构)。
人们提到整体功能涌现的时候,总是想到那些对我们有用的功能,但是在各组成部分构成整体的时候,也会涌现对我们有害的功能。人们在积累了一定的教训之后,已经掌握了一些这方面的知识,知道怎样规避,例如在实际生活中有相克的食品和药品。在开发一个新系统时,会出现出乎意料的有害的新性能,所以在建构开始就需要全面考虑,充分估计其出现的可能性,应该进行实验模拟;而一旦发生就要及时考虑对策。