软件详细设计教学总结Word格式.docx
《软件详细设计教学总结Word格式.docx》由会员分享,可在线阅读,更多相关《软件详细设计教学总结Word格式.docx(18页珍藏版)》请在冰点文库上搜索。
全部技术活动)、一个后备程序员(协调、支持主程序员)和一个程序管理员(负责事务性工作,如收集、记录数据,文档资
料管理等)三个为核心,再加上一些专家(如通信专家、数据库专家)、其他技术人员组成小组。
5.3详细设计描述法
详细描述处理过程常用三种工具:
图形、表格和语言。
本节主要介绍结构化程序流程图、盒图和问题分析图三种图形工具。
5.3.1程序流程图
程序流程图又称为程序框图,它是使用最广泛的一种描述程序逻辑结构的工具。
为了克服流程图的缺陷,要求流程图都应由三种基本控制结构顺序组合和完整嵌套而成,不能有相互交叉的情况,这样的流程图是结构化的流程图。
532PAD图
PAD图指问题分析图(ProblemAnalysisDiagram)
是日本日立公司于1979年提出的一种算法描述工具,它是一种由左往右展开的二维树型结构。
闱5-2PAD的基木拴制结构
PAD图的控制流程为自上而下、从左到右的执行。
由机器自动通过走树的办法生成相应的源代码,大大提高了软件的生产率。
5.3.3过程设计语言
过程设计语言(ProblemDesignLanguage,简称PDL),也称程序描述语言(ProblemDescripitionLanguage),又称为伪码。
它是一种用于描述算法设计和处理细节的语言。
用PDL表示的程序结构一般有以下几种:
(1)顺序结构:
采用自然语言描述。
(2)选择结构:
IF
条件IF条件处理S1或处理S
ELSE
处理S2ENDIF
ENDIF
②IF-ORIF-ELSE结构
条件1
处理S2
ORIF
条件2处理S2
处理Sn
③CASE结构CASEOF
CASE
(1)
处理S1
CASE
(2)
ENDCASE
(3)重复结构:
1FOR吉构
FORi=1TOn
循环体
ENDFOR
2WHILE结构
WHILE条件
ENDWHILE
3UNTIL结构
REPEAT
UNTIL条件
(4)出口结构:
①ESCAPE吉构(退出本层结构)
ESCAPELIF条件处理S2
L:
……
②CYCLE吉构(循环内部进入循环的下一次)
WHILE条件
CYCLELIF条件
(5)模块定义与调用:
①模块定义
PROCEDURE模块名(参数)
RETURN
END
②模块调用
CALL模块名(参数)
(6)数据定义:
属性有:
字符、整型、实型、双精度、指针、数
组、结构等类型。
(7)输入/输出:
GET(输入变量表)
PUT(输出变量表)
PDL
现以xx系统主控模块详细设计为例,说明如何用来描述。
PROCEDURE模块名()清屏;
显示xx系统用户界面;
PUT(“请输入用户口令:
”);
GET(password);
IFpassword<
>
系统口令
提示警告信息;
退出运行
ENDIF显示本系统主菜单;
WHILE(true)接收用户选择ABC;
IFABC=“退出”
Break;
调用相应下层模块完成用户选择功能;
清屏;
从以上例子可以看到PDL的总体结构与一般程序完全相同。
外语法同相应程序语言一致,内语法使用自然语言,易编写,易理解,也很容易转换成源程序。
5.4Jackson方法
5.4.1概述
Jackson方法是面向数据结构的设计方法。
JSP(JacksonStruturedProgramming)方法定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构,而不是软件的体系结构,因此该方法适用于详细设计阶段。
5.4.2Jackson结构图
由于Jackson方法面向数据结构设计,所以提供了自己的工具——Jackson结构图。
Jackson指出,无论数据结构还是程序结构,都限于三种基本结构及它们的组合,因此,他给出了三种基本结构的表示。
(见课本)
1.顺序结构
2.选择结构
3.重复结构
JACKSON结构图的特点:
(1)能对结构进行自顶向下分解,因此可以表示层次结构。
(2)结构易读,形象直观。
(3)既能表示数据结构也能表示程序结构,且表示的是组成关系。
5.4.3JSP设计步骤
JSP方法一般通过以下五个步骤来完成设计:
(1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图来表示这些数据结构。
(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。
“对应关系”指这些数据单元在数据内容上、数量上和顺序上有直接的因果关系,对于重复的数据单元,重复的次序和次数都相同才有对应关系。
(3)按一定的规则由输入、输出的数据结构导出程序结构。
(4)列出基本操作与条件,并把它们分配到程序结构图的适当位置。
(5)用伪码写出程序。
就例子说明JSP方法设计过程。
第5章例题分析与解答
一、填空题
1.结构化程序设计方法的要点是使用结构,自顶向下、逐步求精地构造算法或程序。
答案:
三种基本控制结构
2.为了产生结构化的流程图,应由三种基本控制结构顺序组
合或而成。
答案:
完整嵌套
3.结构化程序设计方法提倡开发人员的组织形式是。
主程序员组
4.PAD图是一种由左向右展开的二维树型结构,图中的竖线
为程序的。
层次线
5.在Jackson方法中解决结构冲突的具体办法是引入
。
中间数据结构或中间文件
二、选择题
1.详细设计与概要设计衔接的图形工具是()。
A.DFD图B.SC图C.PAD图D.程序流程图
B
2.结构化程序设计主要强调的是()。
A.程序的效率B.程序的执行速度C.程序的易读性D.程
序的规模
C
3.详细设计的任务是确定每个模块的()。
A.算法B.功能C.调用关系D.输入输出数据
A
4.Jackson方法实现从()导出()。
A.数据结构B.数据流图C.程序结构D.软件模块
层次结构
A、C
5.在软件详细设计过程中不采用的描述工具是()。
A.判定表B.IPO图C.PAD图D.DFD图答案:
D
第5章自测题及参考答案
一、名词解释
1.结构化程序设计2.PAD3.PDL4.详细设计
二、填空题
1.结构化程序设计方法使用构造程序。
(三种基本控制
结构)
2.在详细设计阶段,一种历史最悠久、使用最广泛的描述程序逻辑结构的工具是。
(程序流程图)
3.结构化程序设计技术指导人们用良好的思想方法开发
的程序。
(易于理解、易于验证)
4.详细描述处理过程常用的三种工具是图形、语言和
(表格)
5.Jackson图不仅可表示程序结构,还可表示。
(数据
6.PDL具有严格的关键字外层语法,用于定义控制结构、数据结构和。
(模块接口)
7.详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程。
(清晰易读)
8.用JSP方法导出程序结构后,还要列出,并把它们
分配到程序结构图的适当位置上去。
(操作与条件)
9.在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的进行设计。
(数据结构)
10.在详细设计阶段,为了提高数据的输入、储存、检索等操作的效率并节约存储空间,对某些数据项的值要进行
设计。
(代码)
三、选择题
1.在详细设计阶段,一种二维树型结构并可自动生成程序代码的描述工具是(A)。
A.PADB.PDLC.IPOD.判定树
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.PADB.PDLC.IPOD.流程图
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.只有一个入口和一个出口
《软件工程》习题参考答案5
1、详细设计的基本任务是什么,有哪几种描述方法?
答:
详细设计的基本任务包括:
(1)为每个模块进行详细的算法设计
(2)为模块内的数据结构进行设计
(3)对数据库进行物理设计
(4)其他设计
(5)编写详细设计说明书
(6)评审
详细设计的描述方法有图形、表格和语言,其中图形常用结构化程序流程图、盒图和PAD(问题分析图)为描述工具,语言常用过程设计语言(PDL)来作为工具。
2、结构化程序设计的基本要点是什么?
答:
主要有三个:
(1)采用自顶向下、逐步求精的程序设计方法
(2)使用三种基本控制结构构造程序。
任何程序都可以由顺序、选择、重复(循环)三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口。
(3)主程序员组的组织形式。
3、简述Jackson方法的设计步骤。
答:
Jackson方法的设计步骤如下:
(1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图表示这些数据结构。
(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。
(4)列出基本操作与条件,并把它们分配到程序结构图的适当位
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];
max2
max2=a[i];
PUT(max,max2)
(2)输入三个正整数作为边长,判断该三条边构成的三角形是等边、等腰还是一般三角形。
如图:
PDL语言描述如下:
GET(a,b,c)
IF(a+b>
candb+c>
aandc+a>
b)
IF(a=b)
IF(a=c)
PUT("
等边三角形"
)
等腰三角形"
IF(a=c)
IF(b=c)
一般三角形"
PUT("
这不是一个三角形"
5、用PAD图描述下面问题的控制结构。
有一个表A
(1)、A
(2)、...A(n),按递增顺序排列。
给定一个Key值,在表中用折半法查找。
若找到,将表位置i送入x,否则将
零送到x,同时将key值插入表中。
算法:
(1)置初值H=1(表头),T=N(表尾)
⑵置i=[(H+T)/2](取整)。
⑶若Key=A(i),则找到,i送到x;
若Key>
A(i),贝UKey在表
的后半部分,i+1送入H;
若KeyvA(i),则Key在表的前半部分,i-1送入T,重复第2步查找直到H>
T为止。
(4)查不到时,将A(i),...A(N)移到A(i+1)...A(N+1),Key值送入A(i)中。
刀题5.5PAD1]
H=1:
T-N
TT=i-1
Key<
A[iJ〈
whileCK电sitd
FH-i+l
T
i=ECH4T)]/2
Key=A[i]<
6、一个正文文件由若干记录组成,每个记录是一个字符串,要求统计每个记录中空格字符的个数及文件中空格字符的总个数。
要求输出数据格式是每复制一行字符串后,另起一行打印出这个
字符串中的空格数,最后打印出文件空格的总个数,用Jackson
方法设计该程序结构。
输入数据蜡构團齡岀数据结构團
习题5-&
E]
7、画出下面用PDL写出的程序的PAD图
WHILEPDO
IFA>
OTHENA1ELSEA2ENDIF;
IFB>
0THENB1;
IFC>
0THENC1ELSEC2ENDIF
ELSEB2
ENDIF;
B3
ENDWHILE;
PAD图如下图所示