软件工程 第5章软件详细设计.docx
《软件工程 第5章软件详细设计.docx》由会员分享,可在线阅读,更多相关《软件工程 第5章软件详细设计.docx(11页珍藏版)》请在冰豆网上搜索。
软件工程第5章软件详细设计
第5章例题分析与解答
作者:
不详 来源:
2006年9月1日 发表评论 进入社区
一、填空题
1.结构化程序设计方法的要点是使用___三种基本控制_____结构,自顶向下、逐步求精地构造算法或程序。
2.为了产生结构化的流程图,应由三种基本控制结构顺序组合或__完全嵌套___而成。
3.结构化程序设计方法提倡开发人员的组织形式是___主程序组_____。
4.PAD图是一种由左向右展开的二维树型结构,图中的竖线为程序的____层次线____。
5.在Jackson方法中解决结构冲突的具体办法是引入__中间数据结构或中间文件______。
二、选择题
1.详细设计与概要设计衔接的图形工具是( B)。
A.DFD图 B.SC图 C.PAD图 D.程序流程图
2.结构化程序设计主要强调的是( C )。
A.程序的效率 B.程序的执行速度C.程序的易读性 D.程序的规模
3.详细设计的任务是确定每个模块的( A )。
A.算法 B.功能 C.调用关系 D.输入输出数据
4.Jackson方法实现从( A )导出(C )。
A.数据结构 B.数据流图 C.程序结构 D.软件模块层次结构
5.在软件详细设计过程中不采用的描述工具是( D )。
A.判定表 B.IPO图 C.PAD图 D.DFD图
三、应用题
一个正文文件由若干个记录组成,每个记录是一个字符串。
要求统计每个记录中空格字符的个数及文件中空格字符的总个数。
要求输出数据格式是每复制一行字符串之后,另起一行印出上一行字符串空格字符的个数,最后一行印出空格字符总个数。
答案:
一、填空题
1.三种基本控制结构
2.完整嵌套
3.主程序员组
4.层次线
5.中间数据结构或中间文件
二、选择题
1.B
2.C
3.A
4.AC
5.D
三、应用题
图5-1
图5-2
<>
第5章自测题及参考答案
作者:
不详 来源:
2006年9月1日 发表评论 进入社区
一、名词解释
1.结构化程序设计 2.PAD 3.PDL
4.结构冲突 5.对应关系
二、填空题
1.结构化程序设计方法使用___三种基本控制结构___构造程序。
2.在详细设计阶段,一种历史最悠久、使用最广泛的描述程序逻辑结构的工具是__程序流程图____。
3.结构化程序设计技术指导人们用良好的思想方法开发__易于理解、易于验证____的程序。
4.详细描述处理过程常用的三种工具是图形、语言和__表格____。
5.Jackson图不仅可表示程序结构,还可表示__数据结构____。
6.PDL具有严格的关键字外层语法,用于定义控制结构、数据结构和__模块接口____。
7.详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程_清晰易懂_____。
8.用JSP方法导出程序结构后,还要列出__操作与条件____,并把它们分配到程序结构图的适当位置上去。
9.在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构____进行设计。
10.在详细设计阶段,为了提高数据的输入、储存、检索等操作的效率并节约存储空间,对某些数据项的值要进行__代码____设计。
三、选择题
1.在详细设计阶段,一种二维树型结构并可自动生成程序代码的描述工具是( A)。
A.PAD B.PDL C.IPO D.判定树
2.结构化程序设计的一种基本方法是( D)。
A.筛选法 B.递归法 C.迭代法 D.逐步求精法
3.JSP方法是一种面向( C )的设计方法。
A.对象 B.数据流 C.数据结构 D.控制结构
4.JSP方法主要用于规模适中的( A )系统的开发。
A.数据处理 B.实时处理 C.文字处理 D.科学计算
5.PDL是软件开发过程中用于( C )阶段的描述工具。
A.需求分析 B.概要设计 C.详细设计 D.编程
6.在详细设计阶段,可自动生成程序代码并可作为注释出现在源程序中的描述工具是( B )。
A.PAD B.PDL C.IPO D.流程图
7.Jackson图上下层之间的关系是( B )。
A.调用关系 B.组成关系 C.继承关系 D.嵌套关系
8.JSP方法根据输入输出的数据结构按一定的规则映射成软件的( C )。
A.体系结构 B.数据结构 C.程序结构 D.顺序结构
9.程序的三种基本控制结构是( B)。
A.过程、子程序和分程序 B.顺序、选择和重复
C.递归、堆栈和队列 D.调用、返回和转移
10.程序的三种基本控制结构的共同特点是( D )。
A.不能嵌套使用 B.只能用来写简单程序
C.已经用硬件实现 D.只有一个入口和一个出口
四、简答题
1.详细设计的基本任务是什么?
2.结构化程序设计方法的基本要点是什么?
3.详细设计主要使用哪些描述工具?
各有什么特点?
4.JSP方法有哪些设计步骤?
该方法有哪些特点?
五、应用题
画出下面用PDL写出的程序的PAD图。
WHILEPDO
IFA>OTHENA1ELSEA2ENDIF;
IFB>0THENB1;
IFC>0THENC1ELSEC2ENDIF
ELSEB2
ENDIF;
B3
ENDWHILE;
参考答案
二、填空题
1.三种基本控制结构 2.程序流程图
3.易于理解、易于验证 4.表格
5.数据结构 6.模块接口
7.清晰易读 8.操作与条件
9.数据结构 10.代码
三、选择题
1.A 2.D 3.C 4.A 5.C
6.B 7.B 8.C 9.B 10.D
五、应用题
PAD图如下图所示。
第五章仿真试题
作者:
不详 来源:
2006年9月1日 发表评论 进入社区
1、20世纪60年代后期,由Dijkstra提出的,用来增加程序设计的效率和质量的方法是( D)
A、模块化程序设计 B、并行化程序设计
C、标准化程序设计 D、结构化程序设计
2、PAD图的控制执行流程为(C )
A、自下而下、从左到右 B、自上而下、循环执行
C、自上而下、从左到右 D、都不对
3、一个程序如果把它作为一个整体,它也是只有一个入口、一个出口的单个顺序结构,这是一种(B )
A、结构程序 B、组合的过程
C、自顶向下设计 D、分解过程
4、软件详细设计主要采用的方法是( C)
A、结构程序设计 B、模型设计 C、结构化设计 D、流程图设计
5、指出PDL是下列哪种语言?
A、高级程序设计语言B、伪码式 C、中级程序设计语言D、低级程序设计语言
6、在下述情况下,从供选择的答案中,选出合适的(D)描述工具。
当算法中需要用一个模块去计算多种条件的复杂组合,并根据这些条件完成适当的功能。
A、程序流程图形 B、NS图 C、PDA图或PDL D、判定表
7、面向数据流的设计方法把(C)映射成软件结构。
A、数据流 B、模块化 C、控制结构 D、信息流
8、Jackson方法根据(A)来导出程序结构。
A、数据结构
B、数据间的控制结构
C、数据流图
D、IPO图
9、Jackson方法主要适用于规模适中的(A)系统的开发。
A、数据处理
B、文字处理
C、实时控制
D、科学计算
10、详细设计常用的三种工具是(B)
A、文档、表格、流程
B、图形、表格、语言
C、数据库、语言、图形
D、文档、图形、表格
答案:
1.D 2.C 3.B 4.C 5.B 6.D 7.C 8.A 9.A 10.B
第5章
1、详细设计的基本任务是什么,有哪几种描述方法?
答:
详细设计的基本任务包括:
1、为每个模块进行详细的算法设计
2、为模块内的数据结构进行设计
3、对数据库进行物理设计
4、其他设计
5、编写详细设计说明书
6、评审
详细设计的描述方法有图形、表格和语言,其中图形常用结构化程序流程图、盒图和PAD(问题分析图)为描述工具,语言常用过程设计语言(PDL)来作为工具。
2、结构化程序设计的基本要点是什么?
答:
主要有三个:
1、采用自顶向下、逐步求精的程序设计方法
2、使用三种基本控制结构构造程序。
任何程序都可以由顺序、选择、重复(循环)三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口。
3、主程序员组的组织形式。
3、简述Jackson方法的设计步骤。
答:
Jackson方法的设计步骤如下:
(1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图表示这些数据结构。
(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。
(3)按一定的规则由输入、输出的数据结构导出程序结构。
(4)列出基本操作与条件,并把它们分配到程序结构图的适当位置。
(5)用伪码写出程序。
4、请使用流程图、PAD图和PDL语言描述下列程序的算法。
(1)在数据A
(1)~A(10)中求最大数和次大数。
解:
如图所示:
PDL语言描述:
GET(a[1],a[2],...a[10])
max=a[1];
max2=a[2];
FORi=2TO10
IFa[i]>max
max2=max;
max=a[i];
ELSE
IFa[i]>max2
max2=a[i];
ENDIF
ENDIF
ENDFOR
PUT(max,max2)
END
(2)输入三个正整数作为边长,判断该三条边构成的三角形是等边、等腰还是一般三角形。
解:
如图:
PDL语言描述如下:
GET(a,b,c)
IF(a+b>candb+c>aandc+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
5、用PAD图描述下面问题的控制结构。
有一个表A
(1)、A
(2)、...A(n),按递增顺序排列。
给定一个Key值,在表中用折半法查找。
若找到,将表位置i送入x,否则将零送到x,同时将key值插入表中。
算法:
(1)置初值H=1(表头),T=N(表尾)。
(2)置i=[(H+T)/2](取整)。
(3)若Key=A(i),则找到,i送到x;若Key>A(i),则Key在表的后半部分,i+1送入H;若KeyT为止。
(4)查不到时,将A(i),...A(N)移到A(i+1)...A(N+1),Key值送入A(i)中。
解:
如图所示:
6、一个正文文件由若干记录组成,每个记录是一个字符串,要求统计每个记录中空格字符的个数及文件中空格字符的总个数。
要求输出数据格式是每复制一行字符串后,另起一行打印出这个字符串中的空格数,最后打印出文件空格的总个数,用Jackson方法设计该程序结构。