原型方法
出处:按学科分类—工业技术 企业管理出版社《工程师手册》第632页(4396字)
原型方法是80年代初随着计算机软件技术的革命而产生的一种与SSA&D方法完全不同的信息系统开发方法。前面我们提出过将系统和工程的概念用于应用软件的研制和开发,用结构化系统分析与设计的方法,自顶向下地有计划有组织分步骤地开发信息系统,这是人们认识和处理信息过程中的一次飞跃。它向我们揭示了一条认识和开发信息系统的普遍规律,对信息系统的发展有巨大的推动作用。
但是,随着时间的推移,作为一种具体的方法,逐渐的暴露出来一些弱点。如:用户与系统研制人员之间的思想交流不直观;开发过程较为复杂;所使用的工具落后;开发周期太长;不能较大范围的适应外部环境的变化等等。为了解决这些问题,在新一代应用软件开发生成环境的支持下,Prototyping方法诞生了。这种方法一经问世,就立刻受到人们的重视,并迅速的得以推广。作为一种方法,它的实质和特点是什么,为什么会具有如此巨大的魅力呢?下面我们用自己的理解以及在实际应用过程中的体会,对此作一个较为全面的综述。
1.Prototyping方法的开发过程
与传统的生命周期法相比,Prototyping方法摒弃了那种一步一步周密细致的调查、分析,然后逐渐整理出文字档案,最后才能让用户看到结果的繁琐作法,而一开始就凭借着系统分析人员对用户要求的理解,在强有力的软件环境支持下,给出一个实实在在的系统模型(或称原型、雏型),这个模型大致表达了系统分析人员当前对用户要求的理解和他希望系统实现后的形式。然后系统分析人员和用户一道,对这个模型进行评价。评价一般大致包括如下几点:
①模型是否准确地反映了信息系统的工作过程。
②模型是否满足用户的要求。
③模型的应用环境以及输入输出形式是否合适。
④进一步的要求和改进意见。
根据评价的结果,再对模型进行修改。如此反复,周而复始,直到完全满意为止。
2.Prototyping方法的特点
作为一种信息系统开发的方法,Prototyping从原理到流程都是十分简单的。并无任何高深过程。但是正是这样一种简单的方法,却倍受推崇,最近两年无论从方法论的角度,还是从实际应用的角度对Prototyping方法的讨论都异常热烈,在实际应用中也获得了巨大的成功。根据不完全统计,采用Prototying方法开发一个实际系统的效益要比用传统方法高出10倍以上(也有人认为对于大型系统效益要高出上百倍,我们不同意这种说法,因为对于大型系统,该方法有它一定的局限性)。特别是那些原信息处理流程是半结构化的(Semistructured),即工作过程没有固定的程序,用户很难直接用语言表达的问题,Prototyping方法有着传统方法无法比拟的优越性。分析其原因,大致有如下5个方面。
(1)从认识论的角度看,Prototyping方法更多地遵循了人们认识事物的规律,因而更容易为人们所普遍掌握和接受,这主要表现在:
①我们认识任何事物都不可能一次就完全了解,并把工作做得尽善尽美。
②认识和学习的过程都是循序渐进的。
③人们对于事物的描述,往往都是受环境的启发而不断完善的。
④人们批评指责一个已有的事物要比空洞的描述自己的设想容易得多,改进一些事物要比创造一些事物容易得多。
(2)Prototyping方法将模拟(或称仿真Simulation)的手段引入系统分析的初期阶段,首先根据系统分析人员对用户要求的理解,模拟出一个系统原型,然后就这个模型展开讨论,沟通了人们的思想,缩短了用户和系统分析人员之间的距离,解决了传统方法中最难于解决的一环,这主要表现在:
①所有问题的讨论都围绕某一个确定的模型(原型)而进行的,彼此之间不存在误解和答非所问的可能性。
②有了原型后往往才能启发人们对原来想不起来,很难发掘或不易准确描述的问题有一个比较确切的描述。
③系统的分析和设计人员在工作时往往是按照自己对问题的理解和工作习惯(方法)来进行工作的,这与具体的工作环境和用户对自己所作工作的描述水平有关,它与实际问题之间可能有较大的距离。这个距离的消除只能靠二者之间一个实实在在的“客观存在”才能消除。这个客观存在就是我们所设置的“原型”。
④这个模型原型能够及早的暴露出系统实现后潜在的一些问题,促使人们在系统实现之前(准确的说是在系统研制工作的初期)加以解决。
(3)为我们准确的认识问题创造了条件,这主要表现在:
①讨论的对象是双方都确认的。
②讨论问题的标准是统一的。
③信息的反馈是及时的。
(4)充分利用了最新的软件工具,如:与Prototyping方法相适应的模型(即程序模型)生成、修改、最终目标的建立运行等一整套的系统开发生成环境,使得整个信息系统的研制过程摆脱了老一套的工作方法,时间、费用、效率、质量等方面的效益都大大提高了,系统对外界环境变化的适应能力大大增强。
(5)Prototyping方法将传统方法中的系统调查、系统分析、系统设计三个阶段融为一体。使用户一开始就能看到系统实现以后是一个什么样子,将会遇到哪些问题,哪些根本就是错误的,哪些需要改进等等。消除了用户的心理负担,打消了他们对系统何时才能实现,以及实现后是否适用等疑虑。为用户参加信息系统的研制和开发工作创造了一个宽松的心理环境。这无论对提高用户参加系统研制工作的积极性,还是对用户实际工作水平的提高都是很有好处的。(这一点对于目前我国的信息系统推广应用工作尤为重要)
3.Prototyping所需要的软件支持环境
Prototyping方法有很多好处,有很大的推广价值。但必须指出的是,它的推广应用必须要有一个强有力的软件支持环境。没有这些支持它将变得毫无价值。
Prototyping方法的关键就是如何既快又方便地构造出系统的初步模型,并能够随意地迅速地修改它。显然要用传统的方法,基于几种常见的高级程序语言要想实现Prototyping方法是极为困难的。这就必须开拓新的工具,用新一代的软件工具为Prototypiing方法创造一个良好的应用环境。
具体来说这个软件支持环境应该具备哪些功能呢?一般认为有如下几种:
(1)要有一个方便灵活的关系数据库系统(RDBS)。
(2)一个与DB对应方便灵活的数据字典,具有存贮所有实体的功能。
(3)一套高级的软件工具(如4GL。或开发生成环境等)用以支持结构化程序,并且允许程序采用交互的方式迅速的进行书写和维护,并产生任意程序语言模块。
(4)与DB相应的一套快速查询语言,支持任意非过程化的组合条件查询。
(5)一个非过程化的报告/屏幕生成器,允许设计人员详细定义报告/屏幕样本以及生成内部联系。
4.Prototyping方法适用范围
作为一种具体的开发方法,Prototyping方法有一定的适用范围和局限性。主要表现为:
(1)对于一个大型的系统,如果不经过系统分析来进行整体性划分,想要直接用屏幕来一个个的模拟是很困难的。
(2)对于大量运算、逻辑性较强的程序模块,Prototyping方法很难构造出模型来供人评价。因为这类问题没有那么多的交互方式,也不是三言两语就能够把问题说清楚的。
(3)对于原基础管理不善,信息处理混乱的问题,使用时有一定的困难,主要表现在:
①由于对象工作过程不清,构造模型就有一定的困难。
②由于用户的工作水平和他们长期所处的混乱环境影响,容易使设计者走上机械地模拟原手工系统的轨道。
(4)对于一个批处理的系统,其大部分是内部处理过程,这时用Prototyping方法有一定的困难。
5.结论
综上所述,我们得出结论:原型法是在信息系统研制过程中的一种简单的模拟方法。与最早人们不经分析直接编程序时代以及SSA&D时代相比,它是人类在认识信息系统开发规律道路上的“否定之否定”。它站在前者的基础之上,借助于更新的软件工具,螺旋式的上升到了一个新的更高的起点,它“扬弃”了SSA&D方法中的一些繁琐细节,继承了其合理的内核。是对SSA&D方法的发展和补充。这种互为补充、相互促进的系统开发方式,将是今后若干年信息系统或软件工程中所使用的主要方法。