软件评测师写作专栏之软件开发过程模型20

各位学员大家好,大家在学习软件开发过程模型时,主要会考察瀑布模型、原型化模型、增量模型、喷泉模型和螺旋模型等为了让大家快速掌握这方面的知识点,接下来就带领大家一起来学习一下!

例题:现要开发一个软件产品的图形用户界面,则最适宜采用(  )过程模型。

A、瀑布

B、原型化

C、增量

D、螺旋


【昊洋详解】:本题考查软件开发过程模型的基础知识。

瀑布模型:给出了软件生存周期各阶段的固定顺序,上一个阶段完成后才能进入下一个阶段。瀑布模型是将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型,包括需求分析、设计、编码、测试、运行与维护。它规定了由前至后、相互衔接的固定次序,如同瀑布流水逐级下落,瀑布模型的缺点是缺乏灵活性。如下图所示:


瀑布模型的一个变体是V模型,V模型描述了质量保证活动和沟通、建模相关活动以及早期构建相关的活动之间的关系。随着软件团队工作沿着V模型左侧步骤向下推进,基本问题需求逐步细化,形成问题及解决方案的技术描述。一旦编码结束,团队沿着V模型右侧的步骤向上推进工作,其实际上是执行了一系列测试(质量保证活动),这些测试验证了团队沿着V模型左侧步骤向下推进过程中所生成的每个模型。V模型提供了一种将验证确认活动应用于早期软件工程工作中的方法。如下图所示:

原型模型:也叫做原型化模型或者快速原型模型,大量的实践表明,在开发初期很难得到一个完整的、准确的需求规格说明。这主要是由于客户往往不能准确地表达对未来系统的全面要求,开发者对要解决的应用问题模糊不清,以至于形成的需求规格说明常常是不完整的、不准确的,有时甚至是有歧义的。此外,在整个开发过程中,用户可能会产生新的要求,导致需求的变更。而瀑布模型难以适应这种需求的不确定性和变化,于是出现了原型化开发模型这种新的开发方法。

原型是预期系统的一个可执行版本,反映了系统性质的一个选定的子集。一个原型不必满足目标软件的所有约束,其目的是能快速、低成本地构建原型。如下图所示:


增量模型:融合了瀑布模型的基本成分和原型实现的迭代特征,它假设可以将需求分段为一系列增量产品,每一增量可以分别开发。该模型采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。当使用增量模型时,第1个增量往往是核心的产品。客户对每个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。增量模型强调每一个增量均发布一个可操作的产品。如下图所示:


螺旋模型:对于复杂的大型软件,开发一个原型往往达不到要求。螺旋模型将瀑布模型和原型化模型结合起来,加入了两种模型均忽略的风险分析,弥补了这两种模型的不足。螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符合。每个螺旋周期分为如下4个工作步骤。

1)、制定计划。确定软件的目标,选定实施方案,明确项目开发的限制条件。

2)、风险分析。分析所选的方案,识别风险,消除风险。.

3)、实施工程。实施软件开发,验证阶段性产品。

4)、用户评估。评价开发工作,提出修正建议,建立下一个周期的开发计划。

螺旋模型如下图所示:


喷泉模型:喷泉模型是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性,迭代意味着模型中的开发活动常常需要重复多次,在迭代过程中不断地完善软件系统。无间隙是指在开发活动(如分析、设计、编码)之间不存在明显的边界,也就是说,它不像瀑布模型那样,在需求分析活动结束后才开始设计活动,在设计活动结束后才开始编码活动,而是允许各开发活动交叉、迭代地进行。

喷泉模型如下图所示:


综上所述,要开发一个软件产品的图形用户界面,需求往往变化比较大,比较适合原型化过程模型,故该题目的正确答案为B。


巩固练习题

(1)以下关于瀑布模型的优点的叙述中,不正确的是(  )。

A、可规范化开发人员的开发过程

B、严格地规定了每个阶段必须提交的文档

