软件工程 第二-六章习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章练习题
一、判断题
1. 软件的模块数越少,其软件成本越低。


2. 软件模块之间的耦合性越弱越好。


3. 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。


4. 耦合是指一个模块内各个元素彼此结合的紧密程度。


5. 过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。


6. 在设计模块时,其宽度和深度要适当。


7. 模块耦合的强弱取决于模块间接口的复杂程度。


二、名字解释:
1. 抽象:抽象是认识复杂现象过程中使用的思维工具,即抽象出事物本质的共同特性而暂时不考虑其他的细节,不考虑其他因素。

2. 模块化:模块化是指解决一个复杂问题自顶向下逐层把软件系统划分成为若干模块的过程。

每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个要求的功能。

3. 逐步求精:
4. 耦合:耦合也成模块叫联系,指软件系统结构中各模块间相互联系紧密程序的一种度量。

5. 内聚:内聚又称块联系。

指模块功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量
6. 模块独立:模块独立想指每个模块只完成系统要求的独立的子功能,并且与其他模块联系最少且接口最简单。

7. 信息隐蔽:信息隐蔽在设计和确定模块时,使得一个模块内包含信息,对于不需要这些信息的其他模块来说事不能访问的。

三、选择题
10. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有( B)。

B
A. 隐藏复杂性
B. 信息隐蔽
C. 经常类的复用
D. 类的开发
20、为了提高模块的独立性,模块内部最好是( C )C
A、逻辑内聚
B、时间内聚
C、功能内聚
D、通信内聚
33、从心理学角度看,一次大模块分解为多少个子模块为宜。

(B )B
A、3±1
B、7±2
C、15±1
D、18±2
38、软件设计启发规则不包括( C )C
A、在耦合方式上降低模块间接口的复杂性
B、模块功能应该可以预测
C、将模块的控制域保持在其作用域内
D、设计单入口单出口的模块
40、为了提高模块的独立性,模块之间的联系最好的是(D)。

D
A、公共耦合
B、控制耦合
C、内容耦合
D、数据耦合
48、下列几种类型中,耦合性最弱的是( D )。

D
A、内容型
B、控制型
C、公共型
D、数据型
51. 内聚程度最高的是( A ) A
A、功能内聚B巧合内聚C、过程内聚D、信息内聚
89. 通信内聚、逻辑内聚、顺序内聚和时间内聚的内聚性从高到低顺序是(C)C
A、通信、逻辑、顺序、时间
B、通信、时间、顺序、逻辑
C、顺序、通信、时间、逻辑
D、顺序、通信、逻辑、时间
90. 在下列四种模块的耦合性中,信息隐蔽性能最好的是(D)D
A、控制耦合
B、内容耦合
C、标记耦合
D、数据耦合
103 .当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为(D)D A、数据耦合B、公共耦合
C、标记耦合
D、内容耦合
134. 信息隐蔽概念与( A)这一概念直接的相关。

A
A、模块的独立性
B、模块类型的划分
C、软件结构定义
D、软件生命周期
141. 数据耦合和控制耦合相比,则(B )成立。

B
A、数据耦合的耦合性强
B、控制耦合的耦合性强
C、两者的耦合性相当
D、两者的耦合性需要根据具体情况分析
第四章练习题
一、判断题
8. 根据编程规范,在对方法命名时, 方法名称的第一个单词常常采用一个名词。


9. 随着软件技术的发展,人们逐渐认识到编码不仅要强调效率还要强调清晰。


10. 程序要能直截了当地说明程序员的用意。


11. 编程作业中,代码的检查是对程序进行动态分析。


12. 代码版本控制的优点之一是能获得版本控制工具中保存的任何版本。


13. 程序设计语言中应绝对禁止使用GOTO语句。


14. 功能性注释嵌在源程序体中,用以解释其后的语句或程序段是在怎么做。


15. 在Java源文件中,package行要在import行之前。


16. 文件头部注释需要列出文件名、函数名、作者日期等信息。


17. 编程作业中,代码的检查是对程序进行的静态分析。


二、名字解释:
三、选择题
13以下哪一条不属于注释的基本原则?C
A、注释应该增加代码的清晰度。

B、避免使用装饰性内容。

C、注释在源代码中的比例至少为25%.
D、注释信息不仅要包括代码的功能,还应给出原因。

65. 下列关于功能性注释不正确的说法是B
A、功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态
B、注释用来说明程序段,需要在每一行都要加注释
C、可使用空行或缩进,以便很容易区分注释和程序
D、修改程序也应修改注释
66. 下列关于效率的说法不正确的是D
A、效率是一个性能要求,其目标应该在需求分析时给出
B、提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法
C、效率主要指处理机时间和存储器容量两个方面
D、程序的效率与程序的简单性无关
第五章练习题
一、判断题
18. 软件测试就是程序测试。


19. 如果通过软件测试没有发现错误,则说明软件是正确的。


20. 集成测试主要由用户来完成。


21. 确认测试计划应该在可行性研究阶段制定。


22. 白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。


23. 一个好的测试用例在于能发现至今未发现的错误。


24. 集成测试时,一般希望较早地发现系统功能的错误,所以经常采用自底向上的渐增式测试。


25. 发现错误多的程序模块,一般残留在模块中的错误也多。


26. 在做程序的单元测试时,一般桩模块比驱动模块容易编写。


27. 为保证程序的安全,必须做到程序中没有任何错误存在,即容错。


