第三节 开发MIS的方法

    开发管理信息系统的具体方法很多。通常不严格地将它们分为结构化系统开发方法、原型法、面向对象开发方法和 CASE 开发方法等几大类。

一、结构化系统开发方法

    结构化系统开发方法(Structured System Development Methodology)是目前应用得最普遍的一种开发方法。

1.结构化开发方法的含义

    结构化开发方法(Structured System Analysis and Design)(SSA&D),亦称为结构化生命周期法,诞生于20世纪70年代初期。其实是一类方法的总称,是指用系统工程的思想和工程化的方法,按照用户至上的原则,由顶向下整体性分析与设计和自底向上逐步实施的系统开发过程。其最关键的一点就是从系统的角度出发来分析问题和解决问题。面对要开发的系统,从层次的角度,自顶向下地分析和设计系统,认为任何系统都有一个从发生、发展到消亡的生命周期,新系统是旧系统的继续。开发过程强调严格的规范管理,工作文档要成文、标准化。

2.结构化开发准则

    结构化开发方法是系统工程思想和工程化方法在系统开发领域的运用。它是先将整个信息系统开发过程划分出若干个相对独立的阶段,如系统规划、系统分析、系统设计、系统实施等,再严格规定每一阶段的任务和工作步骤,同时提供便于理解和交流的开发工具方法(图表)。在系统分析时,采用由顶向下逐层分解,由抽象到具体的逐步认识问题的过程;在系统设计时,先考虑系统整体的优化,然后再考虑局部的优化问题;在系统实施时,则坚持自底向上,先局部后整体,通过标准化模块的链接形成完整的系统。

3.结构化系统开发方法的开发过程

    用结构化系统开发方法一个系统,将整个开发过程划分为首尾相连的五个阶段,即一个生命周期(Life Cycle):

    在每一阶段中,又包含若干步骤,步骤在阶段可以不分先后,但仍有因果关系,总体上不能打乱。

1

结构化系统开发方法开发阶段示意图

4.关于结构化系统开发方法的评价

5.结构化系统开发方法的特点及适用范围

    自顶向下整体地进行分析与设计和自底向上逐步实施的系统开发过程:在系统规划、分析与设计时,从整体全局考虑,自顶向下地工作;在系统实施阶段则根据设计的要求,先编制一个个具体的功能模块,然后自底向下逐步实现整个系统。

    用户至上是影响成败的关键因素,整个开发过程中,要面向用户,充分了解用户的需求与愿望符合实际, 客观性和科学化,即强调在设计系统之前,深入实际,详细地调查研究,努力弄清实际业务处理过程的每一个细节,然后分析研究,制定出科学合理的目标系统设计方案严格区分工作阶段,把整个开发过程划分为若干工作阶段,每一个阶段有明确的任务和目标,预期达到的工作成效,以便计划和控制进度,协调各方面的工作。前一阶段的工作成果是后一阶段的工作依据。

    充分预料可能发生的变化:环境变化、内部处理模式变化、用户需求发生变化。

    开发过程工程化,要求开发过程的每一步都要按工程标准规范化,工作文体或文档资料标准化。

    适用于:大型系统、复杂系统。

二、原型法(PA)

    原型法(Prototyping Approach)是20世纪80年代随着计算机软件技术的发展,特别是在关系数据库系统、第四代程序设计语言和各种功能强大的辅助系统开发工具产生的基础之上,提出的一种具有全新的设计思想和开发工具的系统开发方法。与结构化方法相比,它扬弃了那种一步步周密细致地调查分析,然后逐步整理出文字档案,最后才能让用户看到结果的繁琐做法。而是一开始就凭借着系统开发人员对用户要求的理解,在强有力的软件环境支持下,迅速给出一个具备一定功能、可运行的系统原型,然后与用户反复协商修改,最终形成实际系统。

