软工课后选择题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题
1.结构化程序设计主要强调程序的( C )。
A.效率
B.速度
C.可读性
D.大小
2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作( B)。
A.软件投机
B.软件危机
C.软件工程
D.软件产生
3.以下说法中错误的是( C )。
A.软件的质量保证工作不能等到编码阶段结束之后再进行
B.在软件开发过程中需求是经常变化的
C.软件产品的开发过程比一般产品的开发过程更容易评价和管理
D.软件开发小组的组成人员的素质应该好,而人数则不宜过多
二、选择题
1.瀑布模型本质上是一种()。
A.线性顺序模型
B.顺序迭代模型
C.线性迭代模型
D.及早见产品模型
2.需求分析是由分析员了解用户的要求,认真细致地调研。
分析,最终应建立目标系统的逻辑模型并写出()。
A.模块说明书
B.软件规格说明书
C.项目开发计划
D.合同文档
三、选择题
1.研究硬软件资源的有效性是进行()研究的一方面。
A.技术可行性
B.经济可行性
C.社会可行性
D.操作可行性
2.可行性研究要进行的需求分析和设计应是()。
A.详细的
B.全面的
C.简化、压缩的
D.彻底的
3.分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的()。
A.细节
B.输入与输出
C.软件的作者
D.绘制的时间
4.需求规格说明书的内容还应包括对()的描述。
A.主要功能
B.算法的详细过程
C.用户界面及运行环境
D.软件的性能
5.需求规格说明书的作用不应包括()。
A.软件设计的依据
B.用户与开发人员对软件要做什么的共同理解
C.软件验收的依据
D.软件可行性研究的依据
6.SA方法用DFD描述()
A.系统的控制流程
B.系统的数据结构
C.系统的基本加工
D.系统的功能
7.一个局部数据存储只有当它作为()时,就把它画出来。
A.某些加工的数据接口
B.某个加工的特定输入
C.某个加工的特定输出
D.某些加工的数据接口或某个加工的特定输入/输出
8.对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、
输出数据流()。
A.必须一致
B.数目必须相等
C.名字必须相同
D.数目必须不等
9.需求分析阶段不适用于描述加工逻辑的工具是()。
A.结构化语言
B.判定表
C.判定树
D.流程图
10.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后()。
A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型
B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型
C.获得当前系统的物理模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型
D.获得当前系统的物理模型,建立当前系统的物理模型,建立目标系统的物理模型
11.SA方法的基本思想是()
A.自底向上逐步抽象
B.自底向上逐步分解
C.自顶向下逐步分解
D.自顶向下逐步抽象
12.初步用户手册在()阶段编写。
A.可行性研究
B.需求分析
C.软件概要设计
D.软件详细设计
四、选择题
1.模块本身的内聚是模块独立性的重要度量因素之一,在七类内聚中,具有最强内聚的一类是()。
A.顺序性内聚
B.过程性内聚
C.逻辑性内聚
D.功能性内聚
2.某模块的功能是打印录取通知书或不录取通知书,调用模块可通过向此模块传递布尔标志信息决定本次调用哪种通知书的打印,这种模块之间的耦合称为()。
A.数据耦合
B.混合耦合
C.公共耦合
D.控制耦合
3.模块间的()称为模块的耦合,它是衡量模块间结构性能的重要指标。
A.调用关系
B.信息联系方式
C.层次关系
D.界面
4.在结构化方法中,N-S图应属于软件开发中的哪一阶段?()
A.详细设计
B.需求分析
C.总体设计
D.编程调试
5.PAD(Problem Analysis Diagram)图是一种()工具。
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.因果图法
6.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是()。
A.系统功能
B.局部数据结构
C.重要的执行路径
D.错误处理
7.软件测试过程中的集成测试主要是为了发现()阶段的错误。
A.需求分析
B.概要分析
C.详细设计
D.编码
8.不属于白盒测试的技术是()。
A.路径覆盖
B.判定覆盖
C.循环覆盖
D.边界值分析
9.集成测试时,能较早发现高层模块接口错误的测试方法为()。
A.自顶向下渐增式测试
B.自底向上渐增式测试
C.非渐增式测试
D.系统测试
10.确认测试以()文档作为测试的基础。
A.需求规格说明书
B.设计说明书
C.源程序
D.开发计划
11.项目的应用领域是选择编程语言关键的因素之一,不适合作为项目应用领域的类型是()。
A.系统软件
B.数据处理与数据库应用
C.实时处理
D.UNIX操作系统
12.为了提高易读性,源程序内部应加功能性注释,用于说明()。
A.模块总的功能
B.程序段或语句的功能
C.模块参数的用途
D.数据的用途
13.程序设计语言的心理特性在语言中表现不应包括()。
A.歧义性
B.简洁性
C.保密性
D.传统性
14.程序设计语言的工程特性其中之一表现在()。
A.软件的可重用性
B.数据结构的描述性
C.抽象类型的描述性
D.数据库的易操作性
15.程序设计语言的技术特性不应包括()。
A.数据结构的描述性
B.抽象类型的描述性
C.数据库的易操作性
D.软件的可移植性
六、选择题
1.计算机由中央处理器、内存、软盘、显示器、键盘、鼠标等组成。
那么计算机类和这些类之间的关系是()。
A.泛化关系
B.实现关系
C.包含关系
D.聚集关系
2.下列UML图形中,()不属于UML的静态视图。
A.类图
B.部署图
C.构件图
D.包图
3.下列关于面向对象的说法中,错误的有()。
A.面向对象方法的一个重要思想,就是尽可能模拟人类习惯的思维方式来进行软件开发,使
描述问题的问题域与实现解法的解空间在结构上尽可能一致
B.“分而治之”的思想是面向对象的最基本的特征
C.封装是一种信息隐蔽技术,封装可用于把数据(属性)和方法(函数)包围起来,以实现事物独立性
D.面向对象方法与传统的软件工程方法相比,具有比较明显的优势,在各个层面对软件的开发都有着非常积极的影响
七、选择题
1.在使用用例图对系统进行分析建模时,需要对参与者进行建模。
参与者之间的关系主要有()。
A.关联关系
B.依赖关系
C.泛化关系
D.以上都不是
2.在使用用例图对系统进行分析建模时,需要对用例之间关系进行建模。
用例之间的关系主要有:()。
A.包含关系
B.扩展关系
C.泛化关系
D.ABC都是
3.从软件功能需求来看,分析类根据其功能和作用可以划分为()。
A.实体类
B.边界类
C.控制类
D.ABC都是
八、选择题
1.作为系统的高层模块,子系统在设计时也应该遵循软件设计的基本策略,在划分子系统时,应该考虑的原则包括()。
A.模块的划分应便于总的系统设计阶段实现
B.子系统应有良好的接口
C.每个模块的功能简单明确,内容简明易懂,任务清楚明确,以便易于修改
D.以上都是
2.下列关于面向对象设计的说法中,正确的有()。
A.系统要完成的业务处理功能和用户界面要是紧密相关的,不能相互独立
B.面向对象系统的数据存储只能选择面向对象的数据库管理系统,而无法使用关系型数据库
C.系统分解与问题域的主题划分不同,这里的子系统既不是一个对象也不是一个功能,而是类、关联、操作、事件和约束的内聚集合
D.在进行体系结构设计时选择B/S体系结构是最好的
3.保证良好设计的类与方法的设计关系到软件的可扩充性、可靠性、可维护性和灵活性,下列关于设计类和方法中我们需要遵循的准则中错误的有()。
A.对类、方法、属性给出有意义的名字,以便见名知义
B.始终在构造函数内初始化数据,可以定义不同重载版本的构造函数
C.一致的排列构成每个类的元素。
例如首先定义常量,然后是构造函数,再然后是静态方法,接着是其他方法、实例变量,最后是静态变量
D.所有的属性都需要单独的存取程序、更换程序方法
4.在设计算法的过程中,算法的设计者必须做到()。
A.选择实现操作花费最小的算法
B.给算法选择最合适的数据结构
C.必要时定义新的内部类和操作
D.以上都是
九、选择题
1.良好的面向对象程序设计风格是非常重要的,在进行面向对象实现时需要遵循的准则中错误的有()。
A.尽量提高代码的可重用性,可重用性主要体现在使用自己已经编制好的类
B.尽量提高系统的可扩充性,便于系统升级和维护
C.提高系统的稳健性,使系统具备处理用户操作错误的能力
D.为了在效率与稳健性之间做出合理的折中,应该先测试,合理地确定为提高性能应该着重优化的关键部分
2.下列关于软件测试的说法中错误的有()。
A.测试是通过手工或自动方法,使用或评价一个系统的过程,以论证是否满足所规定的需求,或明确期望的结果和实际结果的差异
B.测试可以证明软件是正确的
C.软件测试的概念和实施范围必须扩充,应该包括在整个开发各阶段的复查、评估和检测
D.因为面向对象的封装、继承、多态等特征,面向对象系统的软件测试工作将更加复杂和困难
3.在进行面向对象测试用例设计时,需要注意的问题有()。
A.对于父类设计了测试用例,子类就不需要进行测试了
B.以父类设计的测试用例来测试子类就可以了
C.父类的测试并没有为子类减少任何测试工作,还需要对子类中基本上所有的成员进行测试
D.子类的测试用例不能参照父类的测试用例
十、选择题
1.对软件复杂性度量时,采用代码行度量法,下列说法不正确的是()。
A.每行代码的出错率与源程序之间不存在简单的线性关系
B.对于少于100行语句的小程序,源代码行数与出错率是线性关系
C.代码行度量法只是一种简单的、估计的很粗糙的方法
D.随着程序的增大,出错率以线性方式增长
2.软件项目计划范围内容是对软件项目的综合描述,定义其所要做的工作以及性能限制。
下列属于软件项目计划范围内容的有()。
A.硬件资源
B.成本估算
C.系统接口
D.进度安排
3.按照软件配置管理的原始指导思想,受控制的对象应是()。
A.软件元素
B.软件配置项
C.软件项目
D.软件过程
4.软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的()。
A.接口
B.软件环境
C.信息项
D.版本
5.版本用来定义软件配置项的()。
A.演化阶段
B.环境
C.要求
D.软件工程过程
6.下列说法错误的是()。
A.软件配置管理简称SCI
B.软件配置项是配置管理的基本单位
C.软件配置实际上是一个动态的概念
D.软件工程过程中某一阶段的变更均要引起软件配置的变更
7.软件质量作为一个极为重要的问题贯穿软件的()。
A.开发
B.生存期
C.度量
D.测试
8.软件质量必须加以保证的时期是()。
A.设计与实现过程
B.开发之前
C.开发之后
D.开发期间
十一、选择题
1.在软件开发过程中,作为软件开发人员前一阶段工作成果的体现和后一阶段工作依据的文档是()。
A.开发文档
B.管理文档
C.用户文档
D.软件文档
2.属于维护阶段的文档是()。
A.软件规格说明
B.拥护操作手册
C.软件问题报告
D.软件测试分析报告
3.与维护人员有关的下列文档有()。
A.软件需求说明书
B.项目开发计划
C.概要设计说明书
D.操作手册
4.下列说法错误的是()。
A.IEEE是指美国电气与电子工程师学会
B.GB是指中华人民共和国国家标准
C.DOD-STD是指美国国防部标准
-S是指美国军用标准
5.下列说法错误的是()。
A.文档仅仅描述和规定了软件的使用范围及相关的操作命令
B.文档也是软件产品的一部分,没有文档的软件就不成软件
C.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量
D.高质量的文档对于发挥软件产品的效益有着重要的意义。