【软件工程】软件工程期末考试复习题

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

软件工程期末考试试题及参考答案

一、单向选择题

1、软件的发展经历了D个发展阶段。

2、需求分析的任务不包括B。

  1. 问题分析
  2. 系统设计
  3. 需求描述
  4. 需求评审。

3、一个软件的宽度是指其控制的C。

  1. 模块数
  2. 层数
  3. 跨度
  4. 厚度

4、当模块中包含复杂的条件组合只有A能够清晰地表达出各种动作之间的对应关系。

  1. 判定表和判定树
  2. 盒图
  3. 流程图
  4. 关系图

5、以下不属于逻辑覆盖的是D

  1. 语句覆盖
  2. 判定覆盖
  3. 条件覆盖
  4. 基本路径

6、为适应软件运行环境的变化而修改软件的活动称为B

  1. 纠错性维护
  2. 适应性维护
  3. 改善性维护
  4. 预防性维护

二、填空题

    1. 软件可靠性是指在给定的时间间隔内程序成功运行的概率
    2. 高级语言独立于机器面向过程或面向对象
    3. 软件项目管理的范围主要集中于3个P上即People人员、Problem问题和过程
    4. 人机界面的风格第一代界面是命令和询问方式
    5. 由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的副作用
    6. 在公式VG= E – N + 2中E为程序图G中边的总数 N 为程序图中结点的总数。VG又称为图G的环形复杂度
    7. 任何一个基于计算机系统都可以用输入-处理-输出IPO图来描述它将该系统转换成一个信息变换模型
    8. 为提高可交互性一般对所有可能造成损害的用户操作动作应坚持要求用户确认例如提问“你确实要删除…”
    9. 文档是一种数据媒体和其上所记录的数据

三、判断题每小题2分共24分错误打X、正确打√

  1. 用户对软件需求的描述不精确往往是产生软件危机的原因之一。√
  2. 目前软件项目的进度安排的两种比较常用的方法是程序评估与审查技术PERT和关键路径法CPM。√
  3. 一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作建立良好的人际关系善于听取别人的意见。√
  4. 目前的绝大多数软件都不适合于快速原型技术。X
  5. 面向数据的设计方法适用场合是具有明显的层次信息结构的应用如企事业的信息管理系统系统软件如操作系统等。√
  6. 缺乏处理大型软件项目的经验。是产生软件危机的唯一原因。X
  7. 通常紧致性好的语言一致性就好。X
  8. 测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。X1401
  9. 数据输入的一般准则中包括保证信息显示方式与数据输入方式的协调一致允许用户定做输入格式等内容。√
  10. 软件也会磨损和老化。X
  11. 完善性维护是提高或完善软件的性能。√
  12. McCabe建议模块规模应满足VG≤20。X

四、简答题每小题4分共20

1、程序设计语言的三种类型和特点是什么

  1. 机器语言、汇编语言依赖于机器面向机器 
  2. 高级语言独立于机器面向过程或面向对象
  3. 面向问题语言独立于机器非过程式语言4GL 2分

2、软件危机

是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题

3、软件项目的质量管理——制定软件质量保证计划按照质量评价体系控制软件质量要素对阶段性的软件产品进行评审对最终软件产品进行确认确保软件质量

4、好的编程风格应遵循哪四条规则

1节简化

2模块化

3简单化

4文档化

5、软件测试中按照错误的性质和范围进行分类可分为“功能错误”及其它哪些错误

  1. 系统错误
  2. 加工错误算法错误
  3. 数据错误
  4. 代码错误

五、综合题每小题10分共20

1、选择语言时要考虑的因素有项目的应用领域、项目中算法、计算的复杂性和其余哪些内容

1项目中数据结构的复杂性

2用户的性能需求

    3软件运行的环境

    4软件开发人员开发水平

    5可用的编译器和交叉编译器

2、已知一个软件项目的记录开发人员M=3人其代码行数=12.1KLOC工作量E=24PM成本S=168000美元错误数N=29文档页数Pd=365页。试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D

解 1软件开发的生产率P为

P = L / E = 12.1×103LOC / 24PM = 504 LOC/PM

2开发每行代码的平均成本C为

C = S / L = 168000美元 / 12100LOC=13.9美元/LOC

3代码出错率EQR为

EQR = N / L = 29个/12.1KLOC=2.4个/KLOC

