常见6类软件开发模型及效果对比

软件开发模型是指软件开发全部过程、活动和任务的结构框架。软件开发模型的选取,对于大型信息管理系统的开发成败起到至关重要的作用。因此,需要参照软件工程方法论,并根据开发的信息管理系统的具体需求特性、开发工具与环境等综合因素,来选取合适的软件开发模型。

下面将对目前的几种软件开发模型进行介绍与对比分析,并结合金华电力软件开发标准化信息管理系统的具体情况进行阐述。最早期的软件开发规模比较小,没有过程控制,一般采取边做边改的做法.其缺点是不能适应大型软件开发,没有任何文档,开发质量不能保证,没有考虑测试和程序的可维护性,软件的维护十分困难。后来,经过改进,软件开发逐步采用制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等6个步骤的瀑布型开发模式。但由于瀑布模型的线性过程导致了早期错误要后期才能发现、用户只有在开发后期才能看到结果等问题.所以后来又陆续发展出了多种开发模型等。

1.快速原型模型快速原型模型的第一步是建造一个快速原型.实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求;第二步则在第一步的基础上开发客户满意的软件产品。快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。

2.增量模型增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件.开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化。客户可以不断地看到所开发的软件,从而降低开发风险。但是,增量模型也存在开发过程缺乏整体性等缺陷。

3演化模型演化模型主要针对事先不能完整定义需求的软件开发。用户可以给出待开发系统的核心需求,并且当看到核心需求实现后,能够有效地提出反馈,以支持系统的最终设计和实现。软件开发人员根据用户的需求,首先开发核心系统,后续根据客户反馈再进行功能的精简、扩充等开发步骤。

4螺旋模型螺旋模型将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。其特征在于,沿着螺线进行若干次迭代,每次迭代过程包含了制定计划、风险分析、实施、客户评估4类活动。该模型助于将软件质量作为特殊目标融入产品开发之中,但也存在着增加成本、风险分析要求较高的弊端。

5喷泉模型喷泉模型的特性在于具有更多的增量和迭代性质,生存期的各个阶段可以相互重叠和多次反复,而且在项目的整个生存期中还可以嵌入子生存期。就像水喷上去又可以落下来,可以落在中间,也可以落在最底部。

6智能模型智能模型拥有一组工具(如数据查询、报表生成、数据处理、屏幕定义、代码生成、高层图形功能及电子表格等),每个工具都能使开发人员在高层次上定义软件的某些特性,并把开发人员定义的这些软件自动地生成为源代码。在实际开发过程中,到底使用哪一种或哪几种模型,需要根据项目的实际情况,如人员水平、项目特点、所使用的开发工具等多个因素进行考虑。

系统特点:通过对软件开发工作的分析,结合已有类似软件的功能,并根据软件开发对系统的要求,发现其具有开发周期短、需求复杂、需求变化大等特点,这对软件开发来说是个不小的考验。

陕西弈聪软件信息技术股份有限公司
电话:13679229477    02989322522
陕西省西安航天基地神州四路科为城墅20栋4301