软件工程期末复习(大学生完整版)

同系列期末复习题推荐——你的点赞、分享、收藏是对我们最大支持!!!

数据库原理期末复习资料(大学生无忧版)-CSDN博客

操作系统期末复习资料(大学生无忧版)_操作系统复习资料-CSDN博客

一、 单选题

1.软件工程三要素是(         )。

A) 技术、方法和工具           B) 过程、模型、方法

C) 方法、对象和类             D) 方法、工具和过程

2.以下不属于软件的主要特性的是(         )。

A) 包括程序和文档        B) 高成本     C) 无形  D) 可独立构成计算机系统

3.软件工程的目标不包括(         )。

A) 低的开发成本    B) 易于维护   C) 高性能     D) 短的开发期

4.面向对象开发方法的工作模型是(     A    )。

A) 喷泉模型     B)瀑布模型     C) 循环模型     D) 螺旋模型  

5.包含风险分析的软件工程模型是(    C     )。

A) 增量模型   B) 瀑布模型    C) 螺旋模型    D) 喷泉模型

6.SA法的主要描述手段有(   A      )。

A) DFD图、数据词典、加工说明           B) 软件结构图、加工说明

C) 功能结构图、加工说明                D) 系统流程图和模块图

7.面向对象的分析方法主要是建立三类模型,即(         )。

A) 系统模型、E-R模型、应用模型     B) 对象模型、动态模型、应用模型

C) 对象模型、动态模型、功能模型     D) E-R模型、对象模型、功能模型

8.SD方法的设计总则是(         )。

A) 程序简洁、操作方便           B) 结构清晰、合理

C) 模块内聚性强,耦合性弱       D)模块的控制范围在作用范围之内

9.以下除了(       ),均属于画分层DFD图的基本原则。

A) 数据守恒原则                B) 数据流封闭的原则

C) 子、父图平衡的原则          D) 分解的可靠性原则

10.以下不属于面向对象程序设计的基本机制的是(         )。

A) 继承          B) 结构         C) 方法         D) 消息

11.以下不属于用户界面设计的任务的是(         )。

A) 建立功能模型                B) 建立任务模型

C) 确定用户界面类型               D) 建立用户模型

12.在E-R模型中,包含的基本成分是(         )。

A) 数据、对象、实体            B) 控制、联系、对象

C) 实体、联系、属性            D) 实体、属性、控制

13.以下不属于消息的类型的是(         )。

A) 简单         B) 同步         C) 异步         D) 复杂

14.CMM表示(         )。

A) 软件能力成熟度模型         B) 软件过程工业化控制

C) 国际软件质量认证           D) 软件统一性标准

15.以下用例之间的关系的是(         )。

A) 使用          B) 扩展        C) 组合        D)友元

16.UML中可用于静态建模的图是(         )。

A) 状态图     B) 类图       C) 活动图       D) 序列图

17.静态测试是以人工的、非形式化的方法对程序进行分析和测试。以下不属于静态测试方法的是 (         )。

A) 桌前检查与代码会审        B) 运行程序并分析运行结果

C) 数据流分析图                  D) 调用图

18.数据字典是数据流图中所有元素的定义的集合,一般由(         )四类条目组成。

A) 数据说明条目、控制流条目、加工条目、数据存储条目

B) 数据流条目、数据项条目、文件条目、加工条目

C) 数据源条目、数据流条目、数据处理条目、数据文件条目

D) 数据流条目、数据文件条目、数据池条目、加工条目

19.源程序的效率与(         )阶段确定的算法的效率直接有关。

A) 概要设计     B) 单元设计     C) 总体设计     D) 详细设计   

20.以下不属于表达计划安排的工具的是(         )。

A) DFD        B) PERT图       C) 甘特图       D) 进度表

21.CMM是开发高效率、高质量和低成本软件时,普遍采用的软件生产过程标准,它的主要用途不包括(         )。

A) 软件过程评估   B) 软件过程控制   C) 软件过程改进   D) 软件能力评价

22.不属于属性的可见性的是(         )。

A) 公有的       B) 私有的       C) 私有保护的   D) 保护的

23.进行需求分析有多种描述工具,不包括(        )。

A) 数据流图      B) PAD      C) 判定表       D) 数据词典

24.渐增式集成测试是将模块一个一个地连入系统,每连入一个模块(         )。

A) 只需要对新连入的模块进行测试       B) 都要对新的子系统进行测试

