博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
系统架构设计笔记(71)—— 信息系统概述
阅读量:1904 次
发布时间:2019-04-26

本文共 8234 字,大约阅读时间需要 27 分钟。

信息系统( Information System , IS )一般泛指收集 、 存储 、 处理和传播各种信息的具有完整功能的集合体。在这里,信息系统并没有强调收集 、 存储 、 处理和传播信息所用的工具。一般意义上的信息系统在任何时代 、 任何社会都会存在,然而,只有到了今天,信息系统的概念才被创造出来,并得到相当程度的普及,这是因为,在当今社会,信息系统总是与计算机技术和互联网技术的应用联系在一起,因此,现代的信息系统总是指以计算机为信息处理工具 、 以网络为信息传输手段的信息系统。因此,现如今说到的信息系统,一般来说,就是指这样的信息系统,而不必特意说明是 “ 现代 ” 信息系统。

1 信息系统的组成

由于其广泛的应用,当今的信息系统已经发展成为一个极为庞大的家族,而且几乎每个信息系统其内部构成都非常复杂。为了充分认识信息系统,要从多种角度进行分析。

1.1 信息系统的数据环境

目前对于信息系统最为权威的分类方法是世界信息系统大师詹姆斯 · 马丁的分类。马丁从信息系统的数据环境的角度出发,对信息系统进行分类。

马丁在 《 信息工程 》 和 《 战略数据规划方法学 》 中将信息系统的数据环境分为4种类型,并认为清楚地了解它们之间的区别是很重要的,因为它们对不同的管理层次,包括高层管理的作用是不同的。

第一类数据环境:数据文件。其特征是:没有使用数据库管理系统,根据大多数的应用需要,由系统分析师和程序员分散地设计各种数据文件。其特点是简单,相对容易实现。但随着应用程序增加,数据文件数目剧增,导致很高的维护费用;一小点应用上的变化都将引起连锁反应,使修改和维护工作缓慢且费用高昂,并很难进行。

第二类数据环境:应用数据库。这类信息系统,虽然使用了数据库管理系统,但没达到第三类数据环境的共享程度。分散的数据库为分散的应用而设计。实现起来比第三类数据环境简单。像第一类数据环境一样,随着应用的扩充,应用数据库的个数,以及每个数据库中的数据量也在急剧增加,随之而导致维护费用的大幅度增高,有时甚至高于第一类数据环境。该类数据环境还没有发挥使用数据库的主要优越性。

第三类数据环境:主题数据库。信息系统所建立的主题数据库与一般具体的应用有很大的区别,它有很强的独立性,数据经过设计,其存储的结构与使用它的处理过程都是独立的。各种面向业务主题的数据,如顾客数据 、 产品数据或人事数据,通过一些共享数据库被联系和体现出来。这种主题数据库的特点是:经过严格的数据分析,建立应用模型,虽然设计开发需要花费较长的时间,但其后的维护费用很低。最终(但不是立即)会使应用开发加快,并能使用户直接与这些数据库交互使用数据。主题数据库的开发需要改变传统的系统分析方法和数据处理的管理方法。但是,如果管理不善,也会蜕变成第二类甚至是第一类数据环境。

第四类数据环境:信息检索系统。一些数据库经过组织能保证信息检索和快速查询的需要,而不是大量的事务管理。软件设计中要采用转换文件 、 倒排表或辅关键字查询技术。新的字段可随时动态地加入到数据结构中。有良好的最终用户查询和报告生成软件工具。大多数用户掌握的系统都采用第四类数据库。这种环境的特点是:比传统的数据库有更大的灵活性和动态可变性。一般应该与第三类数据环境共存,支持综合信息服务和决策系统。

在数据库技术逐渐普及,软件工程方法得到推广的一二十年中,不同的企业单位相继开展计算机应用,从而形成了多种多样的数据环境;这些企业的高层领导和数据处理部门或迟或早都会认识到,需要对现存的数据环境进行改造,以保证信息需求的不断提高,克服现行计算机在数据处理方面的问题,提高科学管理水平,这就需要进行战略数据规划。还有一些企业单位,计算机应用刚刚起步,或者准备开展计算机应用,需要吸取别人的经验教训,避免走错路 、 走弯路。如果有先进的方法论作指导,就会快速 、 科学地实现目标,这就更需要这种战略性的 、 奠基性的规划工作 —— 战略数据规划。对于前一类单位,通过战略数据规划,尽快地将现有数据环境转变到第三类 、 第四类数据环境,以保证高效率 、 高质量地利用数据资源。对于后一类单位,战略数据规划是整个计算机应用发展规划的基础与核心,是计算机设备购置规划 、 人才培训规划和应用项目开发规划的基础。两类单位搞战略数据规划的共同目标是分析 、 组织 、 建立企业稳定的数据结构,规划各种主题数据库的实施步骤和分布策略,为企业管理计算机化打下坚实的基础。

