当前位置:文档之家› 软件工程期末复习

软件工程期末复习

1
一、填空题
1. 软件工程学的内容可包括(理论)、结构、(方法)、(工具)、环境、管理、规范等。

2. 软件生存周期一般可分为问题定义、( 可行性研究 )、(需求分析)、设计、(编码)、测试、运行与维护阶段。

3. 系统流程图是( 描述物理系统 )的传统工具。

4. 需求分析的基本任务是准确的回答( 系统必须做什么 )。

5. 数据字典的内容包括六项:( 数据流 )、( 数据项 )、( 数据结构 )、数据存储、处
理逻辑、外部实体。

6. 在需求分析阶段常用的图形工具有( 层次方框图 )、( Warnier 图 )、(IPO 图 )。

7. 模块独立的概念是( 模块化 )、( 抽象 )、( 信息隐蔽 )和局部化概念的直接结果。

8. HIPO 图是由一组( IPO )图和一张( HC )图组成。

9. UML 的定义包括( UML 语义 )和( UML 表示法 )两个部分。

10. 软件测试的方法有( 分析方法 )和( 非分析方法 )。

11. 软件=( 程序 )+( 文档 )。

二、单项选择题
1. 下列关于瀑布模型的描述正确的是( C )。

A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。

B. 瀑布模型具有良好的灵活性。

C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。

D. 利用瀑布模型,如果发现问题修改的代价很低。

2. 下列哪个图不是N -S 图的构件(
A .
B.
C. D.
3. 对于下图,有关描述中错误的是( B )。

2
A .A 表示数据输入的源点
B .B 表示数据存储文件
C .C 表示加工
D .D 表示数据存储文件
4. 下列各方法中( D )不是软件测试方法。

A. 白盒法
B. 黑盒法
C. 动态测试
D. 盒法
5. UML 的基本建筑块不包括( A )。

A . 框架
B . 事物
C . 关系
D . 图
三、多项选择题
1. 关于数据字典正确的描述是( ABCD )。

A . 数据字典最重要的用途是作为分析阶段的工具。

B . 实现数据字典三种常见的方法有全人工过程、全自动过程、混合过程。

C . 数据字典应该容易更新和修改。

D . 可以采用卡片形式书写数据字典。

A
B C
D
2.(ABCD )可以作为模块。

A.过程
B.子程序
C.函数
D.宏
3.耦合的强弱取决于(ABC )。

A.模块间接口的复杂程度。

B.调用模块的方式。

C.通过接口的信息。

D.模块内部各个元素彼此之间的紧密结合程度。

4.编码风格包括(ABCD )。

A.源程序文档化
B.数据说明方法
C.语句结构
D.输入/输出方法
5.软件测试主要包括(ABC )方面的差错和纠错。

A.软件计划
B.软件设计
C.软件编码
D.软件价格
四、判断题
1.在可行性研究中最难决断和最关键的问题是经济可行性。

(╳)
2.耦合是指一个模块内各个元素彼此结合的紧密程度。

(╳)
3.一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物。

(√)4.概要设计阶段完成的主要文档是概要设计说明书。

(√)
5.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。

(╳)
6.程序设计语言中应绝对禁止使用GOTO语句。

(╳)
7.类是关于对象性质的描述,由方法和数据组成。

(√)
8.随着软件技术的发展,人们逐渐认识到阅读程序的重要性,编码不仅要强调效率还要强调清晰。

(√)
9.为保证程序的安全,必须做到程序中没有任何错误存在,即容错。

(╳)
10.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。

(√)
3
五、问答题
1.什么是软件危机,软件危机有哪几种表现?
2.什么是模块、模块化、模块独立性?
3.什么是编码风格?为什么要强调编码风格?
4. 什么是黑盒测试法?什么是白盒测试法?
六、分析题
1.已知被测试模块流程图如下,按照“判定覆盖”法,在表格中填入满足测试要求的数
据。

4
填写下表
2.比较下列两段语句,从编码风格的角度分析哪一段好些,并说明好在哪些方面。

程序段一:
if a>b
then
if x>y
then
b=y
else
a=x
end if
else
a=b
end if
程序段二:
/ position_x is the position x of object; position_y is the position y of object; /
if a>b then
a=b
else
if position_x>position_y then
b=position_y
else
a=position_x
end if
end if
5
参考答案
一、填空题
1.理论、方法、工具
2.可行性研究、需求分析、编码
3.描述物理系统
4.系统必须做什么
5.数据流、数据项、数据结构
6.层次方框图、Warnier图、IPO图
7.模块化、抽象、信息隐蔽
8.IPO、HC
9.UML语义、UML表示法
10.分析方法、非分析方法
11.程序、文档
二、单项选择题
1. C
2. B
3. B
4. D
5. A
三、多项选择题
1.A、B、C、D
2.A、B、C、D
3.A、B、C
4.A、B、C、D
5.A、B、C
四、判断题
1.╳
2.╳
3.√
4.√
5.╳
6
6.╳
7.√
8.√
9.╳
10.√
五、问答题
1.
答:软件危机指的是软件开发和维护过程中遇到的一系列严重问题。

概括地说,软件危机包含下述两方面的问题:如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件。

具体地说,软件危机主要有下列表现:产品不符合用户的实际需要。

软件开发生产率提高的速度远远不能满足客观需要,软件的生产率远远低于硬件生产率和计算机应用的增长,使人们不能充分利用现代计算机硬件提供的巨大潜力。

软件产品的质量差。

对软件开发成本和进度的估计常常不准确。

软件的可维护性差。

软件文档资料通常既不完整也不合格。

软件的价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。

2.
答:模块是数据说明、可执行语句等程序对象的集合,模块可以单独被命名的而且可通过名字来访问,例如,过程、函数、子程序、宏等等都可作为模块。

模块化就是把程序划分成若干个模块,每个模块具有一个子功能,把这些模块集总起来组成一个整体,可以完成指定的功能,实现问题的要求。

模块独立性是软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的。

模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。

3.
答:编码风格又称程序设计风格或编程风格。

编码风格实际上指编程的基本原则。

程序实际上也是一种供人阅读的文章。

编写程序时讲求程序的风格,将大量地减少人们读程序的时间。

良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量。

4.
答:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。

黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息的完整性。

7
黑盒测试又称为功能测试。

白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。

这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作,白盒测试又称为结构测试。

六、分析题
1、答
注意:本题答案不唯一,学生给出的数字正确就应该算对。

2、
答:第二段程序优于第一段。

注释起到提示的作用,利于程序阅读者对程序段全貌的理解
缩进格式清晰的显示程序中逻辑判断的结构。

变量命名方式表明变量的含义。

8。

相关主题