【软考软件评测师】第十章节 软件工程之开发模型与方法

第十章节 软件工程之开发模型与方法

  • 【软考软件评测师】第十章节 软件工程之开发模型与方法
  • 第一部分 知识点集锦
    • 1.瀑布模型
    • 2.螺旋模型
    • 3.增量模型
    • 4.原型模型
    • 5.喷泉模型
    • 6.Scrum(敏捷开发)
    • 7.XP方法
    • 8.结构化开发方法
    • 9.水晶方法
    • 10.V模型
  • 第二部分 综合知识历年真题
    • 2020下综合知识历年真题(2分)
    • 2019下综合知识历年真题(2分)
    • 2018下综合知识历年真题(2分)
    • 2017下综合知识历年真题(2分)
    • 2015下综合知识历年真题(2分)
    • 2014下综合知识历年真题(3分)
    • 2013下综合知识历年真题(2分)
    • 2012下综合知识历年真题(2分)
    • 2011下综合知识历年真题(2分)
    • 2010下综合知识历年真题(2分)

第一部分 知识点集锦

软件开发过程以系统需求作为输入,以要交付的产品作为输出,涉及活动、约束和资源使用的一系列工具和技术。瀑布模型、快速原型化模型、增量模型、螺旋模型等都是典型的软件开发过程模型。

1.瀑布模型

瀑布模型一直是唯一被广泛采用的生命周期模型,该模型规定了软件开发从一个阶段瀑布般的转换到另一个阶段。其优点是:
①可强迫开发人员采用规范化的方法;
②严格地规定了每个阶段必须提交的文档:
③要求每个阶段交出的所有产品都必须是经过验证的。
缺点是:
①每个阶段开发几乎完全依赖于书面的规格说明,因此可能导致开发出的软件产品不能真正满足用户需求;
②适用于项目开始时需求就确定的情况。

2.螺旋模型

螺旋模型将瀑布模型和演化模型结合起来,加入了两种模型均忽略的风险分析,弥补了这两种模型的不足。螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符合。在每个螺旋周期分为如下4个工作步。

  1. 制定计划。确定软件的目标,选定实施方案,明确项目开发的限制条件
  2. 风险分析。分析所选的方案,识别风险,消除风险
  3. 实施工程。实施软件开发,验证阶段性产品
  4. 用户评估。评价开发工作,提出修正建议,建立下一个周期的开发计划

其优点是:
客户始终参与,和管理层有效地交互;
强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解。
其缺点是:
需要具有相当丰富的风险评估经验,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;
过多的迭代次数会增加开发成本,延迟提交时间。适合于风险比较大,系统复杂的项目。
螺旋模型是软件开发的高级策略,它不仅适合结构化方法,而且更适合面向对象方法。它的实施将对软件开发组织的工作模式、人员素质、管理和技术水平产生深远的影响,是最有前途的过程模型之一。

3.增量模型

允许客户的需求可以逐步提出来;软件产品被增量式的一块块开发,每一个增量均发布一个可操作产品。

4.原型模型

开始于沟通,其目的是定义软件的总体目标,标识需求,然后快速制定原型开发的计划,确定原型的目标和范围,采用快速设计方式对其进行建模,并构件原型。
利用原型再通过与用户进行交互验证和进一步改进,重复这一过程最终得到令用户满意的软件产品
其优点是:
利于增加软件人员和用户对系统需求的理解;原型的最终版本可作为产品或者最终系统的一部分;
其缺点是:
文档容易被忽略;建立原型的许多工作被浪费;项目难以规划和管理。
该模型适合开发不复杂、中小型的系统,瀑布模型、增量模型和螺旋模型都适宜大型软件系统的开发,原型模型更常用于小规模软件系统的开发。

5.喷泉模型

是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。
使软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。
其优点是:
模型的各个阶段没有明显的界限,开发人员可以同步进行开发;是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程;
其缺点是:
由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理;此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。

6.Scrum(敏捷开发)