1.原型法的含义

    所谓原型,是指由系统分析设计人员与用户合作,在短期内定义用户基本需求的基础上,开发出的一个只具备基本功能、实验性的、简易的应用软件。原型就是可运行的管理信息系统软件,但功能并不十分完善而已。

    所谓原型法,是指借助于功能强大的辅助系统开发工具,按照不断寻优的设计思想,通过反复的完善性实验而最终开发出符合用户要求的管理信息系统的过程和方法。

2.原型法的应用条件

    原型法的开发必须满足四个条件,即:

3.原型法的开发模式和过程

2

4.原型法所需的软件支持环境

    原型法的运用必须有一个前提,那就是要有一个强有力的软件支持环境。一般认为,原型法所需要的软件支撑环境主要有:

5.关于原型法的评价

    原型方法是在信息系统研制过程中的一种简单的实验模拟方法,它扬弃了结构化系统开发方法的某些繁琐细节,继承了其合理的内核,是对结构化开发方法的发展和补充,因而较前者有着明显的优势,但对开发环境的要求更高。

(1)原型法的优点

(2)原型法的局限性

    根据目前的支持工具状况,原型法基本上都是在进入设计阶段之后才具有开发基础。这是因为,在分析阶段直接模拟用户业务领域内的活动,从而演绎出需求模型是相当困难的。这就意味着可实现的原型都是经过设计人员加工的,设计人员的误解总是映射到原型中,因此,在对大型系统原型化的过程(原型制作、评审、反馈)中,反复次数多、周期长、成本高的问题很难解决。对于大型的系统,如果不经过系统分析来进行整体性划分,想要直接用屏幕来一个一个地模拟是很困难的。对于复杂系统(如复杂的控制系统)功能种类多、技术复杂、实现困难,与性能仿真模拟工具和应用业务领域知识密切相关、进入实用阶段的很少,所以原型法很难解决大系统和复杂系统问题,这是第二个局限性。

    对于大量运算的、逻辑性较强的程序模块,原型方法很难构造出模型来供人评价,因为这类问题没有那么多的交互方式,也不是三言两语就可以把问题说清楚的。另外对于有大量批处理的系统,由于交互方式问题,使用原型法也会遇到某些困难。

6.原型法的应用范围

    适合于:处理过程明确、简单系统;涉及面窄的小型系统。

    不适合于:大型、复杂系统,难以模拟;存在大量运算、逻辑性强的处理系统;管理基础工作不完善、处理过程不规范;大量批处理系统。

三、面向对象开发方法(OO)

    面向对象开发方法(Object Oriented,简称OO方法)摒弃了那种功能分解方法只能单纯反映管理功能的结构状态,数据流程模型只是侧重反映事物的信息特征和流程,信息模拟只能被动地迎合实际问题需要的做法,而从面向对象的角度为我们认识事物,进而为开发系统提供了一种全新的思路和方法。

1.基本概念

(1)对象(Object)

    对象则是客观世界中的实体在特定问题空间(软件域)中的映象。它是对实体抽象的结果。可见,对象并不完全等同于实体的概念。由于需要解决的问题不同,面向的对象也就不同,因此对象是不固定的。每种对象都有各自的内部状态和运动规律,不同的对象之间的相互作用和联系就构成了各种不同的系统。对象是OO方法的主体,对象至少应有以下特征:

(2)类(Class)

    所谓类就是指一组具有相同结构、操作和约束条件的对象集合。对象类由“类说明”和“类实现”两大部分组成。“类说明”统一描述对象类的结构、应遵守的约束规则以及执行的操作,以便用户了解对象类的具体作用与功能;而“类实现”则由开发人员掌握,用户不必了解。对于超类、类和子类来说,结构肯定是一种层次结构。一个类可以有多个超类,也可以有多个子类。超类是下层子类的概括,因此子类可以继承超类的属性、操作和约束规则,这就是类继承机制。这样,如果在一个对象类中加入新对象,则这个新对象可自动地继承本对象类的全部属性、操作和约束。继承性使面向对象的系统具有较好的可扩充性和灵活性,因而有利于软件系统的维护。

