DADM--MIS开发的新方法
编者按
MIS开发的成败固然与多种因素有关,但从目前国内大量的MIS工程实践来看,没有一个实用、有效、符合中国企业或组织管理实际的方法论作为指导,则是导致MIS失败的一个重要因素。以前常用的MIS开发方法,包括结构化生命周期法、快速原型化方法、自底向上的方法及面向对象的软件开发方法等,既有其优势,又有其不足,这些已在MIS开发的实践中得到证实。为了克服传统方法论的不足,结合实践需要,本文作者提出了一个新的MIS开发方法――演示与讨论的方法(DADM方法论)。DADM有什么优势,又有什么不足?它是否会对MIS的开发有所帮助?本报分两次刊登此文,希望对读者有所帮助。 字串8
一、DADM方法论提出的背景
在开发MIS的过程中,经常会出现以下情形:
1.情形一
有些系统集成公司在项目的网络、硬件及系统软件等集成方面很成功,但在为用户开发应用软件时,却被弄得焦头烂额,甚至被拖垮。这些系统集成公司往往缺少系统分析人员,参与MIS应用软件开发的人员对软件工程往往也知之甚少,普遍轻视系统分析与系统设计工作,最终陷入"胡子工程"的泥潭。另外,由于开发人员流动比较频繁,而MIS软件的开发周期又比较长,因此一旦一些开发人员中途退出,就会使开发工作受到一定的影响,甚至瘫痪。惨痛的教训使越来越多的系统集成公司认识到了系统分析与设计工作的重要性。
2.情形二
有些开发单位遵照"结构化生命周期法"按步就班地进行开发,但在交付用户试用时,用户却常常发现:开发单位设计的MIS软件在功能、易用性等方面并不是他们所需要的。
开发单位很重视系统分析与设计工作,之所以出现问题主要是所采用的软件开发方法论本身所固有的缺陷造成的。国内一般的教科书都对结构化生命周期法作了介绍,而对其它方法论介绍的却很少。这样,如果系统分析人员经验不足,就会出现这样的问题。
3.情形三
近几年,有相当多的开发单位和项目负责人声称采用"快速原型法"进行MIS软件设计,但最终他们却发现所谓的"快速原型法"并不快,并常常使开发人员不断地修改程序和数据库结构,甚至推倒重来。他们的做法常常是:先大概了解一下用户的需求,然后就匆忙地投入到手工编程中。这是对"快速原型法"的一种误解。一般来说,"快速原型法"需要有效的开发工具作为支撑才能发挥作用,而国内大多数开发人员还是处于"作坊式"的手工编程状态。这样,如果盲目地采用"快速原型法"进行MIS开发,那么就会"欲速则不达"。
4.情形四
有些开发单位开发的MIS系统,虽然各个独立的子系统能够较好地运行,但是,这些子系统之间却不能很好地"协同"工作,数据共享性差。另外,各个子系统之间在界面风格上也相差甚远。之所以会出现这种结果,关键是开发单位没有对整个开发过程进行科学有效的管理。开发人员之间缺少有效的沟通与交流,各自为政。同时,在开发过程中,没有使用科学、合理的开发规范。
综合以上四种情形,我们不难发现出现这些现象的共同原因就是没有实用、有效的"方法论"作为指导,关键是在开发人员与用户、管理专家、电脑技术专家和其他相关人员等之间缺乏有效的沟通与交流,对于MIS应用软件来说,"功能要求"是第一位的。怎样才能较好地解决以上问题呢?目前,基于Windows操作系统的软件开发工具和其它应用软件已经被越来越多的人所使用,这样,快速生成可视化的图表和输入、输出界面是比较容易做到的。正是基于以上背景及认识,一种新的MIS应用软件开发方法论便应运而生了,这便是演示与讨论(DADM)方法论。
二、传统MIS开发方法论的优点与不足
1.结构化生命周期法
这是常用的一种MIS开发方法。它要求开发过程必须严格地按阶段进行,只有前一阶段完成之后,才能开始下一阶段的工作。同时,它要求在系统建立之前就必须严格地定义和描述用户的需求。另外,它还强调下述基本思想:
?树立系统开发的总体观念。
?充分预料可能发生的变化。
?树立面向用户的观念。
?采用自顶向下的工作方法。
?采用直观的工具来刻划系统。
?工作成果要成文。
这样,每个阶段都有由明确的标准化图表和文字说明组成的文档,以便于在开发过程中实行管理和控制。该方法的最大缺点是用户对即将建立的新系统没有直观的预见性。 字串1
2.快速原型化方法
它是为了克服"结构化生命周期法"的缺陷而提出的MIS开发方法论,其特点是:开发人员在初步了解用户需求的基础上构造一个应用系统模型,即原型。用户和开发人员在此基础上共同反复探讨和完善原型,直到用户满意为止。
该方法的最大优点在于用户直接参与,可以尽早获得更完整、更确切的需求与设计,而且可以直接通过改进原型而得到目标系统,而不必从头做起。其总体效果是改善软件开发生命周期的总效益。
但是,使用这一方法的前提是:在一般情况下,必须具备能够快速生成和修改原型的工具,否则,其"快速"的优点就得不到发挥。另外,构造最初的原型通常并不是一件很容易的事情。
字串4
3.自底向上的方法
它是从现行系统的业务现状出发,先实现一个具体的初级功能,然后由低级到高级,逐步增加计划、控制、决策等功能,自下而上地实现系统的总目标。实际上,它只是MIS开发的一种策略,只有与其它的方法论结合使用才有意义。
这样,各个项目独立地进行,很少考虑互相间的配合,不考虑各项目今后的地位和作用,数据重复收集甚至互相矛盾,代码也自成体系。另外,在实现后续项目时,由于数据的承接关系,又不得不对前期项目做一定的修改和调整。采用这种方法,实施每一个具体的项目时比较容易把握,但往往因 此而落入"只见树木、不见森林"的境地。因而,即使是由于种种原因而不得不采用这种开发方法,最好对全系统的子系统划分及相互关系 有一个大体的考虑,并在各个项目进行时经常协商和统一意见,以此来弥补没有总体规划的不足。
4.面向对象的软件开发方法
这种方法是随着"面向对象的程序设计(OOP)"而发展起来的,也是当前比较热门的一种技术。
面向对象的建模技术(OMT)采用对象模型、动态模型和功能模型等来描述一个系统。对象模型描述的是系统的对象结构,它用含有对象类的对象图(是对E-R模型的扩充)来表示;动态模型描述与时间和操作顺序有关的系统属性,它用状态图来表示,而功能模型则描述与值的变化有关的系统属性,其描述工具是数据流程图(DFD)。
用这种方法进行系统分析与设计所建立的系统模型在后期用面向对象的开发工具实现时, "转换过程"是很自然的。然而,客观世界的对象五花八门,在系统分析阶段用这种方法进行抽象是比较困难的。在某些情况下,纯面向对象的模型不能很好地满足软件系统的要求,其实用性受到影响。
三、DADM方法论的基本概念与特点 字串6
DADM是英文Demonstration And Discussion Method的缩写,中文释义为"演示与讨论的方法"或"演示讨论法"。它要求在MIS软件开发过程的各个阶段,在所有相关人员之间进行有效的沟通与交流。这种交流是建立在直观演示的基础上的,演示内容主要包括直观的图表工具和输入、输出界面等。
DADM方法论具有如下几个特点:
1.强调进行广泛、有效的沟通与交流
首先,这种沟通与交流的范围是广泛的:开发人员与用户之间、开发组内部各个开发人员之间、开发人员与管理专家之间、开发人员与电脑技术专家之间,以及开发人员与其他相关人员之间都应进行沟通与交流。
其次,这种沟通与交流是有效的:它不是平常意义上的一般的交谈或开会,而是指有关人员共同面对电脑屏幕(最好是大屏幕)或者投影银幕(投影机与电脑相连)上的直观的图表,或输入、输出界面等进行交流。在这样的环境中,人们常常会积极踊跃地发表意见,便于系统分析与设计。 字串2
2.具有较好的可预见性
因为开发人员在最终正式编码之前,要根据改进方案制作典型输入、输出界面,并给用户演示,共同讨论使用习惯,修改需求。最后,根据修改后的系统需求分析报告进行系统设计与编码。由此可以看出,用户参与了新系统的设计。从这个意义上讲,DADM方法论具有较好的可预见性。
字串9
3.实施过程是启发式的
在实施的过程中的"启发"是"互动"的,这样,可以有效避免系统在功能、易用性等方面的重大缺陷。
4.实施具有可操作性
DADM方法论是按阶段进行的,只是系统需求报告不是生硬地让用户签字承认后才确定的,而是在启发式地有效沟通、交流的基础上,由用户、开发人员、管理专家及电脑技术专家等相关人员共同确定的。另外,开发人员利用可视化的、面向对象的软件开发工具进行典型的输入、输出界面设计,以及进行演示图表的制作等过程也比较容易实现。
5.具有一定的开放性
(1)对于代码的实现方式没有限定:不管用生成器生成系统代码,还是用手工编码,都可以采用DADM方法论进行MIS应用软件开发。
(2)对于具体编程工具没有完全限定:使用Visual Basic、Power Builder、Delphi或Visual Foxpro等都可以。
(3)对于演示的具体内容也没有完全限制,只要是与系统有关的内容都可以通过演示来讨论。当然,以标准的、直观的演示内容进行讨论,其效果最为理想。
字串4
6.有利于在整个开发过程中进行全面质量管理
全面质量管理(TQM)强调在软件开发的全过程中进行质量控制,而获取高质量的需求分析报告则是提高MIS应用软件质量的首要环节。
DADM方法论可以有效地获得用户的需求,并对原系统进行有效地改进,也可以科学地确定系统设计方案。即使在编程阶段,通过有效的沟通与交流,也可以在各个开发人员之间建立共同遵守的约定或规范,避免各自为政,保证MIS应用软件的质量。 字串1
四、DADM方法论的实施
____DADM方法论按一定的工作流程进行,并且每一步骤都可采用相应的表现工具。 字串4
____1. 主要实施流程
字串3
____主要实施流程见图1。
字串1
字串2
图1 DADM方法论的主要实施流程 字串7
____下面作一些补充说明:
字串1
____(1)流程图中每一次演示与讨论的主要内容和主要参加人员如下表所示。 字串6
字串2
表1
____(2)对于"演示、讨论之一",一般需要经过多次循环。通常的做法是:在项目经理(一般由系统分析员担任)的直接领导下,参加系统分析的人员(其中也包括用户单位中的业务骨干)被划分为几个小组,这些小组同时展开系统调查活动。例如,为了给某企业开发一个销售管理系统应用软件,那么,除了重点调查该企业销售环节的业务之外,通常还需要对与之相关联的生产和供应等其它环节进行调查。这样,对企业的认识就比较全面,对于之后进行的"企业管理业务流程重组"和"企业数据重组"(包括数据的标准化工作)以及"数据库设计"(包括共享数据库和非共享数据库,且以"表"为单位)等工作来说,这是基础性的工作 ,也是工作量较大且很繁琐的工作。另外,为了提高系统调查的质量和效率,各个调查小组应及时交流有关情况,并由项目经理负责处理在调查中碰到的问题。 字串7
____(3)"制定改进方案"是一个关键环节,需要管理专家的参与,如果这项工作没有做好的话,那么,新系统就会成为手工系统的简单翻版,而不会达到改善管理效果的目的。这也就是"企业管理业务流程重组"工作。从实践中看,这个工作既要充分考虑到企业在发展战略、业务流程方面的变化趋势等因素,同时也要考虑到中国企业目前的实际情况(不宜太过激),最后做出一个折中的方案。
字串3
____(4)在"初步设计"中,"企业数据重组"和"数据库设计"(包括规范化工作)将是一项很重要的工作。
____(5)图1中的最后几个环节,虽然没有给出演示与讨论的具体步骤,但是,这一活动还应该进行。例如,在具体编制程序的过程中,通过具体的实例进行讨论,就可以使所要求的规范和风格得到具体的理解与落实,从而提高软件的整体质量。
字串7
____2.主要工具 字串9
____(1)组织机构图 字串5
____它可以反映出企业内部的部门划分及它们之间的相互关系,即行政隶属关系、物资交换关系、资金交换关系和资料传递关系等,为功能分析准备了必要的资料。 字串1
____同时,一般的MIS应用软件在设计时都要考虑在网络上存取数据的权限问题,通常按岗位或角色对用户进行级别分类,因此,必须先弄清楚企业目前组织机构的设置情况。 字串1
____另外,在开发具有一定规模的MIS应用软件时,应先弄清楚组织机构图,必要时在相应的位置上注明其负责人的姓名等信息。这对于在短时间内熟悉用户方的各类人员,并及时进行沟通与交流是非常有益的。
字串3
____(2)业务联系图
字串8
____它可以作为对组织机构图的补充,用以反映组织内部各部分之间的联系程度。
字串7
____(3)功能层次分析图
____原系统的功能分析和新系统的功能设想是系统分析阶段的核心,只有在系统功能有所加强和改进后,才能达到改善管理效果的目的,而功能层次分析图可以清楚地表达这些意图。
____(4)简化的数据流程图
____如图2所示,在简化的数据流程图(Simple Data Flow Diagram,SDFD)中,只反映各种文件(包括计划、统计报表、台帐、卡片等)之间的承接关系。对于开发复杂的MIS应用软件来说,先画出SDFD,然后再画业务流程图,最后绘制数据流程图(Data Flow Diagram,DF D)。这样做符合人们由简到繁、先主干后枝节的认识习惯。 字串3
图2 简化的数据流程图SDFD应用举例
字串9
____特别是对于那些没有多少系统分析经验的开发人员来说,使用SDFD作为过渡,可以使他们逐渐掌握DFD的画法。事实证明,想熟练地掌握DFD并不容易。
字串4
____(5)业务流程图 字串1
____它是对功能层次分析图中的某一部分进行详细的描述。因此,一个系统业务处理的全部细节情况往往需要若干张业务流程图来分别描述。 字串6
____(6)数据流程图
字串7
____数据流程图(DFD)是描述信息系统逻辑模型的最主要的工具,它不仅可以用来描述现系统,而且可以用来刻划新系统。
____它具有以下两个特点: 字串6
____?抽象性 不考虑具体的物理因素,如具体的组织机构、工作场所、存储介质以及处理方法和技术手段等,只是抽象地反映信息的流动、加工、存储和使用情况,从信息处理的角度将一个复杂的实际系统抽象成一个逻辑模型,因而能够更深刻地反映系统信息处理的本质。
字串1
____?综合性 能够得心应手地反映出各种业务处理之间错综复杂的关系,因而具有很强的综合性,能够清晰地反映出系统某一部位的总体情况和全貌。 字串7
____(7)报表
字串3
____如果说SDFD反映了各个文件之间的承接关系的话,那么,通过每一张具体的报表则可以弄清楚其中每个数据项的来龙去脉和要求等,这对于进一步弄清楚数据流程是非常有意义的。
____另外,这些报表通常又会成为新系统输入/输出的一部分,因而,通过关于它的演示与讨论,可以收集到用户的使用习惯与期望。
____(8)典型的输入/输出界面 字串3
____通过演示与讨论这些内容,可以让最终用户看到新系统的主要面貌,进一步收集用户的使用习惯与期望,同时也可以发现一些被遗漏或被误解的需求。 字串1
____实际上,在开发MIS应用软件时,一大部分编程工作都是在做界面,而影响用户使用并使用户认可的也往往是这些界面的友好程度,因此,在正式、大规模设计程序之前,进行以上工作是非常必要的,这也是DADM方法论区别于常规的结构化生命周期法的一个重要方面。
____从以往的经验来看,友好的MIS应用软件界面应满足以下基本标准:
____?应尽量减少汉字的输入。一般管理人员最头痛的就是汉字的输入,如果这个问题处理不好,则很难使MIS应用软件真正推广开来。采用复选框、单选按钮、选择框、组合框等技术可以很好地解决这一问题。 字串9
____?屏幕显示应尽量直观、逼真。一般来说,应当将数据的录入、修改、查询、删除等操作集成在一起,这样,当管理人员需要维护某些数据的时候,就可以很方便地进行操作了 (当然,他们必须具备进行这些操作的权限)。另外,一般还应支持模糊查询和组合查询。 字串2
____?输入数据时应尽量采用选择的方式。特别是对于那些在网络上共享的信息,诸如项目编号、定额以及其它可供选择的信息等,一般情况下,最好采用选择的方式。这样做不仅提高了操作速度,而且也大大地降低了出错的概率。
字串5
____?较强的检错和容错能力。管理人员在实际操作时,经常发生一些误操作,这就要求程序员在设计时一定要多考虑一些可能出错的因素,以增强系统检错和容错的能力,使系统在运行过程中不易出现"死机"或者崩溃等现象。
____?具有一定的数据恢复能力。有时发生误操作不会对系统本身产生多大影响,但有时则会给系统带来灾难性的后果,这就要求系统设计者必须增加相应的自动备份和恢复功能。
字串9
____?完善的帮助系统。帮助系统不仅在用户发生困难时给予必要的援助,而且应着眼于引导用户进行正确的操作。
字串1
____?界面风格应当尽量向标准化方向靠近。这样做的好处是,由于所设计的MIS软件界面与用户使用过的其它常见软件的风格一致或者接近,而使用户容易掌握。
字串6
____(9)E-R图 字串4
____使用它来确定实体模型,主要是确定数据库应包含哪些实体,以及这些实体之间的联系。这些内容能够充分地反映现实世界的真实情况,为以后考虑数据模型和物理设计奠定基础。另外,由于这些内容与具体的计算机和数据库管理系统无关,因此,就可以使设计者抛开一些技术上的细节问题,而将精力集中于对数据需求的分析,保证所设计的数据库能够满足应用上的要求。
____(10)系统结构图
____它描述了系统内各组成部分的结构及其相互关系,与数据流程图(DFD)有同等重要的地位。 字串2
____(11)系统资源配置图 字串1
____它反映了系统中硬件和网络的组成结构,是硬件和网络采购计划的基础。 字串1
____(12)程序流程图
字串3
____它表示程序中的操作顺序。 字串2
____另外,如果在具体的程序中加入较为详细的汉字注释,那么,对理解程序员的思路就更加有利了,并对程序员本人理清自己的思绪以及今后的维护或升级工作非常有益,特别是对于那些通用的程序模块更应如此。 字串4
____(13)数据字典(DD) 字串6
____它是以特定格式记录下来的对系统各基本要素的具体内容和特征所做的完整定义和说明,通常情况下,它是对数据流程图的重要补充和注释。它不仅在系统分析阶段有重要作用,而且在系统设计、系统实施乃至系统维护和升级阶段仍将产生重要的作用,因而是系统开发人员的得力助手。
____这里,我们将对其做一些扩充,使它的使用范围扩大到报表和输入、输出界面等方面 ,并重点强化其注释(收集用户的修改意见)功能。 字串7
____(14)其它
字串7
____通常还应包括:代码设计方案、可靠性和保密性设计方案,以及系统转换方案等。 字串7
____总之,为了便于进行有效的沟通与交流,只要所采用的工具能够直观地表达用户的需求和设计者的想法则都可以使用。
字串2
Tags:
责任编辑:您的评论
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
精彩推荐
最新资讯


您的位置: