软件工程试题-b

一、单项选择题(共30分 每题1分)

  1. 在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是( )
    A. 经济可行性 B. 技术可行性
    C. 操作可行性 D. 法律可行性
B
  1. 模块的独立性是由内聚性和耦合性来度量的,其中内聚性是( )
    A. 模块间的联系程度 B. 模块的功能强度
    C. 信息隐蔽程度 D. 接口的复杂程度
B
  1. 软件测试的手段有多种,通过人工来评审文档或程序,借以发现其中错误,该手段是( )。
    A. 黑盒测试 B. 正确性测试 C. 动态测试 D. 静态测试
D
  1. 软件设计将涉及软件的构造、过程和模块的设计,其中软件过程是指( )
    A. 模块间的关系 B. 模块的操作细节
    C. 软件层次结构 D. 软件开发过程
B
  1. 制定软件计划的目的在于尽早对预开发的软件进行合理估价,软件计划的任务是( )
    A. 组织与管理 B. 分析与估算
    C. 设计与测试 D. 规划与调度
D
  1. 面向数据流的设计方法把( )映射成软件结构。
    A. 数据流 B. 模块化 C. 控制结构 D. 信息流
D   
面向数据流的设计方法的目的是给出设计软件结构的一个系统化的途径,在软件工程的需求分析阶段,信息流是一个主要考虑的问题,常用数据流图描绘信息在系统中加工和流动的情况。面向数据流的设计方法定义了一些不同的映射,利用这些映射,可以把数据流图变换成软件结构。信息流的类型决定了映射的方法。信息流有两种类型:变换流和事务流。

  1. 软件设计阶段一般又可分为 ( )。
    A. 逻辑设计与功能设计 B. 概要设计与详细设计
    C. 概念设计与物理设计 D. 模型设计与程序设计
B
  1. 判定表和判定树是数据流图中用以描述加工的工具,它常描述的对象是( )
    A. 逻辑判断 B. 层次分解 C. 操作条目 D. 组合条件
D
  1. 下面的逻辑测试覆盖中,测试覆盖最弱的是( )
    A. 条件覆盖 B. 条件组合覆盖 C. 语句覆盖 D. 条件及判定覆盖
C
  1. 进行需求分析可使用多种工具,但( )是不适用的。
    A. 数据流图(DFD) B. 判定表 C. PAD图 D. 数据字典
C
  1. 软件质量和可靠的技术大致可分为两大类,其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要( )
    A. 消除错误 B. 检测错误 C. 避开错误 D. 容错
D
  1. 在软件结构化设计中,好的软件结构设计应该力求做到( )。
    A. 顶层扇出较少,中间层扇出较高,底层模块低扇入
    B. 顶层扇出较高,中间层扇出较少,底层模块高扇入
    C. 顶层扇入较少,中间层扇出较高,底层模块高扇入
    D. 顶层扇入较少,中间层扇入较高,底层模块低扇入
B
  1. 结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的( )
    A. 控制流 B. 数据流 C. 程序流 D. 指令流
B
  1. 在对数据流的分析中,主要是找到中心变换,这是从( )导出结构图的关键。
    A. 数据结构 B. 实体关系 C. 数据流图 D. E—R图
C
  1. 下述任务中,不属于软件工程需求分析阶段的是( ) 。
    A. 分析软件系统的数据要求 B. 确定软件系统的功能需求
    C. 确定软件系统的性能要求 D. 确定软件系统的运行平台
D
  1. 软件测试是软件质量保证的主要手段之一,测试的费用已超过( )的30%以上,因此提高测试的有效性非常重要。
    A. 软件开发费用 B. 软件维护费用
    C. 软件开发和维护费用 D. 软件研制费用
A
  1. 在软件测试中,确认测试主要用于发现( )阶段的错误。
    A. 软件计划 B. 需求分析 C. 软件设计 D. 编码
B
  1. 在软件维护工作中进行的最少的部分是( )
    A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护
D
  1. 使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。
    A. 程序的内部逻辑 B. 程序的复杂结构
    C. 使用说明书 D. 程序的功能
B
  1. 数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( )
    A. 数据、公共、标记、控制 B. 数据、标记、控制、公共
    C. 控制、数据、标记、公共 D. 控制、数据、公共、标记
A
  1. 在设计测试用例时,( )是用得最多的一种黑盒测试方法。
    A. 等价类划分 B. 边界值分析 C. 因果图 D. 判定表
A
  1. 在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( )。
    A. 状态图 B. 数据流图 C. 系统结构图 D. 时序图
A
  1. 某程序功能说明中列出“规定每个运动员参赛项目为1~3项”,应用黑盒法中的等价分类法确定等价类是( )
    A. 1≤项目数≤3 B. 项目数<1
    C. 项目数>3 D. 以上都是
D
  1. 因计算机硬件和软件环境的变化而作出的修改软件的过程称为( )
    A. 教正性维护 B. 适应性维护
    C. 完善性维护 D. 预防性维护
C
  1. 为了提高软件的可维护性,在编码阶段应注意( )
    A. 保存测试用例和数据 B. 提高模块的独立性
    C. 文档的副作用 D. 养成好的程序设计风格