4软件的文档率D为

D = Pd / L = 365页 / 12.1KLOC = 30页/ KLOC

《软件工程》试题及参考答案

一、单向选择题四选一、每小题3分共18

1、对在数据流图中每一个命令的图形元素均给以定义是B

、条目定义

、数据字典

、数据定义

、数据说明

2、软件的可行性研究中不包括D

、法律可行性

、技术可行性

、经济可行性

、政治可行性

3、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为C

  1. 纠错性维护
  2. 适应性维护
  3. 改善性维护
  4. 预防性维护

4、人机界面的风格大致经过了B代的演变

5、以下不属于白盒测试技术的是D

逻辑覆盖

基本路径测试

循环覆盖测试

等价类划分

6、为改正软件系统中潜藏的错误而进行的维护活动称为A

纠错性维护

适应性维护

改善性维护

预防性维护

二、填空题每空2分共18

  1. 文档document—一种数据媒体和其上所记录的数据
  2. 机器语言、汇编语言依赖于机器面向机器
  3. 软件有效性efficiency指软件系统的时间和空间效率
  4. 软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成
  5. 软件定义的基本任务是确定软件系统的工程需求也就是要搞清“做什么”
  6. 为了使用户需求逐步精细化、完全化、一致化通常采用需求建模技术
  7. 一个软件的深度是指其控制的层数
  8. 以详细设计说明书为输入将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫编码过程
  9. 软件维护是软件生命周期的最后一个阶段

三、判断题每小题2分共24分错误打X、正确打√

  1. 缺乏有力的方法学的指导和有效的开发工具的支持 这往往是产生软件危机的原因之一。√
  2. 一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。X
  3. 在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程而是为了获取第一手资料并从中提取出有价值的需求。√
  4. 快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。√
  5. 流程图也称为程序框图是最常用的一种表示法。√
  6. 面向数据设计方法一般都包括下列任务 确定数据结构特征用顺序、选择和重复三种基本形式表示数据等步骤。√
  7. 理想的人机界面应针对具有典型个性的特定的一类用户设计。√
  8. 数据输入的一般准则中包括尽量增加用户输入的动作。X
  9. 用穷举测试是较现实的测试方法。X

10、编码时应尽可能使用全局变量X

11、重视程序结构的设计能使程序具有较好的层次结构√

12、程序中的注解越少越好 X

四、简答题每小题4分共20

1、计算机软件——与计算机系统操作有关的程序、规程、 规则及任何与之有关的文档和数据

2、需求分析的任务是什么

需求分析的任务是确定待开发的软件系统“做什么”。具体任务包括确定软件系统的功能需求、性能需求和运行环境约束编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。

3、软件项目的成本管理——估算软件项目的成本作为立项和签合同的依据之一并在软件开发过程中按计划管理经费的使用。

4、快速原型技术的基本思想是什么

在软件开发的早期快速开发一个目标软件系统的原型让用户对其进行评价并提出修改意见然后开发人员根据用户的意见对原型进行改进。

5、程序设计语言有哪些特点

1一致性

2二义性

3紧致性

4局部性

五、综合题每小题10分共20

1、可将软件生存周期划分为哪3个过程和哪9个阶段。

13个过程是软件定义过程、软件开发过程、软件使用与维护过程。

29个阶段有可行性研究、需求分析、概要设计、详细设计、实现、组装测试、验收测试、使用与维护、退役。

2、画出与图1所示的程序流程图对应的流图并试计算其环形复杂度V(G)。

解 1流图如图2所示

2计算其环形复杂度VG=E –N +2=13 –10 +2=5

(图一)

图二

《软件工程》试题及参考答案

一、单向选择题四选一、每小题3分共18

1、在设计测试用例时应当包括C

、合理的输入条件

、不合理的输入条件

、合理的和不合理的输入条件

、部分条件

2、下列各项中不属于逻辑覆盖的是D

、语句覆盖

、判定覆盖

、判定——条件覆盖

、全部覆盖

3、高级语言通常被分成三类其中不包括D

  1. 通用高级语言
  2. 面向对象的语言
  3. 专用语言
  4. 自然语言

4、Jackson方法在需求分析阶段的主要步骤不包括A

  1. 了解实体行为
  2. 标识实体与行为
  3. 生成实体结构图
  4. 创建软件系统模型

