当前位置:文档之家› 软件工程期末测试题答案版

软件工程期末测试题答案版

一、填空题
1、形式化说明技术是指描述系统性质的基于数学的技术。

2、可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。

3、软件过程的输出信息可以分成3类:_计算机程序(源代码和可执行程序),描述计算机程序的文档(供技术人员或用户使用)和_数据(程序内包含或程序外的)。

4、模块独立性可以用两个标准来衡量,分别是____内聚性___ ______和___耦合性_ __________。

5、重载有哪两种形式:_函数重载和__运算符重载。

6、通常有哪几种形式的维护:完善性维护改正性维护预防性维护适应性维护___。

7、软件重用是指同一软件不做修改或稍加改动就多次重复使用。

8、软件可靠性的定义是_软件在规定的时间间隔内,按照软件规格说明书的规定成功运行的概率。

9、软件测试的目的是_在软件投入生产性运行前,尽可能多的发现软件中的错误__。

10、常用的制定进度计划的工具是:Gantt图和工程网络_。

11、喷泉模型的特点是提高软件项目开发效率,节省开发时间,是典型的面向对象的软件过程之一。

12、程序的质量和程序中包含的go to语句的数量成_反比。

二、选择题
1、下面哪个阶段不属于软件开发时期(D)
a.详细设计
b.总体设计
c.编码
d.需求分析
2、下面哪种测试不属于黑盒测试(B)
a.等价划分
b.控制结构测试
c.错误推测
d. 边界值分

3、下面哪些描述是错误的(C)
a.模块规模应该适中
b.设计单出口单
入口的模块
c.模块的控制域应该在作用域之内
d.模块功能应
该可以预测
4、软件测试中一个完整的软件配置是( )
a.需求说明书、设计说明书和源代码
b.需求说明书、设计
说明书和测试用例
c.源代码和运行程序
d.调试工具、源代码和运行程序
5、那些人员不属于维护组织的成员( B )
a.维护管理员
b.系统分析员
c.变化授权人
d.系统管
理员
三、简答题
1、计算下列工程网络图的最早时刻,最迟时刻和机动时间
2、请简要说明事务分析和变换分析的区别,并用图表示事
物流和变换流。

解:区别:变换分析设计是一个顺序结构,由输入、变换和输出三部分组成,事务分析设计是将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行。

变换分析设计适用于具有明显变换特征的数据流图,事务分析设计适用于具有明显事务特征的数据流图。

3、面向对象建模主要建立哪几种模型,其中哪种模型是最
基本,最核心的?
面向对象的模型包括:对象模型、动态模型和功能模型。

对象模型描述了系统的静态结构;动态模型描述了系统的互交次序;功能模型描述了系统的数据变换。

不同的问题,三个子模型的侧重程度不同,但是,对象模型是最基础的、最核心的、最重要的。

无论解决什么问题,首先要在问题域中提取和定义出对象模型。

当问题涉及用户界与过程控制时,动态模型是重点。

如果问题涉及大量数据变换,则功能模型非常重要。

对象模型中的操作(服务)可以出现在动态模型和功能模型内。

4、单元测试着重从哪几个方面对模块进行测试?
1.模块接口测试
2.边界条件测试
3.错误处理测试
4.局部数据结构测试
5.重要路径测试
5、什么是模块独立?为什么模块独立性很重要?
模块独立是指开发具有独立功能且和其他模块没有过多的相互作用的模块。

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

模块的独立程度可以由两个定性标准度量:(1)耦合,指不同模块彼此间互相依赖(连接)的紧密程度;(2)内聚:
指在一个模块内部各个元素彼此结合的紧密程度。

模块独立性比较强的模块应该是具有高内聚性和的低耦合度。

四、综合题
1、为方便储户,某银行拟开发计算机储蓄系统。

储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;如果是取款,系统计算利息并打印出利息清单给储户。

请分析此系统的可行性,画出系统的数据流图,并用面向数据流的设计方法映射出系统的软件结构。

2、下图是一个被测模块的流程图请设计出下面几种测试方案:
语句覆盖;每个语句至少被执行一次
[(2,0,4),(2,0,3)]
判定覆盖;不仅每个语句必须至少执行一次,而且每个判定的每种可能的结果都应该至少执行一次
sacbd[(3,0,3),(3,0,1)]
sabed[(2,1,1),(2,1,2)]
条件覆盖;不仅每个语句至少执行一次而且使判定表达式中的每个条件都取到各种可能的结果
sacbed[(2,0,1),(2,0,3/2)]
sabed[(1,1,2),(1,1,3)]
判定/条件覆盖。

[(2,0,4),(2,0,3)]
[(1,1,1),(1,1,1)]
3、请画出下列伪码的程序流程图,然后用三种方法计算程序流程图的环形复杂度.你觉得这个程序逻辑上有什么问题吗? Loop: Do WHILE Z>0
A=B+1
IF A>10
THEN X=A
ELSE Y=Z
END IF
IF Y<5
THEN PRINT X,Y
ELSE IF Y=2
THEN GOTO LOOP
ELSE C=3
END IF
END IF
G=H+R
END DO
IF F>0
THEN PRINT G
ELSE PRINT K
END IF
STOP
6
1、流图中的区域数等于环形复杂度
2、流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。

3、流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。

相关主题