为并列争球法,是敏捷开发方法的一种。该方法使用迭代的方法,其中把每30天一次的迭代称为冲刺,并按需求的优先级来实现产品。多个自组织和自治小组并行地递增实现产品,协调是通过简短的日常情况会议进行。具体步骤包括:
首先需要确定一个ProductBacklog,即按优先顺序排列的一个产品需求列表;
Scrum Team根据ProductBacklog列表,进行工作量的预估和安排;
有了ProductBacklog列表,通过Sprint Planning Meeting(Sprint计划会议)从中挑选一个Story作为本次迭代完成的目标,这个目标的时间周期是1~4个星期,然后细化这个Story,形成一个SprintBacklog;
SprintBacklog是由Scrum Team完成的,每个成员根据Sprint Backlog再细化成更小的任务(在2天内能完成);
在Scrum Team完成计划会议上选出的Sprint Backlog过程中,需要进行Daily Scrum Meeting,每次会议控制在15分钟左右,每个人都必须发言,向所有成员当面汇报前一天的工作,承诺当天要完成的任务,可以提出遇到不能解决的问题,并更新自己的Sprint burn down;
做到每日集成,也就是每天都要有一个可以成功编译并且可以演示的版本;
当一个Story完成,即Sprint Backlog完成,也就表示一次Sprint完成,此时需要进行Sprint Review Meeting(演示会议),即评审会议,产品负责人和客户都要参加,每一个Scrum Team的成员都要向他们演示自己完成的软件产品;
Sprint Retrospective Meeting(回顾会议),也称为总结会议,以轮流发言方式进行,每个人都要发言,总结并讨论改进的地方,放入下一轮Sprint的产品需求中。

7.XP方法

极限编程是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。 XP中简单:极限编程鼓励从最简单的解决方式入手再通过不断重构达到更好的结果。这种方法与传统系统开发方式的不同之处在于,它只关注于对当前的需求来进行设计、编码,而不去理会明天、下周或者下个月会出现的需求。 在XP中,每个对项目做贡献的人都应该是项目开发小组中的一员。 每个不同的项目都需要一套不同的策略,约定和方法论是水晶法的内容。 极限编程的主要目标在于降低因需求变更而带来的成本。 12个最佳实践为:计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、持续集成、每周工作40小时、现场客户、编码标准。

8.结构化开发方法

结构化开发方法由结构化分析、结构化设计和结构化程序设计构成,是一种面向数据流的开发方法。结构化方法总的指导思想是自顶向下、逐层分解,基本原则是功能的分解与抽象。它是软件工程中最早出现的开发方法,特别适合于数据处理领域的问题,但是不适合解决大规模的、特别复杂的项目,而且难以适应需求的变化。

9.水晶方法

每一个不同的项目都需要一套不同的策略、约定和方法论则是水晶法的原则。

10.V模型

瀑布模型、增量模型和螺旋模型都适宜大型软件系统的开发,原型模型更常用于小规模软件系统的开发。

第二部分 综合知识历年真题

2020下综合知识历年真题(2分)

【2020年评测真题第30题:绿色】
30.快速原型化模型的优点不包括( )。
A.有助于理解用户的真实需求
B.开发人员在构建原型过程中可以学习许多相关的知识
C.原型系统已经通过与用户的交互而得到验证
D.适用于大规模的软件开发

解答:答案选择D。

【2020年评测真题第31题:红色】
31.现欲开发某高校一卡通系统,用于替换一个已经存在的系统,则最适于采用( ) 过程模型。
A.瀑布
B.原型化
C.增量
D.螺旋

解答:答案选择A。

2019下综合知识历年真题(2分)

【2019年评测真题第31题:红色】
31.某开发小组为某企业开发较大规模的项目,该开发小组已经为同一行业的其他企业开发过类似的项目,且该项目需求变化很少,则最适宜采用( )开发过程模型。
A.瀑布
B.演化
C.螺旋
D.喷泉

解答:答案选择A。AC二选一错。

【2019年评测真题第32题:绿色】
32.以下( )不是敏捷开发方法Scrum的步骤。
A.Product Backlog
B.Refactoring
C.Sprint
D.Sprint Backlog

解答:答案选择B。
重构(Refactoring)就是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。不是Scrum的步骤

2018下综合知识历年真题(2分)

【2018年评测真题第26题:黄色】
26.以下关于极限编程(XP)的叙述中,正确的是( )。XP的12个最佳实践,不包括( )。
A.XP是激发开发人员创造性、使管理负担最小的一组技术
B.每一个不同的项目都需要一套不同的策略、约定和方法论
C.多个自组织和自治小组并行地递增实现产品
D.有一个使命作为指导,它设立了项目的目标,但并不描述如何达到这个目标

A.重构
B.结对编程
C.精心设计
D.隐喻

解答:答案选择D|C。第一空选错

2017下综合知识历年真题(2分)

【2017年评测真题第26题:绿色】
26.以下关于瀑布模型的优点的叙述中,不正确的是( )。
A.可规范化开发人员的开发过程
B.严格地规定了每个阶段必须提交的文档
C.要求每个阶段提交的所有制品必须是经过评审和验证的
D.项目失败的风险较低

解答:答案选择D。

【2017年评测真题第27题:绿色】
27.现要开发一个软件产品的图形用户界面,则最适宜采用( )过程模型。
A.瀑布
B.原型化
C.增量
D.螺旋

解答:答案选择B。

2015下综合知识历年真题(2分)

