三种系统开发方法的比较
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三种系统开发方法的比较
【摘要】信息系统的建设是现代信息工程发展的一个庞大课题,而完备高效的系统开发方法一直以来是各国系统开发组织和开发人员长期探究却无定论的话题。本文以此为研究背景,介绍了系统开发过程中结构化开发、原型开发、面向对象开发三种目前应用较广的开发方法,并对结构化开发方法、原型开发方法和面向对象开发方法的基本思想、基本原理、开发过程、方法特点及适用范围,在系统中的开发过程中的应用进行了较为详尽的阐述和说明。并根据这三种开发方法各自的基本思想、原理、开发阶段划分、方法的特点和适用范围的不同,做了比较、分析和总结,根据各自不同的特点简要分析了未来系统开发中开发方法的应用趋势,并对这三种开发方法的应用做了浅要的总结。
【关键字】系统开发结构化法原型化法面向对象法
引言
随着我国与世界信息高速公路的接轨,企业通过计算机网络获得信息必将为企业带来巨大的经济效益和社会效益,企业的办公及管理都将朝着高效、快速、无纸化的方向发展。而在这其中,信息系统发挥着举足轻重的作用。
信息系统的建设是一个庞大的系统工程,它涉及到组织的内部结构、管理模式、生产加工、经营管理过程、数据的收集与处理过程、计算机硬件系统的管理与应用、软件系统的开发等各个方面。这就增大了开发一个信息系统的工程规模和难度,需要研究出科学的开发方法和过程化的开发步骤,以确保整个开发过程能够顺利进行。但是,至今还没有一种统一完备的开发方法。
传统的软件开发方法主要是生命周期法,它将软件开发过程大致划分为需求分析、系统设计、系统实施、系统测试等阶段,每一阶段的任务相对独立,对软件开发工作实施工程化管理。虽然生命周期法提高了开发工作的效率,但它也存在缺点,例如在前期进行系统设计时就要进行比较全面的整体设计,这导致系统开发周期变长,耗费变大。随着软件技术的发展,又引入了原型化方法和面向对象方法等。原型化方法是近年来提出的一种以计算机为基础的系统开发方法,它首先构造一个功能简单的原型系统,然后通过对原型系统逐步求精,不断扩充完善得到最终的软件系统。原型就是模型,而原型系统就是应用系统的模型。它是待构筑的实际系统的缩小比例模型,但是保留了实际系统的大部分性能。这个模型可在运行中被检查、测试、修改,直到它的性能达到用户需求为止。但是,原型开发方法也存在一些不足的地方,譬如,有的原模型在完成后,可能要被抛弃,这无疑使增加了系统开发成本。结合现实世界的客观事物,引入类和对象的概念,产生了面向对象开发方法。利用面向对象方法在进行系统开发时,由于贴近现实世界,简化了系统设计,缩短了系统的开发周期,降低了系统在以后的维护难度。但是,在进行大系统开发时,这种方法由于没有较为全面的系统体系结构,使系统变得越来越复杂,严重降低了系统的质量。
综上,在进行系统开发时,需要结合各种方法自身的特点优势,因此,寻求合适、高效的的开发方法就变得尤为重要。
理论回顾
1.结构化开发方法
“结构化”一词出自结构化程序设计,人们正是从结构化程序设计中得到了启发,将模块化的思想引入到系统开发设计中来。结构化方法的基本思想是:用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化,自上而下地对系统进行分析,自下而上实现的开发方法。
结构化方法是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。结构是指系统内各个组成要素之间的相互联系、相互作用的框架。结构化开发方法提出了一组提高软件结构合理性的准则,如分解与抽象、模块独立性、信息隐蔽等。针对软件生存周期各个不同的阶段, 它有结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)等方法。
结构化开发方法的本质是功能的分解,将系统按功能分解为若干模块,每个模块是实现系统某一功能的程序单元,每一个模块都具有输入、输出和过程等基本特性。输入和输出分别是模块需要的和产生的数据,过程则是对模块具体处理细节的描述和表示。数据则在功能模块间流动。功能是一种主动的行为,数据是受功能影响的信息载体。因而它的编程模型被理解为作用于数据的代码。
从编程技术和程序设计的角度来说,结构化分析方法在进行程序设计时,描述任何实体的操作序列只需采用“顺序、选择、重复”三种基本控制结构,整个程序划分为若干个模块。每个模块要具有一种以上的特定功能,并且每个模块只能有一个入口和一个出口。这种程序设计采用自顶向下,逐步细分的方法展开,在一定的数据结构之下来设计对应的算法,然后分别实现数据结构设计和算法设计,因此,N.Wirth总结出:程序=算法+数据结构的形式。结构化程序设计中,问题被看作一系列需要完成的任务,函数(function)是用于完成这些任务的。所以说,最终解决问题的焦点集中于函数,而数据则在功能模块间流动。
(1)方法基本思想
结构化系统开发方法的基本思想是,将结构与控制加人到项目中,以便使项目在预定的时间内完成。用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化、自顶向下地对系统进行分析与设计,是组织、管理和控制信息系统开发过程的一种基本框架。
具体地说,就是先将整个系统的开发划分成若干个相对比较独立的阶段,如系统规划、系统分析、系统设计、系统实施等。在前三个阶段采用自顶向下的方法对系统进行结构化划分,即从组织管理金字塔结构的最顶层人手,层层分解逐步深人至最基层;先考虑系统整体的优化,然后再考虑局部的优化。在系统实施阶段,采用自底向上的方法逐步实施,即按照前几个阶段设计的模块组织人员从最基层的模块做起,然后按照系统设计的结构,将模块一个个拼接到一起进行调试,自底向上,逐渐地构成整体系统。
结构化系统开发方法由管理策略和开发策略两个部分组成:
管理策略
强调系统开发的规划、进程安排、评估、监控和反馈。
开发策略
任务分解结构(Work Breakdown Structure,简称WBS)。包括系统规划、系统分析、系统设计、系统实施和系统支持。
WBS优先级结构。即系统开发所遵循的基本模式,如瀑布模型(Waterfall)、阶梯模型(Stair step)、螺旋模型(Spiral)、迭代模型(Iterative)等。
开发经验。计算机信息系统的开发是一个实践性非常强的过程,因此,开发经验是非常宝贵的一种系统开发资源,如何充分地利用开发人员丰富的开发经验也应该是系统开发生命周期研究的内容之一。
开发标准。系统开发标准通常包括活动、职责、文档、质量检验四个方面的标准。
(2)方法基本原理