C) 都不需要再进行测试                 D) 都要进行回归测试

25.以下不是CMMI开发和应用的主要原因是(         )。

A) 实现过程改进的最佳效益

B) 实现软件工程的并行与多学科组合

C) 降低软件风险的需要

D) 解决软件项目的过程改进难度增大问题

26.自底向上的成本估算法的特点是(         )。

A) 简单、工作量小、误差大

B) 精度高,但缺少子任务(模块)间的联系

C) 复杂、不可行,一般不采用此种方法

D) 估算较精确,但区分类比较困难

27.用例模型的基本组成部件不包括(         )。

A) 实体         B) 用例之间的联系。        C) 角色         D) 用例

二、 多选题

1.软件工程学的目的和意义是(         )。

A) 应用科学的方法和工程化的规范管理来指导软件开发

B) 克服软件危机

C) 作好软件开发的培训工作

D) 以较低的成本开发出高质量的软件

2.需求工程的主要目的是(         )。

A) 解决系统是“做什么”的问题

B) 解决系统是“如何做”的问题

C) 进一步确定用户的需求

D) 系统开发的具体方案

3.以下不属于需求分析主要方法的有(         )。

A) OOA法     B) PAD图描述    C) 结构化分析(SA)方法    D) 形式化分析方法  

4.软件工程的目标有(         )。

A) 短的开发期      B) 低的开发成本     C) 高性能        D) 易于维护  

5.在需求分析阶段主要采用图形工具来描述的原因是(         )。

A) 图形的信息量大,便于描述规模大的软件系统

B) 图形工具能够极好地概括描述一个系统的信息,比文字叙述能够更好地表达重要的细节

C) 图形比文字描述简单、形象

D) 图形能够更加直观地描述目标系统,便于用户理解和交流,有利于开发者与用户之间达成一致的需求

6.整体测试又称为组装测试,其主要内容包括(         )。

A) 对整体的性能进行测试              B) 用白盒法设计测试用例进行测试

C) 确定组装策略和次序                D) 对组装过程进行测试

7.软件设计的主要任务是(         )。

A) 将分析阶段获得的需求说明转换为计算机中可实现的系统

B) 完成模块的编码和测试

C) 完成系统的数据结构和程序结构设计

D) 对模块内部的过程进行设计

9.下列各种图可用于动态建模的有(         )。

A) 类图        B) 状态图        C) 序列图        D) 活动图

10.下列各种图可用于静态建模的有(         )。

A) 对象图        B) 类图          C) 活动图    D) 包图      

11.软件维护的类型有(         )。

A) 完善性维护    B) 纠错性维护    C) 适应性维护     D) 预防性维护

12.关于白盒法测试覆盖程度的叙述中正确的是(        )。

A)语句覆盖:选择足够的测试用例,使程序中每条语句至少都能被执行一次

B)判定覆盖:选择足够的测试用例,使得程序中每个判定至少都获得一次“真”值和一次“假”值。

C)条件覆盖:选择足够的测试用例使每个条件都满足

D)条件组合覆盖:将所有的判定条件都组合起来执行

13.面向对象的测试与传统测试方法的主要区别是(         )。

A) 面向对象的测试可在编码前进行,传统测试方法在编码后进行

B) 面向对象的测试以需求和设计阶段的测试为主,不需要进行代码测试

C) 测试对象不同

D) 面向对象的测试不需要设计测试用例,只需要进行会议评审

14.提高程序效率的根本途径在于(         )。

A) 编程时对程序语句进行调整           B) 选择良好的设计方法

C) 使程序最大限度的简洁               D) 选择良好的数据结构与算法

7.软件测试的主要特点是(         )。

A) 软件测试要依靠工具             B) 软件测试的开销大

C) 软件不能进行“穷举”测试         D) 软件测试要依靠人

15.UML中包括的事件有(         )。

A) 条件为真                      B) 收到另一对象的信号

C) 收到操作调用                  D) 时间表达式

9.用例之间的关系有(         )。

A) 友元          B) 扩展          C) 使用           D) 组合            

10.应用于通用化约束的方式有(         )。

A) 完整          B) 不相交        C) 不完整         D) 覆盖

16.用户界面设计的任务包括(         )。

A) 确定用户界面类型                   B) 建立任务模型

C) 建立用户模型                       D) 建立功能模型

17.软件测试的基本原则是(         )。

A) 关键是注重选择高效的测试用例

B) 选择尽可能多的测试用例

C) 尽量不由程序设计者进行测试