D
  1. 关于风险的跟踪和报告,以下哪些说法是错误的?( )
    A. 风险跟踪和报告只是对风险进行监视,并不涉及到应急计划部分
    B. 风险状态报告的目的是通告风险状态的变化,报告缓解计划的进展
    C. 风险报告运行在两个层次上,一个层次是小组本身,另一个层次是向外部干系人报告
    D. 风险跟踪的主要输入是风险行动表以及相关的项目状态报告
A
  1. 面向数据流的软件设计方法,一般是把数据流图中数据流划分为( ),再将数据流图映射为软件结构。
    A. 数据流和事务流 B. 交换流和事务流
    C. 信息流和控制流 D. 交换流和数据流
B
  1. 李先生作为公司的MSF 的实施顾问,将指导项目组B 进行项目完成的总结审核,以下哪些原则是其不应该遵守的( )
    A. 事前会议有计划,让参加者能从具体事务中跳出来,参与讨论
    B. 参加者都必须有准备,以便很快能够切入主题
    C. 不能限定会议时间,会议至少应该持续4 个小时或更多
    D. 按正式会议的安排,并有相应设备
C
  1. ZAMEL公司项目组FD 项目已经进入了部署阶段,项目组已经完成了站点部署期间的培训工作,现在即将进入站点部署的稳定阶段,项目组成员进入了小组会,讨论了在站点的部署未定阶段的工作内容,以下会议结果中错误的是( )
    A. 确认客户是否支付项目费用的70%
    B. 客户验收签字,确认部署完成
    C. 调查用户对此站点部署满意程度
    D. 稳定要确保资源到位,系统稳定运行后,将系统管理移交给运营和支持人员
A
  1. 在多层次的结构图中,其模块的层次数称为结构图的( )。
    A. 深度 B. 跨度 C. 控制域 D. 粒度
A

二、判断题(共10分,每题1分)

  1. Pascal、COBOL、FORTRAN中任何一种语言的任何程序都可以变换成另两种语言的功能上等价的程序。( )
×
  1. 信息隐蔽原则禁止在模块外使用在模块接口说明中所没有说明的关于该模块的信息。( )
  1. 递归过程可以用队列结构实现。( )
×
  1. 目标代码优化是指对翻译好的目标代码重新加工。( )
×
  1. 有GOTO语句的程序一般无法机械地变成功能等价的无GOTO语句的程序。( )
  1. 据统计,软件测试的费用约占软件开发费用的1/2。( )
×
  1. 对程序的穷举测试在一般情况下是可以做到的。( )
×
  1. 因果图法可以用来系统地设计测试用例。( )
×
  1. 程序模块的内聚度应可能地小。( )
×
  1. 测试最终是为了证明程序无错误。( )
×

三、简答题(共30分,每题6分)

  1. 什么是软件危机?产生原因是什么?

【参考答案】
软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。产生原因:
⑴ 软件规模越来越大,结构越来越复杂。
⑵ 软件开发管理困难而复杂。
⑶ 软件包开发费用不断增加。
⑷ 软件开发技术落后。
⑸ 生产方式落后,仍采用手工方式。
⑹ 开发工具落后,生产率提高缓慢。

  1. 软件设计的基本原理包括哪些内容?
    【参考答案】
    ⑴模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。
    ⑵抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。通过抽象确定组成软件的过程实体。
    ⑶信息隐蔽:将模块实现自身功能的细节与数据”隐蔽”起来。模块间仅交换为完成系统功能所必须的信息。
    ⑷模块独立性:每个模块只完成系统要求的独立的子功能。

  2. 衡量模块独立性的两个标准是什么?各表示什么含义?
    【参考答案】
    内聚和耦合。
    内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。
    耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。

  3. 软件维护有哪些内容?
    【参考答案】
    (1)校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。
    (2)适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。
    (3)完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。
    (4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。

  4. 黑盒测试和白盒测试有什么区别?
    【参考答案】
    (1)黑盒测试法: 把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。黑盒测试又称为功能测试,包含等价类划分法、边界值法、错误推测法、因果图法等。
    (2)白盒测试法: 是把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。这种方法按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。白盒测试又称为结构测试,包含逻辑覆盖法和基本路径测试法。

五、设计题(共20分,共1小题)

  1. 根据下面给出的网上书店系统的基本需求介绍,请自行对其进行需求分析与设计,画出相应的用例图和类图和添加图书功能的顺序图。系统基本需求如下:
    1)图书查询,浏览功能(不需要用户登录)。
    2)用户注册。
    3)用户登陆后购买图书
    4)用户购物篮管理功能
    5)会员管理功能。
    6)图书管理功能。
    7)图书销量统计功能。
    参考答案:(1) 网上书店系统总用例图如图1所示。
    软件工程试题-b_第1张图片

(2)类图如如图2所示。
软件工程试题-b_第2张图片

(3)添加图书顺序图如图3所示。
软件工程试题-b_第3张图片

你可能感兴趣的:(软件工程)