5、实践表明确定发生错误的位置和内在原因所需的工作量几乎占整个调试工作量的D%

  1. 30
  2. 50
  3. 70
  4. 90

6、为了进一步改善软件系统的可维护性和可靠性并为以后的改进奠定基础的软件维护称为D

  1. 纠错性维护
  2. 适应性维护
  3. 改善性维护
  4. 预防性维护

二、填空题每空2分共18

  1. 软件的可互操作性是指多个软件元素相互通信并协同完成任务的能力。
  2. 第三代语言也称为高级语言。1301
  3. 软件测试是软件投入运行前对软件需求分析、设计、实现的强有力的最终审查。1401
  4. 黑盒测试主要是测试软件是否满足功能需求。1402
  5. 调试的目的是确定错误的位置和引起错误的原因并加以改正。因此又称为排错或纠错。1404
  6. 软件工程由方法、工具和过程三部分组成称软件工程的三要素。
  7. 软件可追踪性traceability是指根据软件需求对软件设计、程序进行正向追踪或根据程序、软件设计对软件需求进行逆向追踪的能力。
  8. 瀑布模型是由W. Royce于1970年提出来的。又称为软件生存周期模型。
  9. 程序设计语言的可维护性通常指这种语言编写的程序被理解被修改及调整和改进的难易程度。1302

三、判断题每小题2分共24分错误打X、正确打√

  1. 文档可用于专业人员和用户之间的通信和交流软件开发过程的管理 运行阶段的维护。√0101
  2. 软件开发、设计几乎都是从头开始成本和进度很难估计。√0101
  3. 适应性维护是改进软件未来的可维护性和可靠性。X0101
  4. 由于软件是逻辑产品软件质量较容易直接度量。X0203
  5. VG值越高的程序往往是越不复杂、越不容易出问题的程序。X0204
  6. 目前我国还没有颁布软件开发标准。X0206
  7. 按照功能软部件可划分为系统软件和应用软件两类。√0301
  8. 如果某子功能可以用一段简洁、精确的文字描述清楚就无需进一步分解是创建用户需求的数据流模型应遵循的规则。√0502
  9. 耦合度是对软件结构中模块间关联程度的一种度量。在设计软件时应追求尽可能紧密的耦合的系统。X0803
  10. 在面向对象设计阶段则着重完成“如何做”的问题也就是着重考虑对象的实现细节。√1101
  11. 随着软件复杂性的不断提高软件的维护难度越来越大。√1501
  12. 软件的可维护性差是软件维护工作量和费用激增的直接原因。√1505

四、简答题每小题4分共20

1、软件在使用过程中维护有哪几种0101

1纠错性维护

2完善性维护

3适应性维护

4预防性维护

2、Coad/Yourdon面向对象的方法除了包含识别对象外还包括哪4个步骤0702

标识对象的属性

标识对象的行为

识别对象所属的类

定义主题词

3、Jackson系统开发方法其核心思想是什么0602

根据作用于数据的行为序列的结构顺序、选择、重复建立目标软件系统的模型然后在软件设计阶段将模型转换为相应的程序结构。

4、设计人机界面必须考虑哪四个方面。1202

系统的响应时间

用户求助机制

错误信息处理

命令方式。

5、什么是测试用例

为了进行有效的测试而设计的输入数据和预期的输出结果数据。1401

五、综合题每小题10分共20

1、SD方法能方便地将数据流图转换为软件结构其过程分为哪五步0901

       1  确定信息流的类型

       2  划定流界

       3  将数据流图映射为程序结构

       4  提取层次控制结构

       5  通过设计复审和使用启发式策略进一步精化所得到的结构。

2、已知有一个软件项目的记录开发人员M=6人其代码行数=20.2KLOC工作量E=43PM成本S=314000美元错误数N=64文档页数Pd=1050页。试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。0201

解根据给出的已知数据可得

    P = L / E =20.2 KLOC /43 PM = 0.47 KLOC / PM

        = 470 LOC / PM

    C = S / L = 314000美元 / 20.2 KLOC

        = 15.54 美元 / LOC

    EQR = N / L = 64个 / 20.2KLOC = 3.17 个 / KLOC

    D = Pd / L = 1050 页 / 20.2 KLOC = 51.98 页 / KLOC

《软件工程》试题及参考答案

一、单向选择题四选一、每小题3分共18

