软件工程(第五版)-习题及答案 - 第四章 下载本文

一、判断题 1、(√)如果在需求分析阶段采用了结构化分析方法,则软件设计阶段就应采用结构化设计方法。 2、(√)概要设计与详细设计之间的关系是全局和局部的关系。 3、(×)一个模块的作用范围应该大于该模块的控制范围。 4、(√)模块间的耦合性越强,则模块的独立性越弱。 5、(×)在设计模块时,应使一个模块尽量包括多个功能。 6、(√)软件结构图可以利用数据流图映射出来。 7、(×)结构化设计是一种面向数据结构的设计方法。 8、(√)在结构化设计过程中首先要确认DFD。 二、选择题

1、软件结构图的形态特征能反映程序重用率的是(C)。 A、深度

B、宽度

C、扇入

D、扇出

2、概要设计的目的是确定整个系统的(B)。 A、规模 C、费用

B、功能及模块结构 D、测试方案

3、耦合是对软件不同模块之间互连程度的度量。各种耦合从强到弱的排列为(C)。 A、内容耦合,控制耦合,数据耦合,公共环境耦合 B、内容耦合,控制耦合,公共环境耦合,数据耦合 C、内容耦合,公共环境耦合,控制耦合,数据耦合 D、控制耦合,内容耦合,数据耦合,公共环境耦合

4、当一个模块直接使用另一个模块的内部数据时,这种模块之间的耦合为(D)。 A、数据耦合

B、公共耦合

C、标记耦合

D、内容耦合

5、数据耦合和控制耦合相比,则(B)成立。 A、数据耦合的耦合性强 C、两者的耦合性相当

B、控制耦合的耦合性强

D、两者的耦合性需要根据具体情况分析

1

6、衡量模块独立性的标准是(D)。 A、耦合的类型

B、内聚的类型 D、耦合性和内聚性

C、模块信息的隐藏性

7、如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为(A)。 A、时间内聚 C、通信内聚

B、逻辑内聚 D、信息内聚

8、为了提高模块的独立性,模块内部最好是(C)。 A、逻辑内聚 C、功能内聚

B、时间内聚 D、通信内聚

9、在结构化设计方法中,下面哪种内聚的内聚性最弱(C)。 A、逻辑内聚

B、时间内聚 D、过程内聚

C、偶然内聚

10、软件设计是把(A)转换为软件表示的过程。 A、软件需要 C、数据库

B、系统分析 D、软件代码

11、概要设计的主要成果是(C)。 A、用户的界面需求 C、概要设计说明书

B、用户的分析方案 D、系统总体方案

12、数据结构设计也是概要设计的重要内容,主要是进行数据的(A)设计。 A、逻辑

B、存取

C、用户视图

D、索引

13、概要设计与详细设计衔接的图形工具是(B)。

2

A、DFD图 B、SC图 C、程序流程图PFD D、PAD图

14、在软件开发中,下面任务不属于设计阶段的是(D)。 A、数据结构设计 C、定义模块算法

B、给出系统模块结构 D、定义需求并建立系统模型

15、下面不属于软件设计原则的是(C)。 A、抽象

B、模块化

C、自底向下

D、信息隐藏

三、简答题

1、软件设计应遵循的原则是什么?

答:软件设计中一般应遵循以下原则:模块化、抽象、信息隐蔽与局部化、一致性、完整性和可验证性。

2、什么是软件的概要设计?概要设计阶段完成的主要任务是什么?

答:总体设计又称概要设计,是将软件需求转化为软件体系结构、确定系统级接口、全局数据结构和数据库模式。 3、启发设计规则有哪些? 答:(1)模块功能的完善化;(2)消除重复功能,改善软件结构;(3)模块规模应该适中;(4)模块的深度、宽度、扇出和扇入都应适当;(5)模块的作用范围应该在控制范围之内;(6)力争降低模块接口的复杂程度;(7)设计单入口、单出口的模块;(8)模块功能应该可以预测。

四、应用题

根据以下的C语言程序段判断模块A和B之间属于哪一种耦合,模块B是哪一种内聚。 1、

模块A“开发票”: ??

water_fee= calc_waterfee(12.5,3.0); 模块B“计算水费”:

float calc_waterfee(float mount,float price); { float fee;

?? feturn fee; }

答:模块A和B是数据耦合,模块B是功能内聚。 2、

模块A: ?? flag=1;

3

max=max_avg(flag); ?? 模块B:

int max_avg(int flag) {

??

if(flag= =1) ??

else if(flag= =0) ?? }

答:模块A和B是控制耦合,模块B是逻辑内聚。

4