作者简介:高复先教授,中国系统工程学会信息系统工程专业委员会副主任委员,2011年中国信息协会评选的“中国信息化十大学术推进人物”。
引 言
在我国目前兴起的智慧城市建设热潮中,很多城市都注意到了要搞好顶层设计的问题,有的城市投入重金招标开发商来完成顶层设计任务。但实际上,一些顶层设计的成果没有发挥应有的作用,不能指导、控制和协调智慧城市建设各项工程的成功实施。针对顶层设计的不能“落地”的问题,有的智慧城市建设领导,提出了不断完善顶层设计、继续深化细化顶层设计的要求。
2010年7月,在第四届电子政务高峰论坛上,工信部副部长杨学山作电子政务和智慧城市建设顶层设计主题演讲时指出:顶层设计有三个基本的要素,第一个要素就是制定方法论;第二个在概念层级上是顶层,而不是底层和中间层;第三是设计。设计最起码有两个基本的含义,第一个含义是清晰的,因为设计如果不清晰就说不上是设计;第二是可以实施的。
智慧应用系统是智慧城市建设的重要内容,是现代信息技术在城市运行、市民生活、企业运营和政府服务等领域综合应用的、高级发展阶段的信息系统。从目前国内智慧城市顶层设计的进展情况看,不能“落地”的问题主要出在智慧应用系统的规划设计上,因为长期的应用开发所堆积的程序和数据“碎片”、形成的“信息孤岛”和“信息烟囱”,极大地影响了智慧应用目标的实现,不很好地解决这些问题,智慧应用系统的成功建设是没有指望的。我们的研究认为,对智慧应用系统来说,最需要细化顶层设计,而这种细化顶层设计就是系统工程方法论所讲的总体设计。
系统工程方法论——总体设计
在钱学森等著《论系统工程》的《组织管理的技术——系统工程》篇中,关于研制复杂系统的总体设计的目的意义和原则方法,系统工程大师以复杂的机器设备制造为例,论述道:在制造一部复杂的机器设备时,如果它的一个一个局部构件彼此不协调,相互连不起来,那么,即使这些构件的设计和制造从局部看是很先进的,但这部机器的总体性能还是不合格的。因此必须有个“总设计师”来“抓总”,协调设计工作。
我们把极其复杂的研制对象称为“系统”,即由相互作用和互相依赖的若干组成部分结合成的具有特定功能的有机整体,而且这个“系统”本身又是它所从属的一个更大系统的组成部分。研制这样一种复杂工程系统所面临的基本问题是:怎样把比较笼统的初始研制要求逐步地变为成千上万个研制任务参加者的具体工作,以及怎样把这些工作最终综合成一个技术上合理、经济上合算、研制周期短、能协调动转的实际系统,并使这个系统成为它所从属的更大系统的有效组成部分。这样复杂的总体协调任务不可能靠一个人来完成;因为他不可能精通整个系统所涉及的全部专业知识。他也不可能有足够的时间来完成数量惊人的技术协调工作。这就要求以一种组织、一个集体来代替先前的单个指挥者,对这种大规模社会劳动进行协调指挥。在我国国防尖端技术科研部门建立的这种组织就是“总体设计部”。
总体设计部由熟悉系统各方面专业知识的技术人员组成,并由知识面比较宽广的专家负责领导。总体设计部设计的是系统的“总体”,是系统的“总体方案”,是实现整个系统的“技术途径”。总体设计部一般不承担具体部件的设计,却是整个系统研制工作中必不可少的技术抓总单位。
智慧城市的顶层设计,一般都要在建设泛在、融合、智能、可信的信息基础设施的同时,建设一批智能应用系统,如智慧市政系统、智慧交通系统、智慧医疗系统、智慧社会保障系统、智慧物流系统、智慧商贸系统、智慧公共服务系统和智慧社区系统,等等。智慧应用系统的大部分,是在已有应用系统建设的基础上,进一步采用最新的信息技术(物联网和云计算技术等)进行优化和扩充,是在继续巩固和提升数字化应用系统的基础上进行建设的。智慧应用系统的建设,都是大型复杂的社会-技术系统工程,都有“怎样把比较笼统的初始研制要求逐步地变为成千上万个研制任务参加者的具体工作,以及怎样把这些工作最终综合成一个技术上合理、经济上合算、研制周期短、能协调动转的实际系统,并使这个系统成为它所从属的更大系统的有效组成部分”的问题,因此,都应该按照系统工程方法论,做好总体设计-。
信息工程方法论——基本原理与三项理论成果
由詹姆斯·马丁(James Martin)创立、我们于1987年开始引进并经过十多年创新发展的信息工程方法论(IEM,Information Engineering Methodology),对智慧应用系统的总体设计具有重要的指导作用。
信息工程方法论的基本原理是:任何信息系统都是以数据为中心的,而不是以处理为中心。如图1,左边是各种数据的采集和维护,经过数据系统软件对数据加工处理,再服务于各种应用。
“以数据为中心”原理在当今的泛在计算时代,不仅仍然是有效的,而且是更为重要的。物联网研究专家王建平在《八论物联网》中阐述的物联网“感知层-传输层-处理层”三层架构,正是这一原理的发展——数据在源头用现代感知器件和感应器组成的网络进行采集和维护;数据经过接入网和传输网进行传输;数据经由业务支撑平台、信息处理平台和信息安全平台,进行存储、计算、分析、挖掘,支持业务协同并向企事业单位和大众用户提供信息服务。简言之,一切都在围绕数据转,数据才是“中心”!智慧应用系统的“中心”是数据!这一原理会指导智慧城市建设者们、特别是智慧应用系统建设者们明确方向,抓住城市信息整合、挖掘和再利用的重点,将信息资源的开发利用放在核心地位,真正落实《关于加强信息资源开发利用工作的若干意见》(中办发[2004]34号)文件要求,走出认为有先进的设备、有物联网和云计算就有“智慧”的认识误区,在规划设计工作中避免见“物”不见“数”的倾向。
基于“以数据为中心”的基本原理,信息工程方法论(IEM)的三项理论研究成果,对智慧应用系统总体设计,具有直接的、重要的指导意义:
一是信息资源规划(IRP,Information Resource Planning) 信息资源规划是指,在一定业务范围内信息资源的采集、传输、处理和利用的全面规划,是侧重数据流分析、为实现信息资源共享和业务协同的总体规划。
这里强调的数据流分析,包括“左右”、“上下”、“内外”数据流的定性和定量分析。以某市的社会保障系统的数据流分析为例(图2),“左右”数据流是指社会保障系统内部职能域之间的数据流,如“人口-人力资源”职能域与“社保公共业务”职能域之间的数据流、“社保公共业务”职能域与“养老保险”职能域之间的数据流,等等;“上下”数据流和“内外”数据流,如图所示,无需赘述。
在信息化建设的初级阶段,一般都是根据各项业务管理的需要,独立地建立应用系统,业务数据由各个应用系统自行采集、存储和使用,各个应用系统之间的信息不能共享,形成许多“信息孤岛”。要解决A、B两个系统的信息共享问题,首先需要搞清楚A的什么数据流向B,B的什么数据流向A,这就是数据流分析。智慧应用系统,必须很好地解决信息共享问题,消除已有的“信息孤岛”,并确保不再产生新的“信息孤岛”,为此,必须调研分析清楚各种数据流。以往,很多人只知道业务流程再造(BPR),不知道或不重视数据流分析,这是危害不浅的认识误区,是没有树立“以数据为中心”观念的表现。
二是主题数据库(SDB,Subject Data Bases) 主题数据库是面向业务主题建立的数据库,不是面向业务报表建立的数据库;主题数据库是对各个应用系统自建自用数据库的彻底否定,强调各个应用系统共建共用共享的数据库;主题数据库的规划设计要求调研分析数据的来源,强调数据一次、一处地从源头进入系统,避免多次重复采集,保证其准确性、及时性和完整性,经由网络-计算机-数据库系统多次、多处使用。
图3中的实曲线,代表应用系统中主题数据库的数目与功能扩展的关系,即主题数据库的数目是有限的,并不随着应用功能的扩展而无限制地增加;虚曲线代表应用数据库(即面向报表建立的数据库)随着应用功能的扩展而无限制地增加的趋势。显然,建立主题数据库的技术路线是科学的。
三是数据环境重建(DER,Data Environment Reengineering) 信息工程方法论总结提出了由低到高的四类数据环境发展规律:数据文件、应用数据库、主题数据库和数据仓库(图4)。数据文件环境,是指早期的数据处理软件将数据结构和程序都编到一起而形成的数据环境;后来有了数据库管理系统(DBMS),应用系统的数据库创建虽然容易了,但随意性也增大了,很多应用开发人员按业务报表原样创建数据库,造成低质量、甚至冗余矛盾的数据堆积。这两种数据环境属于低档次的数据环境,这在以往的城市经济社会信息化建设中是司空见惯的,它直接影响到信息化投资的效益,使得信息化的总体水平不能提高。
处于低挡次数据环境的应用开发,以图4中某市的人力资源与社会保障系统的整合为例,各个孤立应用之间的数据流分析会告诉你,如果采用数据接口实现两两的数据交换,N个应用就至少需要N×(N-1)≈ N2个数据接口。如果建立了高档次的数据环境,即以共享的主题数据库和数据仓库为主体的数据环境,各个应用通过存取共享的数据库而实现信息共享,就根本不需要数据接口(0个接口),这是最科学、最简单、最快捷也是最安全的信息共享途径。数据环境重建(DER)就是将无序、冗余的数据堆积,改造为有序、共享的数据存储,这是一项艰巨而复杂的信息化工程。
智慧城市的智慧应用系统,很多都是在10到15年的城市信息化积累的基础上进行建设的,即大部分是在低档次的数据环境之上进行建设的。我们既不能丢掉历史,也不能割断历史,但要正视历史,用科学的理论作指导,认识到位,下大决心,在IT治理工作中重点抓好数据治理,重建数据环境,否则,智慧应用系统是不会有效成功地建设起来。理论研究和实践经验都表明,通过信息资源规划建立主题数据库,进而建立数据仓库,形成高档次的数据环境,才是建设数字化、进而是建设智能化应用系统的根本保障。
智慧应用系统建设基于信息资源规划的总体设计
我们将系统工程方法论与信息工程方法论结合起来,即以信息工程方法论为指导,落实系统工程的总体设计思路方法,提出了智慧应用系统建设的细化顶层设计——基于信息资源规划的总体设计。
信息工程方法论认为,大型信息系统建设应有四个层次的工作:高层构思,即业务领导和高管层提出系统建设的总体要求和发展愿景;业务域分析,即按相关的业务域(职能域)进行需求分析和业务建模;接下来,是系统设计和建造的中下层工作。这就是面向对象信息工程(OOIE)的“金字塔模型”,该模型的上两层,就是总体设计层,是以信息工程方法论(IEM)为指导的主要工作;下两层属于软件工程方法论(SEM)的工作,即通常的系统设计和建造工作(图5)。本文引言说的顶层设计三要素,在这里正是强调方法论的作用,强调顶层工作不要与中层(系统设计)、下层(建造)的工作相混淆。
基于信息资源规划的总体设计工作由两大部分构成:
第一部分,信息资源规划,主要任务有:
1、业务梳理,建立应用系统功能模型。按信息工程方法论,信息资源规划以职能域(Function Area)为基本单元。职能域是稳定的业务范围的抽象,不是当前机构部门的照搬,如社保系统有“社保公共业务”、“医疗保险”和“养老保险”等职能域。确定职能域的依据:⑴规划范围内的核心业务;⑵规划范围内的三类(已建、在建、拟建)应用系统情况。对每一职能域分析识别业务过程(Process),再对每一业务过程识别定义业务活动(Activity),从而形成用三层结构“职能域-业务过程-业务活动”表达的业务模型(Business Model)。然后,对每一业务活动做计算机化可行性分析,得出用三层结构“子系统-功能摸块-程序模块”表达的逻辑子系统功能模型(Function Model)。
2、调研并规范用户视图,进行数据流定性和定量分析。信息工程方法论的用户视图(User View)概念,是指最终用户对数据实体的看法,是对单证、报表、帐册、屏幕表单等数据载体的综合。数据流就是用户视图的流动,例如,“社保公共业务”职能域的用户视图“单位保险金缴纳统计表”,传送到“医疗保险”职能域,就是“社保公共业务”职能域的一个输出数据流,或者是“医疗保险”职能域的一个输入数据流。采用软件支持工具,对社保系统10个职能域的1000个左右用户视图做规范化分析;采用软件工具基于用户视图自动绘制一、二级数据流程图(1-DFD/2-DFD)做数据流的定性分析,再进一步做定量分析,全面搞清楚各职能域之间、职能域内部(业务过程之间)以及职能域与外部(如公安、医疗、银行等)系统的数据流关系。
3、基于用户视图分组和数据流分析,建立应用系统数据模型。这是信息资源规划的核心、难度最大的工作,采用软件支持工具辅助,对某市社保系统可建立由40个左右主题、500个左右基本表构成的数据模型,用简化E-R图表达全域数据模型和各子系统数据模型。
4、基于数据存取分析,建立应用系统体系结构模型(C-U矩阵)。这是将功能模型和数据模型综合起来,用C-U矩阵来表达数据库的共建共用关系和程序模块研发顺序的控制机制。
以上应用系统功能模型、数据模型和系统体系结构(架构)模型,统称为应用系统的信息模型。信息模型是需求分析的“定型”,真正反映用户的需求。智慧应用系统的信息模型,在用于指导设计实现时,表现出比以前的应用系统信息模型更重要的作用,例如,功能模型中一大批数据采集程序模块(组件),要通过新兴的感知技术(RFID标签、读写器、传感器、GPS等)实现;数据模型中的一些基本表的稳定性要求更高了,因为要考虑适应云(公共云或私用云)计算中心支持的数据中心存储和运维,必须保证应用系统的数据管理与服务的高质量和高效率。
5、建立数据标准。建设某一应用系统所涉及的数据标准规范,对已有的国际、国家、行业标准,在采用强制性标准和选用推荐标准的基础上,根据自身的实际需要,补充建立必要的数据标准,从而形成完整的数据标准化体系:(一)用于该系统内部的信息资源管理基础标准,包括数据元素标准、信息分类编码标准、用户视图标准、概念数据库标准和逻辑数据库标准;(二)用于该系统与外部系统自动化数据交换的信息资源目录与交换体系。
以上规划设计工作,是在咨询顾问的培训和指导下,由多个小组、业务人员与信息技术人员合作完成的,必须有统一的标准规范和操作方法,并有专业的软件工具做支持,整个分析、建模和数据标准化过程和结果,都记存在信息资源元库(IRR, Information Resource Repository)之中(图6左半部)。软件工具对信息资源元库作标准化打印输出、装订,就是信息资源规划方案的纸质版,而信息资源元库本身,就是信息资源规划方案的电子版。
第二部分,编制信息工程实施方案:
在上述信息资源规划方案的基础上,运用信息资源元库(IRR)资源,根据智慧城市顶层设计对该应用系统的功能要求和当前的信息化建设实际情况,编制该应用系统建设的信息工程实施方案(图6右半部):
⑴通信-计算机网络工程实施方案——根据IRP结果(特别是数据流分析结果),进行通信-计算机网络系统结构的优化设计,充分利用现有专网和公网资源,配置交换机、服务器、存储系统等软硬件设备与核心软件(操作系统、数据库系统、网管系统、信息安全系统等),构建该应用系统统一的网络平台,并与有关专网、公网和国际互联网衔接,形成本系统与上级和下级单位、与外部单位的网络互联互通,全面支持信息共享和业务协同。
某一应用系统的通信-计算机网络工程实施方案,一定要与市级的物联网和云计算基础设施建设相配套,或者作为其一部分。
⑵数据库-数据中心工程实施方案——对应用系统所需要的数据库,提出物理设计、数据迁移和数据加载的具体方案(包括修订优化方案),使核心业务数据确保达到主题数据库的要求——所有基本表结构具有原子性、演绎性和规范性(达到三范式);制定该应用系统数据中心的核心业务数据逻辑集中-物理分布的存储方案,确保各主题数据库的数据源做到一次一处输入系统、自动汇总和更新、多处共享使用,并制定数据仓库建设策略,保障综合信息服务、数据挖掘和辅助决策;制定该应用系统数据中心的交换平台建设方案,建立信息资源目录和交换体系,使该应用系统与外部系统实现自动化数据交换。
某一应用系统的数据中心,如人力资源与社会保障系统的数据中心(参见图4),是该应用系统业务数据的集中存储与管理中心,是以主题数据库和数据仓库为主体的高档次数据环境的管理与服务中心。这种数据中心以共享的数据库支持核心业务应用,如支持社保基金管理和医疗保险管理等应用——通过直接存取共享的数据库实现信息共享与业务协同,而不是两个孤立的应用之间靠数据接口作数据交换。当然,这里所讲的应用系统数据中心是逻辑上的,并不是对每一个应用系统建立一个物理的数据中心,实际上,应按智慧城市顶层设计所规划的专业数据中心和综合数据中心的布局,具体地建立物理的数据中心。
⑶应用软件-综合信息平台工程实施方案——对定制集成化开发新规划的各应用系统,需要在统一数据标准、在相关数据库表统一设计和样本数据已加载的基础上,采用应用开发平台研制应用软件,实现各新建应用系统对主题数据库的共建共用(从根本上消除“信息孤岛”);对要引进的应用软件(产品)系统,以统一的数据标准和已确定的数据模型为依据,分析评估待引进系统的数据标准和数据结构,为保证向统一规划的数据标准和数据模型“看齐”,要解决好修改其数据结构或建立数据接口等问题(避免引进“信息孤岛”);对外部应用系统,通过数据中心的数据交换平台和相应的应用软件建设综合信息平台,以实现应用系统的整合。
上述三项信息工程实施方案,均包括采购及研发项目分解与现行市场价格费用、三项工程分期投资和总投资的分析报告。
注 释
1、智慧城市顶层设计与智慧应用系统细化顶层设计是什么关系?
智慧城市建设的顶层设计,属于城市建设的战略规划,要立足全局和着眼长远,从信息基础设施建设、信息资源开发利用到应用系统规划,制定建设的主要目标、重点任务和保障措施,使智慧城市建设成为改善民生和未来经济可持续发展的重要动力源,同时成为提高政府行政效能、精简行政机构的重要手段。
智慧城市建设的顶层设计,必然包括智慧应用系统的建设规划。例如,“智慧宁波”就规划了十大智慧应用系统:智慧物流、智慧制造、智慧贸易、智慧能源应用、智慧公共服务、智慧社会管理、智慧交通、智慧健康保障、智慧安居服务和智慧文化服务。智慧应用系统的细化顶层设计,是对每一应用系统建设的工程实施做进一步的规划设计,使得智慧城市顶层设计的应用系统开发建设规划能“落地”——具有可操作性,确保智慧应用系统按统一的部署成功地建成。本文上述内容,就是这种细化顶层设计的理论指导和工程化方法的介绍。
智慧城市顶层设计与智慧应用系统细化顶层设计的关系,是战略计划与战役计划的关系,前者是后者的指导,后者是前者的落实。一般来说,智慧城市顶层设计不应要求对每一智慧应用系统做好像本文所述的总体设计,但不排除对重点的、有代表性的智慧应用系统做出带示范性的总体设计。特别需要指出的是,应该要求智慧城市顶层设计在方法论制定、如何做出智慧应用系统清晰的和可实施的整体解决方案方面,给出统一的指导意见。遗憾的是,有些智慧城市顶层设计并没有提出这样的指导意见。
2、智慧应用系统细化顶层设计,细化到什么程度?
作为智慧城市建设的行政领导,针对顶层设计不能“落地”的问题提出不断完善、继续深化细化顶层设计的要求,是正确的。我们的任务是过河,不解决桥或船的问题,过河就是一句空话。作为技术负责人或信息化专家,对不断完善、继续深化细化顶层设计的要求,要有正确的理解和科学的方法,要解决“桥或船的问题”。
我们看图5中的虚线,是什么意思呢?原来,那是我们所讲的基于信息资源规划总体设计的“边界线”。在那里,总体设计所表达对象行为的功能模型,做到了每一程序模块的概要描述(程序要点,输入-输出与处理逻辑);总体设计所表达对象结构的数据模型,做到了逻辑数据库表结构(一、二级基本表及其主键和属性列表)。顶层设计细化到这种程度,对应用系统建设来说,不论是定制开发,还是引进产品软件,都能确保集成化、快速和高质量。这些工作,已经突破了原先信息工程方法论所规定的业务域分析与系统设计的界限,不只是保证了“无缝衔接”,而且是更进一步的“可靠搭接”,因此,极大地提高了总体设计成果的科学性和可用性,确保总体设计方案对应用开发的指导、控制和协调作用,或者说,是真正意义上的“落地”。
在我们的咨询服务实践中,经常遇到一些信息化负责人或IT人员,他们没有把握好顶层设计细化的“度”,他们提出的一些“困惑”与“需求”,是那条虚线以下的部分,即软件工程要做的工作。他们对细化的要求过了“度”,混淆了总体设计与系统设计、甚至与建造的界限。他们犯的是搞不请顶层、中间层和底层的思维错误。实践表明,本文所讲的智慧应用系统细化顶层设计的“度”是适当的,理解这套方法论需要辩证思维。
3、如何组织实施智慧应用系统基于信息资源规划的总体设计?
首先,要强调遵照系统工程“总体设计部”的思想,发挥应用系统建设业主方的主导作用,组建由业务专家与信息化专家参加、业务分析员与系统分析员合作的信息资源规划-总体设计工作班子,还要选择有方法论研究和实践经验的咨询服务方作战略合作伙伴。在咨询顾问的协助下,针对智慧应用系统的建设基础、建设目标和重点功能需求,制定详细的总体设计实施计划,按计划组织实施,加强项目管理。
信息工程方法论的另一条原理是,成功的信息系统一定是最终用户真正参加开发的系统。经验也告诉我们,常常是因为用户讲不清楚需求,而出现应用开发拖长工期、应用功能不满足用户要求和系统维护困难等问题。智慧应用系统建设的需求分析,对业主方用户代表提出了更高的要求,他们要通过一定的技术培训,掌握业务梳理和数据流分析的基本方法,成为用户分析员(User Analyst)。我们强调,智慧应用系统的规划设计,不能等同于一般的软件开发项目,不能只依靠(或主要地依靠)IT人员来完成;有长期业务工作经验的、经过技术培训的用户分析员,是智慧应用系统规划设计的主力骨干。
关于众多智慧应用系统总体设计如何安排的问题,应该是智慧城市顶层设计的一项内容。一般来说,要选择需求迫切、基础条件较好、具有带动性的应用系统先做总体设计的试点示范,取得经验再铺开做其他应用系统的总体设计,以分期分批实现智慧应用系统的建设;切不可十几个应用系统同时启动、齐头并进地搞总体设计。这就是说,随着应用系统建设的有计划、有次序地推进,作为各个应用系统建设的先导工程——基于信息资源规划的总体设计,也必然是有计划、有次序地实施。这样做,对整个智慧城市的分期建设工程来说,更能保证各阶段性工程的成功,有利于不断积累经验和锻炼提升建设队伍的素质,用阶段性成果增强总体成功的信心。