1、从事物的组成部件及每个部件的属性、功能来认识事物。这种方法被称为A的方法。0701

A、面向对象

B、面向数据

C、面向过程

D、面向属性

2、判定表由四部分组成左上部列出B。0802

  1. 条件组合与动作之间的对应关系
  2. 所有条件
  3. 所有可能的动作
  4. 可能的条件组合

3、面向对象的分析和设计(OOA&OOD)方法出现在20世纪C年代中期。0701

  1. 50
  2. 60
  3. 70
  4. 80

4、耦合度也可以分为七级其中最松散的耦合是A。0801

  1. 非直接耦合
  2. 数据耦合
  3. 特征耦合
  4. 控制耦合

5、面向对象方法是将现实世界的事物以对象的方式 B 到计算机世界的方法。0101

  1. 对应
  2. 映射
  3. 反映
  4. 反射

6、盒图也称为D或Chapin图。这种表达方式取消了流程线它强迫程序员以结构化方式思考和解决问题。0802

  1. 流程图
  2. 框图
  3. 判定表
  4. N-S图

二、填空题每空2分共18

  1. 软件工程由方法、工具和过程三部分组成称软件工程的三要素。0101
  2. 软件可理解性指系统具有清晰的结构能直接反映问题的需求。0103
  3. 在实体-关系图简称E-R图中数据对象实体用长方形、关系用菱形、属性用椭圆表示。0502
  4. 建立数据流模型要遵循的原则包括每个加工至少应有一个输入数据流以反映被处理数据的来源和一个输出数据流来反映加工的结果。0503
  5. 从工程管理的角度软件设计可分为概要设计和详细设计两大步骤。0801
  6. 通过向用户提供视觉和听觉上的反馈保持用户与界面间的双向通信是提高界面可交互性的措施之一。1204
  7. 程序设计语言的可靠性是指程序设计语言本身不出错或对错误的纠正能力。1302
  8. 对发现错误较多的程序模块应进行重点测试。1401
  9. 测试用例中不仅要选择合理的输入数据还要选择不合理的输入数据。1401

三、判断题每小题2分共24分错误打X、正确打√

  1. 纠错性维护是改正运行期间发现的潜伏错误。√0101
  2. 软件可移植性portability是指软件从一个计算机系统或环境移植到另一个上去的难易程度。√0103
  3. 软件复杂性不能反映出软件的可理解性、模块化、简单性等属性。X0204
  4. 当程序内的分支数和循环数增加时VG值将随之增加即程序的复杂性增大。√0204
  5. 一般来说设计软件时应尽量使用数据耦合减少控制耦合限制外部环境耦合和公共数据耦合杜绝内容耦合。√0803
  6. 设计用户界面只需要计算机科学的理论和知识而不一定需要认知心理学以及人-机工程学、语言学等学科的知识。X1201
  7. 第四代语言4GL还局限在某些领域内如数据库查询语言。√1301
  8. 不同程序设计语言在程序的效率上的差异不大。X1302
  9. 编码的依据是详细设计说明书。√1303
  10. 程序文档应该包括代码的功能、代码的完成者等内容。√1303
  11. 软件项目定义部分由制定软件项目开发计划、需求分析2个阶段组成。√0301
  12. 预防性维护是修改软件以适应软硬件环境的变化。X0101

四、简答题每小题4分共20

1、软件工程的原则有抽象、信息隐藏、模块化和其他那些内容0102

  1. 局部化
  2. 一致性
  3. 完全性
  4. 可验证性

2、常用的软件项目的估算方法主要有哪4种0202

  1. 自顶向下的估算方法
  2. 自底向上的估算方法
  3. 差别估算法
  4. 根据经验估算公式

3、原型法模型一般适应哪些场合0104

它适合于那些不能预先确切定义需求的软件系统的开发更适合于那些项目组成员包括分析员、设计员、程序员和用户不能很好交流或通信有困难的情况。

4、简答结构化程序设计的内容。 0801

是程序设计技术它采用自顶向下逐步求精的设计方法和单入口单出口的控制构件。

5、瀑布模型一般适应哪些场合0104

瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。例如操作系统、编译系统、数据库管理系统等系统软件的开发。应用有一定的局限性。

五、综合题每小题10分共20

1、软件工程的目标是什么0103

答在给定成本、进度的前提下开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。