28. 软件测试也就是在程序编码结束后对程序进行检错和修正错误。


29. 程序测试必须由程序员自己去完成。


二、名字解释:
8. 测试用例:是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或者核实是否满足某个特定需求。

9. 单元测试:是指对软件中的最小可测试单元进行检查和验证。

10. 白盒测试:即结构测试或者路径驱动测试
11. 黑盒测试:也称功能测试,它是通过测验来检验功能是否能正常使用。

12. 等价划分:就是解决如何选择适当的数据子集来代表整个数据集的问题,通过降低测试的数目去实现合理的覆盖。

第6章+软件维护练习题
三、选择题
6. 与确认测试阶段有关的文档是。

A
A、需求规格说明书
B、概要设计说明书
C、详细设计说明书
D、源程序
28、经过严密的软件测试后所提交给用户的软件产品中.B
A、软件不再包含任何错误
B、还可能包含少量软件错误
C、所提交给用户的可执行文件不会含有错误
D、文档中不会含有错误。

29、等价划分测试方法属于.A
A、黑盒测试
B、白盒测试
C、边界测试
D、系统测试
31、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于.C
A、集成测试
B、恢复测试
C、确认测试
D、单元测试
67. 测试的关键问题是. D
A、如何组织对软件的评审
B、如何验证程序的正确性
C、如何采用综合策略
D、如何选择测试用例
83. 用白盒技术设计测试用例的方法包括B
A、边界值分析
B、条件组合覆盖
C、因果图
D、错误推测
84. 软件测试的目的是C
A、为了表明程序没有错误
B、为了说明程序能正确地执行
C、为了发现程序中的错误
D、为了评价程序的质量
85. 针对软件需求分析所进行的软件测试是指B
A、集成测试
B、确认测试
C、黑盒子测试
D、白盒子测试
100.软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种。

D
A、前者属于静态测试,后者属于动态测试
B、前者属于动态测试,后者属于静态测试
C、都属于静态测试
D、都属于动态测试
119 .软件测试方法中的静态测试方法之一为A
A、计算机辅助静态分析
B、黑盒法
C、路径覆盖
D、边界值分析
138. 单元测试阶段主要涉及的文档。

C
A、需求设计
B、编码和详细设计
C、详细设计
D、概要设计
139. 在软件测试中,白盒测试方法是通过分析程序的B来设计测试用例的方法。

A、应用范围
B、内部逻辑
C、功能
D、输入数据
7.下列关于测试的描述中正确的是B
A、单元测试是对程序模块接口进行测试。

B、组合测试是将各个程序模块组装起来进行程序之间的连接测试。

C、系统测试又称验收测试。

D.运行测试主要由编程人员完成。

8.下列关于黑盒测试的描述中正确的是D
A、黑盒测试是通过分析程序内部的逻辑与执行路线,设计测试用例进行测试的方法。

B、黑盒测试又称为功能测试。

C、黑盒测试主要适用于单元测试等初期阶段的测试。

D、在黑盒测试中,只需要考虑正常的输入输出。

8.下列关于白盒测试的描述中正确的是C
A、白盒测试完全不考虑程序内部结构和处理过程
B、白盒测试又称为结构化测试或路径测试。

C、白盒测试通常适用于相对较大的程序。

D、白盒测试常用于系统测试等后期测试阶段
9.关于单元测试下述那个说法是正确的。

D
A、主要采用黑盒测试方法来发现模块功能错误
B、主要采用白盒测试方法来证明模块功能的正确性
C、按照设计书的要求检测确认程序模块的处理逻辑是否正确,要求的功能是否实现
D、利用白盒与黑盒测试方法检测系统内部功能,由专门的测试人员完成。

10.为了提高测试的效率,应该是C
A、随机地选取测试数据
B、取一切可能的输入数据作为测试数据
C、在完成编码以后制定软件的测试计划
D、选择发现错误可能性大的数据作为测试数据
16、软件维护产生的副作用,是指C
A、开发时的错误
B、隐含的错误
C、因修改软件而造成的错误
D、运行时误操作
23、因计算机硬件和软件环境的变化而作出的修改软件的过程称为B
A、改正性维护
B、适应性维护
C、完善性维护
D、预防性维护
24、下列属于维护阶段的文档是C
A、软件规格说明
B、用户操作手册
C、软件问题报告
D、软件测试分析报告
55.软件维护的副作用主要有以下哪几种C
A、编码副作用、数据副作用、测试副作用
B、编码副作用、数据副作用、调试副作用
C、编码副作用、数据副作用、文档副作用
D、编码副作用、文档副作用、测试副作用
68. 结构化维护与非结构化维护的主要区别在于D
A、软件是否结构化
B、软件配置是否完整
C、程序的完整性
D、文档的完整性
69. 软件维护困难的主要原因是C
A、费用低
B、人员少
C、开发方法的缺陷
D、得不到用户支持
70. 可维护性的特性中,相互矛盾的是(B)
A、可理解性与可测试性
B、效率与可修改性
C、可修改性和可理解性
D、可理解性与可读性
81. 为了提高软件的可维护性或可靠性而对软件进行的修改称为D
A、纠错性维护
B、适应性维护
C、完善性维护
D、预防性维护
82. 面向维护的技术涉及软件开发的D阶段。

C
A、设计
B、编码
C、测试
D、所有
97 .维护中因删除一个标识符而引起的错识是_________ 副作用。

C
A、文档
B、数据
C、编码
D、设计。

相关文档
最新文档