软件工程复习题(看完必过)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

复习题

16.给出一组数从小到大的排序算法,分别用下列工具描述其详细过程:

(1)流程图;(2)N-S图;(3) PDL语言。

17.欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理;

(1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理;

(2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;

(3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。

绘制该系统的数据流图和软件结构图。

27.如图显示某程序的逻辑结构。

试为它设计足够的测试用例,分别实现对程序的判定覆概、条件覆概和条件组合覆概。

设计测试方案

Y N

N

22.试由程序流程图导出程序图

38. 根据以下被测试的流程图,选择相应的答案。(8分)

(1) A=2, B=0, X=4 (2)A=2, B=1, X=1 (3)A=2, B=0, X=1

A=1, B=1, X=1 A=3, B=0, X=3 A=1, B=1, X=2

①在1-3的答案中满足判定覆盖的测试用例是___1_____ (2分)

②在1-3的答案中满足条件覆盖的测试用例是___3_____ (2分)

③在1-3的答案中满足判定/条件覆盖的测试用例是______2__ (2分)

39.工资计算系统中的一个子系统有如下功能:

(1 )计算扣除部分—由基本工资计算出应扣除(比如水电费、缺勤)的部分;

(2 )计算奖金部分—根据职工的出勤情况计算出奖励金;

(3 )计算工资总额部分—根据输入的扣除额及奖金计算出总额;

(4 )计算税金部分—由工资总额中计算出应扣除各种税金;

(5 )生成工资表—根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。

试根据要求画出该问题的数据流程图。

40.用自顶向下结构化程序设计方法编写直接选择排序从小到大排列的程序。要求保持良好的程序风格,加上必要的注释()。

用C语言编写:

/*程序名称:直接选择排序;*/

/*作者:陈明锐;*/

/*完成日期:2006年6月9日;*/

/*过程头:selectsort(int *A;int N)*/

/*输入参数:N为元素个数(N<=1000);A整型数组,从1到N存放待排序元素;*/

/*返回结果:数组A为指针,由它返回排序结果;*/

void selectsort(int *A;int N)

{

int i,j,k,x;

for (i=1;i

{

k=i;/*先假设I位置上的值最小*/

for (j+=i;j<=N;j++) /*求I到N位置上的最小值*/ if (A(j)

if (k<>i)/*需要交换A(K)和A(I)的值*/

{ /*交换A(K)和A(I)*/

x=A(i);

A(i)=A(k);

A(k)=x

} /*结束交换*/

} /*求出了第I个最小值*/

} /*SELECTSORT*/

41.把事务型数据流图映射成软件结构图:

42.把变换型数据流图映射成软件结构图:

3、下图为程序段的流程图,请按照语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖准则分别为程序设计测试用例。

1.语句覆盖

测试用例 输入A B X 覆盖语句 输出A B X Test1

3 0 6

0、1、2、3、4、5

3 0 3

2.判定覆盖

测试用例 输入A B X 覆盖判定 输出A B X Test1 3 0 6 TA 、TB 3 0 3 Test2

1 0 0

!TA 、!TB

1 0 0

3条件覆盖

测试用例 输入A B X 覆盖条件 输出A B X Test1 4 0 8 T1、 T2、T3、 T4 4 0 3 Test2

1 1 0

!T1、!T2、!T3、!T4

1 1 0

B

A

C

f1

f2

f3

f4

主模块

Get f2

B

Get f3

Read f1

A

C

Write f4

f1

f1

f2

f2 f3

f3

f4

f4

4判定/条件覆盖

5条件组合覆盖

4、下面列出了一段伪码程序,使用基本路径测试方法,完成流图的绘制,计算环形复杂度,并用语句编号标明各条独立路径以及对应的输入数据和预期输出。1: INPUT(A,B,C,D)

2: IF (( A > 0 )

3: AND ( B > 0 ))

4: THEN X=A+B

5: ELSE X=A-B

6: END

7: IF (( C > A)

8: OR ( D < B ))

9: THEN Y=C-D

10: ELSE Y=C+D

11: END

12: PRINT(X,Y)

流图如下:

相关文档
最新文档