软件工程导论习题 – 选择题

选择题

A组

1、业界存在三种需求分析方法:面向功能分析、面向对象分析和 B 。
A.面向算法分析 B.面向数据分析 C.面向程序分析 D.面向硬件分析


2、软件可维护性的特性中相互矛盾的是 C 。
A.可修改性和可理解性 B.可测试性和可理解性C.效率和可修改性 D.可理解性和可读性


3、下列耦合中,我们尽量采用A ,避免或谨慎地使用其它耦合。
A.数据耦合 B.内容耦合 C.公共耦合 D.控制耦合


4、软件测试方法中的 D 属于静态测试方法。
A. 黑盒法 B.路径覆盖 C.错误推测 D.人工检测

ps:逻辑覆盖属于白盒测试的主要方法。错误推测属于黑盒测试主要诊断方法之一。


5、结构化分析方法采用的基本手段是?A 。
A. 分解与抽象 B.分解与综合 C.归纳与推导 D.试探与回溯


6、可行性研究要进行一次(D)需求分析。
A.深入的 B.详尽的 C.彻底的 D.简化的、压缩了的
【分析】:可行性研究之后还有需求分析阶段


7、可维护性的特性中相互促进的是(A)
A.可理解性和可测试性  B.效率和可移植性C.效率和可修改性   D.效率和结构好


8、(D)是以提高软件质量为目的的技术活动。 
A.技术创新  B.测试  C.技术创造  D.技术评审


9、面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成,(C);对象彼此之间仅能通过传递消息互相联系;层次结构的继承
A.开发过程基于功能分析和功能分解  
B.强调需求分析重要性
C.把对象划分成类,每个对象类都定义一组数据和方法
D.对既存类进行调整


10、为了提高测试的效率,应该(D)。
A.随机地选取测试数据  B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件的测试计划 D.选择发现错误可能性大的数据作为测试数据


12、以下不属于软件维护困难表现的是( C )。
A.读懂别人的程序是困难的。
B.文档的不一致性。
C.源程序及相关文档的错误或丢失。
D.软件开发和软件维护在人员和时间上的差异。E. 软件维护不是一项吸引人的工作。


13、软件设计一般分为总体设计和详细设计,它们之间的关系是( A )。
A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构


14、一组语句在程序多处出现,为了节省空间,把这些语句放在一个模块中,该模块的内聚度是( C )的。
A.逻辑性 B.瞬时性 C.偶然性 D.通信性
【分析】:模块内聚的种类(内聚度从低到高)有:偶然内聚、逻辑内聚、瞬时内聚、过程内聚、通信内聚、顺序内聚和功能内聚。

偶然内聚:如果一个模块完成一组任务,这组任务彼此之间即使有关系,其关系也是很松散的。

逻辑内聚:一个模块完成逻辑上相关的一组任务,这个模块是逻辑内聚的

瞬间内聚:一个模块所包含的任务必须在同一时间间隔内执行,这个模块属于瞬间内聚

过程内聚:一个模块的处理元素是相关的,而且必须保持特定的次序执行,这个模块属于过程内聚。

通信内聚:一个模块的所有处理元素集中在一个数据结构的区域上,这个模块属于通信内聚。

顺序内聚:一个模块的处理元素是相关的,而且必须顺序执行,这个模块属于顺序内聚。

功能内聚:一个模块完成一个单一的功能,模块中的各部分在此目标下协调工作,而且都是完成这一功能不可缺少的,这个模块属于功能内聚。


15、在一个课程注册系统中,定义了类CourseSchedule和类Course ,并在类CourseSchedule中定义了方法add(c:Course)和方法remove(c:Course),则类CourseSchedule和类Course之间的关系是( C )。
A.泛化关系 B.组合关系 C.依赖关系 D.包含关系


17、软件的集成测试工作最好由(D )承担,以提高集成测试的效果。
A)该软件的设计人员 B)该软件开发组的负责人
C)该软件的编程人员 D)不属于该软件开发组的软件设计人员


18、在软件开发中软件系统各个组成部分的功能及其互相之间的接口关系的内容应在(D) 中得到阐明:
A)可行性研究报告 B)项目开发计划
C)软件需求说明书 D)概要设计说明书
E)详细设计说明书 F)测试计划 G)测试报告


