二、信息系统工程对工具的要求

40 多年的历史已经表明,随着计算机应用范围的不断扩大,对于工具与环境的要求也越来越高。

简单他说,这种要求就是帮助人们更快、更好、更省时地进行信息系统工程。为此,人们求助于两条途径:系统化与工程化。正如本章章名所说明的,信息系统工程一词如实地全面地反映了这门学科的对象及方法。信息及信息系统是研究的对象,而采用的方法则是系统化和工程化的方法。正是这两点构成了实现更快、更好、更省时的一系列具体方法的基础。

为了后面的具体方法更易于掌握,在此先对系统化和工程化的一般思想作一个概括的介绍。

系统化是指用系统的观点与方法去组织与实施信息系统建设的工程项目。人们常说,要系统地做事,系统地思考问题。然而怎样才是系统地做事, 却难以有个明确的说法,似乎只可意会不可言传。如果不是进行纯理论的研究,从实践的角度,可以列出以下一些主要特征,从而勾画出系统化方法的轮廓。

  1. 系统化就是强调全面性,注意防止只知其一不知其二,只见树木不见森林的片面。诚然,绝对的全面是不存在的,然而强调防止片面性,可以防止僵化、减少失误。这是人所共知的道理。具体到信息系统工程来说,强调全面性,就是要从信息系统内外、上下、管理与技术、过去与未来,需要

与可能,设备与人员等多个方面,多个视角去考虑与认识,并进而规划与实施。

  1. 所谓系统,或构成一个整体,就是不要把各部分看做孤立地,互不相关的事,而是集中地或重复地考虑它们之间的相互联系、相互作用、相互配合是怎样实现的,怎样分工合作共同实现系统的整体功能。这种方法的对立面就是孤立地、互不联系地去认识和考察各个部分,其结果可能是各个部分都可以正常地工作,而作为一个整体却无法正常运转,实现不了整体的功能。

  2. 系统化就是要强调有机地、按层次去认识与处理复杂系统。层次观点是系统方法的一个重要部分和一项重要方法。复杂系统之所以复杂,往往是因为不同层次的问题纠缠在一起造成的。主动地、有意识地把复杂系统分成层次,并把注意力集中于当前需要考虑的事情,而暂时置其他层次的事情于不顾。这是揭开这一团乱麻的有效办法。合理地划分层次,有意识地运用层次的观点与方法,对于实际工作是有很大好处的。

  3. 系统化就是要求人们以动态的、发展变化的观点去认识事物、处理事情。系统观点的一个重要内涵就是,认为或承认任何事物(或系统)都是过去的事物(或系统)发展变化的结果,同时,它也将继续向前发展变化,

    不会停止下来不再变化。

认识一个系统(特别是复杂系统)和认识这个系统的历史,是同一件事。正如人们说的哲学和哲学史是一件事。不了解系统的历史就不能真正认识系统的现状,也就不能真正认识系统的结构与行为,更不能有效地规划与实现系统的未来。

工程化的意思是按近代科学及产业形成的一套思想来做事。过程化的反面是手工方式。在近代产业产生之前,人类生产缺乏能工巧匠,然而生产力发展的速度十分缓慢,生产效率十分低下,知识积累十分困难,许多宝贵的经验与知识常常得而复失。近代工业革命以来,这种情况发生了变化,一系列新的观点及方法使得整个人类社会、至少一个工厂或企业成为一个整体, 规范化、标准化、专业化的潮流席卷各个行业,产生的效率惊人,任何习惯势力都无济于事,而在这种潮流面前不得不退出历史舞台。这就是过程化的意义及力量。过程化强调工作步骤的规范化、标准化,即对于要做某种事情的步骤或工作阶段要明确地规定,规定其任务,成果及其他要求,不得因人而异。这种规定是在长期的实践中形成并固定下来的。它是产生可靠的产品, 保证效率与质量的基石。过程化还强调定量的检测,任何一项工作、一个步骤、一项成果都要有明确的、定量的、可检测的指标。没有定量就没有控制, 没有检测就没有工程。工程化对于文档的要求很高,这是达到共识,集个人知识为集体知识及社会知识的有效途径,这是过程化的又一个重要方面。

显然,信息系统工程在以上两方面都还十分欠缺,与许多传统的工程学科相比(如建筑过程等),显然还很不成熟。至今人们还在争论,系统分析是一门艺术还是一门技术。然而,CASE 工具的出现,在这方面确实赋予了人们新的希望。

  1. CASE

    工具对于全面收集信息提供了有效的手段。它以系统分析各工作系统为框架,针对不同阶段的目的与要求,提供了多种信息采集的人口或界面,从而引导和帮助人们采集必要的信息。同时,它还可以在信息不足或不完整时发出提示信息,提醒人们进一步收集有用的信息。另一方面,这

种工具还能使人们充分利用所有的信息,当某一有关系统的信息进入 CASE 工具的总的存储(以后将定义为中心库)后,它将能够为各方使用,从而减少了手工进行系统分析时,大量的重复采集,重复处理的不可回避的麻烦。显然,这是计算机辅助功能的又一例证。

  1. 在保证系统的一致性方面,CASE

    工具也能产生积极的效果。在系统分析中,系统的一致性检验是十分烦人的,有的时候简直是难以完成的(由于组合爆炸而引起的无法胜任的负担)。当用计算机来存储及管理系统分析阶段的大量信息时,这些一致性的检验及保证则可以由计算机来辅助完成。如前所述,这是保证系统完整统一的必要条件。

  2. 在知识的积累方面,CASE

    工具也十分有利于改进系统分析的工作。系统分析工作中大量的调查研究是人与人的思想交流,从而表现为个人的活动及信息采集。对于小项目而言,一个人或少数几个人的头脑就可以发挥积累知识的作用。然而,项目越大,时间较长,这种手工业的方式就越发不能适应。由于人员的增加与组成变化,各部分之间的协调再也无法在人的头脑中进行与完成,更不要说留下有效的文档交给系统的运行与维护人员了。

  3. 在各种成果的重用方面,CAsE

    工具也显示出了其作用。由于知识的有效积累,不仅是软件模块,而且包括各种图表、文档、都有可能得到更加充分的利用。重用这一概念,在更广泛的意义下得到实现。这将使重复劳动大大减少,工作效率大大提高。

总之,CASE 工具确实能够对于信息系统工程中系统化与工程化思想的实现,提供有效的帮助。熟悉 70 年代的系统分析思想与方法的读者,不难发现, 以上许多讨论或强调之处都不是生疏的。许多经典的课本及专著中都论述过这些观点。然而不同之处在于,今天的问题得到了计算机辅助工具的支持, 许多原则不再是只能讲而很难做,或小系统可做,大系统做不了,而是具备了具体实施的条件。

当然,这里还应当指出的一点是,CASE 工具是系统分析员的辅助工具, 它能帮助我们实现上述基本思想,而不能代替人实现系统化工程化的目标。系统分析,或信息系统工程归根到底要靠人来实现。我们在考虑 CASE 的时候切不可忘记这一基本点。