软考开发模型考点总结

Java基础 潘老师 1年前 (2023-04-06) 635 ℃ (0) 扫码查看

软考中涉及到的主要生存期模型:

1、瀑布模型:

瀑布模型是将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型,包括需求分析、设计、编码、运行与维护。

瀑布模型的特点是容易理解,管理成本低,每个阶段都有对应的成果产物,各个阶段有明显的界限划分和顺序要求,一旦发生错误,整个项目推倒重新开始。

适用于需求明确的项目,一般表述为需求明确、或二次开发,或者对于数据处理类型的项目

2、V模型:

强调测试贯穿项目始终,而不是集中在测试阶段。是一种测试的开发模型。

3、喷泉模型:

典型的面向对象的模型。特点是迭代、无间隙。会将软件开发划分为多个阶段,但各个阶段无明显界限,并且可以迭代交叉。

4、原型模型:

典型的原型开发方法模型。适用于需求不明确的场景,可以帮助用户明确需求。

5、增量模型:

融合了瀑布模型的基本成分和原型实现的迭代特征,可以有多个可用版本的发布,核心功能往往最先完成,在此基础上,每轮迭代会有新的增量发布,核心功能可以得到充分测试。强调每一个增量均发布一个可操作的产品。

6、螺旋模型:

典型特点是引入了风险分析。结合了瀑布模型和演化模型的优点,最主要的特点在于加入了风险分析。它是由制定计划、风险分析、实施工程、客户评估这一循环组成的,它最初从概念项目开始第一个螺旋。属于面向对象开发模型,强调风险引入。

7、统一过程(在软件设计师考试中UP、RUP都指统一过程):典型特点是用例驱动、以架构为中心、迭代和增量。统一过程把一个项目分为四个不同的阶段:

构思阶段 :包括用户沟通和计划活动两个方面,强调定义和细化用例,并将其作为主要模型。

细化阶段 :包括用户沟通和建模活动,重点是创建分析和设计模型,强调类的定义和体系结构的表示。

构建阶段 :将设计转化为实现,并进行集成和测试。

移交阶段 :将产品发布给用户进行测试评价,并收集用户的意见,之后再次进行迭代修改产品使之完善

8、敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,适用于小团队和小项目,具有小步快跑的思想。常见的敏捷开发方法有极限编程法、水晶法、并列争球法和自适应软件开发方法。

(1)极限编程是一种轻量级的开发方法,它提出了四大价值观:沟通、简单、反馈、勇气。五大原则:快速反馈、简单性假设、逐步修改、提倡更改、优质工作。十二个最佳实践:计划游戏、隐喻、小型发布、简单设计、测试先行、重构、结对编程、集体代码所有制、持续集成、每周工作40小时、现场客户和编码标准。

(2)水晶法强调经常交付,认为每一种不同的项目都需要一套不同的策略、约定和方法论。

(3)并列争球法的核心是迭代、增量交付,按照30天进行迭代开发交付可实际运行的软件。

(4)自适应软件开发的核心是三个非线性的,重迭的开发阶段:猜测、合作、学习。

几种模型对比:

1.原型开发模型(快速原型模型、演化模型、增量模型)

1)快速原型:
解释:其用途是获知用户的真正需求,一旦需求确定了,原型即被抛弃。主要用于需求分析阶段。是一种“抛弃式”的原型化方法。
特征:简化项目管理、尽快建立初步需求、加强用户参与和决策。
2)演化模型:
解释:应用于真个软件开发过程,是从最初模型逐步演化为最终软件产品的渐进过程。是一种“渐进式”的原型化方法。
3)增量模型(渐增式)
解释:主要用于设计阶段,把软件产品划分为一系列的增量构件,分别进行设计、编程、集成和测试。新的增量构件不得破坏已经开发出来的产品。

2.瀑布模型

解释:瀑布模型严格遵循软件生命周期各阶段的固定顺序:计划、分析、设计、编程、测试和维护,上一阶段完成后才能进入下一阶段,真个模型就像是一个飞流直下的瀑布。
优点:以文档作为驱动,强迫开发人员采用规范的方法,严格规定了各阶段必须提交的文档;要求每一阶段结束后都要进行严格的评审。与它最相适应的开发方法是结构化方法。
缺点:不适用户需求的改动。

3.螺旋模型

解释:综合了瀑布模型和原型模型中的演化模型的优点,还增加了风险分析。螺旋线第一圈的开始点可能是一个概念项目。从第二圈开始,一个新产品开发项目就开始了,新产品的演化沿着螺旋线进行若干次迭代,一直转到软件生命期结束。

4.喷泉模型

解释:主要用于描述面向对象的开发过程。喷泉一词体现了面向对象开发过程的迭代和无间隙特征。

5.迭代软件开发技术

Rational统一开发流程RUP是一个通用的软件流程框架,它是一个以框架为中心,用例驱动的迭代化软件开发流程。RUP是从千个软件项目的实践经验中总结出来的,对于实际的项目具有很强的指导意义,是软件开发行业事实上的行业标准。在RUP中,我们把软件开发生命周期划分为四个阶段,每个阶段的结束标志就是一个主要的里程碑。
这四个阶段是为了达到以下阶段性的目标里程碑:
先启(Inception):确定项目开发的目标和范围。
精化(Elaboration):确定系统架构和系统功能
构建(Construction):实现剩余的系统功能
产品化(Transition):完成软件的产品化工作,将系统移交给客户

真题案例

1.(2012年下)某开发小组欲开发一个规模较大、需求较明确的项目。开发小组对项目领域熟悉且该项目与小组开发过的某一项目相似,则适宜采用瀑布开发模型。
2.(2012年上)假设某软件公司与客户签订合同开发一个软件系统,系统的功能有较清晰的定义,且客户对交付时间有严格要求,则该系统的开发最适宜采用瀑布模型。
3.(2011年下)若全面采用新技术开发一个大学记账系统,以替换原有的系统,则宜选择采用瀑布模型进行开发。
4.(2011年上)为了有效地捕获系统需求,应采用原型模型
5.(2010年上)统一过程(UP)定义了初启阶段、精化阶段、构建阶段、移交阶段,每个阶段以达到某个里程碑时结束,其中,精化阶段的里程碑时生命周期架构。

 


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/6105.html
喜欢 (1)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】