1、第2章 管理信息系统的战略规划和开发方法,2.1 管理信息系统的战略规划的概念 2.1.1 管理信息系统的战略规划 战略(Strategy)是组织领导者关于组织某些问题的概念的集合,主要包括:组织的使命和长期目标、组织的环境约束及政策以及组织当前的计划和计划指标的集合。 1. 战略规划的特点 战略规划的有效性包括两个方面:一方面是战略正确与否,正确的战略应当做到组织资源和环境的良好匹配;另一方面是战略是否适合于该组织的管理过程,也就是和组织活动匹配与否。一个有效的战略一般具有以下特点。 (1) 目标明确 (2) 可执行性良好,(3) 组织人事落实 (4) 灵活性好 2. 战略规划的内容 战略规
2、划的内容由以下三个要素组成。 (1) 方向和目标:经理在设立方向和目标时有自己的价值观和自己的抱负,但是他必须要考虑到外部的环境和自己的长处,因而最后确定的目标总是这些相关因素的折衷,这往往是主观的。一般来说,最后确定的方向和目标绝不是一个人的愿望。 (2) 约束和政策:就是要找到环境和机会与自己组织资源之间的平衡。要找到一些最好的活动集合,使它们能最好地发挥组织的长处,并最快地达到组织的目标。这些约束和政策所考虑的机会是现在还未出现的机会,所考虑的资源是正在寻找的资源。 (3) 计划与指标: 这是近期的任务,计划的责任就在于进行机会和资源的匹配。但是这里考虑的是现在的情况,或者说是不久将来的
3、情况。由于是短期,有时可以做出最优的计划,以达到最好的指标。 3. 战略规划的执行 战略规划的实现和操作存在两个先天性的困难,具体如下。,(1) 这种规划一般均是一次性的决策过程,它是不能预先进行实验的。用一些管理科学理论建立的模型与决策支持系统,常常得不到管理人员的承认,他们喜欢用自己的经验建立启发式模型。由于其具有一次性的性质,所以难以确定哪种方式正确。 (2) 参加规划的专家多为企业中的人员,他们对以后实现规划负有责任。由于战略规划总是要考虑外部的变化,因而要求进行内部的变革以适应外部的变化,这种变革又是这些企业人员所不欢迎的,这样他们就有可能在实行这种战略规划时持反对态度。 为了执行好
4、战略规划,应当做到以下三点。 (1) 做好思想动员工作:让各种人员了解战略规划的意义,使各层干部均能加入战略规划的实施。要让高层人员知道吸收外部人员参加规划的优点,要善于使执行计划的人了解制定规划的人的意图,对于一些大企业战略计划的新思想应当与企业的文化形式相符合,或者以企业习惯的方式推行新的内容。一旦规划制定,就不要轻易改动。 (2) 把规划活动当成一个连续的过程:在规划制定和实行的过程中要不断地进行“评价与控制”,也就是不断地综合集成各种规划和负责执行这种规划的管理,不断调整。一个好的战略管理应当包含内容有:建立运营原则;确定企业地位;设立战略目标;进行评价与控制。 这些内容在整个运营过程
5、中是动态的和不断修改的。,(3) 激励新战略思想:战略规划的重要核心是战略思想,激励新战略思想的产生是企业获得强大生命力的源泉。 4. 管理信息系统的战略规划 一个管理信息系统的规划应包括:组织的战略目标、政策和约束、计划和指标的分析;管理信息系统的目标、约束和计划指标的分析;应用系统或系统的功能结构,信息系统的组织、人员、管理和运行;以及信息系统的效益分析和实施计划等。进行管理信息系统的战略规划一般包括下列步骤,如图2-1所示。 第1步,规划基本问题的确定,包括规划的年限、规划的方法,确定集中式还是分散式的规划,以及是进取还是保守的规划。 第2步,收集初始信息,包括从各级干部、卖主相似的企业
6、、本企业内部各种信息系统委员会、各种文件以及书籍和杂志中收集的信息。 第3步,对现存状态的评价和识别计划约束,包括目标、系统开发方法对规划活动的影响、现存硬件和它的质量、信息部门人员、运行和控制、资金、安全措施、人员经验、手续和标准、中期和长期优先序、外部和内部关系、现存的设备、现存软件及其质量以及企业的思想和道德状况。,图2-1 管理信息系统战略规划步骤,第4步,设置目标。该操作应由总经理和计算机委员会来执行,应包括服务的质量和范围、政策、组织以及人员等。该目标不仅包括信息系统的目标,还应该包括整个企业的目标。 第5步,准备规划矩阵。规划矩阵是信息系统规划内容相互之间的关系所组成的矩阵,这些
7、矩阵列出后,就确定了各项内容以及它们实现的优先序。 第69步,识别上面所列出的各种活动,是一次性的、工程项目性质的活动,还是一种重复性的、经常进行的活动。由于资源有限,所有的项目不可能同时进行,只有选择一些最有效益的项目先进行,同时要正确选择工程类项目和日常重复类项目的比例,正确选择风险大的项目和风险小的项目的比例。 第10步,确定项目的优先权、估计项目成本以及人员要求。 第11步,编制项目的实施进度计划。 第12步,将战略长期规划书写成文,在此过程中不断地与用户、 信息系统工作人员以及信息系统委员会的领导交换意见。 第13步,写出的规划需要经总经理批准才能生效,并宣告战略规划任务的完成。如果
8、总经理没批准,只好再重新进行规划。,2.1.2 诺兰阶段模型及其指导作用 1. 诺兰阶段模型 计算机应用到一个组织的管理,一般要经历从初级到高级的成长过程。诺兰(Nolan)于1973年首次提出了信息系统发展的阶段理论,被称为诺兰阶段模型;1980年,诺兰进一步完善模型,将信息系统的成长过程划分为六个不同阶段。 (1) 初装:组织购置第一台计算机并初步开发管理应用程序。计算机的作用被初步认识到,个别人具有了初步使用计算机的能力。一般而言,“初装”阶段大多发生在单位的财务、人事等数据处理量大的部门。 (2) 蔓延:应用初见成效,信息系统(管理应用程序)从少数部门扩散到多数部门,并开发了大量的应用
9、程序,使组织的事务处理效率有了提高。同时出现了数据冗余性、不一致性以及难以共享等有待解决的问题,只有一部分计算机的应用收到了实际的效益。 (3) 控制:计算机数量超出控制,预算每年以30%40%或更高的比例增长,投资的回报不理想。应用项目不断积累,要求加强组织协调,出现了由组织的领导和职能部门负责人参加的领导小组,对整个组织的系统建设进行统筹规划,特别是利用数据库技术解决数据共享问题。该阶段是实现从以计算机管理为主到以数据管理为主转换的关键。,(4) 集成:在控制的基础上,对子系统中的硬件进行重新连接,建立集中式的数据库及能够充分利用和管理各种信息的系统。重新装备大量设备,预算费用又一次迅速增
10、长。 (5) 数据管理:集成阶段之后,将会进入数据管理阶段。 (6) 成熟:成熟的信息系统可以满足组织中各管理层次(高层、中层、基层)的要求,从而真正实现信息资源的管理。 2. 诺兰阶段模型的作用 诺兰阶段模型总结了管理信息系统发展的经验和规律,其基本思想对于管理信息系统的建设具有指导意义。一般认为模型中的各阶段都是不能跳越的。 无论是确定开发管理信息系统的策略,还是制定管理信息系统的规划,都应该首先明确组织当前处于哪一成长阶段,进而根据该阶段特征来指导管理信息系统的建设。,2.1.3 系统规划及其作用 1) 系统规划 系统规划是指根据组织的战略目标和用户提出的需求,从用户的现状出发,经过调查
11、,对所要开发管理信息系统的技术方案、实施过程、阶段划分、开发组织和开发队伍、投资规模、资金来源及工作进度,用系统的、科学的、发展的观点进行全面规划。在进行系统规划时,一般应对现行系统进行以下两种分析。 (1) 创造性分析(Creative Analysis):对现存问题采用新的方法进行调查分析。 (2) 批判性分析(Critical Analysis):毫无偏见地仔细询问系统中各组成部分是否有效益或效率,是否应建立新的关系,是否是超越手工作业系统的自动化;询问用户的陈述和假设,选择合理的解决方法;查清及分析有冲突的目标及发展方向。 2) 作用 系统规划的作用:从整体上把握管理信息系统的开发,有
12、利于集中全部资源优势,使其得到合理配置与使用;使开发的目标系统与用户建立良好的关系;促进管理信息系统的开发与深化;作为系统开发的标准;促使管理人员回顾过去的工作,发现可以改进的薄弱环节。,3) 内容 系统规划的内容:组织的战略目标、计划和指标分析、外部环境与管理现状调查;用户的需求调查与分析;新的管理信息系统的目标、计划和指标分析、功能结构、组织运行和管理、效益分析和规划以及新的管理信息系统的运行环境、资源选型和开发计划。 4) 一般步骤 系统规划的步骤:分析组织的战略规划;根据组织的战略规划确定系统开发总目标(以前未规划的系统项目);设立优先级并选择项目;分析资源需求;设定时间进度和最终期限
13、;编制系统规划文档。 5) 系统规划阶段的成果 (1) 技术文档:系统规划报告。 (2) 管理文档:开发计划、开发合同以及系统规划报告评审意见。,2.2 制定管理信息系统的战略规划的常用方法,2.2.1 关键成功因素法 1970年,哈佛大学教授William Zani在MIS模型中使用了关键成功变量,这些变量是确定MIS成败的因素。10年后,MIT教授Jone Rockart 将CSF提高成为MIS的战略。有人把这种方法用于数据库的分析与建立,其步骤为:了解企业目标;识别关键成功因素;识别性能的指标和标准;识别测量性能的数据。具体如图2-2所示。,图2-2 数据库的分析与建立的步骤,关键成功因
14、素法通过目标分解和识别、关键成功因素识别、性能指标识别,产生数据字典。关键成功因素就是要识别与系统目标联系的主要数据类及其关系,识别关键成功因素所用的工具是树枝因果图。如图2-3所示,某企业有一个目标,是提高产品竞争力,可以用树枝图画出影响它的各种因素,以及影响这些因素的子因素。如何评价这些因素中哪些因素是关键成功因素,不同的企业采取的方式也不同。对于习惯于高层人员个人决策的企业,主要由高层人员个人在此图中选择;对于习惯于群体决策的企业,可以用德尔斐法或其他方法将不同人设想的关键因素综合起来。关键成功因素法在高层应用的效果一般比较好。,图2-3 某企业的树枝图,2.2.2 战略目标集转化法 W
15、illiam King于1978年提出战略目标集转化法,将整个战略目标看成“信息集合”,由使命、目标、战略和其他战略变量组成。MIS的战略规划过程就是将组织的战略目标转变为MIS战略目标的过程。 第一步,识别组织的战略集,首先考查该组织是否有成文的战略式长期计划,如果没有,就要去构造这种战略集合。构造这种战略集合的步骤如下。 (1) 描绘出组织各类人员结构,如卖主、经理、雇员、供应商、顾客、贷款人、政府代理人、地区社团及竞争者等。 (2) 识别每类人员的目标。 (3) 对于每类人员识别其使命及战略。 第二步,将组织战略集转化成MIS战略,MIS战略应包括系统目标、约束以及设计原则等。这个转化的
16、过程包括对应组织战略集的每个元素识别对应的MIS战略约束,然后提出整个MIS的结构。 第三步,选出一个方案送总经理审批。,2.2.3 企业系统规划法 20世纪70年代初,IBM公司将BSP作为用于内部系统开发的一种方法,它主要是基于用信息支持企业运行的思想。 1. 基本思想 企业系统规划法的基本思想:信息支持企业运行。通过自上而下地识别系统目标、企业过程和数据,然后对数据进行分析,自下而上地设计管理信息系统。该管理信息系统支持企业目标的实现,表达所有管理层次的要求,向企业提供一致性信息,对组织机构的变动具有适应性。 2. 作用 企业系统规划法的作用:确定未来信息系统的总体结构;明确系统的子系统
17、的组成和开发子系统的先后顺序;对数据进行统一规划、管理和控制,明确各子系统之间的数据交换关系,保证信息的一致性。 企业系统规划法的优点在于利用它能保证管理信息系统独立于企业的组织机构,也就是能够使信息系统具有对环境变更的适应性。,3. 基本原则 企业系统规划法的基本原则如下。 (1) 必须支持企业的战略目标。 (2) 应当表达出企业各个管理层次的需求。 (3) 应该向整个企业提供一致信息。 (4) 应该经得起组织机构和管理体制的变化。 先“自上而下”识别和分析,再“自下而上”设计。 4. 一般步骤 BSP方法是把企业目标转化为信息系统(IS)战略的全过程,它支持的目标是企业各层次的目标。BSP
18、详细步骤如图2-4所示。 1) 开始的动员会 动员会要说明工作的期望和期望输出。系统组要简介企业的现状,包括政治上、经济上以及管理上敏感的问题,还应介绍企业的决策过程、组织功能、关键人物、用户的期望以及用户对现有信息系统的看法等。由信息系统负责人介绍信息人员对企业的看法,同时应介绍现有项目状况、历史状况以及信息系统的问题。通过介绍使大家对企业和对信息支持的要求进行全面了解。,图2-4 BSP详细步骤,2) 定义企业过程 定义企业过程又称识别企业过程,是BSP方法的核心。系统组每个成员均应全力以赴识别它们、描述它们,对它们要有透彻的了解,只有这样BSP方法才能成功。企业过程定义为逻辑上相关的一组
19、决策和活动的集合,这些决策和活动是管理企业资源所需要的。 整个企业的管理活动由许多企业过程组成。识别企业过程可对企业如何完成其目标具有深刻的了解;识别企业过程还可以作为信息识别构成信息系统的基础,按照企业过程所建造的信息系统,在企业组织变化时可以不必改变,或者说信息系统相对独立于组织。 识别企业过程要依靠现有材料进行分析研究,但更重要的是要与有经验的管理人员讨论商议。首先从第一个源计划与控制出发,经过分析、讨论、研究及切磋,可以把企业战略规划和管理控制方面的过程列于表2-1中。,表2-1 企业战略规划和管理控制方面的过程,识别产品与服务过程与此略有不同。众所周知,任何一种产品的生命周期均由要求
20、、获得、服务和退出四个阶段组成,对于每一个阶段,将用一些过程对它进行管理,如表2-2所示。支持资源识别企业过程的方法类似于产品和服务,根据资源的生命周期列举出企业过程。一般来说,企业资源包括资金、人才、材料和设备,如表2-3所示。 识别企业过程的另一种方法是“通用模型法”,如图2-5所示。 这个模型不断扩展,以适应特殊企业的需要。例如,“需求”可以扩展成“商品化”和“销售”,“需求”联系于使产品或服务生效的过程,其外部接口是顾客。如果将以前所讲的识别过程的方法看成是由微观到宏观的枚举综合,那么这种方法就是由宏观到微观的分解。,表2-2 识别产品与服务过程,表2-3 资源识别企业过程,图2-5
21、识别企业过程通用模型法,识别企业过程是BSP方法成功的关键。识别过程输出的文件包括:一个过程组及过程表;每一过程的简单说明;一个关键过程的表,即识别满足目标的关键过程;产品/服务过程的流程图。 通过此步骤,系统组成员就能很好地了解企业的整个运营是如何管理和控制的。 3) 定义数据类 识别企业数据的方法有两种,一种是企业实体法,实体有顾客、产品、材料以及人员等客观存在的东西。企业实体法首先是列出企业实体,一般来说要列出715个实体;然后列出一个矩阵,实体列于水平方向,在垂直方向列出数据类,如表2-4所示。 另一种识别数据的方法是企业过程法,它利用以前识别的企业过程,分析每一个过程利用什么数据,产
22、生什么数据,或者说每一过程的输入和输出数据是什么。它可以用输入处理输出图来形象地表达,如图2-6所示。,表2-4 数据/企业实体矩阵,图2-6 输入处理输出图,4) 分析企业和系统的关系主要用几个矩阵来表示 分析企业和系统的关系主要是用几个矩阵来表示,例如组织/过程矩阵,它在水平方向列出各种过程,垂直方向列出各种组织,如果该组织是该过程的主要负责者或决策者,则在对应的矩阵元中画“”;若为主要参加者就画“x”;若为部分参加者就画“/”,这样就会一目了然。如果企业已有现行系统;我们可以画出组织和系统矩阵,在矩阵元中填C,表示该组织用该系统;如果该组织以后想用某系统可以在矩阵元中填入P,表示该组织计
23、划用该系统。同理,可以画出系统过程矩阵,用以表示某系统支持某过程。同样可以用C和P表示现行和计划。用同样的方法还可以画出系统和数据类的关系。 5) 确定经理的想法就是确定企业领导对企业前景的看法 确定经理的想法就是确定企业领导对企业前景的看法。作为系统组的成员就应当充分准备采访提纲,积极地采访以及及时并准确地进行分析总结等。 一般来说,所提问题应是open up型;即打开话匣子型,而不应当是close down型,即只要求回答是否式的问题。 6) 评价企业问题和收益 在确定好企业领导对企业前景的看法后,应当根据这些资料来评价企业的问题,评价过程的流程图如图2-7所示。,由图2-7可知,第一步是
24、总结采访数据,将其汇集到一张表中,如表2-5所示。,图2-7 评价企业问题的流程图,表2-5 总结采访数据,第二步是分类采访数据,任何采访的数据均要分三类,即现存系统的问题和解、新系统需求和解以及非IS问题。第三类问题虽不是信息系统所能解决的,但也应充分重视,并整理递交总经理。 第三步是将数据和过程关联起来,可以用问题/过程阵表示,其中数字表示这种问题出现的次数,如表2-6所示。7) 定义信息结构 定义信息结构实际上就是划分子系统。BSP方法根据信息的产生和使用来划分子系统,它尽量将信息产生的企业过程和使用的企业过程划分在一个子系统中,从而减少子系统之间的信息交换,具体的作法是使用U/C图,其
25、中U表示使用(Use),C表示产生(Create),如图2-8所示。,表2-6 问题/过程阵,图2-8 U/C矩阵,由图2-8可知,企业过程列于垂直方向,数据类列于水平方向。如果某过程产生某数据,就在某行某列矩阵元中写C;如果某过程使用某数据,则在其对应元中写U。开始时数据类和企业过程是随机排列的,U、C在矩阵中的排列也是分散的。我们以调换企业过程和数据类的顺序的方法尽量使UC集中到对角线上排列,如图2-8所示;然后把UC比较集中的区域用粗线条框起来,这样形成的框就是一个个子系统;在粗框外的U表示一个系统用另一个子系统的数据,图中用带箭头的线表示。这样就完成了子系统的划分,即确定了信息结构的主
26、流。 8) 定义结构优先序 定义结构优先序就是确定系统优先顺序,将子系统按先后顺序列出开发计划。 9) 评价信息系统管理 10)完成BSP研究报告,开发建议书和行动计划 2.2.4 三种系统规划方法的比较 CSF方法能抓住主要矛盾,使目标的识别突出重点。用这种方法所确定的目标和传统的方法衔接得比较好,但是一般最有利的只是在确定管理目标上。,SST方法从另一个角度识别管理目标,它反映了各种人的要求,而且给出了按这种要求的分层,然后转化为信息系统目标的结构化方法。它能保证目标比较全面,疏漏较少,但它在突出重点方面不如CSF方法。 BSP方法虽然也首先强调目标,但它没有明显的目标引出过程。它通过管理
27、人员酝酿“过程”引出了系统目标,企业目标到系统目标的转换是通过组织/系统、组织/过程以及系统/过程矩阵的分析得到的。这样可以定义出新的系统以支持企业过程,也就把企业的目标转化为系统的目标,所以识别企业过程是BSP战略规划的中心,绝不能将BSP方法的中心内容当成U/C矩阵。 若将这三种方法结合起来使用,则称它为CSB方法,即CSF、SST和BSP结合。这种方法首先用CSF方法确定企业目标;然后用SST方法补充完善企业目标,并将这些目标转化为信息系统目标;最后用BSP方法校核两个目标,并确定信息系统结构,这样就补充了单个方法的不足。当然这也使得整个方法过于复杂,而削弱了单个方法的灵活性。到目前为止
28、,信息系统战略规划还没有一种十全十美的方法。由于战略规划本身的非结构性,可能永远也找不到唯一解。进行任何一个企业的规划均不应照搬以上方法,而应当具体情况具体分析,选择以上方法可取的思想,灵活运用。,2.3 系统的结构化开发方法,2.3.1 系统结构化开发方法的基本思想 用系统的思想和系统工程的方法,按照用户至上的原则,结构化、模块化、自上向下地对系统进行分析与设计。将整个信息系统的开发过程划分为若干个相对独立的阶段,例如系统规划、系统分析、系统设计和系统实施等。在前三个阶段坚持自上向下地对系统进行结构化划分。在系统调查和规划管理业务时,应从最顶层的管理业务入手,逐步深入至最基层;在系统分析阶段
29、提出目标系统方案和系统设计时,应从宏观整体考虑入手,先考虑系统整体的优化,然后再考虑局部的优化问题;在系统实施阶段,则坚持自底向上地逐步实施,即组织人员从最基层的模块做起(编程),然后按照系统设计的结构,将模块一个个拼接到一起进行调试,自底向上、逐步地构成整个系统。,2.3.2 系统结构化开发方法的开发过程 用结构化系统开发方法(Structured System Development Methodology)开发一个系统时,将整个开发过程划分为首尾相连的五个阶段,即一个生命周期(Life Cycle)。 (1) 系统规划:根据用户的系统开发请求,进行初步调查,明确问题,确定系统目标和总体结
30、构,确定分阶段实施进度,然后进行可行性研究。 (2) 系统分析:分析业务流程、数据与数据流程以及功能与数据之间的关系,最后提出分析处理方式和新系统逻辑方案。 (3) 系统设计:进行总体结构设计、代码设计、数据库(文件)设计、输入/输出设计、模块结构与功能设计,根据总体设计,配置与安装部分设备,进行试验,最终给出设计 方案。 (4) 系统实施:同时进行编程(由程序员执行)和人员培训(由系统分析设计人员培训业务人员和操作员),以及数据准备(由业务人员完成),然后投入试运行。 (5) 系统运行与维护:进行系统的日常运行管理、评价和监理审计,修改、维护和局部调整,在出现不可调和的大问题时,进一步提出开
31、发新系统的请求,旧系统生命周期结束,新系统诞生,构成系统的一个生命周期。,在每一阶段中,又包含若干步骤,步骤在每一阶段中可以不分先后顺序,但仍有因果关系,因此在总体上不能打乱。系统结构化开发的思想是将结构与控制加入到项目中,以便使活动在预定的时间和预算内完成。结构化系统开发方法主要包括以下步骤。 (1) 问题定义:找出和评估现行系统存在的问题。 (2) 可行性分析:制定新系统的目标;对备选各设计方案作初步分析,包括技术可行性和经济可行性分析;确定系统设计方案,估计预期成本和项目进度。 (3) 系统分析:对现行系统进行详细研究,包括业务流程、工作组织和管理控制方法;用逻辑模型描述现行系统;制定新
32、系统逻辑模型。 (4) 系统设计:划分子系统;系统流程设计,包括过程逻辑定义;数据字典、数据库设计;成本效益分析 (Cost-benefit analysis)等。 (5) 详细设计:编码设计、文件设计和输入/输出设计等;程序说明书设计;制定项目实施和测试进度表。 (6) 系统实施:硬件评估和选择;编码、编写程序与文档;人员培训计划;程序测试与系统监控。 (7) 系统维护:对系统进行日常运行和维护以及进行系统评价。,2.3.3 系统结构化开发方法的特点 (1) 自顶向下整体地进行分析与设计和自底向上逐步实施的系统开发过程:在系统规划、分析与设计阶段,从整体全局考虑,自顶向下地工作;在系统实施阶
33、段则根据设计的要求,先编制具体的功能模块,然后自底向下逐步实现整个系统。 (2) 用户至上是影响成败的关键因素,在整个开发过程中,要面向用户,充分了解用户的需求与愿望。 (3) 符合实际,客观性和科学化,即强调在设计系统之前,深入实际详细地调查研究,努力弄清楚实际业务处理过程中的每一个细节,然后分析研究,制定出科学合理的目标系统设计方案。 (4) 严格区分工作阶段,把整个开发过程划分为若干工作阶段,每一个阶段都有明确的任务和目标以及预期达到的工作成效,以便计划和控制进度,协调各方面的工作。前一阶段的工作成果是后一阶段的工作依据。 (5) 充分预料可能发生的变化:环境变化、内部处理模式变化以及用
34、户需求发生变化。 (6) 开发过程工程化,要求开发过程的每一步都要按工程标准规范化,工作文体或文档资料标准化。,2.3.4 系统结构化开发方法的优缺点 系统结构化开发方法适合于大型信息系统的开发,它的主要优点如下。 (1) 注重系统开发过程的整体性和全局性。在开发策略上强调采用“自顶向下”的原则分析和设计系统,首先解决全局问题,强调在系统整体优化的前提下,考虑具体的解决方案。 (2) 严格区分工作阶段。整个开发过程的阶段和步骤都非常清晰,每一个阶段和每一个步骤均有明确的成果,并可作为下一步工作的依据,以避免造成浪费和混乱。 (3) 立足全局,步步为营,减少返工,有利于提高开发质量,加快开发进度
35、。 (4) 目标明确,阶段性强,开发过程易于控制。 结构化系统开发方法的一些缺陷如下。 (1) 开发过程复杂繁琐,难以准确定义用户需求。 (2) 系统开发周期过长,难以适应环境的变化。 (3) 见效慢,风险较大。 (4) 相当耗费资源。 (5) 不适用于面向决策的系统开发,适用于大型系统和复杂系统。,2.4 系统开发的原型法,2.4.1 原型法基本思想 在管理信息系统开发的开始阶段,凭借系统开发人员对用户需求的理解与用户共同确定系统的基本要求和主要功能,在强有力的硬件和软件环境支持下,给出一个满足用户需求的初始系统原型,然后与用户反复协商修改,最终形成MIS系统。它的基本思想是:系统开发人员首
36、先对用户提出的问题进行理解、研究和总结,快速建立原型系统并运行。在运行过程中,不断发现新情况、新问题,反复修改,增加新功能,直到用户满意为止。 2.4.2 原型定义的策略 原型法是以一种与严格定义法截然不同的观点看待需求定义问题的方法。原型化的需求定义过程是一个开发人员与用户通力合作的反复过程。从一个能满足用户基本需求的原型系统开始,允许用户在开发过程中提出更好的要求,根据用户的要求不断地对系统进行完善,它实质上是一种迭代的、循环型的开发方式,如图2-9所示。,采用原型法时需要注意以下几个问题。 (1) 并非所有的需求都能在系统开发前被准确地说明。 (2) 项目参加者之间通常都存在交流上的困难
37、,原型提供了克服该困难的一个手段。 (3) 需要实际的、可供用户参与的系统模型。 (4) 有合适的系统开发环境。 (5) 反复是完全需要和值得提倡的,但需求一旦确定,就应遵从严格的方法。,图2-9 原型法的开发过程,2.4.3 原型法的特点 (1) 原型法符合人们认识事物的规律,人们认识事物不可能一次就完全了解。 (2) 原型法有利于项目的开发者和用户之间进行交流。 (3) 实际的原型为准确认识问题创造了条件。 (4) 能充分利用最新的系统开发环境。 (5) 原型法将系统的调查、分析和设计融为一体。 2.4.4 原型法的开发环境 1. 对软件的基本要求 (1) 集成化的数据字典。用来保存全部有
38、关的系统实体(例如数据元素、程序、屏幕格式和报告等)的定义和控制信息,它可以辅助生成系统的某些部件。 (2) 高性能的数据库管理系统。它使文件的设计、数据的存储和查询更为方便,并简化了程序的开发。 (3) 超高级语言。例如第四代语言(4GLS),它能支持结构化程序技术且交互性能强,可以减轻复杂的编码过程。,(4) 报告生成器。与数据字典融为一体,允许原型开发人员使用非过程化的语言,快速生成自由格式的用户报表。 (5) 屏幕格式生成器。能够快速建成用户所需的屏幕格式。 (6) 自动文档编写机制。与数据字典相联系,随着原型化开发的进行,能够自动保存和维护所产生的文档。 前面所说的第四代语言(Fou
39、rth Generation Langnage,4GL),与我们通常使用的过程式语言(也称第三代语言(Third Generation Language,3GL)相比,其主要的特点是:面向结果而不是面向过程,用户界面友善,编码行要比3GL少得多,高度交互地解释执行,有某些编译性的特征。 在原型化开发中,开发工具的集成化是相当重要的,图2-10描述了一个集成化的软件开发环境。其中,一个集成化的数据字典将各种资源和开发工具加以联系,所有的工具都通过数据字典进行通信,形成一体化的开发环境,从而使得高效率的原型开发成为可能。,图2-10 集成化的软件开发的环境,2. 对工作环境的基本要求 为了提高原型
40、开发的生产率,需要提供一个合适的工作环境,例如以下几种。 (1) 系统开发工作室。一个自封闭式的工作环境,有利于促进合作、减少约会时间以及提高数据和资料的利用率。 (2) 快速响应的环境在原型演示过程中是很有必要的。一般的要求是:交互式过程中,响应不得超过5 s;批处理方式中,响应不能超过15 min。如果用户在屏幕前等待时间过长,将会削弱对原型的兴趣和信心。 (3) 规范的原型构成过程。必要的规范和标准能加快原型的建立和向最终系统的转换。利用规范的开发技术,将使现有程序“切割和粘贴”出新程序成为可能,从而加快开发 速度。 (4) 演示设施是审查和评价原型的重要手段。有条件时可将显示器与大屏幕
41、投影机相连,只要有必要,就可对任何屏幕形式展开讨论。,2.4.5 原型法的优缺点和适用范围 其主要有以下几个优点。 (1) 原型法以用户为中心开发系统,提供了一个验证用户需求的环境,允许在系统开发生命期的早期进行人机交互测试,提高了人们对最终系统的安全感,便于应用实例来建立新系统。 (2) 原型法加强了开发过程中的用户参与程度。 (3) 原型法可以接受需求的变动和风险。 (4) 原型法对用户具有强大的吸引力。 (5) 原型法可以缓和通信和交流的困难,可以提供很好的系统说明和示范,可以简化开发过程的项目管理和文档编制。 作为一种具体的开发方法,原型法不是万能的,有其一定的适用范围和局限性,具体如
42、下。 1. 原型法的局限性 (1) 对于大型的系统,如果不经过系统分析来进行整体性划分就想直接用屏幕一个一个进行模拟,那是很困难的。,(2) 对于大量的运算、逻辑性较强的程序模块,原型法很难构造一个合适的模型来供人评判。 (3) 对于原基础管理不善、信息处理混乱的问题,使用原型法有一定困难。 (4) 对于批处理系统,因其大部分是内部处理,因此使用原型法有一定困难。 2. 原型法的适用范围 (1) 适用于小型、局部系统。 (2) 适用于规模较小的系统。 (3) 适用于业务处理过程比较简单或不太复杂的系统。 (4) 适用于业务需求相对较为确定(不一定很明确)的系统。 (5) 适用于具有较丰富系统开
43、发经验的人员采用。,2.5 面向对象方法,2.5.1 面向对象方法的基本思想 面向对象方法使设计的软件尽可能直接地描述现实世界,构造模块化、可重用、维护性好的软件且能控制软件的复杂性和降低开发费用。面向对象方法具有下述四个要点。 (1) 认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。因此,面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的对象组合而成。 (2) 把所有对象都划分成各种对象类(简称为类Class),每个对象类都定义了一组数据和一组方法,数据用于表示对象的静态属性,是对象的状态信息。因此,每当
44、建立该对象类的一个新实例时,就按照类中对数据的定义为这个新对象生成一组专用的数据,以便描述该对象独特的属性值。 (3) 按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。 (4) 对象彼此之间仅能通过传递消息互相联系。,2.5.2 面向对象开发方法的基本概念 面向对象开发方法的中心是围绕着对象、类、属性、事件和消息等概念展开的,其中对象和类是该方法的核心。 1) 对象 对象(Object)就是客观世界中的任何事物在计算机程序世界里的抽象表示,或者说,是现实世界中个体的数据抽象模型。对象是一个封闭体,它由一组数据和施加于这些数据上的一组操作
45、构成。对象由这样几个部分组成:对象的标识、数据、操作和接口。 (1) 标识:即对象的名称,用来在问题域中与其他对象相区别。 (2) 数据:描述对象属性的存储或数据结构,表明了对象的一种状态。 (3) 操作:即对象的行为,分为两类,一类是对象自身承受的操作,即操作结果修改了自身原有属性状态;另一类是施加于其他对象的操作,即将产生的输出结果作为消息发送的操作。 (4) 接口:主要是指对外接口,是指对象受理外部消息所指定操作的名称集合。 面向对象方法中的对象就是一些可重用部件,是面向对象程序设计的基本元素。,2) 类 类(Class)又称对象类,是具有相同或相似结构、操作和约束规则的对象组成的集合,
46、是一组对象的属性和行为特征的抽象描述,或者说,是具有共同属性、共同操作方法(性质)的对象集合。 类中最基础的称为基类,是其他子类派生的基础。子类是在继承基类的基础上,又增加一些新的特性与功能构成的。 类由类说明和类实现两部分组成:类说明描述了对象的状态结构、约束规则和可执行的操作,定义了对象类的作用和功能;类实现是由开发人员研制实现对象类功能的详细过程以及方法、算法和程序。 3) 属性 属性(Attribute)就是对象的特性,是对象外观及行为的特征。对象的属性可以在建立对象时从其所属的类(或子类)继承,也可以在对象创建或运行时进行修改与设置。 4) 事件 事件(Event)是对象可以识别和响
47、应的行为与操作,它一般由用户或系统来触发。事件是固定的,用户不能再创建新的事件。,5) 消息 客观世界的各种事物都不是孤立的,而是相互联系、相互作用的。实际问题中的每一个个体也是相互联系、相互作用的,个体之间的相互联系反映了问题的静态结构,相互作用则反映了问题的动态变化。为能够反映出对象或对象类之间的相互联系和相互作用,就需要在他们之间发布、传递消息(Message),即向其他对象发出服务请求。 2.5.3 面向对象开发方法的特性 1) 抽象性 所谓抽象性是指在分析问题时,强调实体的本质、内在属性而忽略一些无关紧要的细节,它是分析问题的基本方法。其作用如下。 (1) 使用抽象性仅涉及应用域的概
48、念而不必涉及问题域的求解,因此可以尽可能避免过早地考虑实现的细节。 (2) 合理地使用抽象性,可以在分析、高级设计、程序结构、数据库结构以及文档化等阶段和过程中使用统一模型(对象模型)。 (3) 抽象性可以帮助我们明确对象是什么、对象做什么,而不必考虑对象怎么做。 2) 继承性,面向对象思想采纳了事物分类的层次思想,在描述类时,某些类之间具有结构和行为的共性。利用类之间的继承关系,可以简化对类的描述。 利用继承机制可以提高软件代码的可重用性。 3) 多态性 在面向对象方法中,多态并不是指一个对象类有多种形态或状态,而是指同一个操作在不同的类中有不同的实现方法和不同的执行结果,即同一消息发送到不
49、同类或对象可导致不同的操作结果。多态性可定义为:“一个类中定义的属性或操作被继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一属性或操作在父类和子类(或子类的子类,可多次继承)中具有不同的语义。” 4) 封装性 封装是一种信息隐藏技术,对象内部对用户是隐藏的,不可直接访问;用户只能见到对象封装界面上的信息,通过对象的外部接口访问对象。用户向对象发送消息,对象根据收到的消息调用内部方法作出响应。封装的目的在于将对象的使用者和设计者分开,使用者无须知道对象内部实现的细节,只需要知道对象接收的消息。,2.5.4 面向对象方法的开发过程 1. 面向对象方法开发过程的四个阶段 (1) 系统调
50、查和需求分析:对系统面临的问题和用户的开发需求进行调查研究。 (2) 分析问题的性质和求解问题:在复杂的问题域中抽象识别出对象及其行为、结构、属性和方法。这一个阶段一般称为面向对象分析(Object Oriented Analysis,OOA)。 (3) 整理问题:对分析的结果进一步抽象、归类整理,最终以范式的形式确定下来,即面向对象设计(Object Oriented Design,OOD)。 (4) 程序实现:使用面向对象的程序设计语言将其范式直接映射为应用程序软件,即面向对象实现(Object Oriented,OOP),它是一个直接映射过程。 2. OOA方法 面向对象分析的关键是识别出问题域内的对象,并分析他们相互之间的关系,最终建立起问题域的正确模型。 通常,面向对象分析过程从分析陈述用户需求的文件开始。需求陈述的内容包括:问题范围、功能需求、性能需求、应用环境及假设条件等。,