19、软件策划的上游是(A),下游是(B)
A)需求分析 B)软件设计 C)软件测试 D)可行性分析


20、数据流图的4种成分为 (C)、(D) 、( I) 和 (F) 。
A. 消息 B.文书 C.外部实体 D.数据流 E.加工流 F.数据存储 G. 数据字典 H.结构化语言 I.数据处理 J.测试


21、概要设计的任务是决定系统中各个模块的 A ,即其 D 。详细设计的任务是决定系统中各个模块的 B ,即其 C 。
A. 外部特征 B.内部特征 C. 算法和使用数据 D.功能和输入输出数据


B组

2. 软件开发时,一个错误发现得越晚,为改正它所付出的代价就( A )。
A)越大 B)越小 C)越不可捉摸 D)越接近平均水平


3.软件测试的目的是( B )。
A)评价软件的质量 B)发现软件的错误
C)找出软件中的所有错误 D)证明软件是正确的


4.原型化方法是用户和设计者之间执行的一种交互过程,适用于(1 A )系统。它从用户界面设计开始,首先形成(2 B ),用户(3 D)并就(4 A)提出意见。
(空格中的1,2,3,4代表选项的顺序,在空格中填入A,B,C,D):

1:A)需求不确定性高的 B)需求确定的 C)管理信息 D)决策支持

2:A)用户界面使用手册 B)界面需求分析说明书

3:A)改进界面的设计 B)使用和不使用哪种编程语
C)程序的结构 D)运行界面原型

4:A)同意什么和不同意什么 B)使用和不使用哪种编程语言
C)程序的结构 D)执行速度是否满足要求


5.软件测试中黑盒方法中常用的方法是( B )方法和(F )方法。
A)路径测试 B)等价类 C)因果图 D)归纳测试
E)综合测试 F)边界值分析 G)深度优先 H)相对图


6.软件设计阶段可分为( D )设计和( B )设计阶段。
A)逻辑  B)详细  C)程序  D)概要


7.当某一开发项目的进度有可能拖延时,应该(B )。
A)增加新的开发人员 B)分析拖期原因加以补救
C)从别的小组抽调人员临时帮忙 D)推迟预定完成时间


9.仅根据规格书描述的程序功能来测试用例的方法称为( C )。
A)原型 B)静态分析法 C)黑盒测试 D)白盒测试


10.使用白盒测试方法时,确定测试数据应根据(A )和指定的覆盖标准。
A)程序的内部逻辑 B)程序的复杂程度
C)使用说明书 D) 程序的功能


C组

1.软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的(D )问题
A.产生危机
B.质量保证
C.开发效率
D.生产工程化


2.瀑布模型将软件生命周期归纳为3个时期,即计划期、开发期和运行期。下列(D )不属于开发期内的工作。
A. 总体设计
B. 详细设计
C. 程序设计
D. 维护


3.结构化方法将软件生命周期分为计划、开发和运行3个时期,下列任务中(B )属于计划时期的任务。
A. 需求分析
B. 问题定义
C. 总体设计
D. 编码


5.经济可行性研究的范围包括(C )。
A. 资源有效性
B. 管理制度
C. 效益分析
D. 开发风险


6.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(B )的回答。
A. 确定
B. 行或不行
C. 正确
D. 无二义


7.产生软件维护的副作用,是指(C )。
A. 开发时的错误
B. 隐含的错误
C. 因修改软件而造成的错误
D. 运行时错误操作


8.软件需求分析阶段的工作,可以分为4个方面:需求获取、需求分析、编写需求规格说明书以及( B)。
A. 用户
B. 需求评审
C. 总结
D. 都不对


9.软件开发的结构化分析方法,常用的描述软件工程需求的工具是(C )
A. 业务流程图、处理说明
B. 软件流程图、模块说明
C. 数据流程图、数据字典
D. 系统流程图、程序编码


10.数据流图用于抽象描述一个软件的逻辑模型,数据流图由以写特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(A )
A. 控制流
B. 加工
C. 数据存储
D. 数据流


