软件工程 知识要点北外Word文档下载推荐.docx
《软件工程 知识要点北外Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《软件工程 知识要点北外Word文档下载推荐.docx(84页珍藏版)》请在冰点文库上搜索。
)作为软件体系结构形状最佳。
∙A层次构型
∙B倒三角型
∙C金字塔型
∙D清真寺型
D
9.9.以下关于公共耦合的说法中,不正确的是(
∙A公共耦合的模块在公共数据环境中,相互作用;
∙B随耦合模块的个数增加,程序公共耦合的复杂随之增加;
∙C公共耦合随耦合模块的个数减少而增大;
∙D公共耦合越大,模块独立性就更低;
10.10.模块通过输入参数,确定该模块内执行几个逻辑上相似的功能其中哪一个,这种内聚属于(
∙A功能内聚
∙B逻辑内聚
∙C偶然内聚
∙D时间内聚
11.11.结构化软件工程中,通过分析来建立(
∙A目标系统的逻辑模型
∙B目标系统的物理模型
∙C当前系统的逻辑模型
∙D当前系统的物理模型
12.12.软件结构图模块框之间的直线连接,表示(
)关系。
∙A控制
∙B调用
∙C数据流动
∙D隶属
13.13.程序流程图连线代表(
∙A调用关系
∙B数据流
∙C资金流
∙D控制流
14.14.代码质量从根本上而言,(
)阶段就被决定了质量高低大概。
∙A概要设计
∙B详细设计
∙C编码实现
∙D测试
15.15.以下关于PAD的说法中,不正确的是(
∙APAD支持结构化程序设计原理
∙BPAD能清晰地反映程序层次结构
∙CPAD足够结构化以至于它支持自动生成程序代码
∙DPAD支持逐步求精的程序设计方法
16.16.需求分析要开发人员使用形式化的建模方式,形成的输出文档中包括(
∙A《程序流程图》
∙B《系统流程图》
∙C《分层数据流图》
∙D《系统结构图》
17.17.假设作为一家大型软件公司的系统分析员,你需要为北京稻香村食品集团开发一个软件,该产品将监控食品原料存货,跟踪从购买各种食品原材料开始,到生产,发货给各个连锁店,直至保存和卖给顾客的全过程。
为这个项目选择(
)生命周期模型更合适?
∙A瀑布模型
∙B快速原型模型
∙C螺旋模型
∙D增量模型
18.18.章奉贤是一所高校的教务处管理人员,他的工作之一就是为来访的同学打印带红色印章的合法标准成绩单,系统需要章老师输入学生类型来判断打印哪种红章,例如普通本科使用教育部规定的红章,培训生使用北外教务处红章,委托培养生使用委托单位和教务处两个红章……用来实现上述工作的软件模块属于(
∙B通信内聚
∙C时间内聚
∙D逻辑内聚
19.19.运行被测程序,设计若干个测试用例执行(
)测试标准,被称为判定覆盖测试。
∙A使每条件的每种可能的自由组合,都至少要执行一次
∙B使每个判断取真和取假分支至少要执行一次
∙C使每条可执行路径至少要执行一次
∙D使每个可执行语句至少要执行一次
20.20.一个模块调用另一个模块时,传递变量用于选择被调用模块内执行那一条路径的耦合属于(
∙A数据耦合
∙B控制耦合
∙C标记耦合
∙D公共耦合
21.21.单元测试和集成测试共同特质是,以下特征中,(
)并非二者共同点。
∙A以系统设计文档为依据
∙B测试人员为开发小组
∙C适用白盒测试法和黑盒测试法
∙D测试内容包括接口测试、路径测试
22.22.不利于模块独立性的软件设计原则是(
∙A单入口单出口
∙B自顶而下逐步细化
∙C高内聚低耦合
∙D多入口多出口
23.23.程序功能、性能、输入、输出、算法、流程逻辑、接口等内容,编写在软件工程(
)文档之中。
∙A《需求规格说明书》
∙B《概要设计说明书》
∙C《详细设计说明书》
∙D《软件测试计划》
24.24.白盒测试法的覆盖标准中,测试用例最详尽的是(
∙A语句覆盖
∙B条件覆盖
∙C条件组合覆盖
∙D判定覆盖
25.25.概要设计不能确定(
)选项的设计方案。
∙A系统总体结构
∙B各模块功能概述
∙C模块间关系及其接口
∙D模块内部逻辑结构
26.26.软件维护阶段的维护事件中,处于末尾的是(
∙A错误严重程度的评价
∙B问题分析
∙C维护
∙D复审
27.27.以下关于模块的控制范围的叙述中,正确的是(
∙A是指受该模块内一个判定影响的所有模块的集合
∙B是指模块本身以及其所有同级模块的集合
∙C是指模块本身以及其所有下属模块的集合
∙D是指模块本身以及其所有直接相关模块的集合
28.28.在数据流程图中,既有名称,又存在方向的成分一定是(
∙A信息流
∙B控制流
∙C数据流
∙D信号流
29.29.软件的复杂性是(
),会引起人员通信困难、开发费用超支、开发时间超时等问题。
∙A不可降低的
∙B可消除的
∙C人为的
∙D固有的
30.30.软件需求分析的主要任务是准确地定义出要开发的软件系统是(
)的。
∙A做什么
∙B如何做
∙C对谁做
∙D怎么做
31.31.软件研发所需的高成本和软件产品的低质量间,存在极尖锐的矛盾的现象被称为(
∙A软件研发
∙B软件工程
∙C软件开发周期
∙D软件危机
32.32.以下关于模块之间接口的设计中,(
)是不可取的。
∙A接口传递信息应简单
∙B接口应该和模块功能一致
∙C降低模块接口的复杂性,以实现更低的耦合设计
∙D模块之间的接口传递信息结构越复杂,模块独立性越高
33.33.软件测试和软件调试在研发中都不可或缺,以下分析中,不正确的是(
∙A测试是为发现错误;
测试后才能针对漏洞展开调试,而调试的任务是修正错误,并复查软件的正确性;
∙B独立测试组展开测试工作;
联合测试组展开调试工作;
∙C从已知条件开始测试,其结果是可预知的,但测试是否能通过则不可预见;
调试结果同样是不可预见的。
∙D测试有计划、要设计的,是发现错误、改正错误后再重新测试的受控过程;
调试要推理也要思维飞跃,它不受时间约束,整个软件开发过程都必须调试;
34.34.在白盒法技术测试用例的设计标准中,(
)覆盖最弱。
∙A语句
∙B判定
∙C条件组合
∙D路径
35.35.软件测试方案的指定,开始于需求分析阶段,完成于(
∙A需求分析
∙B软件设计
∙C软件实现
∙D软件测试
36.36.
内聚和耦合在模块设计中很关键,
设计下层模块时应充分考虑以提高设计质量,以下选项中,(
)可能获得较高的程序质量。
∙A信息内聚
∙B过程内聚
∙C功能内聚
37.37.以下特性中,能够形成软件工程中结构化程序设计的是(
)选项。
∙A程序中包括顺序结构、选择结构和循环结构;
∙B程序运行效率最高;
∙C控制结构都遵守单入和单出原则,来保持控制流直线性;
∙D程序遵循高内聚、低耦合原则
38.38.《模块设计规格说明》中不包括(
∙A模块所用算法
∙B公共数据结构
∙C模块外部接口
∙D模块设计用例
39.39.(
)是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
∙A软件过程
∙B软件工具
∙C质量保证
∙D软件工程
40.40.(
二、多项选择题(每题2分,共40分)
41.1.软件计划时期需要调研人员包括(
∙A系统分析员
∙B软件开发技术支持人员
∙C软件用户
∙D软件使用部门的负责人
A
B
C
D
42.2.软件维护阶段的任务的执行可以分为三部分,包括(
∙A理解修改部分
∙B理解现有系统
∙C修改现有系统
∙D重新确认修改部分
43.3.程序结构复杂程度,可以通过(
)来计量。
∙A程序结构度量法
∙B计算程序路径法
∙C代码行度量法
∙DMcCabe环路复杂度计量法
44.4.
∙A把与该循环变量无关的运算移到循环之外
∙B交换内、外循环,将循环次数大的循环放在嵌套的内层
∙C交换内、外循环,将循环次数小的循环放在嵌套的内层
∙D把与该循环变量无关的运算移到循环之内
45.5.黑盒测试方法很多,但不包括(
)测试方法。
∙A等价分类
∙B边界值分析
∙C路径覆盖
∙D错误推测
46.6.属于适应性维护的变化是(
∙A操作人员的更新和更换
∙B操作系统的更新换代
∙C多核处理器等硬件的淘汰和升
∙D数据库更新换代
47.7.软件需要维护原因包括(
∙A软件需要增加新的应用范围
∙B改正程序中的错误和缺陷
∙C用户要求升级软件抵御病毒或木马
∙D改进设计以适应新的软、硬件环境
48.8.计算结果出现错误,该软件缺陷级别属于(
∙A致命缺陷
∙B严重缺陷
∙C建议性缺陷
∙D轻微缺陷
49.9.详细设计模型能够保证(
∙A逻辑上正确地实现每个模块功能
∙B处理逻辑的设计方案应尽可能简明易懂
∙C代码实现严格执行设计模型
∙D遵循结构化程序设计原则
50.10.依据是系统设计文档和需求文档,通过测试小组针对接口测试、路径测试、功能测试、性能测试等方面,执行(
)实现集成测试。
∙A白盒测试法
∙B黑盒测试法
∙C验收测试法
∙D图灵测试法
51.11.软件详细设计任务包括(
∙A模块算法设计
∙B框架设计
∙C用户界面设计
∙D数据库设计
52.12.当沿着螺旋模型的过程流路径向外移时,(
)描述正在开发或维护的软件发生的变化是正确的。
∙A第二个螺旋可能用于开发原型,随后将跳过风险评估直接提供软件的更完善的版本。
∙B经过计划区域的每一圈是为了调整项目计划,基于用户评估所得反馈,调整费用和进度。
∙C沿螺旋线自外向内每旋转一圈,便开发出一个更为完善的、新的软件版本。
∙D在使用螺旋模型开发软件的过程中,从核心开始,螺旋的第一圈可能产生软件的规格说明;
如果风险评估通过,那么才会进入下一圈螺旋。
53.13.软件可维护性受到以下(
)因素的制约。
∙A可理解性
∙B可测试性
∙C可修改性
∙D可移植性
54.14.数据流图能被计算机处理的元素是(
∙A数据源点
∙B数据处理
∙C数据文件
∙D数据终点
55.15.以下关于软件维护说法中,正确的是(
∙A在软件开发中,增加人员的方法可以缩短软件开发时间;
∙B向一个已经延迟的项目追加开发人员,可能使软件完成时间推迟得更晚。
∙C软件设计时期的设计方案,对软件可维护性不会产生影响
∙D因为当开发人员以算术级数增长时,而人员之间的通信将以几何级数增长,往往"
得不偿失"
。
56.16.软件设计阶段包括(
∙A用户交互界面设计
∙B数据库设计
∙C软件高层框架设计
∙D模块详细设计
57.17.以下关于软件编码正确的是(
∙A程序代码结构的分支增加,会导致环路复杂度随之增加;
∙B过深的嵌套结构会降低程序可读性,使程序变得更难以理解;
∙C因为对代码结构复杂性进行度量,需要研究的就只有程序流程,程序流程图框内细节其实是不被关心的;
∙D应该将程序的效率放在编码的首要考虑位置;
编码可读性在其次,提高程序可读性、使程序结构更清晰的重要性,排在程序优化之后;
58.18.程序结构形成程序流程图,经过退化形成退化图,下图所示的退化图所具备的McCabe环路复杂度为(
∙A3
∙B2
∙C1
∙D4
59.19.精化软件模块设计,以下说法正确的是(
∙A模块大小控制在100~500行左右;
∙B模块功能可预测,并完善化模块功能;
∙C消除重复功能,降低软件复杂度,生成公共调用模块,提高软件接口的复杂性;
∙D降低模块接口的复杂性,减少高扇出争取高扇入;
60.20.在软件生产过程中,人工、时间等成本导致软件价格居高不下,但开放源代码软件却解决了这一问题,以下关于开放软件源代码产生的问题说法中,正确的是(
∙A在盗版泛滥的时代,拥有源代码的公司如何得到回报,没有回报就没有进一步研发资金,软件的发展从何而来。
∙B开放源代码对促进软件和信息技术业的快速发展全无益处。
∙C开放软件源代码一定比不支持开放源代码好。
∙D开放软件源代码不一定好,开放源代码对一个软件系统的完善有很好的促进作用,因为这样可以集合很多人的智慧,但这种观点并不完全正确。
三、是非题(每题2分,共20分)
61.1.
白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。
(
)
∙A是
∙B否
62.2.
面向对象的分析是面向计算机系统建立软件系统的对象模型。
63.3.
许多模块中重复使用没有任何联系的语句,为节省存储,抽出重复语句而组成新模块,则该模块属于偶然性内聚。
64.4.在软件开发中,若能推迟暴露其中错误,则为修复和改正漏洞花费代价会降低。
65.5.
下划线法选择逻辑断点初以下划线来连接前后字符,形成命名的方式是c出现后开始流行的,许多旧程序和UNIX环境中使用非常普遍。
66.6.
软件维护只要足够小心,就可以避免引入新错误。
67.7.
好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。
68.8.
程序调试活动从确定程序中可疑错误的确切性质和位置开始,来修改程序、排除错误的。
69.9.
软件调试从已知条件开始,受时间约束,结果可预知,调试是否能通过不可预见。
70.10.
边界值分析方法是取输入、输出等价类的边界值作为测试用例。
1.1.
代码检查通常以小组为单位阅读代码,使用一系列规程和错误检查技术的集合实现静态软件测试,下列选项中,(
)不能作为代码检查的组织方式。
∙A审查会议
∙B白盒测试
∙C代码走查
∙D同行复审
2.2.运行被测程序,设计若干个测试用例执行(
)测试标准,被称为条件覆盖测试。
∙A使每条件的每种可能,都至少要执行一次
∙B使每个测试分支至少要执行一次
3.3.北京外国语大学教务在线需要增加一系列网络办事平台,经过调研和专家咨询,最终雇佣1位高级程序员、3位程序员、1名测试员,来开发基于JavaScript的在线处理系统,开发周期为15个月,代码量将会达到数万行,该系统属于(
4.4.概要设计阶段涉及的逻辑设计工具是(
∙ASC
∙BPDL
∙CDFD
∙DPAD
5.5.软件调试的主要目的是为(
)而执行程序。
∙A避免错误
∙B发现错误
∙C纠正错误
∙D证明正确
6.6.调试工作的技术人员应该是(
∙A软件研发工程师
∙B软件测试工程师
∙C系统设计者
∙D维护人员
7.7.(
)软件开发模型开发出一部分界面、向用户展示一部分,可让用户及早看到部分软件交付使用的样式,及早发现问题、修正漏洞。
∙A螺旋模型
∙B增量模型
∙C面向对象模型
∙D快速原型模型
8.8.软件静态测试包括非正式审核和证实审核两种方式,正式的审核通过会议组织形式完成;
而非正式审核不包括(
)方式。
∙A代码走读
∙C程序互审
∙D代码走查
9.9.人们将计算机程序功能、设计、编制、使用的文字或图形资料,称为(
∙A文件
∙B文档
∙C程序
∙D档案
10.10.某模块扇入越大,其结果不包括以下(
∙A共享该模块的上级模块就越多
∙B重复次数越多,软件系统复用程度就越高
∙C该模块调用的下级模块越多,软件系统复用程度就越高
∙D改善系统结构的尺度更大
11.11.软件早期漏洞筛查方式中,(
)是效果最差的一个。
∙B桌面检查
12.12.能结合喷泉模型的软件开发平台为(
∙ACobol开发平台;
∙BPDL;
∙CVisual
C+;
∙DPython平台
13.13.以下关于可行性研究阶段说法中,不正确的是(
∙A研究软硬件资源的有效性是进行操作可行性研究的一方面。
∙B可行性研究要进行的需求分析和设计应是简化、压缩的。
∙C可行性分析中,程序流程图用于描述当前运行系统。
∙D系统定义明确之后,应对系统研究包括经济可行性、技术可行性、法律可行性等可行性进行研究。
14.14.需求分析的结果中最主要的逻辑设计结果不包括(
∙ADFD图
∙B数据字典
∙CSC图
∙D《需求规格说明》
15.15.问题分析图是种详细设计图形表示工具,以下说法中,正确的是(
∙APAD清晰表现程序结构,纵线是程序流程线,几条竖线对应几层嵌套结构;
∙BPAD二维网状结构,用于表示程序控制流;
∙CPAD图容易转换成高级程序语言源程序,避免人工编码、实现编程自动化;
∙DPAD图受到程序约束,在一个方框内表现程序结构;
16.16.
∙A
∙
∙B
∙C
∙D
17.17.(
)是指程序从一个计算机环境移植到另一个计算机环境的容易程度。
∙A鲁棒性
∙B可预见性
∙C可移植性
∙D可维护性
18.18.模块内各部分之间没有联系,或即使有联系,也很松散,是内聚程序最低的模块内举行是,该模块属于(
)内聚。
∙A逻辑内聚
∙D巧合内聚
19.19.螺旋模型要用于描述(
)的软件开发过程。
∙A线性过程
∙B循环反馈
∙C风险评估
∙D面向对象
20.20.
把需要同时执行的动作组合在一起形成的模块内聚方式称为(
∙A偶然内聚
∙B时间内聚
∙D通信内聚
21.21.以下程序测试路径中,检测程序路径多少最详尽的是(
∙A点覆盖
∙B判定覆盖
∙C边覆盖
∙D路径覆盖
22.22.软件维护工作展开的时间是(
∙A软件设计方案定稿之后
∙B软件编码完成后
∙C软件投入使用前
∙D软件投入使用之后
23.23.设计一个合适的软件结构,对软件的实现和测试应用具有不可取代的指导性作用,以下构成形状中不适合作为软件模块调用的构成结构形状的是(
∙C清真寺型
∙D金字塔型