软件工程概论-- 详细设计,过程设计的工具:程序流程图,判定表,N-S图和判定树之间的区别, PAD图的优点?

在详细设计阶段进行过程设计时,要描述程序处理过程,可以采用图形,表格,语言类工具,无论采用哪类工具,都需要我们对设计进行清晰的描述,应标明控制流程,系统功能,数据结构等方面的谢姐,以便在系统是现阶段能根据详细设计的描述进行编程。

本节介绍过程设计使用的工具:流程图,盒图,问题分析图,判定表,判定树,PDL。

我们都知道程序流程图,判定表,判定树和盒图都是软件开发过程设计的工具,那么他们之间有什么区别?下面我们一起看一道选择题。

一、选择题

1 在软件开发过程中,以下说法正确的是( )。

A.程序流程图是逐步求精的好工具

BN-S图不可能任意转移控制,符合结构化原则

C.判定表是一种通用的设计工具

D.程序流程图和N-S图都不易表达模块的层次结构

【答案】B

【解析】程序流程图本质上不是逐步求精的好工具,它会使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构;

判定表不是 一种通用的设计工具,没有一种简单的方法使用它能同时清晰地表示顺序和循环等结构;

程序流程图不易表示模块的层次结构, N-S图则可以表示模块的层次结构。
1.什么是判定表?

当算法中包含多重嵌套的条件选择时,使用判定表能够清楚地表达。

判定表 组成
左上部分 所有条件
左下部分 所有可能做的动作
右上部分 各种条件组合,每一列表示一种可能组合
右下部分 每一列对应每一种条件组合的动作

当算法中包含多重嵌套的条件选择时,用程序流程图、盒图、PAD图等不易清楚描述,判定表可以清晰地表示复杂的条件组合与应作的动作之间的对应关系。


判定表由四部分组成:
左上部列出所有条件
左下部是所有可能做的动作
右上部表示各种条件组合
右下部是和每种条件组合相对应的动作

缺点:(1)不能同时清晰地表示顺序和重复等处理特性
(2)初次接触这种工具的人需简短的学习过程
(3)数据元素的值多于两个时,判定表的简洁程度也将下降。

    对于这个不理解没有关系,直接看题目就能够掌握了。eg:假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定表进行表达。

    我们先将所有情况进行列出,就是面对行李是否<30kg,是否为国内乘客,是否为头等舱,是否是残疾乘客我们托运行李的价格不一样

    T代表满足情况,F代表不满足,X代表我们应该付的价格(我个人建议你根据这个模板自己写其实更简单,顺序不同没有关系,其实就是排列组合所有情况

软件工程概论-- 详细设计,过程设计的工具:程序流程图,判定表,N-S图和判定树之间的区别, PAD图的优点?_第1张图片

2.程序流程图是什么?下面这个图就是程序流程图,程序流程图与普通流程图的基本图形相似,通常由起止框、处理框、流程线、判断框、输出输入框构成。
起止框:表示程序流程的开始与结束,通常只有一个开始框和一个结束框。
处理框:表示程序流程中需要执行或处理的内容。
流程线:表示程序执行的方向与顺序。
判断框:表示对程序流程中的某一条件进行判断,用来决定执行某一操作。
输出输入框:表示程序流程中资料的输入或结果的输出,一般用做数据处理。

软件工程概论-- 详细设计,过程设计的工具:程序流程图,判定表,N-S图和判定树之间的区别, PAD图的优点?_第2张图片

软件工程概论-- 详细设计,过程设计的工具:程序流程图,判定表,N-S图和判定树之间的区别, PAD图的优点?_第3张图片程序流程图是流程图的其中一种分类,又称程序框图,指用特定图形符号加上对应的文字描述表示程序中所需要的各项操作或判断的图示,程序流程图除了说明程序的流程顺序外,着重于说明程序的逻辑性。

程序流程图(程序框图)
程序流程图:是一种描述程序的控制结构流程和指令执行情况的有向图。
历史悠久、使用广泛、直观描绘控制流程、便于初学者掌握。

程序流程图的缺点:
1)程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。
2)程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。
3)程序流程图不易表示数据结构。

盒图(N-S图):盒图没有箭头,不允许随意转移,只允许程序员用结构化设计方法来思考问题。
N-S图特点:
(1)功能域明确,可从盒图一眼看出。
(2)不可能任意转移控制。
(3)很容易确定局部和全程数据的作用域。
(4)很容易表现嵌套关系,也可以表示模块的层次结构。

软件工程概论-- 详细设计,过程设计的工具:程序流程图,判定表,N-S图和判定树之间的区别, PAD图的优点?_第4张图片

 PAD图
PAD(Problem Analysis Diagram)是问题分析图。
日立公司发明和推广(1973)。
PAD图表示方法:
用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。

软件工程概论-- 详细设计,过程设计的工具:程序流程图,判定表,N-S图和判定树之间的区别, PAD图的优点?_第5张图片

软件工程概论-- 详细设计,过程设计的工具:程序流程图,判定表,N-S图和判定树之间的区别, PAD图的优点?_第6张图片
 

 PAD图的优点:
1)使用表示结构化控制结构的PAD符号所设计出来的程序必然是结构化程序;
2)PAD图所描绘的程序结构十分清晰。
图中最左面的竖线是程序的主线,即第一层结构。随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。PAD图中竖线的总条数就是程序的层次数;
3)用PAD图表现程序,通俗易懂,程序从图中最左竖线上端的结点开始执行,自上而下,从左向右顺序执行,遍历所有结点;
4)容易将PAD图转换成高级语言源程序,这种转换可以用软件工具自动完成;
5)可用于表示程序逻辑,也可用于描绘数据结构;
6)PAD图的符号支持自顶向下、逐步求精的方法。

判定树
判定树是判定表的变种。

软件工程概论-- 详细设计,过程设计的工具:程序流程图,判定表,N-S图和判定树之间的区别, PAD图的优点?_第7张图片

优点:形式简单,无需任何说明,可直接看出其含义,易于掌握和使用。

你可能感兴趣的:(软件工程,软件工程)