(3)封装(Encapsulation)

    封装,即信息隐蔽。这个概念可以从面向对象的程序设计上得到某种启发。一个程序一般由数据及其操作的代码组成。面向对象程序设计把数据和程序(代码)封装在一个对象中,数据称为对象的状态,程序称为对象的行为。对象的状态是该对象定义的属性的值的集合,行为是代码的集合。对象的封装性是面向对象技术的一个重要特征。对象的封装性实际上是一种信息隐蔽技术,对象的使用者只能看到对象封装界面上的信息,对象的内部对使用者是隐蔽的,其目的在于将对象的使用者和设计者分开。对象的封装性体现在以下几个方面:

2.基本思想

    面向对象开发方法的要点可以归纳为:

3.开发过程

    识别客观世界中的对象以及行为,分别独立设计出各个对象的实体;分析对象之间的联系和相互所传递的信息,由此构成信息系统的模型;由信息系统模型转换成软件系统的模型,对各个对象进行归并和整理,并确定它们之间的联系;由软件系统模型转换成目标系统。

4.关于面向对象开发方法的评价

    根据以上讨论,面向对象开发方法的出发点和所追求的基本目标是使分析、设计和实现一个系统的方法尽可能接近人们认识一个系统的方法,也就是使描述问题的问题空间和解决问题的方法空间在结构上尽可能一致。这一目标的实现,首先是通过对问题空间进行自然分割(对象及其关系),以便以接近人类思维的方式建立问题域模型;然后对客观实体进行结构模拟和行为模拟,从而使设计出的软件尽可能直接地描述现实世界,构造出模块化的、可重用的、应变能力和维护性好的软件,并达到控制软件的复杂性和降低开发维护费用的目的。

    面向对象开发方法是从系统应该“做什么”的角度出发,在需求分析的基础上提炼解决问题的对象。面向对象开发方法从实际中抽象出分析和设计对象时所需要的名词、动词、操作等这些十分具体和规范的技术步骤。面向对象开发方法是从小到大,自下而上的。这个思路与结构化分析方法的思路是正好相反的。面向对象开发方法中首要的就是找出对象及其关系,并将其模块化,然后通过把这些基本单元进行不同组合,最终便产生了应用软件。所以,从某种意义上说,面向对象开发方法比结构化方法和其他方法更加接近现实的世界。

    由于面向对象的方法更接近于现实世界,面向对象开发方法可以很好地限制由于不同的人对于系统的不同理解所造成的偏差。越到开发的低层,这种限制越明显。面向对象的方法以对象为基础,利用特定的软件工具直接完成从对象客体的描述到软件结构之间的转换,这是面向对象的方法最主要的特点。面向对象开发方法的应用解决了传统结构化开发方法中客观世界描述工具与软件结构的不一致性问题,缩短了开发周期,解决了从分析和设计等到软件模块结构之间多次转换映射的繁杂过程,但是,同原型法一样,面向对象开发方法需要功能强大的软件支持环境才可以应用。

    另外,更重要的是在大型的信息系统开发中如果不经过自顶向下的整体划分,而是一开始就自底向上地采用面向对象开发方法开发系统,很难得出系统的全貌,就会造成系统结构不合理、各部分关系失调等问题。因此,面向对象开发方法必须与其他方法(如结构化开发方法)综合运用才能充分发挥其优势。

5.面向对象开发方法的特点及应用范围

(1)面向对象开发方法的特点

(2)面向对象开发方法的应用范围

    在大型管理信息系统开发中,若不经自顶向下的整体划分,而是一开始就子弟向上地采用OO方法开发系统,会造成系统结构不合理、各部分关系失调等等问题。OO方法和结构化方法在系统开发中相互依存、不可替代。