1.2 信息系统的应用层次

一个公司的管理活动可以分成4级:战略级 、 战术级 、 操作级和事务级,相应的,信息系统就其功能和作用来看,也可以分为4种类型,即战略级信息系统 、 战术级信息系统 、 操作级信息系统和事务级信息系统。不同级别的信息系统的所有者和使用者都是不同的。一般来说,战略级的信息系统的所有者和使用者都是企业的最高管理层,对于现代公司制企业,就是企业的董事会和经理班子;战术级信息系统的使用者一般是企业的中层经理及其管理的部门;操作级信息系统的使用者一般是服务型企业的业务部门,例如,保险企业的保单处理部门;事务级信息系统的使用者一般是企业的管理业务人员,例如,企业的会计 、 劳资员等。

以上不同层级的信息系统,都属于一个大的信息系统的子系统。信 息系统是企业信息化的基础性工程,从某种角度说,企业信息化就是信息系统的建设和运行。

2 信息系统的生命周期

信息系统与其他事物一样,也要经历产生 、 发展 、 成熟和消亡的过程。人们把信息系统从产生到消亡的整个过程称为信息系统的生命周期。

一般来说,信息系统的生命周期分为4个阶段,即产生阶段 、 开发阶段 、 运行阶段和消亡阶段。

2.1 信息系统的产生阶段

信息系统的产生阶段,也是信息系统的概念阶段或者是信息系统的需求分析阶段。这一阶段又分为两个过程,一是概念的产生过程,即根据企业经营管理的需要,提出建设信息系统的初步想法;二是需求分析过程,即对企业信息系统的需求进行深入的调研和分析,并形成需求分析报告。

2.2 信息系统的开发阶段

信息系统的开发阶段是信息系统生命周期中最重要和最关键的阶段。该阶段又可分为5个阶段,即,总体规划 、 系统分析 、 系统设计 、 系统实施和系统验收阶段。

(1)总体规划阶段

信息系统总体规划是系统开发的起始阶段,它的基础是需求分析。以计算机和互联网为工具的信息系统是企业管理系统的重要组成部分,是实现企业总体目标的重要工具。因此,它必须服从和服务于企业的总体目标和企业的管理决策活动。总体规划的作用主要有:

  1. 指明信息系统在企业经营战略中的作用和地位 ;
  2. 指导信息系统的开发 ;
  3. 优化配置和利用各种资源,包括内部资源和外部资源 ;
  4. 通过规划过程规范企业的业务流程 。

一个比较完整的总体规划,应当包括信息系统的开发目标 、 信息系统的总体架构 、 信息系统的组织结构和管理流程 、 信息系统的实施计划 、 信息系统的技术规范等。

(2)系统分析阶段

系统分析阶段的目标是为系统设计阶段提供系统的逻辑模型。系统分析阶段以企业的业务流程分析为基础,规划即将建设的信息系统的基本架构,它是企业的管理流程和信息流程的交汇点。系统分析的内容主要应包括,组织结构及功能分析 、 业务流程分析 、 数据和数据流程分析 、 系统初步方案等。

(3)系统设计阶段

系统设计阶段是根据系统分析的结果,设计出信息系统的实施方案。系统设计的主要内容包括,系统架构设计 、 数据库设计 、 处理流程设计 、 功能模块设计 、 安全控制方案设计 、 系统组织和队伍设计 、 系统管理流程设计等。

(4)系统实施阶段

系统实施阶段是将设计阶段的结果在计算机和网络上具体实现,也就是将设计文本变成能在计算机上运行的软件系统。由于系统实施阶段是对以前的全部工作的检验,因此,系统实施阶段用户的参与特别重要。如果说在系统设计阶段以前,用户处于辅助地位的话,而到了系统实施阶段以后,用户就应逐步变为系统的主导地位。

(5)系统验收阶段

信息系统实施阶段结束以后,系统就要进入试运行。通过试运行,系统性能的优劣 、 是否做到了用户友好等问题都会暴露在用户面前,这时就进入了系统验收阶段。

2.3 信息系统的运行阶段

