如何建立信息系统
如何建立信息系统
管理学院 吴成界 [1**********]
一、引言
企业发展的过程, 从宏观层面来说, 其实就是企业应对环境的变化不断制定战略, 再实施战略的过程. 就像下图所示的一样:
企业首先得根据自己对市场和自身资源与能力的评估,以及企业设立的目的来确定自己某一阶段的发展方向。然后进行一系列的分析(如SWOT 分析),最终制定自己在这阶段的发展战略。这是一个比较宏观的战略,接下来的任务就是要一步步地将这个宏大的战略细化,一步步的实体化,最终将其实现。
从上图中,我们很容易的看到,在战略和最终战略实现之间夹着IT/IS这个桥梁,更准确的说,IT/IS是战略得以实现的使能器。因此,在企业的发展过程中,IT/IS起着十分重要的作用。(在牛头中模型中,它是牛的眼睛)
IT/IS是如此的重要,因此似乎每一个企业都应该学会去建立自己的IT/IS,但是如何建立IT/IS呢?
一般来说,有两种开发的方法:一是系统生命周期法(systems lifecycle),这是一个比较古老的方法;第二个是原型法(prototyping )。
二、系统生命周期法(systems lifecycle)
(一)、系统生命周期法过程简介
系统生命周期法,其基本思想是用系统的思想,系统工程的方法,按用户至上的原则,
结构化、模块化,自顶向下对信息系统进行分析与设计 。。
任何事物都有一定的发展阶段,都有自己的一定的生命周期,一定阶段发展之后才能进入下一个阶段的发展,而不管是个人,企业还是其他事物。生命周期法也同样持有这样的观点,将系统的开发业视为一个有步骤,有阶段的过程。总的来说,生命周期法认为系统的开发有以下六个步骤,三个阶段组成。如下图所示:
1、定义阶段:
战略规划:这一过程的主要任务是分析企业的环境,战略,进而规划企业的信息需求、整体信息系统架构与数据架构、IT 基础设施。决定不同的系统的开发的先后顺序和时间。
系统分析:此阶段需要针对IS 所要解决的问题进行了解,分析目标、评估成本、技术及组织接受的可行性,并确定用户的需求。
2、开发阶段:
系统设计:系统设计要依据系统分析的结果设计IS 的数据库、程序、输入、输出与业务流程等。
系统编码与测试:有了上面的数据库与流程之后,就开始进行编制程序、开发数据库、模块测试与系统整合测试了、
系统导入与评估:这个步骤有两个小步骤组成,分别是系统导入和系统评估。
系统导入就是将已经开发好的系统导入到需要该系统的系统中。在导入的过程中:可以决定在某个特定的时候停用旧系统改用新系统(简称直接法:成本最小,但是如果新系统出现问题的话,没有替代方案,你就只能呵呵了);也可以采用平行的方法(目前最常用的方法),一段时间内,新旧系统共用,一段时间之后旧系统退下换成新系统。这种方法明显比前一种方法成本高;当然也可以采取先30%使用新系统,稳定后调整为50%使用新系统,完全稳定后才100%的使用新系统;或者采用实验的方法,先由某个分公司实行该新系统,效果不错母公司再将其推广到全公司运行。
系统评估主要是对系统导入过程中和导入后的使用效果进行评估,包括多新系统的利用
率,满意度,工作绩效,业务流程等方面的改善情况。这是了解判断新系统成败的关键所在。
3、维护阶段:
运行维护:系统投入使用后,不可能“一帆风顺“,毫无故障。相反,系统会经常性的出现偏差或者错误,需要有关人员的机一部维修。另一方面,由于外在需求、环境的的改变导致系统的效率不良的事业常有发生。这时就要对旧系统进行补充升级,修改与维护,来维持正常的运作。
为了更好的理解生命周期法的上述过程,我们打个比方,系统开发可以看成就是你早上起床后穿衣服的过程,首先进行“战略规划”,比如你的考虑下今天的气温,考虑到今天是不是有什么重要的事穿着方面要注意点等等。其次,根据上面的“战略分析”分析你穿的衣服所要达成的目的:舒适,大方,正式还是其他什么(系统分析);然后你心里会预想一下从里到外,应该穿什么衣服,上下衣服怎么搭配(系统设计);之后你会尝试你之前设想的设计,看看效果(系统编码与测试,导入与评估)。如果觉得不满意你会换掉自己已经穿上的衣服,更改一两件以达到自己最满意的效果(维护)。并且,这个过程严格按照这样的顺序一步一步进行下去的。前面的过程进行完之后,后面的程序才会继续。
(二)、系统生命周期法适用对象
以上六个步骤、三个阶段是精密相连的,只有前面的一个步骤和阶段完成之后,后面的步骤和阶段才能开始。从上面的介绍中我们可以看到生命周期法具有以下的特点:
1、用户需求要明确,这是能够使用系统生命周期法的前提。
2、阶段分明,原则上前一个阶段的往常才能进入下一个阶段的工作。
3、每一个阶段都力求完整、严谨、正确。因为后一阶段依靠前一阶段的完成,所以后一阶段出现苦难时,必须返回修改。
4、用户仅在分析与系统测试时参与。
从系统生命周期法的设计过程以及它的特点上我们可以看出,该方法比较适合用来设计那些:
1、用户的需求和目标清晰明确、结构化程度高的系统:清晰的目标使得目标的完成可以严格的按照预先设计的步骤来行使。
2、大型且复杂的信息系统:这种信息系统一般需要对业务流程有个严谨的规划和分析。
(三)、系统生命周期法的优缺点
系统生命周期法的过程和特点既可以带来好处也可以带来缺点,优缺点是相对而言的:
(1)生命系统周期法的适用需要明确的用户需求,这可以使得在系统分析设计的过程中,保证每个阶段和步骤都能使得用户需求得到贯彻和执行,最大限度的满足用户的需求。但是,一方面,现实中完全了解用户的需求是不可能的,这也限制了该方法的使用范围。另一方面,用户在陈述需求之后就推出开发过程,直到系统设计完成时用户才来评估,这就导致了一段用户与开发方交流的空白段。即使需求发生变化,系统还是会按照原来的需求设计,交流不够,灵活性欠佳。
(2)、明确的分段工作带来的是系统对每个细微的情况都能给与足够的重视,每个步骤的完成都会出一个完整的文档,使得日后的维护工作等变得更加方便。但是分段不同于分工,分段导致过程复杂不能适应环境的变化,开发时间长,成本高。而且由于前后步骤相连,可能会出现“牛鞭效应”:前面的错误会被带到下一阶段并逐步扩大。
三、原型法(Prototyping )
我们知道生命周期法的最大的缺陷在于其不能有效的应对用户需求的变化,在系统开发设计的过程中,分析者和用户之间缺乏有效的沟通交流。即使有交流也可能只是无效的交流(所谓无效,简单的说就是我让你去买基金,你我自以为互相理解意思,但是结果你却去买鸡精了)。其实带来生命周期法缺陷的根本原因在于其固定不变的模式和一锤子定音的方式,导致有效的交流的缺乏。而解决这个问题的最好的办法就是学会变通,多加交流,边做边学。这样才能提高对环境变化的适应力,真正意义上最大限度的满足用户的需求。就拿上面的基金的例子来说,与生命周期法中听到指示后就“埋头苦干”不一样,你可以先去买少量的基金,然后拿来给我瞅一瞅,问一下我符不符合要求,如果符合,那就继续做下去,如果不符合按要求再改。
按照上面的思路,原型法应运而生。
(一) 原型法简介
原型法的基本思想是:首先建立系统的基本结构,实现基本功能;然后,在使用过程中逐步补充数据,修订与增添有关模型和方法,满足使用者的进一步要求。
总的来说,原型的开发流程可以分为三个部分:(见图一)
1、快速分析,弄清用户的基本信息需求。
在分析者和用户的紧密配合下,快速确定软件系统的基本要求(但不需要生命周期法那样明确)。根据原型所要体现的特性(或界面形式、或处理功能、或总体结构、或模拟性能等),描述基本规格说明,以满足开发原型的需要。快速分析的关键是要注意选取分析和描述的内容,围绕使用原型的目标,集中力量,确定局部的需求说明,从而尽快开始构造原型。
2、构造原型,开发初始原型系统。
在快速分析的基础上,根据基本规格说明,尽快实现一个可运行的系统。为此需要强有力的软件工具的支持,例如采用非常高级的语言实现原型,引入以数据库为核心的开发工具等。并忽略最终系统在某些细节上的要求,例如安全性、健壮性、异常处理等。主要考虑原型系统应充分反映的待评价的特性,暂时忽略一切次要的内容。综上所述,本步骤的目标是:建立一个能运行的交互式应用系统来满足用户的基本信息需求。
3、用户和开发人员使用并评价原型。
这阶段是频繁通信,发现问题,消除误解的重要阶段。其目的是验证原型的正确程度,进而开发新的并修改原有的需求。它必须通过所有相关人员的检查、评价和测试。由于原型
忽略了许多内容,它集中反映了要评价的特性,外观看起来可能会有些残缺不全。用户要在开发者的指导下试用原型,在试用的过程中考核评价原型的特性,分析其运行结果是否满足规格说明的要求,以及规格说明的描述是否满足用户的愿望。纠正过去交流中的误解和分析中的错误,增补新的要求,并为满足环境变化或用户的新设想而引起系统需求的变动而提出全面的修改意见。
(图一)
(二)原型法的特点与优劣势
从原型法的流程中可以看出:
1、原型法是一种循环往复、螺旋式上升的工作方法。它是一个在用户的要求下将系统不断完善改进的方法。使得系统更能有效的适应外界环境的变化。它的开发周期短,费用相对较少。但这种反复式的方法对过程的管理要求较高。而且较短的周期可能会带来质量的下降。没有生命周期法那样形成稳定的文档,不利于后期的维护。
2、原型法强调用户的参与,开发过程中重视用户的评价与反馈,适应需求不确定的情况。用户的直接参与使得系统更加的贴近实际,易学易用。但用户过早看到系统原型,可能误认为系统就是这个模样,易使用户失去信心;
综上所述,我们认为原型法:
适合处理过程明确、简单的系统,涉及面窄的小型系统;
不适合于大型、复杂系统,难以模拟的系统;存在大量运算、逻辑性强的处理系统以及管理基础工作不完善、处理过程不规范和大量批处理的系统。
四、结语:两者比较与实际
1、比较
系统生命周期法将开发过程看成了一个按部就班的过程,遵循一套固定的步骤来实现开发系统的目的,提倡一次性解决问题,实现目标;而原型法更像是从整体的角度来看问题,迅速建立起系统模型,然后在实践中不断的完善,提倡的是先整体后部分,不断完善进步的过程。采取何种方法当然得具体情况具体对待。
2、实际应用
两者相比较,在实际应用中,一方面用户由于计的全面的算机知识的缺乏,很难全面准确的表述其对未来系统的需求,开发人员对用户又不熟悉,两者缺乏有效的信息沟通。另一方面,生命周期的开发周期长,又要求目标明确,而在这长时间的开发中,用户的需求很容易发生变化。上述两个原因导致原型法在实际中更加的受青睐。
3、综合
对上述的两种建立信息系统的方法,不管是从他们的流程、他们的优缺点还是他们的适用情况来看,两者似乎是对立的关系。但其实,在适当的时间,适当的条件下,它们也是可以结合起来的。所谓的结合就是在原型法的每一个循环过程中都可以适当的应用生命周期法来开发原始的模型。但这要求对生命周期法给与适当的改变或者说调节,不能按照原有的生命周期法来办事。在生命周期法适用的过程中,在系统设计、系统编码与测试等步骤中也可以适当的使用原型法。两者结合可能要比单独使用某一种方法更有效率!