软件工程——详细设计习题

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

一、填空

1.在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构____进行

设计。

2..结构化设计中以数据流图为基础的两种具体设计方法是( 变换分析和事物分析)设计

3.两个模块都使用同一张表,模块的这种耦合称为( 公共耦合)。 \

4.一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为( 通信内聚)。

6. 反映软件结构的基本形态特征是__深度、宽度、扇入、扇出____。

7.一个模块把数值作为参数送给另一个模块,这种耦合方式称为__数据耦合____。

8. 两个模块通过全程变量相互作用,这种耦合方式称为___公共耦合__

9. 将与同一张年报表有关的所有程序段组成一个模块,该模块的内聚性为__通信耦合____。

10. 一个模块的作用范围指___受该模块内一个判定影响的所有模块___的集合。

11. 一个模块的控制范围指____模块本身以及其所有下属模块__的集合。

12. 结构化设计以__数据流图____为基础映射成软件结构。

13.为了防止软件概要设计的错误传播到开发的后续阶段,在概要设计文档完成以后,要进行__软件评审____。

二、选择题

1.软件详细设计阶段的任务是( A )。

A.算法设计和数据结构

B.功能设计

C.调用关系设计D.输入/输出设计

2.软件详细设计阶段采用自左向右的二维图形结构描述算法的是( C ).

A.IPO B.JSP

C.PAD D.JSD

3.结构化程序设计采用的思想是( B )。

A.筛选法B.逐步求精法

C.迭代法D.递归法

4.软件详细设计阶段属于软件生存周期的( B )阶段。

A.需求分析B.软件设计

C.编码D.软件维护

5. 指出PDL是下列哪种语言?( B )。

A、高级程序设计语言

B、伪码式

C、中级程序设计语言

D、低级程序设计语言

6.属于软件设计的基本原理是( D)。

A.数据流分析设计

B.变换流分析设计

C.事务流分析设计

D.模块化

7.为了使程序能在不同的计算机上运行,程序应当具有较好的(C )

A.可移植性B.可重用性

C.可维护性D.可适用性

8.Jackson方法是软件设计中用到的一种常用的设计方法,使用Jackson方法可以实现(D)。

A.从模块结构中导出数据结构

B. 从模块结构中导出程序结构

C.从数据流图中导出初始的结构图

D.从结构图导出程序结构

9.下列哪一个不是详细设计时使用的工具。(A )

A.系统流程图

B.盒图

C.PAD图

D.判定树

10.一般来说,详细设计的方法包括结构化设计方法、( C )和Jackson方法。A.PAD 图B.判定树C.面向对象设计法D.程序流程图

11.Jackson方法是以(B )为基本依据的程序算法设计方法。

A.对象B.数据结构 C.数据流 D.控制流

三、设计题

1.画出下面用PDL写出的程序的PAD图。

WHILE P DO

IF A>0 THEN A1 ELSE A2 ENDIF;

IF B>0 THEN B1;

IF C>0 THEN C1 ELSE C2 ENDIF

ELSE B2

ENDIF;

B3

ENDWHILE;

2.画出下面用PDL写出的程序的PAD图与N-S图。

PDL语言描述如下:

GET(a,b,c)

IF (a+b>c and b+c>a and c+a>b)

IF (a=b)

IF (a=c)

PUT("等边三角形")

ELSE

PUT("等腰三角形")

ENDIF

ELSE

IF(a=c)

PUT("等腰三角形")

ELSE

IF (b=c)

PUT("等腰三角形")

ELSE

PUT("一般三角形")

ENDIF

ENDIF

ENDIF

ELSE

PUT ("这不是一个三角形")

ENDIF

3.根据下面的伪代码程序,完成相应要求。

START

IF C1

THEN

WHILE C2 DO

f

ENDDO

ELSE

BLOCK

g

p

ENDBLOCK

ENDIF

REPEAT UNTIL C3

q

r

ENDREP

STOP

1)画出程序流程图

2)用N—S图描述

4. 请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。

解:PDL语言:

N=1

WHILE N<=10 DO

IF A(N)<=A(N+1) MAX =A(N+1); ELSE MAX =A(N) ENDIF;

N=N+1;

ENDWHILE;

PAD图:

相关文档
最新文档