当信息系统通过验收,正式移交给用户以后,系统就进入了运行阶段。一般来说,一个性能良好的系统,运行过程中会较少出现故障,即使出现故障,也较容易排除;而那些性能较差的系统,运行过程中会故障不断,而且可能会出现致命性故障,有时故障会导致系统瘫痪。因此,长时间的运行是检验系统质量的试金石。

另外,要保障信息系统正常运行,一项不可缺少的工作就是系统维护。在软件工程中,把维护分为4种类型,即排错性维护 、 适应性维护 、 完善性维护和预防性维护。一般在系统运行初期,排错性维护和适应性维护比较多,而到后来,完善性维护和预防性维护就会比较多。

2.4 信息系统的消亡阶段

通常人们比较重视信息系统的开发阶段,轻视信息系统运行阶段,而几乎完全忽视信息系统的消亡阶段。其实,这样做是片面的。因为,计算机技术和互联网技术的发展十分快速,新的技术 、 新的产品不断出现;同时,由于企业处在瞬息万变的市场竞争的环境之中,在这种情况下,企业开发好一个信息系统想让它一劳永逸地运行下去,是不现实的。企业的信息系统会经常不可避免地会遇到系统更新改造 、 功能扩展,甚至报废重建的情况。对此,在信息系统建设的初期企业就应当注意系统的消亡条件和时机,以及由此而花费的成本。

3 信息系统建设的原则

为了能够适应开发的需要,在信息系统规划设计,以及系统开发的过程中,必须要遵守一系列原则,这是系统成功的必要条件。以下是信息系统开发常用的原则。

3.1 高层管理人员介入原则

一个信息系统的建设目标总是为企业的总体目标服务,否则,这个系统就不应当建设。而真正能够理解企业总体目标的人必然是那些企业高层管理人员,只有他们才能知道企业究竟需要什么样的信息系统,而不需要什么样的信息系统;也只有他们才知道企业有多大的投入是值得的,而超过了这个界限就是浪费。这点是那些身处某一部门的管理人员,或者是技术人员所无法做到的。因此,信息系统从概念到运行都必须有企业高层管理人员介入。当然,这里的 “ 介入 ” 有着其特定的含义,它可以是直接参加,也可以是决策或指导,还可以是在政治 、 经济 、 人事等方面的支持。

这里需要说明的是,高层管理人员介入原则在现阶段已经逐步具体化,那就是企业的 “ 首席信息官 ” ( Chief Information Officer , CIO )的出现。 CIO 是企业设置的相当于副总裁的一个高级职位,负责公司信息化的工作,主持制定公司信息规划 、 政策 、 标准,并对全公司的信息资源进行管理控制的公司行政官员。在大多数企业里, CIO 是公司最高管理层中的核心成员之一。毫无疑问,深度介入信息系统开发建设,以及运行是 CIO 的职责所在。

3.2 用户参与开发原则

在我国信息系统开发中流行所谓“用户第一”或“用户至上”的原则。当然,这个原则并没有错,一个成功的信息系统,必须把用户放在第一位,这应该是毫无疑义的。但是,究竟应当怎么 “ 放 ” ?怎么 “ 放 ” 才算是第一位?没有一个确切的标准。而马丁提出的 “ 用户参与开发原则 ” 就把 “ 用户第一原则 ” 具体化了。

用户参与开发原则主要包括以下几项含义:

一是 “ 用户 ” 有确定的范围。究竟谁是用户?人们通常把 “ 用户 ” 仅仅理解成为用户单位的领导,其实,这是很片面的。当然,用户单位领导应该包括在用户范围之内,但是,更重要的用户,或是核心用户是那些信息系统的使用者,而用户单位的领导只不过是辅助用户或是外围用户。
二是用户,特别是那些核心用户,不应是参与某一阶段的开发,而应当是参与全过程的开发,即用户应当参与从信息系统概念规划和设计阶段,直到系统运行的整个过程。而当信息系统交接以后,他们就成为系统的使用者。
三是用户应当深度参与系统开发。用户以什么身份参与开发是一个很重要的问题。一般说来,参与开发的用户人员,既要以甲方代表身份出现,又应成为真正的系统开发人员,与其他开发人员融为一体。

3.3 自顶向下规划原则

