软件工程导论习题

本文介绍了软件工程的习题,涉及需求分析方法、软件可维护性、耦合度、测试方法等内容,通过实例解析了选择题、填空题、判断题、简答题,旨在加深对软件工程原理的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

软件工程是软件工程专业的一门重要学科,掌握好软件工程原理是开发软件的重要基础知识。本博客对软件工程导论部分习题解释,以更加深理解。

选择

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


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


3、下列耦合中,我们尽量采用A ,避免或谨慎地使用其它耦合。
A.数据耦合 B.内容耦合 C.公共耦合 D.控制耦合
【分析】:数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递.数据耦合联系简单,耦合度低,模块独立性好,模块间的影响最小,是最理想的一种耦合形式。
公共耦合:通过一个公共数据环境相互作用的那些模块间的耦合.由于两个模块都要引用同一个公共数据域,因此有较高的耦合度。一旦公共数据有变化,与之有关的模块都应随之而修改,增加了维护的工作量及难度。
内容耦合:内容耦合是指如果一个模块与另一个模块的内部属性有关,不经调用直接使用另一个模块的程序代码或内部数据,那么这两个模块之间就存在内容耦合。这种耦合表明一个模块与另一个模块的内部数据或程序代码有关,当一个模块的程序代码被修改或内部数据出错,必然引起另一个模块出错。而对后一模块的出错是很难查出原因的,这样给模块的修改、维护带来极大困难。内容耦合的耦合度最大,为“病态耦合”,在设计时,应避免这种耦合。
控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。


4、软件测试方法中的 D 属于静态测试方法。
A. 黑盒法 B.路径覆盖 C.错误推测 D.人工检测
【分析】:软件测试若从是否需要执行被测试软件的角度,可以分为静态测试和动态测试方法。若按照功能划分,可以分为黑盒测试和白盒测试。静态测试可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。逻辑覆盖属于白盒测试的主要方法。错误推测属于黑盒测试主要诊断方法之一。


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.选择发现错误可能性大的数据作为测试数据


11、软件测试可能发现软件中的( B ),但不能证明软件( )。
A.所有错误,没有错误 B.错误,没有错误 C.逻辑错误,没有错误 D.设计错误,没有错误


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


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


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

  • 偶然内聚:如果一个模块完成一组任务,这组任务彼此之间即使有关系,其关系也是很松散的。
  • 逻辑内聚:一个模块完成逻辑上相关的一组任务,这个模块是逻辑内聚的
  • 瞬间内聚:一个模块所包含的任务必须在同一时间间隔内执行,这个模块属于瞬间内聚
  • 过程内聚:一个模块的处理元素是相关的,而且必须保持特定的次序执行,这个模块属于过程内聚。
  • 通信内聚:一个模块的所有处理元素集中在一个数据结构的区域上,这个模块属于通信内聚。
  • 顺序内聚:一个模块的处理元素是相关的,而且必须顺序执行,这
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值