软件工程期中试卷

更新时间:2023-03-13 04:26:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

1、总体设计目的是确定整个系统的( D )。

A、规模 B、测试方案

C、费用 D、功能及模块结构 2、模块在同一段时间内完成各种初始化工作,这属于( C )。 A、偶然内聚 B、逻辑内聚 C、时间内聚 D、过程内聚

3、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称( C )

A. 软件工程

C. 软件危机

B. 软件周期 D. 软件产生

4、软件详细设计的主要任务是确定每个模块的( A )

A、算法和使用的数据结构 B、外部接口 C、功能 D、编程

5、软件结构图的形态特征能反映程序重用率的是( C )

A、深度 B、宽度 C、扇入 D、扇出

6、为了提高模块的独立性,模块内部最好是( C )

A、逻辑内聚 B、时间内聚 C、功能内聚 D、通信内聚 7.程序的三种基本控制结构是 C 。 A 过程、子程序、和分程序 B 顺序、选择和循环 C 递归、堆栈和队列 D 调用、返回和转移

8.可行性研究要进行一次 C 需求分析。

A.详细的 B.全面的 C.简化的,压缩的 D.彻底的 9.( C )产生软件危机的原因主要与两个方面的问题有关:

A) 软件在计算机中很难识别,存在磁盘中也看不到。

B) 软件设计对人的智商要求很高,也要求很高的资金投入。

C) 软件产品本身的特点与其它工业产品不一样,而且在软件的开发

和维护过程中用的方法不正确。 D) 软件很难理解,硬件也很复杂。 10.( B )软件开发瀑布模型中的软件定义时期各个阶段依次是:

A) 可行性研究,问题定义,需求分析。 B) 问题定义,可行性研究,需求分析。 C) 可行性研究,需求分析,问题定义。 D) 以上顺序都不对。 11.( A ) 可行性研究主要从以下几个方面进行研究:

A) 技术可行性,经济可行性,操作可行性。 B) 技术可行性,经济可行性,系统可行性。 C) 经济可行性,系统可行性,操作可行性。 D) 经济可行性,系统可行性,时间可行性。

12. ( C ) 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强

到弱排列如下:

第 1 页 共 4 页

A) B) C) D)

内容耦合,控制耦合,数据耦合,公共环境耦合。 内容耦合,控制耦合,公共环境耦合,数据耦合。 内容耦合,公共环境耦合,控制耦合,数据耦合。 控制耦合,内容耦合,数据耦合,公共环境耦合。

13.( A ) 在详细设计阶段所使用到的设计工具是:

A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.

B) 数据流程图,Yourdon 图,程序流程图,PAD图,N-S图,HIPO

图。

C) 判定表,判定树,数据流程图,系统流程图,程序流程图,PAD

图,N-S图。

D) 判定表,判定树,数据流程图,系统流程图,程序流程图,层次

图。

14.( B ) 按照软件工程的原则,模块的作用域和模块的控制域之间的关

系是:

A) 模块的作用域应在模块的控制域之内。 B) 模块的控制域应在模块的作用域之内。 C) 模块的控制域与模块的作用域互相独立。 D) 以上说法都不对。

15.( A ) 包含所有可能情况的测试称为穷尽测试。下面结论成立的是:

A) 只要对每种可能的情况都进行测试,就可以得出程序是否符合要

求的结论。

B) 一般来说对于黑盒测试,穷尽测试是不可能作到的。 C) 一般来说对于白盒测试,穷尽测试是可能作到的。

D) 在白盒测试和黑盒测试这两个方法中,存在某一个是可以进行穷

尽测试的。 二、填空题(每空2分,共12分)

1. 模块的独立程度可以由两个定性标准度量,这两个标准分别称为(内聚)和(耦合)。

2.总体设计的第二项任务是设计软件的结构,即确定( 功能和模块结构 )。

3.如果模块内所有元素都使用同一个输入数据和产生同一个输出,称为( )内聚。

4.数据流程图按照信息流的类型主要分为( )、( )两种。

三、名词解释(每题6分,共24分)

1、软件工程:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,(5分)以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。(2分)

第 2 页 共 4 页

2、模块:模块是由边界元素限定的相邻的程序元素(例如,数据说明,可执行的语句)的序列,而且有一个总体标识符来代表它。(3分)像Pascal或Ada这样的块结构语言中的Begin…end对,或者C,C++和Java语言中的{…}对,都是边界元素的例子。因此,过程、函数、子程序和宏等,都可作为模块。面向对象范型中的对象是模块,对象内的方法也是模块。模块是构成程序的基本构件。(3分

3.软件生命周期:一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期.通常把软件经历的这个漫长的时期称为生命周期。(3分)软件开发最初的工作应是问题定义,也就是确定要求解决的问题是什么;然后要进行可行性研究,决定该问题是否存在一个可行的解决办法;接下来应该进行需求分析,也就是深入具体地了解用户的要求。经过上述软件定义时期的准备工作才能进入开发时期,而在开发时期首先需要对软件进行设计(通常又分为概要设计和详细设计两个阶段),然后才能进入编写程序的阶段.必须经过大量的测试工作(3分)

4.数据流图:数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。(3分)数据流图有四种基本图形符号:箭头表示数据流;圆或椭圆表述加工;双杠表示数据存储;方框表示数据的源点或终点(3分)

四、简答(每题10分,共20分)

1、怎样衡量模块的独立性,对内聚及耦合应遵循哪些原则?

模块的独立程度可以由两个定性标准来度量,这两个标准分别称为内聚和耦合。耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。(5分)内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。简单地说,理想内聚的模块只做一件事情。设计时应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且效果和高内聚相差不多;但是,低内聚很坏,不要使用。内聚和耦合是密切相关的,模块内的高内聚往往意味着模块间的松耦合。内聚和耦合都是进行模块化设计的有力工具,但是实践表明内聚更重要,应该把更多注意力集中到提高模块的内聚程度上。(5分)

程序编写完之后还

第 3 页 共 4 页

2.常用的软件过程模型有哪些? 三、设计题(本题14分)

求阶乘的C语言源程序如下: #include Main() {

int jc.i;

jc=1; i=1;

While(i<=10) {

jc=jc*i; i=i+1; }

Printf(“The result is %d”,jc); }

试绘制求阶乘算法的流程图及N-S图。

答:

(1)7分 (2)7分,s=jc

第 4 页 共 4 页

开始 jc=1 I=1 jc=jc*I I=I+1 Yes I<=10? No 输出jc 结束

第 5 页 共 4 页

本文来源:https://www.bwwdw.com/article/muwo.html

Top