在信息系统开发的过程中,经常会出现信息不一致的问题,这种现象的存在对于信息系统来说往往是致命的,有时,一个信息系统会因此而造成报废的结果。研究表明,信息的不一致是由计算机应用的历史性演变造成的,它通常发生在没有一个总体规划的指导就来设计实现一个信息系统的情况之下。因此,坚持自顶向下规划原则对于信息系统的开发和建设来说是至关重要的。自顶向下规划的一个主要目标是达到信息的一致性。同时,自顶向下规划原则还有另外一个方面,那就是这种规划绝不能取代信息系统的详细设计。必须鼓励信息系统各子系统的设计者在总体规划的指导下,进行有创造性的设计。

3.4 工程化原则

在 20 世纪 70 年代,出现了世界范围内的 “ 软件危机 ” 。 所谓软件危机是指一个软件编制好以后,谁也无法保证它能够正确地运行,也就是软件的可靠性成了问题。软件危机曾一度引起人们,特别是工业界的恐慌。经过探索,人们认识到,之所以会出现软件危机,是因为,软件产品是一种个体劳动产品,最多也就是作坊式的产品。因此,没有工程化是软件危机发生的根本原因。此后,发展成了 “ 软件工程 ” 这门工程学科,在一定程度上解决了软件危机。

信息系统也经历了与软件开发大致相同的经历。在信息系统发展的初期,人们也像软件开发初期一样,只要作出来就行,根本不管实现的过程。这时的信息系统,大都成了少数开发者的 “ 专利 ” ,系统可维护性 、 可扩展性都非常差。后来,信息工程 、 系统工程等工程化方法被引入到信息系统开发过程之中,才使问题得到了一定程度的解决。其实,工程化不仅是一种有效的方法,它也应当是信息系统开发的一项重要原则。

3.5 其他原则

对于信息系统开发,人们还从不同的角度提出了一系列原则,例如:

  1. 创新性原则,用来体现信息系统的先进性 ;
  2. 整体性原则,用来体现信息系统的完整性 ;
  3. 发展性原则,用来体现信息系统的超前性 ;
  4. 经济性原则,用来体现信息系统的实用性 。

4 信息系统开发方法

企业信息系统对于企业信息化的重要意义是不言而喻的。从实际运行的效果来看,有些信息系统运行得很成功,取得了巨大的经济效益和社会效益;但也有些信息系统效果并不显着,甚至还有个别信息系统开始时还能正常运行,可时间一长,系统就故障不断,最后走上报废之路。是什么导致这样截然不同的结果呢?当然,这里的原因可能很复杂,但有一个原因是十分重要和关键的,那就是信息系统的开发方法问题。

信息系统是一个极为复杂的人-机系统,它不仅包含计算机技术 、 通信技术,以及其他的工程技术,而且,它还是一个复杂的管理系统,还需要管理理论和方法的支持。下面简单介绍几种最常用的信息系统开发方法。

4.1 结构化方法

结构化方法是由结构化系统分析和设计组成的一种信息系统开发方法。结构化方法是目前最成熟 、 应用最广泛的信息系统开发方法之一。它假定被开发的系统是一个结构化的系统,因而,其基本思想是将系统的生命周期划分为系统调查 、 系统分析 、 系统设计 、 系统实施 、 系统维护等阶段。

这种方法遵循系统工程原理,按照事先设计好的程序和步骤,使用一定的开发工具,完成规定的文档,在结构化和模块化的基础上进行信息系统的开发工作。结构化方法的开发过程一般是先把系统功能视为一个大的模块,再根据系统分析设计的要求对其进行进一步的模块分解或组合。

结构化生命周期法主要特点如下:

(1)开发目标清晰化

结构化方法的系统开发遵循 “ 用户第一 ” 的原则,开发中要保持与用户的沟通,取得与用户的共识,这使得信息系统的开发建立在可靠的基础之上。

(2)工作阶段程式化

结构化方法的每个阶段的工作内容明确,注重开发过程的控制。每一阶段工作完成后,要根据阶段工作目标和要求进行审查,这使得各阶段工作有条不紊,也避免为以后的工作留下隐患。

(3)开发文档规范化

结构化方法的每一阶段工作完成后,要按照要求完成相应的文档,以保证各个工作阶段的衔接与系统维护工作的便利。

(4)设计方法结构化

结构化方法采用自上而下的结构化 、 模块化分析与设计方法,使各个子系统间相对独立,便于系统的分析 、 设计 、 实现与维护。结构化方法被广泛地应用于不同行业信息系统的开发中,特别适合于那些业务工作比较成熟 、 定型的系统,如银行 、 电信 、 商品零售等行业。

4.2 原型法