四、CASE方法

    CASE(Computer Aided Software Engineering)是一种自动化或半自动化的方法,能够全面支持除系统调查外的每一个开发步骤。严格地讲,CASE只是一种开发环境而不是一种开发方法。它是80年代末从计算机辅助编程工具、第四代语言(4GL)及绘图工具发展而来的。目前,CASE仍是一个发展中的概念,各种 CASE 软件也较多,没有统一的模式和标准。采用CASE工具进行系统开发,必须结合一种具体的开发方法,如结构化系统开发方法、面向对象方法或原型化开发方法等,CASE 方法只是为具体的开发方法提供了支持每一过程的专门工具。因而,CASE工具实际上把原先由手工完成的开发过程转变为以自动化工具和支撑环境支持的自动化开发过程。

    CASE方法具有下列特点:

    现在,CASE中集成了多种工具,这些工具既可以单独使用,也可以组合使用。CASE的概念也由一种具体的工具发展成为开发信息系统的方法学。

【思考案例】

库存管理信息系统的规划

一、规划基本问题的确定

    对于该企业的库存管理系统的战略规划,我们采用的方法是一般规划法。

二、收集相关信息

    我们通过实地调研等方式,收集到有关该企业的以下主要信息。

(一)产品库存管理系统基本情况

    某厂是我国东北地区一家生产照明灯的老企业,每年工业产值在四千万元左右。该厂目前生产的产品如表l所示。

3

    该企业接受各地批发和零售商的订单, 按要求将货物运到指定地点。一般说来零售商总喜欢首先到这个企业订货由于它的价格较为低廉。但是,如果某个批发或零售商的订货要求得不到满足,它就会转向其它企业订货,从而使这个企业失去顾客。

(二)企业在库存管理方面的战略目标

    快速有效地兑现客户的订单,在为客户提供及时优质的服务的同时,有效降低自身的库存成本,完善库存业务流程,使企业库存管理效率最大化。

(三)现存系统业务流程调研和初步分析

    系统开发队伍由用户、计算机工作人员和上层领导。它们用几周时间调查了现系统的工作流程,并绘制出了该库存管理系统的业务流程图(如图1)。库存管理工作主要包括产品入库管理和产品出库管理两个部分内容:

    1.产品入库管理的过程是:各生产车间随时将制造出来的产品连同填写好的入库单(入库小票)一起送至仓库。仓库人员首先进行检验,一是抽检产品的质量是否合格,二是核对产品的实物数量和规格等是否与入库单上的数据相符,当然还要校核入库单上的产品代码。检验合格的产品立即进行产品入库处理,同时登记产品入库流水帐。检验不合格的产品要及时退回车间。

    2.产品出库管理的过程是:仓库保管员根据销售科开出的有效产品出库单(出库小票)及时付货,并判明是零售出库还是成批销售出库,以便及时登记相应的产品出库流水帐。

    平均看来,仓库每天要核收三十笔入库处理,而各种出库处理约五十笔。每天出入库处理结束后,记帐员就根据入库流水帐和出库流水帐按产品及规格分别进行累计,以便将本日内发生的累计数填入库存台帐。

    产品入库单如表2所示,出库单如表3所示,入库流水帐如表4所示,出库流水帐如表5和表6所示,而库存台帐帐页如表7所示。

    产品库存的收发存月报表是根据库存台帐制作出来的。产品库存查询是通过翻阅几本帐之后实现的。目前库存报警功能尚未实现。

6

7

8

图 1 库存管理系统业务流程图

9

三、现存状态的评价分析

    现存系统的全部处理工作都是由手工来进行的。有的商品由于担心订货无法满足而造成严重积压;有的商品由于错过了合适的实际而使顾客转移到其它公司。目前的订货时间基本上是由仓库保管人员决定的。它们凭经验给出一个最佳订货点,当发现库存货物低于此点时,便向采购部门发出订货要求。同时仓库保管人员无法参考销售预报结果。

    工厂的产品仓库管理组隶属于销售科领导,由七名职工组成,主要负责产品的出入库管理、库存帐务管理和统计报表,并且应当随时向上级部门和领导提供库存查询信息。为了防止超储造成产品库存积压,同时也为了避免产品库存数量不足而影响市场需求,库存管理组还应该经常提供库存报警数据(与储备定额相比较的超储数量或不足数量)。