2、软件工程必须遵循那些基本原则0102

  1. 抽象
  2. 信息隐藏2分
  3. 模块化  2分
  4. 局部化
  5. 一致性
  6. 完全性
  7. 可验证性2分

《软件工程》试题及参考答案

一、单向选择题四选一、每小题3分共18

1、描述静态数据结构的概念模式是A 。0801

      A、E-R图 B、DFD C、结构图 D、框图

2、结构化程序设计理论认为实现良好的程序结构要应用 A 的分析方法。1301

      A、自顶向下 B、自底向上 C、面向对象 D、基于组件

3、在结构化程序设计当中不建议使用 D 。1302

      A、分支语句 B、循环语句 C、子程序调用语句 D、转向语句

4、软件生产过程中需求信息由D 给出。0401

      A、程序员 B、项目管理者 C、软件分析设计人员 D、软件用户

5、在下列的基本成分中哪个不是数据流程图的基本成分 D0502

      A、信息处理 B、信息存储 C、外部实体 D、系统状态

 6、与设计测试数据无关的文档是D 。1401

      A、需求说明书 B、设计说明书 C、源程序 D、项目开发设计

二、填空题每空2分共18

  1. 软件工程由方法、工具和过程三部分组成称软件工程的三要素。0103
  2. 基于计算机系统的软件要素中的软部件由程序、数据和文档组成。0301
  3. 数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分别表示数据流、转换、数据源以及外部实体。0501
  4. 被继承的类我们称之为基类父类在基类的基础上新建立的类我们称之为派生类子类。0701
  5. 流程图也称为程序框图是最常用的一种表示法它有顺序、分支和循环三个基本控制构件。0802
  6. 机器语言和汇编语言也称为低级语言。1301
  7. 软件测试是执行程序发现并排除程序中潜伏的错误的过程。1401
  8. 动态测试有两种测试方法黑盒测试和白盒测试。1401
  9. 软件可维护性是指软件产品交付使用后在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的难易程度。0103

三、判断题每小题2分共24分错误打X、正确打√

  1. 开发大型软件易产生疏漏和错误往往是产生软件危机的原因之一。√0102
  2. 据统计软件维护人员为了分析和理解原软件系统所花费的工作量约占整个维护工作量的60%以下。X0201
  3. 数据流图中各构成元素的名称不一定必须具有明确的含义以代表对应元素的内容或功能。X0501
  4. 软件设计也可看作将需求规格说明逐步转换为软件源代码的过程。√0801
  5. 最高耦合度是数据耦合。X0803
  6. 人机界面Human-Computer Interface简称HCI又称人- 机接口或用户界面。√1201
  7. 在同一用户界面中所有的菜单选择、命令输入、数据显示和其他功能应采用不同的形式和风格。X1204
  8. 判定覆盖必然满足语句覆盖。√1402
  9. 为提高可交互性一般对大多数操作动作应允许用户恢复。同时应尽量减少用户记忆的信息量。√1204
  10. 编程中应采用统一的标准和约定降低程序的复杂性。√1303
  11. 软件在使用过程中维护不十分复杂。(X)0101
  12. 软件可重用性reusability是指软部件可以在多种场合使用的程度。(√)0103

四、简答题每小题4分共20

1、螺旋模型的适应场合有哪些0104

适应场合支持需求不明确、特别是大型软件系统的开发并支持面向规格说明、面向过程、面向对象等多种软件开发方法是一种具有广阔前景的模型。

2、软件生存周期0103

软件从定义开始经过开发、使用和维护直到最终退役的全过程称为软件生存周期。

3、软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤它包括哪些主要内容0206

  1. 风险标识
  2. 风险估算
  3. 风险评价
  4. 风险驾驭和监控。

4、软件生存周期中的软件开发过程由概要设计和其它哪几个阶段组成0103

  1. 详细设计
  2. 实现
  3. 组装设计
  4. 验收测试

5、实体—关系Entity-Relation图

简称E-R图是表示数据对象及其之间关系的图形语言机制。0502

五、综合题每小题10分共20

1、需求评审标准按照重要性的次序包括哪些内容。0403

  1. 正确性
  2. 无歧义性
  3. 完全性
  4. 可验证性
  5. 一致性。
  6. 可理解性。
  7. 可修改性。
  8. 可追踪性。

2、软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤它包括哪些内容0206

风险标识

风险估算

风险评价

风险驾驭

监控        

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6