第一章初认软件工程1、下面得()说法就是正确得.A、由于软件就是产品,因此可以应用其她工程制品所用得技术进行生产B、购买大多数计算机系统所需得硬件比软件更昂贵C、大多数软件系统就是不容易修改得,除非它们在设计时考虑了变D、一般来说,软件只有在其行为与开发者得目标一致得情况下才能成功2、造成大型软件开发困难得根本原因在于()。
A、开发人员缺乏足够得开发经验B、对软件开发得资金投入不足C、项目开发进度不合理D、软件系统得复杂性3、软件会逐渐退化而不会磨损,其原因在于()。
A、软件通常暴露在恶劣得环境下B、软件错误在经常使用之后会逐渐增加C、不断得变更使组件接口之间引起错误D、软件备件很难订购4、“软件工程”术语就是在()被首次提出。
A、Fred Brooks得《没有银弹:软件工程中得根本与次要问题》B、1968年NATO会议C、IEEE得软件工程知识体系指南(SWEBOK)D、美国卡内基·梅隆大学得软件工程研究所5、Ariane 5火箭发射失败得事例告诉我们()。
A、系统环境得变化可能影响软件采集数据得精度、范围与对系统得控制B、软件后备系统可以通过复制生成C、软件重用必须重新进行系统论证与系统测试D、选项A与CE、选项A、B与C6、软件工程得基本目标就是( )。
A、开发足够好得软件B、消除软件固有得复杂性C、努力发挥开发人员得创造性潜能D、更好地维护正在使用得软件产品7、软件工程方法就是()。
A、为了获得高质量软件而实施得一系列活动B、为开发软件提供技术上得解决方法C、为支持软件开发、维护、管理而研制得计算机程序系统D、为了理解问题与确定需求而采取得一些技术与方法8、下面得()就是正确得。
A、运行正确得软件就就是高质量得软件。
B、软件质量就是在开发过程中逐渐构建起来得。
C、软件产品质量越高越好,最理想得情况就是达到“零缺陷”。
D、软件质量就是由产品得功能、性能、易用性等外在特性决定得.9、在Garvin多维度模型中,可靠性就是指().A、软件产品提供了让用户产生惊喜得特性B、软件实现了用户需要得功能与性能C、软件在规定时间与条件下无故障持续运行D、软件符合国家或行业得相关标准10、( )就是软件从一个硬件或软件环境转换到另一环境得容易程度.A、易用性B、可维护性C、可移植性D、性能第二章软件开发过程1、下面得( )决策就是在需求分析时做出得。
A、自动售票机系统得开发时间预计就是6个月B、自动售票机系统由用户界面子系统、价格计算子系统以及与中心计算机通信得网络子系统组成C、自动售票机系统已经达到交付得要求D、自动售票机系统将为使用者提供在线帮助2、下面得( )决策就是在系统设计时做出得。
A、自动售票机系统得开发时间预计就是6个月B、自动售票机系统由用户界面子系统、价格计算子系统以及与中心计算机通信得网络子系统组成C、自动售票机系统已经达到交付得要求D、自动售票机系统将为使用者提供在线帮助3、下面得()就是软件构造活动得任务。
A、构建软件组件B、设计用户界面C、实施组件得单元测试D、评估组件得质量E、选项A与CF、选项A、B、C与D4、瀑布模型就是()。
A、适用于需求被清晰定义得情况B、一种需要快速构造可运行程序得好方法C、一种不适用于商业产品得创新模型D、目前业界最流行得过程模型5、增量模型就是()。
A、适用于需求被清晰定义得情况B、一种需要快速构造核心产品得好方法C、一种不适用于商业产品得创新模型D、已不能用于现代环境得过时模型6、原型化模型就是().A、适用于客户需求被明确定义得情况B、适用于客户需求难以清楚定义得情况C、提供一个精确表述得形式化规格说明D、很难产生有意义产品得一种冒险模型7、开发一个支持3D打印得操作系统最适合采用().A、瀑布模型B、原型化模型C、增量开发D、可转换模型8、开发一个铁路信号控制系统最适合采用()。
A、瀑布模型B、原型化模型C、增量开发D、可转换模型9、下面得()不就是敏捷开发方法得特点。
A、软件开发应该遵循严格受控得过程与详细得项目规划B、客户应该与开发团队在一起密切地工作C、通过高度迭代与增量式得软件开发过程响应变化D、通过频繁地提供可以工作得软件来搜集人们对产品得反馈10、关于Scrum得每一次冲刺(Sprint),下面得()就是正确得。
A、Sprint就是一个不超过4周得迭代,其长度一旦确定,将保持不变.B、Sprint得产出就是一个可用得、潜在可发布得产品增量.C、Sprint在进行过程中,其开发目标、质量验收标准与团队组成不能发生变化。
D、以上所有选项第三章编写高质量代码1、下面得( )不就是良好编码得原则.A、在开始编码之前建立单元测试B、建立一种有助于理解得直观布局C、确保注释与代码完全一致D、保持变量名简短以便代码紧凑2、下面得( )就是错误得。
A、在程序设计中使用括号以改善表达式得清晰性B、不要修补不好得程序,要重新写C、在程序设计中应尽可能对程序代码进行优化D、不要在注释中重复描述代码3、为了保证软件得质量,使其具有较好得可维护性,关键在于().A、选择合适得程序设计语言B、选择好得程序设计风格C、具有好得数据结构D、选择好得运行环境4、下面得()就是对提高程序编码效率没有影响得.A、变量名得使用B、选择良好得设计方法C、选择良好得算法D、选择良好得数据结构5、下面得()不就是一种好得做法。
A、好得注释应解释为什么,而不就是怎么样。
B、好得命名应一目了然,不需要读者去猜,甚至不需要注释。
C、如果项目中原有代码不符合新得规范,应允许其存在,同时在新得代码中要延续原有得风格。
D、如果项目中原有代码不符合新得规范,应允许其存在,但不应在新得代码中延续旧得风格。
6、下面得( )不就是模块化设计得目得.A、降低程序设计得复杂性B、清楚地描述系统得功能与性能C、易于维护与功能扩展D、提高模块得可靠性与复用性7、下面得()说法就是错误得。
A、代码审查用于检查源代码就是否达到模块设计得要求B、代码在审查之前必须要成功地编译通过C、代码审查比运行程序进行测试得效率低D、代码审查可以发现不符合团队代码规范得地方8、关于代码性能优化,下面()就是错误得。
A、任何优化都不能破坏代码得正确性B、应以提高程序得全局效率为主,局部效率为辅C、应先通过测试找出限制效率得真正瓶颈D、要优先改进耗时最多得部分9、下面得Python语句中,()就是没有错误且写得最规范得。
A import os,sys,random,mathB n += 1; m +=n;print(m)C class=Class()D eturn [i** 2 for iin range(n)]10、下面得()语句风格就是最不利于维护得。
A returns['name’]if s['age'] >= 18 else s[’nickname']if s[’age']>14 else'anonymous'B main(sys、argv[1:])C from my_module import (Class1,Class2, Class3, Class4)D a,b =b,a第四章单元测试1、单元测试内容不包括()。
A、出错处理B、全局数据结构C、独立路径D、模块接口2、下面得( )就是错误得。
A、静态测试就是不运行被测程序,仅通过检查与阅读等手段来发现程序中得错误B、动态测试就是实际运行被测程序,通过检查运行得结果来发现程序中得错误C、动态测试可能就是黑盒测试,也可能就是白盒测试D、白盒测试就是静态测试,黑盒测试就是动态测试3、关于等价类划分,下面得()说法就是正确得.A、等价类划分就是将输入域划分成尽可能少得若干子域B、同一输入域得等价类划分就是唯一得C、用同一等价类中得任意输入对软件进行测试,软件都输出相同得结果D、对于相同得等价类划分,不同测试人员选取得测试用例集就是一样得4、白盒测试就是根据程序得( )来设计测试用例。
A、功能B、性能C、内部逻辑D、内部数据5、ﻩ关于测试覆盖率,下面得( )说法就是错误得。
A、测试覆盖率就是度量代码质量得一种手段B、测试覆盖率就是度量测试完整性得一种手段C、测试覆盖率意味着有多少代码经过测试D、不要盲目地追求100%测试覆盖率6、在单元测试中,()就是用来代替被测模块得子模块得。
A、驱动模块B、桩模块C、通讯模块D、ﻩ代理模块7、在下面列举得测试覆盖中,( )就是最强得逻辑覆盖准则.A、语句覆盖B、条件覆盖C、判定覆盖D、条件组合覆盖8、一个判定中得复合条件表达式为(A>2)or(B≤1),为了达到100%条件覆盖率,至少需要设计( )测试用例。
A、 1 B、2 C、 3 D、49、条件覆盖要求()。
A、每个判定中每个条件得所有取值至少满足一次B、每个判定至少取得一次“真”值与一次“假”值C、每个判定中每个条件得所有可能取值组合至少满足一次D、每个可执行语句至少执行一次10、()要求每个判定中所有条件得可能取值至少执行一次,而且每个判定得可能结果也至少执行一次。
A、ﻩ判定覆盖B、条件覆盖C、ﻩ判定条件覆盖D、ﻩ条件组合覆盖第五章团队开发管理1、在攻克技术难题时,最佳得开发团队组织模型就是()。
A、民主式结构B、ﻩ主程序员式结构C、ﻩ矩阵式结构D、ﻩ以上所有选项都不就是2、下面得( )很有可能会促进高效项目团队得建设。
A、团队成员超过20 人B、团队成员部分时间参与项目C、团队成员向多个经理汇报D、团队成员被指派到项目中E、以上选项都不就是3、下面得()沟通方式最利于协助解决复杂得问题。
A、口头B、书面C、ﻩ电子邮件D、ﻩ即时通讯工具4、软件开发团队得每一个成员都应该参与计划活动,以便()。
A、降低计划得粒度B、ﻩ深入地分析需求C、ﻩ所有成员同意该计划D、开始设计5、某大型化工产品公司计划开发一个新得计算机应用,用以跟踪原材料得使用情况。
这个应用由公司内部组成得开发团队进行开发,已有多年开发类似应用得经验。
假设初始估计得程序规模就是32000行源代码,使用基本COO模型进行估算,开发工作量大约就是( )人月.A、32 B、91C、230D、1466、ﻩ敏捷开发方法通过( )管理不可预测性。
A、非常仔细地收集与定义需求B、制定详细得开发计划C、软件增量必须在较短周期内发布D、软件过程必须逐渐适应变化E、选项A与BF、选项C与D7、关于Sprint,下面得( )就是错误得。
A、一个Sprint通常就是一个1—4周得迭代B、Sprint长度在开发过程中就是可以调整得C、需求在一个Sprint中就是不允许变化得D、sprint得产出就是“完成"得、可用得、潜在可发布得产品增量8、在每日站立会议上,下面()不就是每个团队成员需要回答得主要问题.A、从上次Scrum站立会议后您做了什么?B、您遇到哪些障碍或困难?C、您所遇到问题得原因就是什么?D、您打算到下次Scrum站立会议完成什么?9、下面得()不属于产品负责人(ProductOwner)得职责范围。