四、定义系统约束条件

    根据了解到的企业现状,评估企业资源现有水平,对系统开发中的约束条件进行了分析:

    1.在资金方面,该企业有一定的物质基础,具备一定的资金能力。基本能够支持企业在MIS开发过程中,需要购买机器设备,购买软件,消耗各种材料,发生人工费用、培训费用以及在开发过程发生的其他各种费用。结合我们所作出的系统开发的初步预算,我们认为在资金支持方面没有太大问题。

    2.在企业软硬件、人员等现有资源能对库存管理系统开发的支持程度方面:由于原有系统是手工系统,该企业的信息化建设还处于起步阶段,因此,企业的硬件资源和软件资源相对不足。在系统开发过程中还需要随时补充。对于企业的工作人员,由于他们原先没有使用过任何计算机信息系统,因此显得经验不足,等到新系统开发完成之后还需要进行使用人员的培训。由以上分析可见。该企业的软硬件资源和人力资源方面存在着新系统开发的约束。

    3.另外,在管理规范化程度方面,该企业的有较为合理的管理体制、较为完善的规章制度、有可靠的完整的数据资料,只是报表体系的规范化程度不高、管理方法的科学性不是很强,但是该企业的可塑性较强,改善这些不足的难度不大。随着系统开发的业务流程再造,可以同时完善管理的基础工作,实现基础管理的规范化,管理业务程序化,指标和定额的科学化,报表文件统一化,代码名称标准化。

五、明确新系统战略目标

    根据原有系统的特点,以及企业的战略目标,制定出了新系统的目标

六、提出系统开发方案

(一)实现新系统的几种不同方案的比较如表

11

(二)几种不同方案的详细分析

(1)方案一:对现系统稍加改善

    工作方式:所需费用最低,对组织的影响最小,但可以达到部分改善效果。

    决策和信息流:最佳订货点和订货 批量的决定变的较为科学,其它不受影响,信息处理方式不变。

    所用设备:可不用计算机。

    开发步骤:2、3个月即可。 对组织的影响:几乎没有影响。

    对人员的影响:采购人员工作稍多一些,仓库人员工作相对减少。

    费用和利益:计算最佳订货点的机时费和打印费。利益是可以减少库存积压和选取单位成本最低的订货量。

(2)方案二:用简单的经济订单批量模型进行计算机批处理

    工作方式:库房人员每周向计算机输入货物进出数量2次。计算机自动完成订货检查和通知。采购部门按照通知订货,并通知计算机订货情况。该系统能够随时查询。

    决策和信息流:对四种决策都起到较好的作用。仓库和采购部门输入信息,采购部门还要从计算机得到信息。

    所用设备:可用穿孔卡片于输入,打印订货通知作为输出。在磁带上建立一个文件以存储各类商品的最佳订货点点和最佳批量。计算机可放在公司本部,而在批处理终端上运行本系统。

    开发步骤:大约需用一年时间。但为了谨慎起见,估计为18个月.它包括最佳订货点和订货批量的计算以及相应文件的建立;批处理软件的设计、编程和调试;输人输出格式的设计;培训库房和采购部门如何填写输人表格,培训从事卡片穿孔和数据输入等工作的专门操作员。

    对组织的影响:有必要在库房中专门安排几个人从事数据的准备和控制工作,也要有人负责把仓库填写的报表传送给批处理终端上的操作人员。据调查、仓库管理人员很欢迎不再每天核对实际库存与最佳订货点,他们反映,这项核对工作十分麻烦又易出错。如果由计算机来自动核对,会减轻负担。采购部门人员也表示欢迎由计算机自动开订货单和催货单.因为他们目前每天都要从库房接到许多订货通知,而且都要查对是否已经在订。

    对人员的影响:从表面上看,人员工作方式变化不大,但影响的范围较广泛,各类人员的工作方式都会有些变化。仓库人员和采购人员都要为向计算机输入准备数据,上层管理人员可以随时向计算机查询并得到各种报告.不过,具体到每个人来说,都没有增添什么额外的工作。

    费用和利益:由于计算机对最佳订货点不会发生错误,所以更好地保证了对顾客服务的水平,更大地减少了库存积压,可以更准确地利用最佳批量的折扣,从而降低采购成本。所发生的费用主要是系统开发的人工费用, 50 000美元是根据本公司的计算机人员开发其它系统所用的费用估算出来的。