11.软件开发的结构生命周期法的基本假定是认为软件需求能做到(C )
A. 严格定义
B. 初步定义
C. 早期冻结
D. 动态改变

软件需求经过分析阶段后,通过软件需求说明书表示出来,后面的开发工作以此为基础进行,即假定软件需求确定后一般不再改变,即“早期冻结”。


12.在结构化方法中,软件功能分解属于软件开发中的(C )阶段
A. 详细设计
B. 需求分析
C. 总体设计
D. 编程调试


13.概要设计的结果是提供一份( A)
A. 模块说明书
B. 框图
C. 程序
D. 数据流图


14.耦合是软件各个模块间连接的一种度量。一组模块都访问同一数据结构应属于(B )方式
A. 内容耦合
B. 公共耦合
C. 控制耦合
D. 数据耦合
解释:耦合分为以下几种,按照耦合度由高到低排列是:


15.内聚是从功能角度来度量模块内的联系,按照特定次序执行元素的模块属于(C )方式
A. 逻辑内聚
B. 时间内聚
C. 过程内聚
D. 顺序内聚


16.(C )是指让一些关系密切的软件元素在物理上彼此靠近
A. 信息隐蔽
B. 内聚
C. 局部化
D. 模块独立


17.模块本身的内聚是模块独立性的重要性度量因素之一。在下类内聚中,具有最强内聚的一类是( D)
A. 顺序性内聚
B. 过程性内聚
C. 逻辑性内聚
D. 功能性内聚


18.软件工程的结构化分析方法具有自身的特征,下列可选内容中,(B )不具有其特征
A. 书写大量文档
B. 详细的界面表示
C. 对数据流进行分析
D. 冻结应用需求


19.软件设计中,可应用于详细设计的工具有(A )
A. 程序流程图、PAD、方框图和伪码
B. 数据流程图、PAD、结构图和伪码
C. 业务流程图、N-S图和伪码
D. 程序流程图、PAD、N-S图和伪码


20.详细设计是软件总体设计后的工作。下列可选内容中,(D )不属于详细设计的内容。
A. 算法设计
B. 模块设计
C. 界面设计
D. 功能设计


21.程序的三种基本控制结构是( B)
A. 过程、子过程和分程序
B. 顺序、选择和循环(重复)
C. 递归、堆栈和队列
D. 调用、返回和转移


22.程序的三种基本控制结构的共同特点是( D)
A. 不能嵌套使用
B. 只能用来写简单程序
C. 已经用硬件实现
D. 只有一个入口和一个出口


23.判定树和判定表是用于描述结构化分析方法中(B )环节的工具
A. 功能说明
B. 数据加工
C. 流程描述
D. 性能说明


24.重新执行已经做过的部分测试的过程称为(C)
A. 确认测试
B. 集成测试
C. 验证测试
D. 回归测试


25.汽车有一个发动机。汽车和发动机之间的关系是( B)关系
A. 一般具体
B. 整体部分
C. 分类
D. 主从


D组

(D)工具在软件详细设计过程中不采用
A. 判定表
B. IPO图
C. PDL
D. DFD图


程序流程图(PDF)中的箭头代表的是(B)
A. 数据流
B. 控制流
C. 调用关系
D. 组成关系


下列工具中不是需求分析常用工具是(D)
A. PAD
B. PFD
C. N-S
D. DFD

需求分析中的常用工具有PAD、PFD及N-S等,而DFD(数据流图)为结构化分析工具。


程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具是应注意(A)
A. 支持逐步求精
B. 考虑控制流程
C. 遵守结构化设计原则
D. 数据结构表示

程序流程图是一种传统的程序设计表示工具,使用该工具时应注意支持逐步求精。

相关知识点: 流程图的缺点是本质上不支持逐步求精:流程图中的流线转移方向任意;可能破坏单入、单出程序结构;不适于表示数据结构和模块调用关系;对于大型软件而言过于琐碎,不易阅读和修改。


软件的本质:需求


需求(具有相应购买力的欲望)(顶层)、欲望(中层)、需要(底层) (选择题)


数据字典
(关于数据的信息的集合)(数据流,数据项,数据存储,数据结构,处理过程五类元素组成)

来源:Touale

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年5月25日
下一篇 2021年5月25日

相关推荐