企业应用探索日志

-信息技术企业应用探索-

功能还是资源——信息系统的两种开发途径

 信息技术的两种认识背景

现代信息技术的发展,实际上有两个不同的认识背景,一个是计算自动机(数字化电子计算机)的发展,一个是“信息”本质的认识,前者的核心是“计算”,后者的核心就是信息本身——其性质、规律。

把“信息”看作一种客观存在的实体,和其它实体一样,有独特的规律与性质、存在方式或生命周期,独自的价值或用途,是上个世纪人类认识的重要进展。“信息论”正是在这样的背景下产生和受到人们的重视。“信息管理”或“信息资源管理”(Information Management or Infomation Resource Management学科,也是建立在这个背景上的。国内从90年代末期,在管理科学与工程学科下设立了信息管理与信息系统专业,强调了这门学科的独立地位。当人们对于一种复杂对象建立起独立的世界观,就有可能导致一种工程学科的出现:八十年代,James Martin, Clive Finkelstein等提出的信息工程(Information Engineering),正是延续着这个思路,数据库提出时的初衷与此也是一致的(参见《以数据库为中心与面向数据库》)。

应用的基本问题:信息孤岛、断层与冗余

在过往的信息技术的发展中,“计算”(computing)是占主导地位的。随着软件的成长,计算机已经演化成为一种无所不能的功能机器,而不是狭隘的数学计算和或据处理。人们最初基本上是用“输入-处理(计算)-输出”的模式来描述信息系统的功能,这个模型是非常初级的。即便限于所谓“信息系统”概念,它也不能简单看作数据搜集、储存、处理与提供的系统(早期许多人就是这么认识的),而是一种复杂的功能性系统(比如制造资源计划系统);换言之,有的时候“功能”(比如自动生成采购计划,库存报警等)是主要的,信息仅仅是实现功能所需的必要数据。

纵观近几十年的信息技术应用和信息系统发展,强调信息资源的观点(比如管理信息系统MIS)发展得并不充分,强调功能的观点(比如制造资源规划MRP II)占了主导地位。但同时,信息作为一种资源,在实现特定功能之外的用途也是不容忽略的:特定功能系统中覆盖的大量信息,不仅仅在这个系统本身中是有用的,还可能有各种各样的用途——这就是信息本身的独立性,它的资源特征。信息资源的特征不仅仅是其独立性,还有整体关联性,从技术的层面,还要求表达(方式)的一致性。忽略这种特征自然会带来问题:在不同的功能系统中,每个功能系统为自身功能建立了独自的信息片断,结果就必然导致不同系统之间信息的间断、表达的不一致、重复与冗余,形象地说,即信息孤岛、断层、冗余。更明确地说,“孤岛”就是信息储存的不连续性,将本来是一体的信息在物理上隔离;“断层”是数据表达方式的不一致性,不一致的表达方式导致同样的或本应关联的信息无法直接关联起来(即使储存在相同的物理空间);“冗余”就是相同内容的重复储存。这些正是信息技术企业应用领域困扰的基本问题,它们不仅发生在不同的功能系统间,甚至还发生在同一开发者相似功能的应用系统——新老系统或不同版本之间。

信息系统的两种开发途径

且不去讨论如何解决问题,首先可以看到,与前述两种认识背景对应,信息系统的开发也存在着两种不同的思路,我这里暂且将其归结为“功能系统开发途径”和“信息资源开发途径”。用“面向XX”这个习惯表示模式也是可以的,但这种用法也有点滥,这里特意避开。为今后讨论的方便,先将这两种途径做一个比较清楚的阐明。

信息系统的“功能系统开发途径”(functional system development approach),是当前大量应用系统实际开发情形的概括:从确定用户功能需求出发,精确设计能够实现目标功能的程序。在这样的系统中,信息管理与维护通常是在基本功能实现同时自然或辅助实现的次要功能。在典型的功能系统开发中,数据被看作是系统附属或私有的,由不同的开发企业在各自选择的运行环境中,按照各自的需要和技术风格加以解决,不同的开发者不大可能联合起来统一它们的数据规划或数据库。另外,为实现特定的功能,只需覆盖有限的数据,无需(也很难)去覆盖与本系统功能无关的数据,即使那些数据有紧密的逻辑关系。开发者必须确保功能的实现和效果,是否能在数据层面上与其它系统整合,是第二位的。这样,对于最终用户,使用多种不同应用系统的结果就无可避免地形成信息断层、孤岛、和冗余,它们制约了企业对信息的有效使用它们制约了应用主体对信息的有效使用,以及更高级、整体性功能的实现。这是IT应用领域悬而未决的主要问题之一,正因为如此,系统间集成、遗留系统/数据再利用等,已经成为当今信息技术应用领域的主要课题。

相对于前一种,信息系统的“信息资源开发途径”(information resource development approach)强调信息本身的实体性、独立性、整体性,以信息实体为对象,建立其整个生命周期上的支持、管理,首先形成汇集、提供、维护信息的基本功能,在此基础上再进一步建构更多的应用。道理上,从信息资源分析与建立上入手,先建立完整、规范的数据环境,在此基础上开发各种功能,可以最大限度地避免信息断层或孤岛等问题。但信息的稳定性是相对的,无论是它的内容、结构还是范围都不是静止的、固定的;而且基于同样数据的功能,也不是能够一次性弄清的,已有的功能可能需要改变,新的功能随时可能提出,而功能演进的本身依然会不可避免地带来对信息的特定要求,即使基本的信息已经预先加以建立——至少从经验上看,特定功能所要求的特定信息/结构,与通用的信息/结构之间,常常没有足够明晰的界限。

换一个角度说,信息资源管理开发途径强调在保持数据本身的稳定性、一致性的前提下开发功能,这就需要将功能实现与数据结构解耦,或者在开发新的功能的时候严格遵照事先建立的信息规划,从实践的经验看,面对复杂的业务功能需求,这两项要求迄今仍然难以达成,其中既有纯技术的困难,也有商业性运作的困难。现代信息技术在多数情况下,功能实现的方式与数据结构是高度耦合的,特定的功能系统,总是基于自身独立、独特的数据规划。即使对同样功能的实现,不同的应用开发供应商,有不同的技术、商业立场,要它们交换或共享系统中数据的完整结构,或者完全遵循一套通用的结构(假设它们存在),即使技术上没有问题,也会遇到复杂的商业策略问题。这些问题的存在,使得信息资源开发途径始终处于少数情形。

小结 

信息系统的两种开发途径,是在两种认识背景的基础下产生的,在理念或出发点上有根本的不同。在比较狭义的理解或具体的应用下,他们各自有不同的适应性。但在信息的整体性、连续性、独立性的背景之下,他们必然会“重叠”。比如,MRP发展到ERP的时候,其覆盖面已经相当广泛,此时,它就是企业的“管理信息系统”吗?我们会发现,市场上许多优秀的ERP解决方案,作为一个“管理信息系统”,其信息的覆盖面、能力仍然是不足够的,对信息资源的处理方式上也是有所欠缺的——因为它不可避免地带着功能系统对数据处理的特点。

由于认识基础上的根本不同,这两种途径并不是能够简单“合并”的,我对新一代信息系统的研究,就是从这里开始的。

参考链接

以数据库为中心与面向数据库,http://blog.csdn.net/flyingrobot/archive/2007/09/28/1804688.aspx


(任何应用、传播请保持原署名及出处。商业机构或营利性使用,需取得作者许可)
作者:Flyingrobot, 2007年10月6日, 企业应用探索日志, http://blog.vsharing.com/flyingrobot

阅读更多
个人分类: 系统架构及原理
上一篇以数据库为中心与面向数据库
下一篇数据库和面向对象本来是两股道上跑的车
想对作者说点什么? 我来说一句

Arcengine 二次开发小案例

2015年12月02日 5.47MB 下载

可复用设计模式

2007年08月22日 2.08MB 下载

LTE帧结构简介

2017年10月07日 2.14MB 下载

信息系统的规划与开发

2009年10月17日 327KB 下载

信息系统开发

2008年01月02日 2.85MB 下载

删除svn 版本信息的两种途径

2012年05月22日 504B 下载

java读取excel ,xls和xlsx

2013年11月13日 2KB 下载

信息系统监理师教程高清析PDF

2008年09月12日 30.07MB 下载

没有更多推荐了,返回首页

关闭
关闭