(3)方案三:购买现成的库存控制软件包

    工作方式:开发小组分析了几种可以买到的库存控制软件包并选定了其中最理想的一种。这个软件包的工作方式与批处理系统大致一样。但该软件包具备一些对我们毫无用处的功能,同时有些我们所需要的功能它又没有,需要加以改造。

    决策和信息流:同批处理系统。

    所用的设备:同批处理系统。

    开发步骤:购买和装置软件包,进行必要的改造以适合本公司需要,人员培训等.估计要用半年左右时间。

    对组织的影响:同批处理系统。

    对人员的影响:同批处理系统。

    费用和利益:利益与批处理系统差不多,但费用会略高一些,因为软件包本身费用就是40 000美元,还要加以改造和实施。

(4)方案四:在线系统

    工作方式:这种系统最为理想。它不需要有人专门从事键盘输入工作,而是在仓库、销售部门和采购部门均设有终端。数据由用户随时在终端上键入。

    决策和信息流:对决策的影响与批处理相同,但更为及时。信息流会发生变化,书面上的内容会大大减少,用户直接与计算机 “ 会话 ” 。

    所用的设备:文件将不再存于磁带上。而必须存于磁盘上以备各种用户随时存取,文件结构也将变得复杂,输出方式也多种多样,有些是打印报表,有些是屏幕显示。

    开发步骤:虽然该公司已经有了几个在线计算机系统在运行,但要开发这种在线库存控制系统,仍需要较大的努力。因此所用人工和时间都会较长。

    对组织的影响:会对组织有较大影响。因为各种人的工作方式都发生了较大变化,不再以书面文字为主要媒介,而代之以直接同计算机打交道。也可能会出现计算机出故障从而影响正常工作的问题。各种备份文件也必须随时准备。

    对人员的影响:系统用起来会十分顺,减少了大量的文牍工作。但有个问题,就是各类人员必须尽快熟悉这种终端上的工作方式。由于多年来人们已习惯于利用书面材料,所以这种工作方式的转换有个接受过程。

    费用和利益:利益很大,主要是由于数据来源于现场,十分及时,十分可靠。但运行费用将会高于批处理系统。

七、 制定项目实施计划

    系统调查的分析结果上报给公司上层的委员会。 委员们讨论后同意开发小组对现存系统的分析,认为应该开发一个新的系统。对于具体开发的四种方案,委员们否决了小改小革和购置软件包两个方案(注:事实上,从上面的分析中可以看出购置现成软件包是最为可取的方案。拒绝此方案只是为了教学的需要,以便引入系统设计阶段)。对于二、四两个方案,委员们观点不一致,因此要求开发小组作进一步的可行性研究。开发小组又用了两周时间,详细比较了两种方案的优劣,经过细致的估算,得知第一次报告的估算过于保守。事实上,批处理系统只要12个月和8万美元,而在线系统只需18个月和11万美元。

    鉴于各类用户对终端工作很不熟悉,所以同意开发批处理系统, 但是要求开发小组在设计时留有充分的余地,以便在条件成熟时,可以较顺利的转入在线系统。

    根据上述指示,开发小组进入了系统分析设计阶段的工作。

案例问题:

    1.该系统采用了什么样的系统开发方法?该方法需要哪些条件支持?

    2.通过该案例的学习讨论,你认为系统战略规划在管理信息系统的应用中处于什么样的地位?对MIS进行战略规划时应当考虑哪些问题?