更多相关资料可以到我的github上看看:https://github.com/Kemoduoaaa/Software_Engineering
一、选择填空
1.【单选题】RUP定义了初启阶段、精化阶段、构建阶段、移交阶段,每个阶段以达到某个里程碑时结束,其中( )的里程碑是生命周期架构。
A、构建阶段
B、精化阶段
C、初启阶段
D、移交阶段
解析:【考点】Rational统一过程(不过PPT里没有“里程碑“这个内容)
Rational统一过程(RUP)定义了初启阶段、精化阶段、构建阶段、移交阶段。
每个阶段以到达里程碑为结束的标准。
初启阶段:用户沟通、制定用户计划【里程碑:生命周期目标】
精化阶段:创建与设计架构【里程碑:生命周期架构】
构建阶段:将设计实现,并进行测试【里程碑:初始运作功能】
移交阶段:交由用户测试并迭代完善【里程碑:产品发布】
- 统一过程模型往往可以用于大型项目
- 统一过程特点:用例驱动、以架构为核心、迭代和增值
2.【单选题】下列关于敏捷联盟宣言的理解错误的是(D)。
A、个体和交互胜过过程和工具,表明团队的构建比开发环境的构建重要得多
B、可以工作的软件胜过面面俱到的文档,表明过多的文档比过少的文档更糟糕
C、响应变化胜过遵循计划,表明项目计划不能考虑过远,只需要为下几周做详细计划即可,再远的时间可制定简略的规划
D、客户合作胜过合同谈判,表明成功的项目需要客户配合开发团队详细明确地制定合同,避免开发时关于工作内容的过多交互
解析:【考点】敏捷开发
适合小型项目,强调小步快跑,随时和客户反馈
3.【单选题】瀑布模型是( )。
A、适用于需求被清晰定义的情况
B、一种需要快速构造可运行程序的好方法
C、一种不适用于商业产品的创新模型
D、目前业界最流行的过程模型
解析:【考点】瀑布模型
4.【单选题】以下关于软件过程的说法,错误的是(C)。
A、软件过程可被检查、理解、控制和改进。
B、软件过程是在软件生命周期中所实施的一系列活动的集合。
C、软件过程可以保证各活动之间是有组织的和一致的,因此会缺乏灵活性。
D、软件过程是指为建造高质量软件所需完成的任务的框架,它规定了完成各项任务的工作步骤。
解析:【考点】软件过程
5.【单选题】极限编程采用( )工具来了解与需求相关的内容。
A、用户素材
B、访谈大纲
C、用例图
D、思维导图
解析:【考点】极限编程
6.【单选题】以下关于极限编程(XP)的最佳实践的叙述中,不正确的是(C)。
A、系统最终用户代表应该全程配合XP团队
B、只处理当前的需求,使设计保持简单
C、编写完程序之后编写测试代码
D、可以按日甚至按小时为客户提供可运行的版本
解析:【考点】极限编程12个最佳实践(见题5)(PPT里其实有最佳实践相关的内容,不过说法不同)
- 现场客户(系统最终用户代表应该全程配合XP团队)
- 简单设计(只处理当前的需求,使设计保持简单)
- 测试先行(先写测试代码,然后再编写程序),所以C选项错误。
- 持续集成(可以按日甚至按小时为客户提供可运行的版本)
除此之外,极限编程的最佳实践还有:
- 计划游戏(快速指定计划、随着细节的不断变化而完善)
- 小型发布(系统的设计要能够尽可能早地交付)
- 隐喻(找到合适的比喻传达信息)
- 重构(重新审视需求和设计,重新明确地描述它们以符合新的和现有的需求)
- 结对编程
- 集体代码所有制
- 每周工作40小时
- 编码标准
7.【单选题】下列关于瀑布模型的说法正确的是( )。
A、实际工作中,瀑布模型仅能依次经过需求、设计、编码、测试、集成和维护这一路径进行项目开发,不能从后一阶段返回到前面的阶段。
B、瀑布模型并非在每一阶段都要求生成相应的文档。
C、经典瀑布模型只有在需求阶段和运行阶段才能有客户方和用户的参与,其余阶段只能开发团队参加???。
D、经典瀑布模型要求需求必须在最初阶段就要完整和明确。
解析:【考点】软件过程--瀑布模型(见题3)
- 实际的瀑布模型是带有反馈环的,所以可以从后一阶段返回到前面的阶段
- 瀑布模型需要在每一阶段都生成相应的文档
- 没找到
8.【单选题】下列关于增量模型的说法正确的是( )。
A、增量模型并不要求需求在最初阶段就是完整和明确的。
B、增量模型能够更早的向用户交付第一个版本的系统。
C、相比于瀑布模型,采用增量模型开发的项目所需的成本和时间要少。
D、采用增量模型时,每一增量必须按照既定顺序依次开发,不能更改。
解析:【考点】软件过程—增量模型
增量模型强调一块一块完成任务;先做核心模块,做好一块就给用户体验体验,发现问题解决问题。好处是核心模块比较早地和用户进行了接触。
- 增量模型需要从核心需求做起,所以核心需求应该完整明确
9.【单选题】原型化模型是( )。
A、适用于客户需求难以清楚定义的情况
B、适用于客户需求被明确定义的情况
C、很难产生有意义产品的一种冒险模型
D、提供一个精确表述的形式化规格说明
解析:【考点】软件过程—原型化模型
原型化模型强调构造一个简易的系统,针对的是需求不明的情况,原型法一般只用于需求分析阶段。
10.【单选题】下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是( )。
A、瀑布模型
B、增量模型
C、喷泉模型
D、演化模型
解析:【考点】软件过程—喷泉模型
瀑布模型是结构化的典型代表,喷泉模型是面向对象模型的代表
11.【单选题】增量模型是( )。
A、适用于需求被清晰定义的情况
B、一种需要快速构造核心产品的好方法
C、一种不适用于商业产品的创新模型
D、已不能用于现代环境的过时模型
解析:【考点】软件过程—增量模型
增量模型强调一块一块完成任务,先做核心模块,做好一块就给用户体验体验,发现问题解决问题。好处是核心模块比较早地和用户进行了接触。
12.【单选题】以下关于原型化开发方法的叙述中,不正确的是( )。
A、原型化方法利于确认各项系统服务的可用性
B、在开发过程中,可以废弃不用早期构造的软件原型
C、原型化方法适用于需求不明确的软件开发
D、原型化方法可以直接开发出最终产品
解析:【考点】软件过程—原型化模型
原型化模型强调构造一个简易的系统,针对的是需求不明确的情况。原型法一般只用于需求分析阶段
13.【单选题】某大型公司计划开发一款新产品,开发周期长,但是与重要客户相关的风险也很多,最适于采用( )开发过程模型。
A、原型
B、螺旋
C、瀑布
D、增量
解析:【考点】软件过程—螺旋模型
螺旋模型是多个模型的组合,引入风险分析
14.【单选题】软件工程中描述生存周期的瀑布模型一般包括计划、( )、设计、编码、测试、维护等几个阶段。
A、问题定义
B、需求分析
C、需求调查
D、可行性分析
解析:【考点】软件过程—瀑布模型(见题3)
我不懂,左边的是PPT里面的步骤,根本匹配不上;右边的是网上找的。
15.【单选题】敏捷设计要求系统设计在任何时间都尽可能的简单、干净和富有表现力,下面对敏捷设计理解错误的是( )。
A、对于软件管理者来说,只需要做很少的管理工作
B、对于软件设计者来说,通过简单、直观的划分,使其具有最小耦合的内部结构
C、对于用户来说,通过直观、简单的界面呈现出恰当特征的程序
D、对于开发人员来说,每周都会取得一些重大进展
解析:【考点】敏捷开发
适合小型项目,强调小步快跑,随时和客户反馈
16.【单选题】衡量原型开发人员能力的重要标准是( )。
A、很强的组织协调能力
B、快速获取需求
C、灵活使用开发工具
D、丰富的编程技巧
解析:【考点】软件过程—原型模型
原型模型强调构造一个简易的系统,针对的是需求不明确的情况,原型法一般只用于需求分析阶段。
衡量原型开发人员能力的重要标准是快速获取需求。
17.【单选题】下列软件哪个最适合采用敏捷开发方法( )。
A、小型创业项目软件
B、铁路12306购票网
C、Windows操作系统
D、火箭飞行控制系统
解析:【考点】敏捷方法
适合小型项目,强调小步快跑,随时和客户反馈
二、判断
1.【判断题】极限编程是采取必要的手段,充分挖掘软件开发团队人员的极限能力,在最短的时间内交付软件的开发方法。
答案:×
解析:【考点】极限编程
极限编程是一种敏捷方法,被认为是软件开发中最有效的方法之一。它以测试优先的开发方案运行,具有短期计划,同时高度适应需求的变化,并且由高生产率的团队组成,这些团队可以快速而有效地生产高质量的软件。在极限编程中,客户的参与度高于任何其他敏捷算法。
2.【判断题】V模型的本质是对瀑布模型的需求获取活动进行改造,有助于需求的定义和确认。
答案:×
解析:【考点】软件过程--V模型
V模型与瀑布模型类似,不过把测试这一步提到了更重要的地位。
在需求分析阶段用测试的眼光去看待问题,是一个强调测试的模型,情调尽早进行测试,测试要贯穿于开发的始终。
3.【判断题】为了防止软件腐化,敏捷开发团队不需要一个成熟的初始设计,而是通过多次使用单元测试和验收测试,灵活、持续地改进设计。
答案:√
解析:【考点】敏捷开发
4.【判断题】使用快速原型模型收集了客户的真实需求之后,可以在这个原型基础上快速扩充得到最终的软件系统。
答案:×
解析:【考点】软件过程—原型模型
强调构造一个简易的系统,针对的是需求不明确的情况,原型法一般只用于需求分析阶段。
衡量原型开发人员能力的重要标准是快速获取需求
5.【判断题】RUP是可配置的过程,如各阶段持续时间的长短、每个阶段的迭代次数、不同迭代过程持续的时间等都是可变化和调整的因素,因此RUP具有通用性。
答案:√
解析:【考点】Rational统一过程(见题1)
6.【判断题】采用原型法时,关键的因素是建立模型的速度,而不是原型运行的效率。
答案:√
解析:【考点】软件过程—原型模型
7.【判断题】软件过程有时也会被称为软件生命周期。
答案:√
解析:【考点】软件生命周期(见第一章题6)
8.【判断题】过程可以看做是一组精心安排的任务:包含有活动、约束和资源的一系列步骤,能产出某种特定输出。
答案:√
解析:【考点】软件过程