【2015年评测真题第28题:绿色】
28.开发过程中以用户需求为动力,以对象作为驱动,( )适合于面向对象的开发方法。
A.瀑布
B.原型
C.螺旋
D.喷泉

解答:答案选择D。

【2015年评测真题第29题:绿色】
29.以下关于极限编程XP的叙述中,不正确的是( )。
A.由价值观,原则,实践和行为四个部分组成
B.每个不同的项目都需要一套不同的策略,约定和方法论
C.有四个价值观,即沟通,简单性,反馈和勇气
D.有五大原则,即快速反馈,简单性假设,逐步修改,提倡更改和优质工作

解答:答案选择B。

2014下综合知识历年真题(3分)

【2014年评测真题第28题:绿色】
28.以下关于瀑布模型的叙述中,正确的是 ( ) 。
A.适用于需求被清晰定义的情况
B.可以快速构造系统的可运行版本
C.唯一一个适合大规模项目开发的模型
D.己不能适应当前软件开发的过时模型

解答:答案选择A。

【2014年评测真题第29题:绿色】
29.某开发小组欲开发一个大型软件系统,需求变化较小,此时最不适宜采用( ) 过程模型。
A.瀑布
B.原型
C.增量
D.螺旋

解答:答案选择B。送分题。

【2014年评测真题第31题:绿色】
31.以下关于结构化开发方法的叙述中,不正确的是( )。
A.总的指导思想是自顶向下,逐层分解
B.基本原则是功能的分解与抽象
C.比面向对象开发方法更适合于开发大规模的、特别复杂的项目
D.特别适合解决数据处理领域的问题

解答:答案选择C。

2013下综合知识历年真题(2分)

【2013年评测真题第24题:绿色】
24.( )过程模型明确地考虑了开发中的风险。
A.瀑布
B.快速原型
C.V
D.螺旋

解答:答案选择D。

【2013年评测真题第23题:绿色】
23.在开发一个字处理软件时,首先快速发布了一个提供基本文件管理、编缉和文档生成功能的版本,接着发布提供更完善的编辑和文档生成功能的版本,最后发布提供拼写和语法检查功能的版本,这里采用了( )过程模型。
A.瀑布
B.快速原型
C.增量
D.螺旋

解答:答案选择C。

2012下综合知识历年真题(2分)

【2012年评测真题第38题:红色】
38.某开发小组的任务是开发一个大型软件产品的图形用户界面,宜采用( )开发过程模型。
A.瀑布
B.原型
C.V模型
D.螺旋

解答:答案选择D。错选择了B。

【2012年评测真题第39题:绿色】
( )模型吸收了软件工程“演化”的概念,使用原型及其他方法来尽量降低风险,适合于大型复杂软件系统的开发。
A.瀑布
B.原型
C.喷泉
D.螺旋

解答:答案选择D。

2011下综合知识历年真题(2分)

【2011年评测真题第26题:绿色】
26.现要开发一个通过卫星通信连接计算机的新软件产品,假设之前没有开发卫星通信软件的经验,则最不适合采用( )模型。
A.瀑布
B.原型
C.增量
D.螺旋

解答:答案选择A。送分题。

【2011年评测真题第28题:绿色】
28.以下关于敏捷方法的叙述中,不正确的是( )。
A.相对于过程和工具,更强调个人和交互
B.相对于严格的文档,更重视可工作的软件
C.相对于与客户的合作,更注重合同谈判
D.相对于遵循计划,更专注于对变化的响应

解答:答案选择C。送分题。

2010下综合知识历年真题(2分)

【2010年评测真题第19题:绿色】
19.V模型描述了软件基本的开发过程和测试行为,描述了不同测试阶段与开发过程各阶段的对应关系。其中,集成测试阶段对应的开发阶段是( )。
A.需求分析阶段
B.概要设计阶段
C.详细设计阶段
D.编码阶段

解答:答案选择B。

【2010年评测真题第26题:绿色】
26.螺旋模型综合了( )的优点,并增加了这两种模型忽略的风险分析。
A.瀑布模型和演化模型
B.瀑布模型和喷泉模型
C.演化模型和喷泉模型
D.原型和喷泉模型

解答:答案选择A。

