软件工程期末试题及答案(2)

时间:2017-04-28 09:01:12 软件工程 我要投稿

软件工程期末试题及答案


  (三)单项选择题

  1、 最高程度也是最差的耦合是( )。

  A、 公共耦合 B、 内容耦合

  C、 控制耦合 D、 数据耦合

  2、 概要设计阶段产生的文档不包括( )。

  A、 概要设计说明书 B、 数据库设计说明书

  C、 用户手册 D、 开发进度月报

  3、 一个模块把数值作为参数传送给另一个模块,这种耦合方式称为( )。

  A、 数据耦合 B、 公共耦合

  C、 控制耦合 D、 标记耦合

  4、 一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为( )。

  A、 时间内聚 B、 功能内聚

  C、 通信内聚 D、 顺序内聚

  5、 结构化设计是一种面向( )的设计方法。

  A、 数据流 B、 模块

  C、 数据结构 D、 程序

  6、 结构化设计又称为( )。

  A、 概要设计 B、 面向数据流设计

  C、 面向对象设计 D、 详细设计

  7、 反映模块内部特性的是( )。

  A、 接口 B、 状态

  C、 功能 D、 逻辑

  8、 画软件结构图时应注意调用关系只能( )。

  A、 从上到下 B、 从下到上

  C、 从左到右 D、 从右到左

  9、 变换型DFD是一个( )结构。

  A、 循环 B、 选择

  C、 分层 D、 顺序

  (三)单项选择题答案

  1、B 2、D 3、A 4、C 5、A 6、B 7、D 8、A 9、D

  (三)单项选择题

  1、 在详细设计阶段,经常采用的工具包括( )。

  A、 SC图 B、 DFD图

  C、 判定表 D、 形式化方法

  2、 结构化程序设计的一种基本方法是( )。

  A、 筛选法 B、 递归法

  C、 迭代法 D、 逐步求法

  3、 与详细设计相对应的是数据库的( )设计。

  A、 概念 B、 逻辑

  C、 物理 D、 功能

  4、 详细设计的基本任务中包括( )。

  A、 数据流设计 B、 人机对话设计

  C、 数据库的逻辑设计 D、 软件结构设计

  5、 下面说法不正确的是( )。

  A、 流程图不易表示数据结构 B、 流程图容易造成非结构化的程序结构

  C、 流程图支持逐步求精 D、 流程图描述的是程序的逻辑结构

  6、 下面说法不正确的是( )。

  A、 盒图支持逐步求精 B、盒图容易造成非结构化的程序结构

  C、 盒图描述的是算法 D、盒图容易表达模块的层次结构

  7、 Jackson方法以( )为中心。

  A、 控制 B、 数据结构

  C、 活动事件 D、 数据流

  8、 Jackson方法是面向( )的设计方法。

  A、 数据结构 B、 数据流

  C、 控制 D、 对象

  (三)单项选择题答案

  1、C 2、D 3、C 4、B 5、C 6、B 7、B 8、A

  (四)简答题

  1、 什么是软件概要设计?该阶段的基本任务是什么?

  2、 软件设计的基本原理包括哪些内容?

  3、 什么是模块间的耦合性?有哪几种耦合性?简述降低模块间耦合度的方法。

  4、 什么是软件结构?简述软件结构设计优化准则。

  5、 变换分析设计与事务分析设计有什么区别?简述其设计步骤。

  (四)简答题答案

  1、 软件概要设计又称结构设计,这是一个把软件需求转换为软件表示(只是描述软件的总的体系结构)的过程。该阶段的基本任务是:

  ① 设计软件系统结构:

  · 采用某种设计方法,将一个复杂的系统按功能划分成模块。

  · 确定每个模块的功能。

  · 确定模块之间的调用关系。

  · 确定模块之间的接口,即模块之间传递的信息。

  · 评价模块结构的质量。

  ② 数据结构和数据库设计:在概要设计阶段,数据结构设计应用抽象的数据类型、数据库设计应用数据库的逻辑设计。

  ③ 编写概要设计文档:包括概要设计说明书、数据库设计说明书、用户手册、组装测试计划。

  ④ 评审:对设计部分是否完整地实现了需求中规定的功能、性能等要求,设计方案的可行性,关键的处理及内外部接口定义正确性、有效性,各部分之间的一致性等一一进行评审。

  2、 软件设计的基本原理包括:

  ① 模块化:指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。模块化是软件解决复杂问题所具备的手段。

  ② 抽象:是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特性而暂不考虑它的细节,不考虑其他因素。软件工程中每一步都是对软件解决方法的抽象层次的一次细化。

  ③ 信息隐蔽:指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的存取限制。

  ④ 模块独立性。指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。衡量模块独立性有两个标准耦合性和内聚性,可判断设计方案的优劣。

  3、 模块间的耦合性是根据模块的外部特征提出的,是对软件系统结构中各模块间相互联系紧密程度的一种度量,也称块间关系。耦合程度由低到高分为6种:

  ① 无直接耦合(不传递任何消息)。

  ② 数据耦合(传递的是值)。

  ③ 标记耦合(传递的是数据结构)。

  ④ 控制耦合(传递的是控制变量,例如开关、标志等)。

  ⑤ 外部耦合(传递的是I/O环境)

  ⑥公共耦合(传递的是在公共数据环境中的数据)。

  ⑦ 内容耦合(传递的是一个模块的内部数据,往往出现在汇编语言中)。

  模块间联系越紧密,其耦合性越强,模块的独立性越差。提高模块独立性,降低模块间耦合度的措施是:

  ① 在耦合方式上降低模块间接口的复杂性。

  · 模块接口方式不采用直接引用(内容耦合),而采用调用方式(例如过程语句调用);

  · 模块接口信息通过参数传递且传递信息的结构尽量简单,不用复杂数据结构(例如过程、指针等),参数个数不宜过多。

  ② 在传递信息类型上尽量使用数据耦合,避免控制耦合,慎用或有控制地使用公共耦合。

  4、 软件结构设计优化准则如下:

  ① 划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,以此优化初始的软件结构。

  ② 一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。

  ③ 软件结构的深度、宽度、扇入、扇出应适当。

  ④ 模块的大小要适中。

  ⑤ 模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与维护。

  5、 变换分析设计是一个顺序结构,由输入、变换和输出三部分组成,其工作过程有3步:取得数据、变换数据和给出数据。事务分析设计是将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行。二者区别:变换分析设计适用于具有明显变换特征的数据流图,事务分析设计适用于具有明显事务特征的数据流图。

  变换分析设计步骤:

  ① 确定DFD中的变换中心、逻辑输入和逻辑输出:

  · 从物理输入端开始,沿着数据流方向向系统中心寻找,直到有这样的数据流,它不能再被看做是系统的输入,则它的前一个数据流是系统的逻辑输入。

  · 从物理输出端开始,逆数据流方向向中间移动,可以确定系统的逻辑输出。

  · 介于逻辑输入和逻辑输出之间的加工就是变换中心,即主加工。

  ② 设计软件结构的顶层和第一层——变换结构:

  · 顶层即主模块,主要完成所有模块的控制。

  · 第一层至少有3个功能模块:输入、输出和变换模块,即为逻辑输入设计一个输入模块,其功能是为顶层模块提供相应数据,为逻辑输出设计一个输出模块,其功能是输出顶层模块的信息,为变换中心设计一个变换模块,其功能是将逻辑输入进行变换加工,然后逻辑输出。

  ③ 设计中、下层模块。对第一层的输入、变换、输出模块自顶向下逐层分解。

  · 输入模块下属模块的设计:可设计两个下属模块,一个接收,一个转换。

  · 输出模块下属模块的设计:可设计两个下属模块,一个转换,一个发送。

  · 变换模块下属模块的设计:按照模块独立性原则来组织其结构,一般对每个基本加工建立一个功能模块。

  ④ 设计的优化:

  · 输入部分求精:为每个物理输入设置专门模块,其他输入模块与转换数据模块可适当合并。

  · 输出部分求精:为每个物理输出设置专门模块,其他输出模块与转换数据模块可适当合并。

  · 变换部分求精:根据设计准则,对模块进行合并或调整。

  事务分析设计步骤:

  ① 确定DFD的事务中心和加工路径:当数据流图中每个加工将一个输入数据分解成多个发散的输出数据流时,该加工就是事务中心,从事务中心辐射出去的数据流为各个加工路径。

  ② 设计软件结构的顶层和第一层——事务结构。

  顶层是一个全控模块,有两个部分:接收分支(与变换型DFD的输入部分设计方法相同)和发送分支(即调度模块,它控制管理所有下层的事务处理模块)。

  ③ 设计中、下层模块、优化等工作,与变换分析设计相同。

  (四)简答题

  1、 什么是软件详细设计?该阶段的基本任务是什么?

  2、 什么是结构化程序设计?简述结构化程序设计的基本要点。

  3、 详细设计有哪几种描述方法?

  4、 Jackson方法包括哪几步?运用Jackson方法进行软件设计时,在什么条件下可直接由数据结构导出软件结构?

  (四)简答题答案

  1、 详细设计是模块设计的第二阶段,主要确定每个模块的具体执行过程,也称过程设计。其基本任务有:

  ① 为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。

  ② 为模块内的数据结构进行设计。

  ③ 对数据库进行物理设计,即确定数据库的物理结构。

  ④ 其他设计。根据软件系统类型,还可能要进行代码设计、输入/输出格式设计、人机对话设计。

  ⑤ 编写详细设计说明书。

  ⑥ 评审:评审处理过程的算法和数据库的物理结构。


【软件工程期末试题及答案】相关文章:

1.软件工程期末试题及答案(四)

2.软件工程期末试题及答案(六)

3.软件工程试题及答案

4.软件工程基础试题及答案

5.软件工程模拟试题及答案(一)

6.教学设计期末试题及答案

7.《特种结构》期末试题及答案

8.大学英语期末试题及答案