PAD(问题分析图)的绘制及使用
问题分析图(Problem Analysis Dram,PAD)是软件工程中的分析利器,它以二维展开的图形描述方式,展现程序的逻辑结构(或者数据结构)。本介绍PAD的绘制及使用方法。
操作方法
- 01
软件工程分析工具 (1)程序流程图 程序流程图通过符号和线条直观地描述程序的逻辑流程及其执行的交互。它独立于任何编程语言,更直观,更清晰,更容易学习。但它也有存在一些局限性,例如:符号缺乏标准化,随意性较强等,不利于工程化实现。对于一些更复杂的结构,流程图表现能力有限。 (2)N-S图 Nassi和Shneiderman在与结构化程序设计的原则提出了一种图描述工具,称为N-S图。N-S图基于五种基本控制结构,进行组合和嵌套,用自顶向下的流程,将程序进行分解。 (3)PAD图 由日本日立公司发明,从程序流程图演变而来的,目前已经被ISO认可。它是一个图表工具,运用结构化设计思想呈现程序逻辑结构。
- 02
PAD图基本符号 和程序流程图及NS图类似,基本符号包括顺序、分支、循环、判断等。
- 03
PAD主要构成和特点 (1)运行原则:从左上方的端点开始执行,按自上而下,从左到右顺序执行。 (2)层次结构:最左边的竖线是程序的主线,即第一层控制结构。增加层次,逐渐向右延伸(每增加一个层次,图形向右扩展一条竖线).竖线的总条数=程序的层次数 (3)PAD的优势:使逻辑清楚,易读、易记,并且容易将PDA图转换成高级程序语言源程序。
- 04
应用用示例一(阿克曼函数) 为了说明PAD的使用,举一个阿克曼函数(Ackermann)的例子,它是非原始递归函数。 输入是两个自然数,输出是一个自然数。
- 05
应用用示例二(求最大整数问题) 有n个正整数k(1),k(2),…,k(n),其中,n>1。在这些正整数中,找出最大数和第二大的数。这个问题用流程图和PAD图可以分别表示如下,可以看到,PAD图思路更清楚,利于简化()
- 06
绘图工具 一般绘图时,可以用一张A4纸横写,在电脑上,也可以用VISIO等工具绘制。其中,推荐pad2ps、PADFlowChart等专用的PAD绘制工具。