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