信息系统与其他事物一样,也要经历产生、发展、成熟和消亡的过程。我们把信息系统从产生到消亡的整个过程称为信息系统的生命周期。
一般来说,信息系统的生命周期分为4个阶段,即系统规划阶段、系统开发阶段、系统运行与维护阶段、系统更新阶段。
信息系统规划阶段,也称信息系统的产生阶段、信息系统的概念阶段或者是信息系统的需求分析阶段。这一阶段又分为两个过程,一是概念的产生过程,即根据企业经营管理的需要,提出建设信息系统的初步想法;二是需求分析过程,即对企业信息系统的需求进行深入的调研和分析,并形成需求分析报告。
信息系统的开发阶段是信息系统生命周期中最重要和最关键的阶段。该阶段又可分为五个阶段,即总体规划、系统分析、系统设计、系统实施和系统验收阶段。
(1)总体规划阶段。 信息系统总体规划是系统开发的起始阶段,它的基础是需求分析。由于以计算机和因特网为工具的信息系统是企业管理系统的重要组成部分,是实现企业总体目标的重要工具。因此,它必须服从和服务于企业的总体目标和企业的管理决策活动。总体规划的作用主要有:
一个比较完整的总体规划,应当包括信息系统的开发目标、信息系统的总体架构、信息系统的组织结构和管理流程、信息系统的实施计划、信息系统的技术规范等。
(2)系统分析阶段。 系统分析阶段的目标是为系统设计阶段提供系统的逻辑模型。
系统分析阶段以企业的业务流程分析为基础,规划即将建设的信息系统的基本架构,它是企业的管理流程和信息流程的交汇点。
系统分析的内容主要应包括组织结构及功能分析、业务流程分析、数据和数据流程分析、系统初步方案等。
(3)系统设计阶段。 系统设计阶段是根据系统分析的结果,设计出信息系统的实施方案。系统设计的主要内容包括系统架构设计、数据库设计、处理流程设计、功能模块设计、安全控制方案设计、系统组织和队伍设计、系统管理流程设计等。
(4)系统实施阶段。 系统实施阶段是将设计阶段的结果在计算机和网络上具体实现,也就是将设计文本变成能在计算机上运行的软件系统。由于系统实施阶段是对以前的全部工作的检验,因此,系统实施阶段用户的参与特别重要。如果说在系统设计阶段以前,用户处于辅助地位的话,而到了系统实施阶段以后,用户就应逐步变为系统的主导地位。
(5)系统验收阶段。 信息系统实施阶段结束以后,系统就要进入试运行。通过试运行,系统性能的优劣、是否做到了用户友好等问题都会暴露在用户面前,这时就进入了系统验收阶段。
当信息系统通过验收,正式移交给用户以后,系统就进入了运行与维护阶段。一般来说,一个性能良好的系统,运行过程中会较少出现故障,即使出现故障,也较容易排除;而那些性能较差的系统,运行过程中会故障不断,而且可能会出现致命性故障,有时故障会导致系统瘫痪。可见,长时间的运行是检验系统质量的试金石。
另外,要保障信息系统正常运行,一项不可缺少的工作就是系统维护。在软件工程中,把维护分为4种类型,即排错性维护、适应性维护、完善性维护和预防性维护。一般在系统运行初期,排错性维护和适应性维护比较多,而到后来,完善性维护和预防性维护就会比较多。
信息系统更新阶段,也称信息系统消亡阶段。通常人们比较重视信息系统的开发阶段,轻视信息系统运行与维护阶段,而几乎完全忽视信息系统的更新阶段。其实,这样做是片面的。因为计算机技术和因特网技术的发展十分快速,新的技术、新的产品不断出现。同时,由于企业处在瞬息万变的市场竞争的环境中,在这种情况下,企业开发好一个信息系统,并想着让它一劳永逸地运行下去,是不现实的。企业的信息系统经常会不可避免地遇到系统更新改造、功能扩展,甚至是报废重建的情况。对此,企业在信息系统建设的初期就要注意系统的更新条件和时机,以及由此而花费的成本。
为了能够适应开发的需要,在信息系统规划设计及系统开发的过程中,必须遵守一系列原则,这是系统成功的必要条件。下面几条原则是信息系统开发时常用的原则。
一个信息系统其建设的目标总是为企业的总体目标服务的,否则,这个系统就不应当建设。而真正能够理解企业总体目标的人必然是那些企业高层管理人员,只有他们才能知道企业究竟需要什么样的信息系统,而不需要什么样的信息系统,也只有他们才知道企业有多大的投入是值得的,而超过了这个界限就是浪费。由于这点是那些身处某一部门的管理人员,或者是技术人员所无法做到的。因此,信息系统从概念到运行都必须有企业高层管理人员介入。当然,这里的“介入”有着其特定的含义,它可以是直接参加,也可以是决策或指导,还可以是在政治、经济、人事等方面的支持。
这里需要说明的是,高层管理人员介入原则在现阶段已经逐步具体化,那就是企业的“首席信息官”(Chief Information Officer,CIO)的出现。CIO是企业设置的相当于副总裁的一个高级职位。负责公司信息化的工作,主持制订公司信息规划、政策、标准,并对全公司的信息资源进行管理控制的公司行政官员。在大多数企业里,CIO是公司最高管理层中的核心成员之一。毫无疑问,深度介入信息系统开发建设,以及运行是CIO的职责所在。
在我国,流行着信息系统开发中所谓“用户第一”或是“用户至上”的原则。当然,这个原则并没有错,一个成功的信息系统,必须把用户放在第一位,这应该是毫无疑义的。但是,究竟应当怎么“放”?怎么“放”才算是第一位?都没有一个确切的标准。而马丁提出的“用户参与开发原则”就把“用户第一原则”具体化了。
用户参与开发原则主要包括以下几项含义。
一是“用户”有确定的范围。 究竟谁是用户?我们通常把“用户”仅仅理解为用户单位的领导,其实这是很片面的。当然,用户单位领导应该包括在用户范围之内,但是,更重要的用户或者核心用户,是那些信息系统的使用者,而用户单位的领导只不过是辅助用户或是外围用户。
二是用户应当参与全过程的开发。 特别是那些核心用户,不应只参与某一阶段的开发,而应当是参与全过程的开发,即用户应当参与从信息系统概念规划和设计阶段,到系统运行的整个过程。而当信息系统交接以后,他们就成为系统的使用者。
三是用户应当深度参与系统开发。 用户以什么身份参与开发是一个很重要的问题。一般说来,参与开发的用户人员,既要以甲方代表身份出现,又应成为真正的系统开发人员,与其他开发人员融为一体。
在信息系统开发的过程中,经常会出现信息不一致的问题,这种现象的存在对信息系统来说往往是致命的,有时一个信息系统会因此而遭到报废的结果。研究表明,信息的不一致是由计算机应用的历史性演变所造成的,它通常发生在没有一个总体规划的指导就来设计实现一个信息系统的情况下。由此可见,坚持自顶向下规划原则对于信息系统的开发和建设来说是至关重要的。自顶向下规划的一个主要目标是达到信息的一致性。同时,自顶向下规划原则还有另外一个方面,那就是这种规划绝不能取代信息系统的详细设计。必须鼓励信息系统各子系统的设计者在总体规划的指导下,进行有创造性的设计。
在20世纪70年代,出现了世界范围内的“软件危机”。所谓软件危机是指一个软件编制好以后,谁也无法保证它能够正确地运行,也就是软件的可靠性成了问题。软件危机曾一度引起人们,特别是工业界的恐慌。经过探索,人们认识到,之所以会出现软件危机,最主要的原因,是由于软件产品是一种个体劳动产品,最多也就是作坊式的产品。因此,没有工程化是软件危机发生的根本原因。此后,软件发展成了“软件工程”这门工程学科,在一定程度上解决了软件危机。
信息系统也经历了与软件开发大致相同的经历。在信息系统发展的初期,人们也像软件开发初期一样,只要做出来就行,根本不管实现的过程。这时的信息系统,大都成了少数开发者的“专利”,系统可维护性、可扩展性都非常差。后来,信息工程、系统工程等工程化方法被引入到信息系统开发过程之中,才使得问题得到了一定程度的解决。
其实,工程化不仅是一种有效的方法,它也应当是信息系统开发的一项重要原则。
对于信息系统开发,人们还从不同的角度提出了一系列原则,例如:
企业信息系统对于企业信息化的重要意义是不言而喻的。在企业的发展过程中,人们花费了很多时间与金钱来建设大量的信息系统,这些信息系统本应服务于企业战略目标。但通过长期发展我们会发现,建设的信息系统越多,“信息孤岛”情况越严重,为什么会这样呢?因为这些系统在建设之前,缺乏统一规划。下面简单介绍几种常用的信息系统规划方法。
企业系统规划方法(Business System Planning,BSP)最早是由IBM公司于20世纪70年代研制并使用的一种企业信息系统开发的方法。虽然40多年的时间过去了,但是,这种方法对于今天我国企业信息系统建设仍然具有一定的指导意义。
BSP方法是企业战略数据规划方法和信息工程方法的基础和,也就是说,后两种方法是在BSP方法的基础上发展起来的,可见,了解并掌握BSP方法对于全面掌握信息系统开发方法是有帮助的。BSP方法的目标是提供一个信息系统规划,用以支持企业短期的和长期的信息需求。
在使用BSP方法做企业系统规划时,离不开UC矩阵这个工具。
UC矩阵是BSP方法(企业系统规划法)将过程和数据类两者作为定义企业信息系统总体结构的基础,具体做法是利用过程/数据矩阵,即UC矩阵,来表达两者之间的关系。矩阵中的行表示过程,列表示数据类,并以字母U(Use)和C(Creat)来表示过程对数据类的使用和产生。通过UC矩阵,可以轻易地划分出子系统,也可进行数据分析,且能检查数据和业务功能的匹配情况。
詹姆斯·马丁是世界级的信息系统大师,他提出的战略数据规划方法是信息系统开发极为重要的一种方法。《战略数据规划方法学》是马丁阐述该方法的一本专著,本书只对战略数据规划方法简单介绍。
对于战略数据规划方法,《战略数据规划方法学》的前言中指出,“在20世纪70年代,人们就已看清,对企业和其他组织而言,计算机化的信息乃是具有很高价值的资源。人们还看清了,这种信息资源的开发必须有来自最高层的规划,而实施这样的规划又迫切需要一套正规化的,并且最好是与数据库设计相联系的易于用计算机处理的方法学。”马丁进一步指出,“虽然许多企业早已认识到对信息资源进行规划的必要性,但很少有人知道如何实现这样的规划。某些咨询公司强调了制订这类规划的重要性,但又拿不出什么有效的办法来指导所需信息资源的设计。”按照马丁的观点,一个企业要建设信息系统,它没有必要急着去购置设备,也没有必要马上组织软件开发和上网,它的首要任务应该是在企业战略目标的指导下做好企业战略数据规划。一个好的企业战略数据规划应该是企业核心竞争力的重要构成因素,它有非常明显的异质性和专有性,好的企业战略数据规划必将成为企业在市场竞争中的制胜法宝。
战略数据规划方法的要点主要有:
(1)数据环境对于信息系统至关重要。 企业数据环境是随着企业的发展不断变化的,也是企业发展的基础条件。信息系统建设极大影响着企业的未来发展方向,对企业的数据环境提出了更高的要求。把静态的、独立的信息资源通过战略数据规划重建企业数据环境,使其成为集成化、网络化的信息资源,对一个现代化企业来说是更为迫切的任务。
(2)四种数据环境。 在信息系统发展的历程中共有四类数据环境,即数据文件、应用数据库、主题数据库和信息检索系统。
(3)建设主题数据库是信息系统开发的中心任务。 这里的主题数据库并不是指数据库的大小,也不是指数据库的功能,而是指哪些数据库是面向企业的业务主题的,哪些不是面向业务主题的。所谓业务主题,就是指企业的核心业务和主导流程。比如,对于一个机加工企业来说,生产机件产品就是其核心业务,相应地,围绕核心业务建立的数据库就是企业的主题数据库。而对于一个保险企业来说,围绕着保单处理的数据库就是企业的主题数据库。
(4)围绕主题数据库搞好应用软件开发。
信息工程方法是詹姆斯·马丁创立的面向企业信息系统建设的方法和实践。信息工程方法与企业系统规划方法和战略数据规划方法是一种交叉关系,即信息工程方法是其他两种方法的总结和提升,而其他两种方法则是信息工程方法的基础和核心。
信息工程是计算机信息系统发展到比较成熟阶段的产物,它不仅为大型信息系统的开发给出了方法和技术,而更重要的是它在理论与实践的结合上对大型信息系统的开发提出了相应的开发策略和原则,而这些策略和原则对于信息系统的成功开发和应用都是至关重要的。虽然,信息工程是在20世纪80年代末期发展起来的,但是,在今天,仍然对信息系统的开发具有重要的指导价值。
信息工程方法与信息系统开发的其他方法相比,有一点很大的不同,就是信息工程不仅是一种方法,它还是一门工程学科。它第一次把信息系统开发过程工程化了。所谓工程化,就是指有一整套成熟的、规范的工程方法、技术、标准、程序和规范,使得开发工作摆脱随意性和多变性,其目标是信息系统的开发走上智能化、程序化和自动化的道路。
关键成功因素(Critical Success Factors,CSF)法是由John Rockart于20世纪70年代末提出的一种信息系统规划方法。该方法能够帮助企业找到影响系统成功的关键因素,进行分析以确定企业的信息需求,从而为管理部门控制信息技术及其处理过程提供实施指南。
在每个企业中都存在着对企业成功起关键性作用的因素,称为CSF。CSF通常与那些能够确保企业生存和发展的方面相关。CSF方法的目的是通过企业的CSF,确定企业业务的关键信息需求。通过对CSF的识别,找出实现目标所需要的关键信息集合,从而确定系统开发的优先次序。
战略目标集合转化法(Strategy Set Transformation,SST)是由William R. King于1978年提出的一种信息系统规划方法。该方法将企业战略看成是一个“信息集合”,包括使命、目标、战略和其他企业属性,例如,管理水平、发展趋势以及重要的环境约束等。SST方法就是把企业的战略集合转化为信息系统的战略集合,而后者由信息系统的目标、环境约束和战略规划组成。
CSF方法能抓住主要矛盾,使目标的识别突出重点。用这种方法所确定的目标和传统的方法衔接得比较好,但一般最有利的只是在确定管理目标上。
SST方法从另一个角度识别管理目标,它反映了各种人的要求,而且给出了按这种要求的分层,然后转化为信息系统目标的结构化方法。它能保证目标比较全面,疏漏较少,但它在突出重点方面不如CSF。
BSP方法虽然也首先强调目标,但它没有明显的目标引出过程。企业目标到系统目标的转换是通过对PO矩阵、RD矩阵和CU矩阵等的分析得到的。这样可以定义出新的系统以支持企业过程,也就把企业的目标转化为系统的目标,识别企业过程是BSP方法的中心。
在信息系统战略规划的实践中,往往把这三种方法结合起来使用,统称为CSB方法。CSB方法先用CSF方法确定企业目标,然后用SST方法补充完善企业目标,并将这些目标转化为信息系统目标,用BSP方法校核两个目标,并确定信息系统结构。这样,就补充了单个方法的不足。当然,这也使得整个方法过于复杂,而削弱了单个方法的灵活性。
前面已经介绍了一些常用的信息系统规划方法,这些方法,是从企业全局来看待问题。如何去做整体规划,这种规划能让企业的信息系统天生就互联互通。但具体到每一个信息系统的实际运行效果来看,有些信息系统运行得很成功,取得了巨大的经济效益和社会效益。但也有些信息系统效果并不显著,甚至还有个别信息系统开始时还能正常运行,可时间一长,系统就故障不断,最后走上报废之路。是什么导致这样截然不同的结果呢?当然,这里的原因可能很复杂,但有一个原因是十分重要和关键的,那就是信息系统的开发方法问题。
我们知道,信息系统是一个极为复杂的人-机系统,它不仅包含计算机技术、通信技术,以及其他的工程技术,而且,它还是一个复杂的管理系统,还需要管理理论和方法的支持。下面简单介绍几种最常用的信息系统开发方法。
结构化方法是由结构化系统分析和设计组成的一种信息系统开发方法。在本书的有关章节中,较详细地介绍了该方法,因此,这里只做简单介绍,如果想了解结构化生命周期法的详细内容,请阅读本书的有关章节。
结构化方法是目前最成熟、应用范围也较广的信息系统开发方法。由于它是假定被开发的系统是一个结构化的系统,因此,其基本思想是将系统的生命周期划分为系统调查、系统分析、系统设计、系统实施、系统维护等阶段。这种方法遵循系统工程原理,按照事先设计好的程序和步骤,使用一定的开发工具,完成规定的文档,在结构化和模块化的基础上进行信息系统的开发工作。结构化方法的开发过程一般是先把系统功能视为一个大的模块,再根据系统分析设计的要求对其进行进一步的模块分解或组合。
结构化生命周期法主要特点介绍如下。
(1)开发目标清晰化。 结构化方法的系统开发遵循“用户第一”的原则,开发中要保持与用户的沟通,取得与用户的共识,这使得信息系统的开发建立在可靠的基础之上。
(2)工作阶段程式化。 结构化方法每个阶段的工作内容明确,注重开发过程的控制。每一阶段工作完成后,要根据阶段工作目标和要求进行审查,这使阶段工作有条不紊,也避免为以后的工作留下隐患。
(3)开发文档规范化。 结构化方法每一阶段工作完成后,要按照要求完成相应的文档,以保证各个工作阶段的衔接与系统维护工作的便利。
(4)设计方法结构化。 结构化方法采用自上而下的结构化、模块化分析与设计方法,使各个子系统间相对独立,便于系统的分析、设计、实现与维护。结构化方法被广泛地应用于不同行业信息系统的开发中,特别适合于那些业务工作比较成熟、定形的系统,如银行、电信、商品零售等行业。
快速原型法是一种根据用户需求,利用系统开发工具,快速地建立一个系统模型并展示给用户,在此基础上与用户交流,最终实现用户需求的信息系统快速开发的方法。在现实生活中,一个大型工程项目建设之前制作的沙盘,以及大型建筑的模型等都与快速原型法有同样的功效。应用快速原型法开发过程包括系统需求分析、系统初步设计、系统调试、系统检测等阶段。用户仅需在系统分析与系统初步设计阶段完成对应用系统的简单描述,开发者在获取一组基本需求定义后,利用开发工具生成应用系统原型,快速建立一个目标应用系统的最初版本,并把它提交给用户试用、评价,根据用户提出的意见和建议进行修改和补充,从而形成新的版本,再返回给用户。通过这样多次反复,使得系统不断地细化和扩充,直到生成一个用户满意的方案为止。
快速原型法具有开发周期短、见效快、与业务人员交流方便的优点,特别适用于那些用户需求模糊,结构性比较差的信息系统的开发。
面向对象方法是对客观世界的一种看法,它把客观世界从概念上看成是一个由相互配合而协作的对象所组成的系统。信息系统开发的面向对象方法的兴起是信息系统发展的必然趋势。数据处理包括数据与处理两部分。但在信息系统的发展过程的初期却是有时偏重这一面,有时偏重那一面。在20世纪70~80年代,由于偏重数据处理者认识到初期的数据处理工作是计算机相对复杂而数据相对简单。因此,先有结构化程序设计的发展,随后产生面向功能分解的结构化设计与结构化分析。偏重于数据方面人员同时提出了面向数据结构的分析与设计。到了20世纪80年代,兴起了信息工程方法,使信息系统开发发展到了新的阶段。
信息工程在实际应用中既表现出其优越性的一面,同时也暴露了一些缺点,比如,过于偏重数据,致使应用开发受到影响。而面向对象方法则集成了以前各种方法的优点,避免了各自的一些缺点。
面向对象的分析方法是利用面向对象的信息建模概念,如实体、关系、属性等,同时运用封装、继承、多态等机制来构造模拟现实系统的方法。传统的结构化设计方法的基本点是面向过程,系统被分解成若干个过程。而面向对象的方法是采用构造模型的观点,在系统的开发过程中,各个步骤的共同的目标是建造一个问题域的模型。在面向对象的设计中,初始元素是对象,然后将具有共同特征的对象归纳成类,组织类之间的等级关系,构造类库。在应用时,在类库中选择相应的类。