C、要求每个阶段提交的所有制品必须是经过评审和验证的

D、项目失败的风险较低


(2)某开发小组欲开发一个软件系统,实现城市中不同图书馆的资源共享,包括实体资源和电子资源,共享规则可能在开发过程中有变化。客户希望开发小组能尽快提交可运行的软件,且可以接受多次交付。这种情况下最适宜采用(1 )开发过程模型。主要是因为这种模型(2 )。  

1、A、瀑布   

B、原型   

C、增量    

D、螺旋

2、A、可以快速提交阶段性的软件产品                     

B、需求变化对开发没有影响  

C、减少用户适应和习惯系统的时间和精力        

D、能够很好解决风险问题


(3)( )过程模型明确地考虑了开发中的风险  。

A、瀑布               

B、快速原型

C、V                      

D、螺旋


(4)开发过程中以用户需求为动力,以对象作为驱动,( )适合于面向对象的开发方法。

A、瀑布    

B、原型   

C、螺旋   

D、喷泉


练习题参考答案

(1)解析:本试题考查瀑布模型的基础知识。

瀑布模型:是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。

瀑布模型有以下优点:

1)、为项目提供了按阶段划分的检查点。

2)、当前一阶段完成后,您只需要去关注后续阶段。

3)、可在迭代模型中应用瀑布模型。

4)、它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。

瀑布模型有以下缺点:

1)、各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。

2)、由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。

3)、通过过多的强制完成日期和里程碑来跟踪各个项目阶段。

4)、瀑布模型的突出缺点是不适应用户需求的变化。

D不属于瀑布模型的特点,是螺旋模型的特点。故该题目的正确答案为D。

 

(2)解析:本题考查软件开发过程模型的基础知识。

瀑布模型:给出了软件生存周期各阶段的固定顺序,上一个阶段完成后才能进入下一个阶段,瀑布模型的缺点是缺乏灵活性。

原型模型:是逐步演化成最终软件产品的过程,特别适用于对软件需求缺乏准确认识的情况。

增量模型:采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。当使用增量模型时,第1个增量往往是核心的产品,即第1个增量实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。

螺旋模型:提出于1988年,由瀑布模型和原型模型相结合而成,综合了二者的优点,并增加了风险分析。

客户希望开发小组能尽快提交可运行的软件,且可以接受多次交付。这时候增量模型是最好的选择。增量模型可以快速提交阶段性的软件产品。故该题目的第一空的正确答案为C,第二空的正确答案为A。

 

(3)解析:本题考查软件过程开发模型的基础知识。

软件过程是软件生存周期中的一系列相关活动,即用于开发和维护软件及相关产品的一系列活动。

瀑布模型从一种非常高层的角度描述了软件开发过程中进行的活动,并且提出了要求开发人员经过的事件序列。过程模型明确地考虑了开发中的风险

快速原型模型允许开发人员快速地构造整个系统或系统的一部分以理解或澄清问题。

V模型是瀑布模型的变种,他说明测试活动是如何与分析和设计相联系的。

螺旋模型把开发和风险管理结合起来,以将风险减到最小并控制风险,在该过程模型中,风险被明确地提了出来,故该题目的正确答案为D。

 

(4)解析:本题考查软件过程开发模型的基础知识。

瀑布模型在1970年提出,给出了软件生存周期各阶段的固定顺序,上一个阶段完成后才能进入下一个阶段。瀑布模型的缺点是缺乏灵活性。

原型模型是逐步演化成最终软件产品的过程,特别适用于对软件需求缺乏准确认识的情况。

螺旋模型提出于1988年,由瀑布模型和原型模型相结合而成,综合了二者的优点,并增加了风险分析。

喷泉模型主要用于描述面向对象的开发过程,体现了面向对象开发过程的迭代和无间隙特征。故该题目的正确答案为D。

写于2020年9月14日

作者:昊洋讲师

版权所有,侵权必究

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章