问题分析图(PAD)是软件工程中用于描述程序或数据逻辑结构的有效工具,采用二维图形直观展现。本文介绍其绘制步骤与实际应用方法,帮助掌握这一分析技术。
1、 软件工程分析工具
2、 程序流程图示
3、 程序流程图利用图形符号和连接线直观展现程序的逻辑步骤与执行顺序。它不依赖特定编程语言,表达清晰、易于理解,适合初学者掌握。然而,其符号体系缺乏统一标准,使用较为随意,不利于规范化开发。面对复杂结构时,流程图的表现力也相对不足,难以全面准确地描述 intricate 的程序逻辑。
4、 N-S图中文重述
5、 Nassi与Shneiderman提出了一种用于结构化程序设计的图形化描述工具,即N-S图。该图依据五种基本控制结构,通过组合与嵌套,采用自顶向下的方式逐步分解程序逻辑,清晰展现程序流程。
6、 PAD图示
7、 由日本日立公司研发,源于程序流程图,现已被ISO采纳。该工具采用结构化设计理念,以图形方式清晰展现程序的逻辑结构。
8、 PAD图常用符号
9、 包含顺序、分支、循环和判断等基本符号,与程序流程图和NS图相似。
10、 PAD的组成结构与特性解析
11、 程序执行从左上端点开始,依照自上而下、从左至右的顺序依次运行。
12、 层次结构中,最左侧竖线代表程序主线,即第一层控制结构。每增加一层,图形向右延伸一条竖线,层次越多,右扩越多。竖线总数等于程序的总层次数。
13、 PAD具有逻辑清晰、易于阅读与记忆的优点,且能便捷地将图形转换为高级语言源代码。
14、 阿克曼函数应用实例一
15、 以阿克曼函数为例,展示PAD的应用,该函数属于非原始递归类型。
16、 输入两个自然数,输出一个自然数。
17、 示例二:求解最大整数问题
18、 给定 n 个正整数 k(1), k(2), …, k(n),其中 n 大于 1,需从中找出最大值与次大值。该问题可用流程图和 PAD 图表达,对比可见,PAD 图逻辑更清晰,结构更直观,有助于简化问题理解和实现过程,提升算法设计效率。
19、 绘图软件
20、 绘制图表时,可选用横向A4纸手绘,或在电脑上使用VISIO等软件。建议优先采用pad2ps、PADFlowChart等专业工具,便于规范制作与后期处理,提升绘图效率与准确性。