D) 充分注意测试中的群集现象

18.下列属于面向对象开发方法的是(         )。

A) Booch         B) UML          C) Coad          D) OMT

19.模块的基本特征是(         )。

A) 外部特征(输入/输出、功能)         B) 内部特征(输入/输出、功能)

C) 内部特征(局部数据、代码)          D) 外部特征(局部数据、代码 )

三 、判断题

(  对 )1.需求管理主要是对需求变化的管理,即如何有效控制和适应需求的变化。

(  )2.在面向对象的需求分析方法中,建立动态模型是最主要的任务。

  )3.软件危机的主要表现是软件的需求量迅速增加,软件价格上升。

(  对 ) 4.用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。 

(    )5.用例之间有扩展、使用、组合等几种关系。包含,泛化,拓展

(   )6.类是指具有相同或相似性质对象的抽象,对象是抽象的类,类的具体化就是对象。

(   )7.UML是一种建模语言,是一种标准的表示,是一种方法

(  )8.活动图用来表示系统中类和类与类之间的关系,它是对系统静态结构的描述。

 活动的顺序

(   对  )9.在发现错误后,则应按照一定的技术去纠正它,纠错的关键是定位错误。

   )10.类图用来表示系统中类和类与类之间的关系,它是对系统动态结构的描述。

(  对  )11.顺序图描述对象之间的交互关系,重点描述对象间消息传递的时间顺序。

( 对   )12.主题是一种关于模型的抽象机制,它是面向对象模型的概貌,也是关于某个模型要同时考虑和理解的内容,主题起一种控制作用。

(   )13.白盒法又称为逻辑覆盖法,主要用于组装测试。单元

(  对  )14.多态性增强了软件的灵活性和重用性,允许用更为明确、易懂的方式去建立通用软件,多态性和继承性相结合使软件具有更广泛的重用性和可扩充性。

(    对 )15.异步消息是一种异步的控制流,消息的发送者在消息发送后就继续执行,不等待消息的处理。

(    )16.源程序的效率与概要设计阶段确定的算法的效率直接有关。详细设计

(   对 )17.CMM对开发一个软件所做的基本要求是“有章可循,有章必循”。

(   对 )18.类图中的角色是用于描述该类在关联中所扮演的角色和职责的。

(   对 )19.信息隐蔽原则有利于提高模块的内聚性。

(   )20.在等价分类法中,一个测试用例需要尽可能覆盖多个有效等价类。

(   )21.判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件循环

(    )22.软件维护只需要纠错性维护、适应性维护和完善性维护。

(   对 )23.软件复用的层次可以分为代码的复用、设计结果的复用、分析结果的复用、测试信息的复用几个级别。

(   对 )24.CMM将软件过程的成熟度分为以下5个级别:初始级、可重复级、已定义级、已管理级和优化级。

(    )25.白盒法是一种动态测试方法,主要用于集成测试。单元测试

(   )26.对象模型表示了动态的、结构化的系统数据性质,描述了系统的动态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。静态

(   对)27.面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。

(   对  )28.面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。

(   对 )29.面向对象的分析是用面向对象的方法对目标系统的问题域空间进行理解、分析和反映。通过对象层次结构的组织确定解空间中应存在的对象和对象层次结构。

(  )30.结构化方法和OO方法都是一种面向过程的软件开发方法。面向对象

四 简答题

1.面向对象的测试与传统的测试有什么相同和不同之处?

:传统的测试要在编码之后才进行,主要测试的对象是程序代码。而面向对象的测试既在没有代码的情况下进行测试,也在有代码的情况下进行测试,是一种被应用在开发过程不同阶段的活动,是与开发过程密切相关而又分离出来的过程,贯穿软件开发的全过程。

面向对象的测试更关注对象而不是像传统的测试仅完成输入输出的单一功能,强调需求或设计的测试,验证和确认规格说明的有效性和正确性。

由于测试对象不同,如传统测试中的单元测试,对应面向对象的测试中的类测试,类测试包括:类属性的测试、类操作的测试、可能状态下对象测试。根据面向对象的主要特性,在测试策略和方法上有所区别。通常面向对象的测试更加困难,例如类间的继承性可能给测试带来新的困难,继承性层次的测试需要更彻底的测试方法。

在面向对象的测试中,一些常用的传统测试技术,如白盒法、黑盒法仍然可以使用。

2.什么是软件的可维护性?提高可维护性的方法有哪些?