【软考软件评测师】第十章节 软件工程之开发模型与方法相关推荐

  1. 【软考软件评测师】第一章节 面向对象测试方法

    [软考软件评测师]第一章节 面向对象测试方法 第一章节 面向对象测试方法 [软考软件评测师]第一章节 面向对象测试方法 第一部分 知识点集锦 1.面向对象的测试分为哪几个阶段 2.面向对象单元测试主要 ...

  2. 【软考软件评测师】第二十九章 可靠性可用性测试

    [软考软件评测师]第二十九章 可靠性可用性测试 [软考软件评测师]第二十九章 可靠性可用性测试 [软考软件评测师]第二十九章 可靠性可用性测试 第一部分知识点集锦 1.可靠性测试 1)主要活动 2)考 ...

  3. 【软考软件评测师】第五章节 安全测试测试方法

    [软考软件评测师]第五章节 安全测试测试方法 第五章节 安全测试测试方法 [软考软件评测师]第五章节 安全测试测试方法 第一部分 知识点集锦 1.常见安全攻击手段并简要说明 2.基本的安全性测试方法 ...

  4. 【软考软件评测师】第二十二章 法律法规专题

    [软考软件评测师]第二十二章 法律法规专题 第二十二章 法律法规专题 [软考软件评测师]第二十二章 法律法规专题 第一部分 知识点集锦 1.著作权法 1)保护期限 2)构成法律 3)保护客体 4)著作 ...

  5. 【软考软件评测师】第二十六章 计算机安全设计(其他知识)

    [软考软件评测师]第二十六章 计算机安全设计(其他知识) 第二十六章 计算机安全设计(其他知识) [软考软件评测师]第二十六章 计算机安全设计(其他知识) 第一部分 知识点集锦 1.5G技术 2.云计 ...

  6. 【软考软件评测师】第四章节 黑盒测试测试方法

    [软考软件评测师]第四章节 黑盒测试测试方法 第四章节 黑盒测试测试方法 [软考软件评测师]第四章节 黑盒测试测试方法 第一部分 知识点集锦 1.等价类划分的概念 2.等价类划分原则 3.边界值法 4 ...

  7. 【软考软件评测师】第十一章 软件工程之系统维护

    [软考软件评测师]第十一章 软件工程之系统维护 第十一章 软件工程之系统维护 [软考软件评测师]第十一章 软件工程之系统维护 第一部分 知识点集锦 1.可维护性 2.可用性可靠性 3.可伸缩性 4.改 ...

  8. 【软考软件评测师】2019综合知识历年真题

    [软考软件评测师]2019综合知识历年真题 2019综合知识历年真题 [软考软件评测师]2019综合知识历年真题 [2019年评测真题第01题:绿色] 01.虚拟存储技术使用()密切配合来构成虚拟存储 ...

  9. 【软考软件评测师】2017综合知识历年真题

    [软考软件评测师]2017综合知识历年真题 2017软件评测师综合知识历年真题 [软考软件评测师]2017综合知识历年真题 [2017年评测真题第01题:红色] 01.在Excel中,设单元格F1的值 ...

最新文章

  1. 数据结构与算法:07 Leetcode同步练习(二)
  2. [HNOI2011]数学作业 分段矩阵乘法
  3. 2019-05-30启动redis 后台服务运行·
  4. 独家对话阿里云函数计算负责人不瞋:你所不知道的 Serverless
  5. linux-2.6.32在mini2440开发板上移植(16)之LED 驱动程序移植
  6. java int比较用==,整数-在Java中使用==运算符比较包装对象
  7. python读取文件编码错误_Python 读取文本文件编码错误解决方案(未知文本文件编码情况下解决方案)...
  8. 西部数据中断与华为合作;苹果首次参加天猫 618;罗永浩第三次出质锤子股权 | 极客头条...
  9. 语言文件怎么放电脑c盘,电脑c盘怎么格式化
  10. 一只视频程序猿的移动直播SDK初体验
  11. MPI 初认识 (入门教程)
  12. python编写鸡兔同笼程序_编写程序,分享解鸡兔同笼问题? 用Python分享多笼鸡兔同笼...
  13. Mysql-innoDB锁总结
  14. matlab平稳性检验
  15. 1字节等于多少bit
  16. @keyframes简单使用
  17. HP11(HP其他喷头也可) 喷头程序开发项目外包
  18. 【已解决】问题:打开Chrome显示2345浏览器而不是Google浏览器
  19. 虚拟机ipv4和6都没访问权限_ipv4和ipv6无网络访问权限 win10
  20. 基于Java的设计管理系统

热门文章

  1. spring-boot学习
  2. 大忽悠还是万能药?一篇文章看懂大数据真相
  3. CNN Features off-the-shelf: an Astounding Baseline for Recognition 论文笔记
  4. ETL 到底是什么?
  5. iproute2路由配置(ip rule、ip route、traceroute)
  6. C++学习(八)(C语言部分)之 图形库
  7. 【每日随笔】做人策略选择 ( 人品好的坏处 | 正确的人设 | 同类博弈 | 人设策略变通 )
  8. Python-正则表示汉字数字-2021.9.17
  9. 经典递归算法——汉诺塔问题
  10. [EDA]8位双向移位寄存器的设计