程序流程图、PAD 和盒图

与上边所介绍的概要设计时使用的图形工具不同,程序流程图、PAD 图和盒图是详细设计时所使用的工具。这些工具均能精确描述程序的处理过程,无歧义地表达处理功能和控制流程,乃至数据的作用范围,并能在编码阶段直接将其翻译成为用某种具体的程序设计语言书写的程序代码。

在详细设计阶段,用于设计分析和结果描述的方法有三类,即图形描述方法、语言描述方法和表格描述方法。这里只介绍图形描述方法。

  1. 程序流程图

程序流程图(FlowChart)又叫框图,是一种传统的过程描述方法。其特点是直观、灵活、方便。它所使用的基本符号有:

方框:表示一个处理,处理内容写于框内。 菱形框:表示一个判断,判断条件写于框内。椭圆框:表示开始或结束。

箭头:表示程序流程。

图 3-3-10 为一个流程图的例子。

由于程序流程图有十分灵活的特点,其箭头使用有很强的随意性,使设计人员的思想不受任何约束,因而使用不当会导致产生非结构化程序和十分混乱结果。这是它的一个致命缺点。同时,程序流程图不能表示数据结构; 它诱导设计人员过早地考虑程序实现的细节,而非系统的总体结构。因而, 它不是结构化设计工具,不能体现自顶向下的设计思想。所以长期以来,很多人一直建议停止使用它。

  1. PAD 图

程序流程图、PAD 和盒图 - 图1

PAD 图又称问题分析图(ProblemAnalysisDiagram)。它是 70 年代日本的日立公司发明使用的,是一种具有很强结构化特征的分析工具。目前已被广泛地使用在详细设计中。PAD 图是由其基本符号沿两个方向展开,图 3—3

—11 显示了它所使用的基本符号。

程序流程图、PAD 和盒图 - 图2

PAD 图具有很强的结构化描述特征。它的基本图形符号只能构成三种控制流程,即顺序、选择和循环结构。如图 3—3—12 所示。

程序流程图、PAD 和盒图 - 图3

PAD 图具有以下特点:

①具有强烈的结构化特征,支持自顶向下、逐步求精的设计方法,设计出的结构必然是结构化的;

②逻辑清晰,易懂、易用;

③即要设计程序结构,又可表示数据结构;

④容易将图直接转换为高级语言程序。

  1. 盒图

盒图(BoxDiagram)又称 N—S 图,它是为满足结构化程序设计的需要, 克服传统设计工具的缺点,特别是为取消程序流程图的随意转向功能,于 70 年代由 Nassi 和 Shneider-man 提出使用的,故称 N-S 图。盒图的符号规定和使用如图 3-3-13 所示。

程序流程图、PAD 和盒图 - 图4

盒图具有以下特点:

①过程的作用域明确;

②不能随意转移控制;

③容易区分全局变量和局部变量;

④容易表示嵌套关系和层次关系;

⑤强烈的结构化特征。