信息资源规划工作是在科学的理论指导下进行的。这些理论是我们从国外引进来的,经过消化、吸收和创新,结合国情进行实践探索,逐步形成了成功地进行信息资源规划和信息系统建设的理论。
信息工程方法论
上世纪70年代末、80年代初,发达国家的信息系统建设也经历了初级阶段的失败和困难。例如,一项投资200万美元的报社自动化系统开发,由于对总编辑的工作方式一直搞不清楚,导致失败。一家大保险公司用三年的时间,花费了400万美元,开发的计算机信息系统,到头来不得不因系统不适用而放弃。两家航空公司指控计算机应用系统研制人员,因为他们花费4000万美元研制的软件实际上不好用。
以詹姆斯·马丁(James Martin)为代表的美国学者,总结了这一时期的信息系统开发正反两方面的经验,在有关数据模型理论和数据实体分析方法的基础上,再融合他所发现的“数据稳定性原理”,于80年代初出版了《信息工程》(Information Engineering)专著,形成了为建立“计算机化”组织的新学科。
我们总结的“信息工程”基本原理有三条:
第一,所有信息系统的开发都应该是以数据为中心,不应该是以处理为中心。传统的应用系统开发,是根据业务处理的要求编软件,遇到报表就按照报表原样建立数据库,这就是以处理为中心的开发思路。其实,信息系统的核心机制是对数据的采集和处理,处理后的数据即为有用的信息,可为管理人员提供打印输出或屏幕查询服务,所有这些都是以数据为中心的。因此,信息系统的开发应该首先规划和设计数据的流通和管理。
第二,数据结构应该是稳定的,而业务流程是多变的。以高校为例,教学管理所使用的数据结构很少变化,而教学管理机构和流程是变化的。一般来说,数据实体的类型是不变的,除了偶尔少量地加入几个新的实体外,变化的只是这些实体的属性值。对于一些数据项集合,我们可找到一种最好的方法来表达它们的逻辑结构,即稳定的数据模型。这种模型是一个组织所固有的,问题是如何把它们提取出来,设计出来。这种模型在其后的开发和长远应用中很少变化,而且避免了破坏性的变化。这些模型成为信息系统的坚实基础,尽管应用这些数据的处理过程是经常变化的,只要建立起稳定的数据结构,就能使信息系统适应管理上的变化。这正是面向数据的方法所具有的灵活性,而面向过程的方法往往不能适应管理上变化的要求。
第三,最终用户必须真正参加信息系统的开发。高校的各级领导、教职工和学生都是计算机应用系统的用户,他们都通过校园网存取和利用数据,是校园网的最终用户。正是他们最了解自己的业务过程和管理上的信息需求,因此,他们参加需求分析(或真正获取他们的需求)是十分必要的。在总体规划阶段,有充分的理由要求高层领导来参加:首先,信息是重要的战略资源,对如何发挥信息资源作用的规划工作,高层领导当然要亲自掌握;其次,总体规划要涉及长远发展策略和目前的组织机构及管理过程的改革和重新调整,而只有高层领导才能决定这些重大事情。各管理层次上的业务人员对业务过程和信息需求最熟悉,仅靠信息技术人员无法搞清用户的需求。因此,用户要在需求分析工作中发挥积极的作用。
基于上述基本原理,马丁阐述了一整套自顶向下规划(Top—Down Planning)和自底向上设计(Bottom—Up Design)的“信息工程方法论”(Information Engineering Methodology,简称IEM)。到1993年,马丁总结提出“面向对象信息工程”(OOIE)的理论与方法,IEM已经成为国际上信息系统建设的主流方法论之一。该方法论将大型信息系统的开发建设划分为四个阶段:
第一阶段:高层规划
高层管理人员直接参与,采用全局的观点识别组织目标和关键成功因素,研究关键业务流,划分业务域,构思全组织的MIS集成问题。
第二阶段:业务域分析
业务代表和系统分析员组成的联合需求规划(JRP)小组对每一业务域进行较详细的分析,建立业务域的对象和事件的详细模型。
第三阶段:系统设计
由联合应用设计(JAD)小组采用面向对象技术设计出系统的类(classes)和方法(methods),用责任驱动设计(Responsibility-driven design)来详细分析类的行为,同时开发快速原型和演示系统,以便及时获得用户的反馈信息。
第四阶段:建造
尽量使用编码生成器(Code generator)和可重用的类库,以提高系统建造的速度和质量。
OOIE四个阶段开发模型如图1的“OOIE金字塔模型”所示。这是一种从全组织范围的规划到业务域分析、系统设计,然后再进行建造的较严谨的开发方法论,其技术关键是集成化的元库(Repository)和基于它的I-CASE工具组。正是这套工具支持了面向对象分析、设计与实现,建立可重用类库和进行开发人员的工作协调。
我们结合学习钱学森的《论系统工程》认识到,“OOIE金字塔”模型的顶上两层工作所强调的正是系统工程的总体设计,只有总体设计搞好了,才能从根本上保证大型信息系统开发的成功。