1、第一章 初认软件工程1.下面的( )说法是对的的。A.由于软件是产品,因此可以应用其他工程制品所用的技术进行生产 B.购买大多数计算机系统所需的硬件比软件更昂贵 C.大多数软件系统是不容易修改的,除非它们在设计时考虑了变 D.一般来说,软件只有在其行为与开发者的目的一致的情况下才干成功2.导致大型软件开发困难的主线因素在于( )。A.开发人员缺少足够的开发经验B.对软件开发的资金投入局限性 C.项目开发进度不合理 D.软件系统的复杂性 3.软件会逐渐退化而不会磨损,其因素在于( )。A.软件通常暴露在恶劣的环境下 B.软件错误在经常使用之后会逐渐增长 C.不断的变更使组件接口之间引起错误 D.
2、软件备件很难订购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.更好地维护
3、正在使用的软件产品7.软件工程方法是( )。A.为了获得高质量软件而实行的一系列活动B.为开发软件提供技术上的解决方法 C.为支持软件开发、维护、管理而研制的计算机程序系统 D.为了理解问题和拟定需求而采用的一些技术和方法8.下面的( )是对的的。A.运营对的的软件就是高质量的软件。 B.软件质量是在开发过程中逐渐构建起来的。 C.软件产品质量越高越好,最抱负的情况是达成“零缺陷”。 D.软件质量是由产品的功能、性能、易用性等外在特性决定的。9.在Garvin多维度模型中,可靠性是指( )。A.软件产品提供了让用户产生惊喜的特性 B.软件实现了用户需要的功能和性能 C.软件在规定期间和条件下无
4、端障连续运营 D.软件符合国家或行业的相关标准10.( )是软件从一个硬件或软件环境转换到另一环境的容易限度。A.易用性 B.可维护性 C.可移植性 D.性能第二章 软件开发过程1.下面的( )决策是在需求分析时做出的。A.自动售票机系统的开发时间预计是6个月 B.自动售票机系统由用户界面子系统、价格计算子系统以及与中心计算机通信的网络子系统组成 C.自动售票机系统已经达成交付的规定 D.自动售票机系统将为使用者提供在线帮助2.下面的( )决策是在系统设计时做出的。A.自动售票机系统的开发时间预计是6个月 B.自动售票机系统由用户界面子系统、价格计算子系统以及与中心计算机通信的网络子系统组成
5、C.自动售票机系统已经达成交付的规定 D.自动售票机系统将为使用者提供在线帮助3.下面的( )是软件构造活动的任务。A.构建软件组件 B.设计用户界面 C.实行组件的单元测试 D.评估组件的质量 E.选项A和C F.选项A、B、C和D4.瀑布模型是( )。A.合用于需求被清楚定义的情况 B.一种需要快速构造可运营程序的好方法 C.一种不合用于商业产品的创新模型 D.目前业界最流行的过程模型5.增量模型是( )。A.合用于需求被清楚定义的情况 B.一种需要快速构造核心产品的好方法C.一种不合用于商业产品的创新模型 D.已不能用于现代环境的过时模型6.原型化模型是( )。A.合用于客户需求被明拟定
6、义的情况 B.合用于客户需求难以清楚定义的情况 C.提供一个精确表述的形式化规格说明 D.很难产生故意义产品的一种冒险模型7.开发一个支持3D打印的操作系统最适合采用( )。A.瀑布模型 B.原型化模型 C.增量开发 D.可转换模型8.开发一个铁路信号控制系统最适合采用( )。A.瀑布模型 B.原型化模型 C.增量开发 D.可转换模型9.下面的( )不是灵敏开发方法的特点。A.软件开发应当遵循严格受控的过程和具体的项目规划 B.客户应当和开发团队在一起密切地工作 C.通过高度迭代和增量式的软件开发过程响应变化 D.通过频繁地提供可以工作的软件来搜集人们对产品的反馈10.关于Scrum的每一次冲
7、刺(Sprint),下面的( )是对的的。A.Sprint是一个不超过4周的迭代,其长度一旦拟定,将保持不变。 B.Sprint的产出是一个可用的、潜在可发布的产品增量。 C.Sprint在进行过程中,其开发目的、质量验收标准和团队组成不能发生变化。 D.以上所有选项第三章 编写高质量代码1.下面的( )不是良好编码的原则。A.在开始编码之前建立单元测试B.建立一种有助于理解的直观布局 C.保证注释与代码完全一致 D.保持变量名简短以便代码紧凑2.下面的( )是错误的。A.在程序设计中使用括号以改善表达式的清楚性 B.不要修补不好的程序,要重新写 C.在程序设计中应尽也许对程序代码进行优化 D
8、.不要在注释中反复描述代码3.为了保证软件的质量,使其具有较好的可维护性,关键在于( )。A.选择合适的程序设计语言 B.选择好的程序设计风格 C.具有好的数据结构 D.选择好的运营环境4.下面的( )是对提高程序编码效率没有影响的。A.变量名的使用 B.选择良好的设计方法 C.选择良好的算法 D.选择良好的数据结构5.下面的( )不是一种好的做法。A.好的注释应解释为什么,而不是怎么样。 B.好的命名应一目了然,不需要读者去猜,甚至不需要注释。 C.假如项目中原有代码不符合新的规范,应允许其存在,同时在新的代码中要延续原有的风格。 D.假如项目中原有代码不符合新的规范,应允许其存在,但不应在
9、新的代码中延续旧的风格。6.下面的( )不是模块化设计的目的。A.减少程序设计的复杂性 B.清楚地描述系统的功能和性能 C.易于维护和功能扩展 D.提高模块的可靠性和复用性7.下面的( )说法是错误的。A.代码审查用于检查源代码是否达成模块设计的规定 B.代码在审查之前必须要成功地编译通过 C.代码审查比运营程序进行测试的效率低 D.代码审查可以发现不符合团队代码规范的地方8.关于代码性能优化,下面( )是错误的。A.任何优化都不能破坏代码的对的性 B.应以提高程序的全局效率为主,局部效率为辅 C.应先通过测试找出限制效率的真正瓶颈 D.要优先改善耗时最多的部分9.下面的Python语句中,(
10、 )是没有错误且写得最规范的。A import os, sys, random, math B n += 1; m += n; print(m) C class = Class() D eturn i * 2 for i in range(n)10.下面的( )语句风格是最不利于维护的。A return sname if sage = 18 else snickname if sage 14 else anonymous B main(sys.argv1:) C from my_module import (Class1, Class2, Class3, Class4) D a, b = b,
11、 a第四章 单元测试1.单元测试内容不涉及( )。A.犯错解决 B.全局数据结构 C.独立途径 D.模块接口2.下面的( )是错误的。A.静态测试是不运营被测程序,仅通过检查和阅读等手段来发现程序中的错误 B.动态测试是实际运营被测程序,通过检查运营的结果来发现程序中的错误 C.动态测试也许是黑盒测试,也也许是白盒测试 D.白盒测试是静态测试,黑盒测试是动态测试3.关于等价类划分,下面的( )说法是对的的。A.等价类划分是将输入域划提成尽也许少的若干子域 B.同一输入域的等价类划分是唯一的 C.用同一等价类中的任意输入对软件进行测试,软件都输出相同的结果 D.对于相同的等价类划分,不同测试人员
12、选取的测试用例集是同样的4.白盒测试是根据程序的( )来设计测试用例。A.功能 B.性能 C.内部逻辑 D.内部数据5.关于测试覆盖率,下面的( )说法是错误的。A.测试覆盖率是度量代码质量的一种手段 B.测试覆盖率是度量测试完整性的一种手段 C.测试覆盖率意味着有多少代码通过测试 D.不要盲目地追求100%测试覆盖率6.在单元测试中,( )是用来代替被测模块的子模块的。A.驱动模块 B.桩模块 C.通讯模块 D.代理模块7.在下面列举的测试覆盖中,( )是最强的逻辑覆盖准则。A.语句覆盖 B.条件覆盖 C.鉴定覆盖 D.条件组合覆盖8.一个鉴定中的复合条件表达式为(A2)or(B1),为了达
13、成100%条件覆盖率,至少需要设计( )测试用例。A. 1 B.2 C.3 D.49.条件覆盖规定( )。A.每个鉴定中每个条件的所有取值至少满足一次 B.每个鉴定至少取得一次“真”值和一次“假”值 C.每个鉴定中每个条件的所有也许取值组合至少满足一次 D.每个可执行语句至少执行一次10.( )规定每个鉴定中所有条件的也许取值至少执行一次,并且每个鉴定的也许结果也至少执行一次。A.鉴定覆盖 B.条件覆盖 C.鉴定条件覆盖 D.条件组合覆盖第五章 团队开发管理1.在攻克技术难题时,最佳的开发团队组织模型是( )。A.民主式结构 B.主程序员式结构 C.矩阵式结构 D.以上所有选项都不是2.下面的
14、( )很有也许会促进高效项目团队的建设。A.团队成员超过 20 人 B.团队成员部分时间参与项目 C.团队成员向多个经理报告 D.团队成员被指派到项目中 E.以上选项都不是3.下面的( )沟通方式最利于协助解决复杂的问题。A.口头 B.书面 C.电子邮件 D.即时通讯工具4.软件开发团队的每一个成员都应当参与计划活动,以便( )。A.减少计划的粒度 B.进一步地分析需求 C.所有成员批准该计划 D.开始设计5.某大型化工产品公司计划开发一个新的计算机应用,用以跟踪原材料的使用情况。这个应用由公司内部组成的开发团队进行开发,已有数年开发类似应用的经验。假设初始估计的程序规模是32023行源代码,
15、使用基本COCOMO模型进行估算,开发工作量大约是( )人月。A.32 B.91 C.230 D.1466.灵敏开发方法通过( )管理不可预测性。A.非常仔细地收集和定义需求 B.制定具体的开发计划 C.软件增量必须在较短周期内发布 D.软件过程必须逐渐适应变化 E.选项A和B F.选项C和D7.关于Sprint,下面的( )是错误的。A.一个Sprint通常是一个1-4周的迭代 B.Sprint长度在开发过程中是可以调整的 C.需求在一个Sprint中是不允许变化的 D.sprint的产出是“完毕”的、可用的、潜在可发布的产品增量8.在每日站立会议上,下面( )不是每个团队成员需要回答的重要
16、问题。A.从上次Scrum站立会议后你做了什么? B.你碰到哪些障碍或困难? C.你所碰到问题的因素是什么? D.你打算到下次Scrum站立会议完毕什么?9.下面的( )不属于产品负责人(Product Owner)的职责范围。A.组织每日站立会议 B.定义产品需求 C.拟定需求优先级 D.验收迭代结果 E.负责产品的投资回报10.软件配置管理的目的是( )。A.减少开发成本 B.控制软件修改 C.减少混乱 D.提高软件开发效率 E.提高对的率第六章 需求获取与文档化1.下列哪项需求描述属于业务需求描述?A.我们的任务是无缝集成有竞争力的软件信息服务来解决商业问题 B.我们的目的是让客户将我们
17、的品牌和高质量联系在一起 C.我们公司的主营业务是销售飞机票 D.公司网站上销售的产品必须满足所有食品药品监管需求2.下面哪项是百货店收银系统的非功能性需求?A.提供新鲜的蔬菜和水果 B.买10个或10个以下商品的客户可以走特殊通道 C.设有存包处 D.为雇员发工资3.以下哪种方法最合用于身处多个不同地点的人在各自方便的时间参与并围绕同一个主题表达自己的观点?A.问卷调查 B.面谈 C.群体诱导 D.文档分析4.在一个列车控制软件的需求文档中,我们发现了以下两条需求描述:“列车车门在两个停靠站之间要保持关闭”;“列车发生紧急停车时,要打开车门”。这里出现的需求问题是什么?A.无法测试的需求 B
18、.不完整的需求 C.模糊的需求 D.矛盾与不一致的需求5.获取软件系统需求不涉及以下的哪个来源?A.系统相关领域的法律法规 B.系统的质量控制团队 C.系统的业务流程描述 D.其他类似系统产品6.软件需求工程师的职责不涉及以下的哪一项?A.撰写需求规格说明书 B.与用户连续沟通,了解用户对产品的盼望 C.控制项目的风险 D.对需求的优先级进行排序7.在选择软件需求获取技术的时候,以下哪种策略最优?A.考虑尚不了解的那部分需求的特点 B.考虑需求工程师自身对各种获取技术的驾驭能力 C.考虑目前系统所属的行业及应用领域的现状 D.综合考虑上述因素8.以下哪种需求获取方法是面向创新型产品的?A.竞争
19、性需求分析 B.A/B测试 C.用户行为数据采集 D.可用性分析9.在灵敏开发方法中,用户故事(User Story)的作用是什么?A.定义需要发布给最终用户的软件特性和功能 B.拟定发布每一次增量的日程表 C.用于代替具体的活动计划 D.用于估算构建当前增量所需要的努力 E.选项A和C F.选项A和D10.下面的哪一种说法是对的的?A.故事点是一个绝对度量单位 B.故事点估算一定要做到非常精确 C.故事点表达开发一个用户故事或特性的复杂度 D.故事点表达开发一个用户故事或特性所要付出的工作量第七章 软件系统设计1.随着软件系统的规模和复杂性越来越大,( )变得更加重要。A.算法的选择 B.数
20、据结构的设计 C.数据库的构造 D.系统的全局结构设计2.下面的说法( )是错误的。A.软件体系结构的最佳表达形式是一个可执行的软件原型 B.软件体系结构描述是不同项目相关人员之间进行沟通的使能器 C.良好的分层体系结构有助于系统的扩展与维护 D.设计模式是从大量成功实践中总结出来且被广泛公认的实践和知识3.良好设计的特性是( )。A.模块之间呈现高耦合 B.实现分析模型中的所有需求 C.涉及所有组件的测试用例 D.提供软件的完整描述 E.选项B和D F.选项B、C和D4.Word、Excel等应用系统适合采用( )结构风格。A.层次系统 B.事件系统 C.解释器 D.管道-过滤器5.与C/S
21、架构的信息系统相比,B/S架构的信息系统的优势是( )。A.具有更高的安全性 B.更容易部署和升级维护 C.具有更强的事务解决能力,易于实现复杂的业务流程 D.用户界面和谐,具有更快的响应速度6.对于观测者模式,下面的( )说法是错误的。A.观测者的更新是被动的 B.被观测者可以告知观测者进行更新 C.观测者可以改变被观测者的状态,再由被观测者告知所有观测者 D.以上所有选项7.设计目的可提成性能、可靠性、成本、维护和最终用户等类型,下面( )描述的是性能目的。A.当用户发出任何命令后,系统必须在1秒内将信息反馈给用户。 B.即使在网络失败的情况下,火车票发售系统也必须可以成功地提交火车票。
22、C.火车票发售系统的机器外壳必须允许安装新按钮以便增长新的不同票价。 D.系统用户界面应当防止用户以错误的顺序执行命令。8.下面的( )架构可以更好地实现Web应用的前后端分离。A.MVC B.Restful API C.RPC9.一个创业团队想要开发一款社交App,但是他们对于也许的发展的业务仍不十分明确,此时希望可以开发一个相对简朴的版本进行原始的需求验证与测试,这种情况比较适合选择( )数据库。A.Mysql B.MongoC.Redis10.如今社交文化横行,大数据分析遍地,几乎所有的应用与产品都多少会与社交网络或大用户量、大数据相关联。假如准备开发一个较完整的社交网络应用,支持10万
23、以上日活跃用户进行各种点赞、评论等交互活动,应当采用( )数据库或数据库组合。A.Mysql B.Mongo C.Mysql + Redis D.Mongo + Redis第八章 软件交互设计1、 阅读下面给出的文献 “A Brief History of Human-Computer Interaction Technology”,其中第一个装载GUI操作系统的计算机是( )。苹果公司的Macintosh微软公司的Windows施乐公司的Alto施乐公司的Star施乐公司的Lisa 2、 思考一下,乔布斯为苹果公司制定的手机上的黄金法则是什么?为什么?采用现状及其因素?这里的黄金法则是指(
24、)。单手操作手机,屏幕尺寸3.5英寸单手操作手机,屏幕尺寸4.7英寸双手操作手机,屏幕尺寸4.7英寸双手操作手机,屏幕尺寸4.0英寸3、 同学们上网用一下谷歌界面、雅虎界面和bing界面,都是检索任务的软件,差异在哪里?这几款产品目前用户量的差异很大限度上是界面在注意力设计上的差异,请进行分析。其中,最能使用户集中注意力的界面设计是( )。谷歌雅虎bing4、 视频(电影、电视、动画、数字视频,等)帧律的设立依据是( )。根据机器的解决能力根据个人偏好根据人的视觉暂留时间5、 分析课件中数字软键盘布局上的不一致现象,为什么在同一款手机上,不同应用中的数字键盘的布局不一致?其中( )应用中的数字
25、软键盘布局是一致的。电话拨号和计算器通讯录和电话拨号计算器和通讯录6、 人们不会把 ( ) 中的“(”认作一对,因素是视觉认知中的( )定律在起作用。连续律接近律相似律对称律7、 输出一列数值时,需要考虑对齐方法,你会选择( )方法。左对齐右对齐两端对齐小数点对齐8、 用KLM自己计算课件上的两个温度转换器软件界面的操作时间。后者交互效率高,( )因素更本质。没有在两种输入设备间切换界面没有需要用户额外表达的信息用户操作的更快KLM的计算结果小9、 访问 ,下面的( )是对的的。所采用的两种输入设备都是目的越大访问时间越长在所采用的两种输入设备上,只有其中一个是目的越大访问时间越长在所采用的两
26、种输入设备上,实验时间均与Distance/Width呈正相关10、 访问,其中环形菜单的设计是( )。不知如何启动,毫无意义对美工的设计能力规定很高到达每个菜单项时手的移动距离短且同样第九章 软件系统测试1.软件测试的目的是( )。A.避免软件中出现错误 B.证明软件的对的性 C.解决测试中发现的错误 D.发现软件中潜在的错误2.下面( )说法是错误的。A.测试应当尽早不断地执行 B.软件错误具有聚集性,对存在错误的部分应重点测试 C.软件测试是提高软件质量的决定性因素 D.测试用例需要定期评审和修改,并且要不断增长新的测试用例3.下面的( )不是集成测试的内容。A.对软件中最小可测试单元进
27、行检查和验证 B.把各个模块连接在一起时,穿越模块接口的数据是否会丢失 C.一个模块的功能是否会对另一个模块的功能产生不利的影响 D.若干子功能组合在一起是否能产生预期的主功能4.下面的( )是错误的。A.功能测试是根据需求规格说明验证产品的功能实现是否符合规定 B.压力测试是检测在极限环境中使用系统时施加在用户上的压力 C.安全测试是检测系统中的保护机制是否可以保护系统免受非正常的袭击 D.安装测试是保证应用程序可以被成功地安装5.( )是为了有效地发现软件缺陷而精心设计的少量测试数据。A.测试计划 B.测试用例 C.缺陷报告 D.测试报告6.错误推测法是( )。A.将输入数据划提成若干个等
28、价类,从中选取有代表性的数据作为测试用例 B.将所有也许的输入数据作为测试用例 C.运用场景对系统的功能点或业务流程进行描述,相应不同的业务场景生成相应的测试用例 D.根据经验或直觉推测程序中也许发生错误的情况,编写检查它们的测试用例7.Web链接测试不涉及( )。A.客户端与服务器端的连接速度 B.无链接指向的页面 C.错误的链接 D.不存在的页面8.( )是检测Web应用系统提供信息的对的性、准确性和相关性 。A.表单测试 B.链接测试 C.内容测试 D.Cookies测试9.下面的( )不是软件性能的指标。A.响应时间 B.并发进程数 C.吞吐量 D.资源运用率10.下面的( )不是性能
29、测试的目的。A.达成百分之百的语句覆盖 B.验证软件系统是否可以满足预期的性能规定 C.发现软件系统中存在的性能瓶颈 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.软件维护