软件的可理解程度,程序修改的难易程度。

提高软件可维护性的方法主要有:

(1)建立明确的软件质量管理目标和优先级

(2)使用提高软件质量的技术和工具

(3) 选择便于维护的程序设计语言

(4)采取明确的、有效的质量保证审查措施

(5)完善程序的文档

3.比较面向对象方法与结构化方法的特点,说明为什么面向对象方法比结构化方法更加优越。

:结构化方法是以数据流和数据封闭性为基础的, SA  SD  SP 三部分构成。

  1. (1) 无法实现从问题空间到解空间的直接映射。开发方法求解过程要先对应用领域进行分析,建立逻辑模型,再通过一系列复杂的转换和算法才能获得解空间。 
  2. (2) 无法实现高效的软件复用。结构化方法是面向过程的,将数据和处理过程分离,不仅增加了软件开发的难度,也很难支持软件复用。
  3.  (3) 开发方法难以实现从分析到设计的直接过渡, SA  SD 要经过一系列复杂的变换 

(而面向对象的方法以对象为核心,强调模拟现实世界中的概念而不是算法,尽量用符合人类认识世界的思维方式来分析、解决问题。 

(1) 使问题空间与解空间具有一致性,便于对软件开发过程所有阶段进行综合考虑,能有效地降低软件开发的复杂度,提高软件质量。

(2) 软件开发各个阶段有机集成,有利于系统的稳定性。 

(3) 具有良好的重用性。面向对象的技术在利用可重用的软件成分构造新软件系统上具有很大的灵活性,由于对象所具有的封装性和信息隐蔽,使得对象的内部实现与外界隔离,具有较强的独立性。继承性本身就是一种重用机制。 综上,显然 面向对象方法比结构化方法更加优越。

4.简述UML实际建模过程。

①分析阶段。建模的目的是捕捉系统的功能需求,分析、提取所开发系统的“客观世界”领域的类以及描述它们的合作关系。

②设计阶段。建模的目的是通过考虑实现环境,将分析阶段的模型扩展和转化为可行的技术实现方案。

③实现阶段。主要工作就是进行编码,同时对已构造的模型作相应的修正。

④配置阶段。通过模型描述所开发系统的软硬件配置情况建立配置模型。

⑤测试阶段。使用前几个阶段所构造的模型来指导和协助测试工作。

5.软件测试通常包含哪几个基本步骤?

答:

(1) 单元测试。完成每个模块的测试,尽可能发现模块内部的错误。单元测试主要采用白盒测试法。

(2) 集成测试。把已测试过的模块按照一定顺序组装起来,构成软件系统。主要采用黑盒测试法。

(3) 确认测试:检验所开发的软件能否满足所有功能和性能需求,通常均采用黑盒测试法。

(4) 系统测试:完成确认测试以后,检验它能否与系统的其他部分协调工作,需要进行系统测试。

(5) 验收测试:检验软件产品质量的最后一道工序是验收测试。与前面的各种测试的不同之处主要在于它突出了客户的作用,同时软件开发人员也应有一定程度的参与。

6.状态图与活动图有何相同与不同之处?在建立系统模型时,应该如何使用这两类模型?

状态图着重描述了对象的状态变化以及触发状态变化的事件。但是,从系统任务的观点看系统,它是由一系列有序活动组成的。

活动图是从活动的角度描述系统任务,并且可以描述系统任务中的并发活动。活动图描述了系统中各种活动的执行顺序,刻画一个方法中所要进行的各项活动的执行流程。活动图显示动作及其结果,着重描述操作实现中完成的工作以及用例或对象内部的活动。

在状态图中状态的变迁通常需要事件的触发,而活动图中一个活动结束后将立即进入下一个活动。

7、顺序图与合作图都是交互图, 它们有何不同?所描述的主要系统特征是什么?

(1) 顺序图重点描述某些对象间消息传递的时间顺序,对象间的通信通过在对象的生命线之间传送的消息来表示。

(2) 合作图着重体现交互对象间的静态链接关系和协作关系,  【强调为了完成某个任务,对象之间通过发送消息实现协同工作关系。可以有效地描述参与对象数较多时的交互关系。

8、为什么要进行软件项目管理?

  软件项目管理是对软件项目开发全过程的管理,是对整个软件生存期的所有活动进行管理,对于保证软件产品的质量具有极为重要的作用,是软件项目开发成功的关键。

感谢您的浏览!!!

  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南巷旧人173

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值