软件开发模型研究综述(上)
时间:2016-03-23 11:58 文章来源:http://www.lunwenbuluo.com 作者:张友生,李雄 点击次数:
摘要:在软件工程活动中,首要的任务是选择一个适合于组织实际情况的软件开发模型和软件过程。文章对常用的软件开发模型进行了系统的介绍和总结,给出了这些模型之间的关系、各自的特点和适用场合。
关键词:软件开发模型需求体系结构软件过程
SoftwareDevelopmentModels:aSurvey
ZhangYousheng LiXiong
Abstract:Intheprocessofsoftwaredevelopment!themostimportantphaseistoselectasof
twaredevelopmentmodelandasoftwareprocesswhicharesuittotheactualsituationofanorgani
zationoraproject.Thispaperintroducesandsummarizessomesoftwaredevelopmentmodelsw
hichareusuallyappliedinsoftwaredevelopment!andgivestherelationsbetweenthesemodels!a
ndthecharacteristicsofeverymodel.
Keywords:softwaredevelopmentmodel!requirement!architecture!softwareprocess
1引言
正如任何事物一样,软件也有其孕育、诞生、成长、成熟和衰亡的生存过程,一般称其为软件的生命周期W。软件生命周期一般分为六个步骡,即制定计划、需求分析、设计、编码、测试及运行和维护。软件开发的各个阶段之间的关系不可能是顺序的、线性的,相反这个过程应该是带有反馈的迭代过程。在软件工程中,这个复杂的过程是用软件开发模型来描述和表示的。
软件开发模型是跨越整个软件生存周期的系统开发、运行、维护所实施的全部工作和任务的结构框架,给出了软件开发活动各阶段之间的关系。目前,常见的软件开发模型大致可分为三种类型:
(1)以软件需求完全确定为前提的瀑布模型(WaterfallModel)。
(2)在软件开发初始阶段只能提供基本需求时采用的渐进式开发模型,如螺旋模型(SpiralModel)等。
(3)以形式化开发方法为基础的变换模型(TransformationalModel)。
2瀑布模型
瀑布模型即生存周期模型,其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,采用结构化的分析与设计方法,将逻辑实现与物理实现分开。瀑布模型将软件生命周期划分为软件计划、需求分析和定义、软件设计、软件实现、软件测试、运行和维护六个步骡,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。瀑布模型的本质是:一次通过,即每个活动只做一次,最后得到软件产品,也称作“线性顺序模型”或者“传统生命周期*%2&,其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容,给出该项活动的工作成果,作为输出传给下一项活动;对该项活动实施的工作进行评审,若其工作得到确认,则继续下一项活动,否则返回前项,甚至更前项的活动进行返工。
瀑布模型有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究与使用,从而提高了大型软件项目开发的质量和效率。然而软件开发的实践表明,上述各项活动之间并非完全是自上而下,呈线性图式。因此,瀑布模型存在严重的缺陷。
(1)由于开发模型呈线性,所以当开发成果尚未经过测试时,用户无法看到软件的效果。这样,软件与用户见面的时间间隔较长,也增加了一定的风险。
(2)在软件开发前期末发现的错误传到后面的开发活动中时,可能会扩散,进而可能会造成整个软件项目开发失败。
(3)在软件需求分析阶段,就完全确定用户的所有需求是比较困难的,甚至可以说是不太可能的。
- 论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
- 论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
-
- 论文投稿客服QQ:
2863358778、
2316118108
-
- 论文投稿电话:15380085870
-
- 论文投稿邮箱:lunwenbuluo@126.com