软件工程导论复习试题库.docx
《软件工程导论复习试题库.docx》由会员分享,可在线阅读,更多相关《软件工程导论复习试题库.docx(17页珍藏版)》请在冰豆网上搜索。
![软件工程导论复习试题库.docx](https://file1.bdocx.com/fileroot1/2023-1/23/faf7ac47-ba2a-4f1f-bc2b-d66d2c0b986f/faf7ac47-ba2a-4f1f-bc2b-d66d2c0b986f1.gif)
软件工程导论复习试题库
软件工程导论复习试题库
a
(1)在软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作是
A)路径的集合B)循环的集合C)目标的集合D)地址的集合
c
(2)在下述哪一种测试中,测试程序的设计者必须接触到源程序
I.功能测试Ⅱ.结构测试
A)均不须B)只有ⅠC)只有ⅡD)Ⅰ和Ⅱ
a(3)检查软件产品是否符合需求定义的过程称为
A)确认测试B)集成测试C)验证测试D)验收测试
c(4)下述陈述中,哪一个不是软件健壮性的度量指标?
A)失败后重新启动所需的时间B)引起失败的时间所占的百分比
D)失败前的平均工作时间D)在一次失败中数据恶化的概率
b(5)对软件是否能达到用户所期望的要求的测试称为
A)集成测试B)有效性测试C)系统测试D)验收测试
a(6)在面向数据流的软件设计方法中,一般将信息流分为
A)变换流和事务流B)变换流和控制流
C)事务流和控制流D)数据流和控制流
d(7)软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含的内容
I.数据描述Ⅲ.模块描述
II.功能描述Ⅳ.性能描述
A)ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅱ和ⅢD)Ⅰ、Ⅱ和Ⅳ
(8)软件测试一般分为三类,即
I.静态测试Ⅱ.动态测试Ⅲ.正确性测试
设计测试用例对程序进行测试,应属于
A)ⅠB)ⅡC)Ⅰ和ⅡD)Ⅲ
(9)模块独立性是由内聚性和耦合性来度量的,其中内聚性是度量____,耦合性是度量____。
A)模块间联系程度B)模块的功能强度
C)信息隐蔽程度D)模块的复杂程度
(10)软件设计中一般将用到图形工具,下述哪种(些)工具可用作设计的图形工具
I.结构图Ⅱ.实体关系图Ⅲ.IPO图
II.Ⅳ.流程图Ⅴ.N-S图
A)Ⅰ和ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅲ、Ⅳ和ⅤD)全部
A
(2)C(3)A(4)C(5)B(6)A(7)D(8)B(10)C
(11)试判断下列论述中哪个(些)是正确的
I.软件系统中所有的信息流都可以认为是变换流
II.软件系统中所有的信息流都可以认为是事务流
III.事务分析和变换分析的设计步骤基本类似
A)ⅠB)ⅡC)ⅢD)Ⅰ和Ⅲ
(12)软件的有效性测试是验证软件的运行是否达到用户的期望,用户的期望应体现于
A)详细设计报告B)软件需求说明书
C)总体设计报告D)有效性测试要求
(13)软件设计中的软件过程其主要描述的是
A)模块间关系B)模块操作细节
C)模块控制方法D)模块类型
(14)软件测试是软件件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?
I.预防软件发生的错误Ⅱ.发现改正程序错误Ⅲ.提供诊断错误信息
A)只有Ⅰ均不须B)只有ⅡC)只有ⅢD)都是
(15)软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?
A)功能测试B)单元测试
C)结构测试D)确认测试
(16)软件维护是软件运行期的重要任务,下列维护任务中哪一类维护是软件维护的主要部分?
A)完善性维护B)适应性维护
C)改正性维护D)预防性维护
(17)软件开发中常采的结构化生命周期方法,由于其特征而一般称其为
A)瀑布模型B)对象模型C)螺旋模型D)层次模型
(18)软件原型化开发方法有其基本步骤,下述
I.获取基本需求Ⅱ.开发工作模型Ⅲ.严格细部说明Ⅳ.模型验证
中,哪些(个)是实现原型化的最基本的步骤?
A)全部都是B)Ⅰ,Ⅱ和ⅣC)ⅣD)Ⅰ和Ⅱ
(19)软件设计将涉及软件的结构、过程和模块的设计,其中软件过程是指
A)模块间的关系B)模块的操作细节
C)软件层次结构D)软件开发过程
(20)软件需求分析和设计过程中,其分析与设计对象可归结为两个主要的对象,即数据和程序,按一般实施的原则,对二者的处理应该是
A)先数据后程序B)先程序后数据C)与顺序无关D)可同时进行
(11)D(12)B(13)B(14)D(15)B(16)A(17)A(18)B(19)B(20)A
(21)结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,下述
I.结构化语言Ⅱ.判定树Ⅲ.判定表
是常用的说明工具,其中便于对加工出现的组合条件的说明工具是
A)Ⅱ和ⅢB)Ⅰ、Ⅱ和ⅢC)Ⅰ和ⅢD)Ⅰ和Ⅱ
(22)软件开发的瀑布模型,一般都将开发过程划分为:
分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是
A)分析阶段B)设计阶段C)编码阶段D)测试阶段
(23)加工是对数据流图中不能再分解的基本加工的精确说明,下述哪个是加工的最核心成分?
A)加工顺序B)加工逻辑C)执行频率D)激发条件
(24)构建一个原型不支持下述哪种功能?
A)取代最终系统B)辅助收集软件需求
C)辅助估计工程代价D)作为较大工程的基础
(25)软件文档是软件的重要组成部分,也是软件开发阶段的基础,它还影响到软件的
A)可复用性B)可维护性C)可扩展性D)可移植性
(26)下列哪种描述是正确的?
A)定义阶段产生软件需求规划B)测试在软件生命周期中是可选的
C)CASE工具只能辅助软件生命周期的设计阶段
D)后一阶段改变时,不需要更新以前所有阶段的文档
(27)黑盒测试法和白盒测试法经常用于软件测试阶段,其中白盒测试法主要用于测试软件的
A)结构合理性B)程序正确性C)程序外部功能D)程序内部逻辑
(28)软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是
A)设计人员和用户B)分析人员和用户C)分析人员和设计人员D)编码人员和用户
\(21)A(22)C(23)B(24)A(25)B(26)A(27)D(28)B(29)C(30)A
(29)数据流图是用于软件需求分析的工具,下列元素
I.数据流Ⅱ.加工Ⅲ.数据存储Ⅳ.外部实体(源或潭)
哪些是其基本元素?
A)Ⅰ,Ⅱ和ⅢB)Ⅰ和ⅢC)全部D)Ⅰ,Ⅲ和Ⅳ
(30)数据字典(DD)是定义哪一种系统描述工具中的数据的工具?
A)数据流程图B)系统流程图C)程序流程图D)软件结构图
(31)软件需求分析一般应确定的是用户对软件的
A)功能需求B)非功能需求C)性能需求D)功能需求和非功能需求
(32)软件设计包括总体设计和详细设计两部分,下列陈述中哪个是详细设计的内容?
A)软件结构B)数据库设计C)制定测试计划D)模块算法
(33)数据字典是对数据定义信息的集合,它所定义的对象都包含于
A)数据流图B)程序框图C)软件结构D)方框图
(34)软件设计中,设计复审是和设计本身一样重要的环节,其主要目的和作用是能
A)减少测试工作量B)避免后期付出高代价
C)保证软件质量D)缩短软件开发周期
(35)程序设计语言的选择是顺利实施编程的重要基础,评价可用语言的因素甚多,而其首要的选择依据是
A)语言的应用领域B)对语言的熟悉程度
C)数据结构的复杂度D)算法的复杂度
(36)软件开发的原型化方法是一种动态定义软件需求的方法,下述条件:
I.成熟的原型化人员Ⅱ.快速的成型工具Ⅲ.需求了解的准确性
哪个(些)条件是实施原型化方法所必备的?
A)Ⅰ和ⅡB)Ⅱ和ⅢC)Ⅰ,Ⅱ和ⅢD)Ⅲ
(37)软件的可维护性度量可分解为对多种因素的度量,下述各种因素
I.可测试性Ⅱ.可理解性Ⅲ.可修改性Ⅳ.可复用性
哪个(些)是可维护性度量的内容?
A)全部B)ⅠC)Ⅰ,Ⅱ和ⅢD)Ⅰ和Ⅱ
(38)软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,而测试过程的多种环节中基础的是
A)集成测试B)单元测试C)系统测试D)验收测试
(39)数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,那些是常采用的?
I.自顶向下Ⅱ.自底向上Ⅲ.分层绘制Ⅳ.逐步求精
A)全是B)Ⅰ,Ⅲ和ⅣC)Ⅱ,Ⅲ和ⅣD)Ⅰ和Ⅲ
(31)D(32)D(33)A(34)B(35)A(36)A(37)C(38)B(39)B(40)B
(40)结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的
A)控制流B)数据流C)程序流D)指令流
(41)软件结构是软件模块间关系的表示,下列术语中哪一个不属于对模块间关系的描述?
A)调用关系B)从属关系C)嵌套关系D)主次关系
(42)原型化方法是一类动态定义需求的方法,下列叙述中,哪一个不具有原型化方法的特征?
A)提供严格定义的文档B)加强用户参与和决策C)简化项目管理D)加快需求的确定
(43)评审是对软件进行静态测试的一种方法,下述结论中,哪个是与软件评审无关的内容?
A)尽量发现错误B)检查软件文档C)根据评审标准D)依靠测试信息
(44)软件维护是软件得以正常运行的重要环节,按照软件工程方法的理解,一般软件维护应该开始于
A)阅读设计文档B)理解程序代码C)分析软件结构D)查阅测试记录
(45)软件工程哪个阶段产生软件需求定义?
A)定义阶段B)工程阶段C)维护阶段D)开发阶段
(46)自顶向下绘制多层数据流程图时,必须考虑到父图与子图之间的平衡,此平衡通常由___来维护
A)输出数据B)数据字典C)处理序号D)输入数据
(47)下述哪种是内聚性最严格的形式?
A)逻辑B)功能C)过程D)一致性
(48)下述哪个不是白盒测试法的概念?
A)应该执行边界条件下的所有循环B)应该执行边界条件下的所有接口
B)应该执行所有逻辑判断的真假情况D)应该至少执行一次模型中的所有独立路径
(49)原型化方法是一个动态设计过程,它要求使用该方法的人员具有下述哪种能力
A)熟练的编程技能B)及时获得用户需求C)协作精神及有力管理D)巧妙使用工具
(50)数据流程图(DFD)是用于描述结构化方法中哪一个工作阶段的工具?
(41)D(42)A(43)D(44)C(45)A(46)B(47)B(48)B(49)B(50)B
A)可行性分析B)需求分析C)详细设计D)程序编码
(51)判定树和判定表是用于描述结构化分析方法中哪一环节的工具?
A)功能说明B)数据加工C)流程描述D)结构说明
(52)在结构化方法中,软件功能分解应属于软件开发中的哪一阶段?
A)详细设计B)需求分析C)总体设计D)编程调试
(53)信息隐蔽的概念与下述哪一种概念直接相关?
A)软件结构定义B)模块独立性C)模块类型划分D)模块耦合度
(54)结构化程序流程图中一般包括三种基本结构,下述结构中哪一种不属于其基本结构?
A)顺序结构B)条件结构C)选择结构D)嵌套结构
(55)软件复审时其主要的复审对象是
A)软件结构B)软件文档C)程序编码D)文档标准
(56)软件需求规格说明书不应包含的内容是
A)系统输入/输出的描述B)质量控制方案C)数据字典D)用户界面需求描述
E)系统可靠性要求描述F)测试方案G)需求分析阶段进度安排H)人员需求
(51)B(52)C(53)B(54)D(55)B(56)FGH
(57)将下面的DFD转换为初始化的模块结构图
图中:
左竖虚线表示此处为系统的逻辑输入
右竖虚线表示此处为系统的逻辑输出
57-1)
57-2)
57-3)
(58)将下面的伪码转换为PAD和N-S图
begin
S1;
Ifx>5thenS2elseS3;
whiley<0dobegin
ifz>3thenS4elseS5;
whilew>0thenS6;
S7
end;
S8;
Ifu>0thenS9;
S10;
End.
(59)将下面的PAD转换为流程图
(60)将下面给出的伪码,转换为PAD图和程序流程图。
begin为变量X赋值
IFX>0thenS1
ElseS2;
为Y和Z赋值;
whileY>0do
beginIFX>0thenS3;
whileZ>0dobeginS4;S5end
end;
S6
IFZ=0thenS7;
End.
(61)问题陈述:
某校学生管理科负责录入、修改(在授权时)学生成绩(姓名、学生、A科成绩);医务科负责录入学生健康信息(姓名、学号、健康状况[优、良、一般、差]);房产科负责录入、修改、查询学生住宿情况(姓名、学号、楼号、房间号、现有人数);学籍科负责统计A科成绩及格率并按月统计学生健康状况百分比,请给出该学生管理信息系统的DFD及数据字典。
(62)在要建立的仪器设备管理系统中,供销科负责录入设备卡片(其中包含“设备名称”和“价格”),设备科负责登记设备信息(其中包含“设备编号”、“设备名称”、“设备类型”),并在日常管理中负责填写运行状态(“正常”、“维修”、“作废”);财务科负责统计设备台数和购买设备的费用。
请给出该仪器管理系统的数据流图。
(63)对于下面给出的程序控制图,请设计最少的测试用例:
1)实现语句和判定覆盖2)实现条件覆盖
(64)根据下面给出的程序控制流程图,设计最少的测试用例实现分支覆盖:
(其中,x、y、z是输入数据。
语句块⑧改变它们的值:
x:
=x-1,y:
=y+1,z:
=z-1除此之外,其它语句块均不改变它们的值)
(65)请从下列关于程序开发有关测试的叙述中,选择适当答案,用代号填空。
模块组合测试的方法有a和b两种。
a是从下位模块向上位模块依次结合进行测试。
为了进行测试需要c以便调用被测试模块,但从开发的初期阶段起就能并行进行测试作业,并且每个模块的d都很容易做,是这种方法的优点。
其缺点是直到测试的最后阶段,程序的主要缺陷都难以发现。
b是从上位模块向下位模块依次结合进行测试。
为了进行测试需用称为e的“树根”程序来承接被测试模块所调用的下级模块。
这种方法的优点是各模块之间的主要接口能够在早期验证。
供选择的答案:
a,b,d:
①功能测试;②组合测试;③综合测试;④可靠性测试;⑤结构测试;⑥自顶向下测试;⑦标准检查程序测试;⑧自底向上测试
c,e:
①仿真;②模拟;③生成;④编译程序;⑤转储;⑥跟踪;⑦驱动模块;⑧宏功能;⑨桩模块
(66)下面是关于结构化程序设计的叙述。
请从供选择的答案中选出适当的内容填空,用代号回答。
结构化程序设计以程序易读、易理解为目的,它是由三个基本结构a,b和c的组合来编制程序的。
结构化程序从理论上讲可以不使用d语句。
当然,程序中是否使用d语句是无关紧要的,重要的是程序结构是否严谨、清晰。
如果用流程图表示三个基本控制结构a,b,c的话,则分别如下图(a),(b),(c)所示。
(a)(b)(c)
按照上述方法做成的程序,各控制结构单元分别具有一个e,而且可以独立地理解各控制结构单元,从而可以按照控制结构单元从上到下地连续阅读程序。
供选择的答案:
a,b,c:
①层次;②选择;③跳越;④循环;⑤调用;⑥顺序
d:
①AND;②CALL;③GOTO;④IF;⑤STOP
e:
①入口出口;②变量;③分支
(67)从下列叙述中选出5条与提高软件的可移植性有关的叙述。
1把程序中与计算机硬件特性有关的部分集中在一起。
2选择时间效率和空间效率高的算法。
3使用结构化的程序设计方法。
4尽量用高级语言编写程序中对效率要求不高的部分。
5尽可能减少注释。
6采用表格控制方式。
7文档资料详尽、正确。
8在有虚拟存储器的计算机系统上开发软件。
9减少程序中对文件的读写次数。
10充分利用宿主计算机的硬件特征。
(68)从供选择的答案中选出应填入下列叙述中A,B,C,D,E处的正确答案。
用白盒法设计测试用例时,常用的5种覆盖标准是:
语句覆盖、判别覆盖、条件覆盖、判别/条件覆盖、多重条件组合覆盖。
假设U和V是两种覆盖标准,用U⊇V表示V包含U,用U≡V表示U与V相同,用U≠V表示U和V互不包含。
于是上述五种覆盖标准之间的某些关系可表示为:
语句覆盖A判别覆盖语句覆盖B条件覆盖
判别覆盖C条件覆盖判别覆盖D判别/条件覆盖
判别/条件覆盖E多重条件组合覆盖
供选择的答案:
A,B,C,D,E:
①⊇;②⊆;③≡;④≠
(69)需求规格说明书质量标准最重要的三项是_______。
属于质量标准的有____________。
A)抽象性B)完全性C)可理解性D)无二义性E)一致性
F)正确性G)可移植性H)可修改性I)可追踪性
(70)下面给出软件开发过程中的一些方面的内容(在左边)及有关的一些文档(在右边),请用直
线将有关联的内容和文档连接起来。
软件总体结构
技术、经济可行性分析
测试结果与结论需求规格说明书
软件运行环境说明
功能划分、描述概要设计说明书
数据结构设计
出错处理设计详细设计说明书
模块算法、程序逻辑详细描述
测试方案和测试用例测试计划
软件能力评价
确认测试计划测试分析报告
单元测试计划
运行设计可行性研究报告
类、对象模型图
DFD&DD用户操作手册
PAD
答案:
(1)A
(2)C(3)A(4)C(5)B(6)A(7)D(8)B(10)C
(11)D(12)B(13)B(14)D(15)B(16)A(17)A(18)B(19)B(20)A
(21)A(22)C(23)B(24)A(25)B(26)A(27)D(28)B(29)C(30)A
(31)D(32)D(33)A(34)B(35)A(36)A(37)C(38)B(39)B(40)B
(41)D(42)A(43)D(44)C(45)A(46)B(47)B(48)B(49)B(50)B
(51)B(52)C(53)B(54)D(55)B(56)FGH
(57-1)
(57-2)
(57-3)
(58)
(59)
(65)答案:
a:
⑧;b:
⑥;c:
⑦;d:
①;e:
⑨
(66)答案:
a:
⑥;b:
②;c:
④;d:
③;e:
①
(67)①③④⑦⑨