如何绘制PAD图和N-S图(详细步骤)

简介: 如何绘制PAD图和N-S图(详细步骤)

在软件详细设计阶段有四个要点:N-S图,PAD图,程序流程图,PDL语言

对于程序流程图的绘制较简单,想详细了解可以看:

程序流程图详解(六大部分) (zhihu.com)

对于PDL语言这里也不是重点,我们只需要知道以下几种结构:

1.顺序型:顺序型由几个连续的处理步骤依次排列构成。

2.选择型:选择型是指由某个逻辑判断式的取值决定选择两个处理中的一个。

3.while型:while型循环是先判定型循环在循环控制条件成立时,重复执行特定的处理。



4.until型:until型循环是后判定型循环,重复执行某些特定的处理,直到控制条件成立为止。



5.多情况选择型:多情况型选择列举多种处理情况,根据控制变量的取值,选择执行其一。


一般的题型中会给出一段PDL语言,根据PDL语言绘制PAD图和N-S图,以以下这段PDL语言为例,来看一看详细绘制步骤:

N-S图:

也叫盒图,由美国学者I.Nassi 和 B.Shneiderman提出,所以又称N-S图,可以清晰的表示程序的结构以及流程,其主要特征为“矩形框”。

对于N-S图,通过以下画法表示语言的结构:

1.首先划分代码块,该段代码有三段代码块:

2.根据代码块绘制相应模块,并且用until包裹:

3.绘制第一个模块的具体内容:

if x>0 then x1

else x2

endif;

4.绘制第二个模块:

S1;

5.绘制第三个模块,在第三个模块中,"if" 包裹着"if",先绘制大的"if"的框架:

if y>0 then y1

       if z>0 then z1

       else z2

       endif;

       S2;

else y2;

endif;

6.填充小的"if"中的内容:

       if z>0 then z1

       else z2

       endif;

PAD图:


全称为Problem Analysis Diagram,即问题分析图表,利用二维树形结构表示程序的控制流,也就是将程序功能的路线图给画出来,既可以表示程序的逻辑,也可以表示程序的结构,区分它的方法是程序的最左端有一条“竖线”,表示程序的“主线”。


对于PAD图,通过以下画法表示语言的结构:

PAD图有两种画法,如果该流程不是很复杂,可以画为一张图,如果很复杂就可以画多张子图,只要代码段的功能能够完整的描述出来

1.首先通过多张子图绘制,这一代码段有3个模块构成:

2.再画A的具体内容:

3.画B的具体内容:

其中C的具体结构为:

而对应的画在一张图的效果如下:

目录
相关文章
|
存储 人工智能 算法
详细设计工具之盒图(N-S图)
详细设计工具之盒图(N-S图)
3456 0
详细设计工具之盒图(N-S图)
|
自然语言处理 算法 测试技术
|
11月前
|
存储 数据管理 数据库
数据字典是什么?和数据库、数据仓库有什么关系?
在数据处理中,你是否常困惑于字段含义、指标计算或数据来源?数据字典正是解答这些问题的关键工具,它清晰定义数据的名称、类型、来源、计算方式等,服务于开发者、分析师和数据管理者。本文详解数据字典的定义、组成及其与数据库、数据仓库的关系,助你夯实数据基础。
数据字典是什么?和数据库、数据仓库有什么关系?
|
应用服务中间件 uml
【UML】软件工程中常用图:类图、部署图、时序图、状态图
【UML】软件工程中常用图:类图、部署图、时序图、状态图
4419 1
|
算法 数据挖掘
【北京大学 软件工程】五、结构化设计方法-1
结构化设计是软件开发中的重要环节,旨在根据需求规约构建系统的软件模型。其主要目标是在抽象层面上建立系统架构(包括数据和程序结构),并详细描述处理算法,最终形成设计规格说明书。结构化设计分为总体设计和详细设计两部分:总体设计确定系统的模块结构及模块间的调用关系;详细设计则深入描述各模块的具体实现。 设计方法需提供体现原理的术语、表达软件模型的工具及过程指导。总体设计引入了“模块”与“调用”两个核心概念,并使用模块结构图(MSD)来表达静态结构。设计步骤包括将DFD(数据流图)转化为MSD,区分变换型和事务型数据流图,通过自顶向下的方式逐步细化模块,确保高内聚低耦合。
1233 1
【北京大学 软件工程】五、结构化设计方法-1
|
存储 前端开发 中间件
『软件工程10』结构化系统分析:数据流图和字典案例分析
该文章通过具体案例分析了在软件工程中如何运用数据流图和数据字典来进行结构化系统分析,帮助明确系统的信息流程和数据定义。
『软件工程10』结构化系统分析:数据流图和字典案例分析
|
算法 图计算
[软件工程导论(第六版)]第6章 详细设计(课后习题详解)
[软件工程导论(第六版)]第6章 详细设计(课后习题详解)
|
测试技术
测试用例设计方法之基本路径测试法
基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法,设计出的测试用例要保证在测试中程序的语句覆盖100%,条件覆盖100%
1282 7
测试用例设计方法之基本路径测试法
|
存储 自然语言处理 算法
【北京大学 软件工程】四、结构化分析方法
结构化分析方法是一种系统化的软件开发方法学,旨在通过使用问题域术语建立系统的功能模型,以明确“系统必须做什么”。该方法包括结构化分析、设计和程序设计三个主要部分。其核心工具是数据流图(DFD),用于表达系统功能模型,并结合数据字典定义数据流和数据存储。此外,还使用加工小说明(如判定表或判定树)描述加工逻辑。 结构化分析过程遵循自顶向下、逐步求精的原则,首先建立系统环境图确定边界,然后通过分解加工、分派数据流和引入文件来细化模型。整个过程中需确保模型平衡和信息组织的复杂性控制。最终输出为需求规格说明书(SRS),确保需求的正确性、无二义性、完整性和可验证性等特性。
1825 1
|
测试技术
软件复杂度量化:McCabe度量法及其环路复杂度的计算方法
McCabe度量法(McCabe's Cyclomatic Complexity)是一种经典的方法,用于度量软件程序的复杂度。通过计算程序中独立路径的数量,帮助开发人员评估代码的维护难度和测试覆盖率。本文详细介绍了McCabe度量法的原理、计算方法及其在实际应用中的作用。
3427 0