原型法是一种根据用户需求,利用系统开发工具,快速地建立一个系统模型展示给用户,在此基础上与用户交流,最终实现用户需求的信息系统快速开发的方法。在现实生活中,一个大型工程项目建设之前制作的沙盘,以及大型建筑的模型等都与快速原型法有同样的功效。

应用快速原型法开发过程包括系统需求分析 、 系统初步设计 、 系统调试 、 系统检测等阶段。用户仅需在系统分析与系统初步设计阶段完成对应用系统的简单描述,开发者在获取一组基本需求定义后,利用开发工具生成应用系统原型,快速建立一个目标应用系统的最初版本,并把它提交给用户试用 、 评价,根据用户提出的意见和建议进行修改和补充,从而形成新的版本,再返回给用户。通过这样多次反复,使得系统不断地细化和扩充,直到生成一个用户满意的方案为止。

原型法具有开发周期短 、 见效快 、 与业务人员交流方便的优点,特别适用于那些用户需求模糊,结构性比较差的信息系统的开发。

4.3 面向对象方法

面向对象方法是对客观世界的一种看法,它是把客观世界从概念上看成一个由相互配合而协作的对象所组成的系统。信息系统开发的面向对象方法的兴起是信息系统发展的必然趋势。数据处理包括数据与处理两部分。但在信息系统的发展过程的初期却是有时偏重这一面,有时偏重那一面。在 20 世纪 70— 80 年代,偏重数据处理者认识到初期的数据处理工作是计算机相对复杂而数据相对简单。因此,先有结构化程序设计的发展,随后产生面向功能分解的结构化设计与结构化分析。偏重于数据方面人员同时提出了面向数据结构的分析与设计。到了 20 世纪 80 年代,兴起了信息工程方法,使信息系统开发发展到了新的阶段。

信息工程在实际应用中既表现出其优越性的一面,同时,也暴露了一些缺点,例如,过于偏重数据,致使应用开发受到影响。而面向对象方法则集成了以前各种方法的优点,避免了各自的一些缺点。面向对象的分析方法是利用面向对象的信息建模概念,如实体 、 关系 、 属性等,同时运用封装 、 继承 、 多态等机制来构造模拟现实系统的方法。传统的结构化设计方法的基本点是面向过程,系统被分解成若干个过程。而面向对象的方法是采用构造模型的观点,在系统的开发过程中,各个步骤的共同的目标是建造一个问题域的模型。

在面向对象的设计中,初始元素是对象,然后将具有共同特征的对象归纳成类,组织类之间的等级关系,构造类库。在应用时,在类库中选择相应的类。

4.4 面向服务的方法

OO 的应用构建在类和对象之上,随后发展起来的建模技术将相关对象按照业务功能进行分组,就形成了构件( Component )的概念。对于跨构件的功能调用,则采用接口的形式暴露出来。进一步将接口的定义与实现进行解耦,则催生了服务和面向服务( Service-Oriented , SO )的开发方法。

从应用的角度来看,组织内部 、 组织之间各种应用系统的互相通信和互操作性直接影响着组织对信息的掌握程度和处理速度。如何使信息系统快速响应需求与环境变化,提高系统可复用性 、 信息资源共享和系统之间的互操作性,成为影响信息化建设效率的关键问题,而 SO 的思维方式恰好满足了这种需求。

目前, SO 方法是一个较新的领域,许多研究和实践还有待进一步深入。但是,它代表着不拘泥于具体技术实现方式的一种新的系统开发思想,已经成为信息系统建设的大趋势,越来越多的组织开始实施 SO 的信息系统。


转载地址:http://qfdcf.baihongyu.com/

你可能感兴趣的文章
golang反射基本准则
查看>>
2020-11-30-golang并发模式context
查看>>
知名定律摘要-持续更新
查看>>
golang value part
查看>>
golang-reflect-method-callback
查看>>
系统性能和TCP/UDP网络优化-学习大杂烩
查看>>
shader入门精要2
查看>>
shader入门精要3
查看>>
刷一下leetcode算法题,寻找两个正序数组的中位数
查看>>
2021-03-12
查看>>
戴森球计划这个游戏牛逼
查看>>
Redis 学习part one
查看>>
Bitcoin比特币源码解读——网络协议
查看>>
python+opencv学习(一)
查看>>
python 基于Opencv图像对比
查看>>
python +pytest 最强自动化
查看>>
python之json和dick数据类型
查看>>
python 类和方法,继承
查看>>
完全背包
查看>>
吴恩达深度学习编程作业(1-1):Logistic Regression with a Neural Network mindset
查看>>