结构化详细设计ppt课件
合集下载
系统架构与详细设计ppt课件

20
(1) 只显示与当前工作内容有关的信息。 (2) 不要用数据淹没用户,应该用便于用户 迅速吸取信息的方式来表示数据。 (3) 使用一致的标记、标准的缩写和可预知 的颜色。 (4) 允许用户保持可视化的语境。
21
(5) 产生有意义的出错信息。 (6) 使用大小写、缩进和文本分组以帮助理 解。 (7) 使用窗口分隔不同类型的信息 (8) 使用“模拟”显示方式表示信息,以使 信息更容易被用户提取。 (9) 高效率地使用显示屏。
3
4
如果一个程序的代码块仅仅通过顺序、选 择和循环这3种基本控制结构进行连接,并 且每个代码块只有一个入口和一个出口, 则称这个程序是结构化的。
5
如果除了上述3种基本控制结构之外,还允 许使用DO-CASE型多分支结构和DO-UNTIL 型循环结构,则称为扩展的结构程序设计; 如果再加上允许使用LEAVE(或BREAK)结构,
则称为修正的结构程序设计。
6
7
人机界面设计是接口设计的一个重要的组 成部分。对于交互式系统来说,人机界面 设计和数据设计、体系结构设计及过程设 计一样重要。近年来,人机界面在系统中 所占的比例越来越大,在个别系统中人机 界面的设计工作量甚至占总设计量的一半 以上。
人机界面的设计质量,直接影响用户对软 件产品的评价,从而影响软件产品的竞争 力和寿命,因此,必须对人机界面设计给 8
18
(1) 保持一致性。 (2) 提供有意义的反馈。 (3) 在执行有较大破坏性的动作之前要求用 户确认。 (4) 允许取消绝大多数操作。 (5) 减少在两次操作之间必须记忆的信息量。
19
(6) 提高对话、移动和思考的效率。 (7) 允许犯错误。 (8) 按功能对动作分类,并据此设计屏幕布 局。 (9) 提供对用户工作内容敏感的帮助设施。 (10) 用简单动词或动词短语作为命令名。
(1) 只显示与当前工作内容有关的信息。 (2) 不要用数据淹没用户,应该用便于用户 迅速吸取信息的方式来表示数据。 (3) 使用一致的标记、标准的缩写和可预知 的颜色。 (4) 允许用户保持可视化的语境。
21
(5) 产生有意义的出错信息。 (6) 使用大小写、缩进和文本分组以帮助理 解。 (7) 使用窗口分隔不同类型的信息 (8) 使用“模拟”显示方式表示信息,以使 信息更容易被用户提取。 (9) 高效率地使用显示屏。
3
4
如果一个程序的代码块仅仅通过顺序、选 择和循环这3种基本控制结构进行连接,并 且每个代码块只有一个入口和一个出口, 则称这个程序是结构化的。
5
如果除了上述3种基本控制结构之外,还允 许使用DO-CASE型多分支结构和DO-UNTIL 型循环结构,则称为扩展的结构程序设计; 如果再加上允许使用LEAVE(或BREAK)结构,
则称为修正的结构程序设计。
6
7
人机界面设计是接口设计的一个重要的组 成部分。对于交互式系统来说,人机界面 设计和数据设计、体系结构设计及过程设 计一样重要。近年来,人机界面在系统中 所占的比例越来越大,在个别系统中人机 界面的设计工作量甚至占总设计量的一半 以上。
人机界面的设计质量,直接影响用户对软 件产品的评价,从而影响软件产品的竞争 力和寿命,因此,必须对人机界面设计给 8
18
(1) 保持一致性。 (2) 提供有意义的反馈。 (3) 在执行有较大破坏性的动作之前要求用 户确认。 (4) 允许取消绝大多数操作。 (5) 减少在两次操作之间必须记忆的信息量。
19
(6) 提高对话、移动和思考的效率。 (7) 允许犯错误。 (8) 按功能对动作分类,并据此设计屏幕布 局。 (9) 提供对用户工作内容敏感的帮助设施。 (10) 用简单动词或动词短语作为命令名。
结构化程序设计PPT课件

Set default to 默认路径 &&设置默认路径
Set talk on|off
&&打开|关闭命令执行时的对话开关
Set century on | off &&是否用四位表示年
Set fields to 字段名表 &&设置字段筛选
Set filter to 条件
&&设置记录筛选
Set sysmenu to default &&恢复系统的默认菜单
2021/5/8
4
二、程序文件的建立
建立、修改程序文件 Modify Command [d:][path]程序文件名 程序文件扩展名为.PRG
运行程序文件 • Do [d:]来自path] 程序文件名 [With 参数表] • 程序文件名(参数表)
程序文件可被修改并重新运行,且可多次运行;一个 程序可调用其他程序(子程序、过程)
IF 条件 命令行序列1
ELSE 命令行序列2
EndIf
2021/5/8
12
举例:闰年问题
输入一个年份,编程判断是否是闰年。 一个年份满足以下条件之一即为闰年: • 能被4整除且不能被100整除 • 能被400整除
Input “请输入年份:” to year IF year%4=0 AND year%100!=0 or year%400=0
Input "请输入成绩:" to 成绩
do case case 成绩>=85 ? "优秀" case 成绩>=75 ? "良好" case 成绩>=60 ? "及格" case 成绩>=0 ? "不及格"
结构化分析与设计PPT课件

如何描繪DFD(1)
➢ 源頭/終點(External Entity) a
NAME
利用小寫字母在左上角標示以為區別 中間標示儲存體名稱
➢ 若有重複情況可在左下角劃一斜線以為區隔
a
customer
a
customer
a
customer
a
customer
b
employee
b
employee
15
如何描繪DFD(2)
➢ 程序(Process)
1 PROCESS
處理程序以圓圈表示並加註編號 程序中間必須加以命名,命名原則為V+N
➢ 資料儲存體(Data Store) Customer Trans.
C_ID#
1
Data Store
D Data Store
PROCESS
D Data Store
資料儲存體與程序之資料流可以將名稱省略 若根據某一鍵值以取得整筆紀錄,亦可在資料 流上表示
CUSTOMER Customer
Reply
0 WORLD ON-A-
CHIP, INC.
Salesman Commission Form
Chip Shipment
Chip Stock
Purchas e Order
Manufacturer Invoice
Payment
PLANNING DEPT
PAYROLL DEPT
17
練習
➢ 王子書店需要一客戶訂貨處理系統,當接獲客戶訂單 時,除了檢查庫存餘額之外,尚須檢查客戶信用狀況, 接單之處理情況需即刻回應客戶。當餘額夠時直接從 倉庫出貨並將整筆資料送至會計部列印發票,若餘額 不夠,則列印採購單向出版社訂貨,同時將採購交易 紀錄送至會計部,當出版社送貨到達時,須先入庫再 行出貨。每天進出貨狀況須向管理部門報告,每月交 易狀況須向總經理報告。
第3章结构化设计-02PPT课件

程序流程图的优点是:直观、易学、历史长、使用广泛。 缺点是:诱使程序员过早地考虑控制流,容易忽略整体结构;
控制流绘制时容易乱转移,破坏结构;不容易表示数据结构; 不适于大型程序的设计仅适于小规模程序的设计;
.
11
2.2 盒图 为了克服程序流程图的缺点,改善结构化特性,由Nassi 和 Shneiderman提出了盒式程序框图( N_S图)。盒图的符号
.
4
详细设计的任务具体主要有如下五点。
确定每个模块的具体算法。
确定每个模块的内部数据结构及数据库的物理结构。 确定模块接口的具体细节。(即确定模块接口的详细信
息,包括模块之间的接口信息、模块与系统外部的接口信 息及用户界面等。 为每个模块设计一组测试用例。 编写文档,参加复审。
.
5
详细设计的过程中应遵循以下原则
A B 顺序结构
A P
B
双选结构
.
定义
15
A P 单选结构
=1 A1 =2 A2
P
While p
/until p
S
While重复型和until重复型
=n An 多分支结构
.
16
PAD图所表达的程序比程序流程图更容易阅读,特点如 下:
描述的程序易读、易懂、易记;程序结构清晰, 每条纵线代表一个层次;设计出的程序必然是结构化 程序,结构化程度高;既可以表示程序的逻辑,又可 以描述层次型数据结构;易于将PAD图转换成高级程序 设计语言的源程序,支持自顶向下逐步求精的设计方 法,开始时可以定义一个抽象的程序,随着设计的深 入,使用def符号逐步增加细节,直至完成详细设计;
合的全部可能情况。 右下部的每一列是和每一种条件组合所对应的应做的工作。 2. 判定表中的符号 右上部用“T”表示条件成立,用“F”表示条件不成立,空白表
控制流绘制时容易乱转移,破坏结构;不容易表示数据结构; 不适于大型程序的设计仅适于小规模程序的设计;
.
11
2.2 盒图 为了克服程序流程图的缺点,改善结构化特性,由Nassi 和 Shneiderman提出了盒式程序框图( N_S图)。盒图的符号
.
4
详细设计的任务具体主要有如下五点。
确定每个模块的具体算法。
确定每个模块的内部数据结构及数据库的物理结构。 确定模块接口的具体细节。(即确定模块接口的详细信
息,包括模块之间的接口信息、模块与系统外部的接口信 息及用户界面等。 为每个模块设计一组测试用例。 编写文档,参加复审。
.
5
详细设计的过程中应遵循以下原则
A B 顺序结构
A P
B
双选结构
.
定义
15
A P 单选结构
=1 A1 =2 A2
P
While p
/until p
S
While重复型和until重复型
=n An 多分支结构
.
16
PAD图所表达的程序比程序流程图更容易阅读,特点如 下:
描述的程序易读、易懂、易记;程序结构清晰, 每条纵线代表一个层次;设计出的程序必然是结构化 程序,结构化程度高;既可以表示程序的逻辑,又可 以描述层次型数据结构;易于将PAD图转换成高级程序 设计语言的源程序,支持自顶向下逐步求精的设计方 法,开始时可以定义一个抽象的程序,随着设计的深 入,使用def符号逐步增加细节,直至完成详细设计;
合的全部可能情况。 右下部的每一列是和每一种条件组合所对应的应做的工作。 2. 判定表中的符号 右上部用“T”表示条件成立,用“F”表示条件不成立,空白表
结构化思维ppt课件完整版

统一沟通语言
使用结构化思维,团队成员可以建立统一的沟通语言,减少误解和 冲突。
制定沟通计划
结构化思维有助于制定详细的沟通计划,包括沟通内容、方式、时间 和参与人员等。
团队协作中的结构化决策
识别决策问题
结构化思维可以帮助团队成员准确识别决 策问题,明确决策目标。
制定决策方案
在结构化思维的指导下,团队成员可以制 定多个可行的决策方案,并对方案进行评
专业度。
02
使用清晰的字体和排版
选择清晰的字体、合适的字号和排版方式,可以确保PPT的内容易于阅
读和理解。
03
突出重点内容
通过加粗、变色、放大等方式突出PPT中的重点内容,可以引导受众的
注意力,增强PPT的传达效果。
05
结构化思维在团队协作中的应用
团队协作中的结构化沟通
明确沟通目标
在团队协作中,结构化思维能够帮助成员明确沟通目标,确保信息 准确传递。
THANKS
感谢观看
梳理内容框架
根据目的和受众,梳理出PPT的内容框架,包括 主题、子主题以及每个部分要包含的关键点。
3
确定逻辑关系和呈现顺序
在梳理内容框架的基础上,确定各部分之间的逻 辑关系和呈现顺序,确保PPT的内容条理清晰、 易于理解。
PPT内容的结构化组织
使用标题和目录
在PPT中使用标题和目录页,可以清晰地展示PPT的结构 和主要内容,方便受众快速了解PPT的框架。
的能力。
归纳推理
从个别到一般的推理过程,训练 从具体案例中提炼出普遍规律的
能力。
逻辑顺序
强调事物发展的内在逻辑顺序, 培养按照逻辑顺序进行思考和表
达的习惯。
创新思维训练
使用结构化思维,团队成员可以建立统一的沟通语言,减少误解和 冲突。
制定沟通计划
结构化思维有助于制定详细的沟通计划,包括沟通内容、方式、时间 和参与人员等。
团队协作中的结构化决策
识别决策问题
结构化思维可以帮助团队成员准确识别决 策问题,明确决策目标。
制定决策方案
在结构化思维的指导下,团队成员可以制 定多个可行的决策方案,并对方案进行评
专业度。
02
使用清晰的字体和排版
选择清晰的字体、合适的字号和排版方式,可以确保PPT的内容易于阅
读和理解。
03
突出重点内容
通过加粗、变色、放大等方式突出PPT中的重点内容,可以引导受众的
注意力,增强PPT的传达效果。
05
结构化思维在团队协作中的应用
团队协作中的结构化沟通
明确沟通目标
在团队协作中,结构化思维能够帮助成员明确沟通目标,确保信息 准确传递。
THANKS
感谢观看
梳理内容框架
根据目的和受众,梳理出PPT的内容框架,包括 主题、子主题以及每个部分要包含的关键点。
3
确定逻辑关系和呈现顺序
在梳理内容框架的基础上,确定各部分之间的逻 辑关系和呈现顺序,确保PPT的内容条理清晰、 易于理解。
PPT内容的结构化组织
使用标题和目录
在PPT中使用标题和目录页,可以清晰地展示PPT的结构 和主要内容,方便受众快速了解PPT的框架。
的能力。
归纳推理
从个别到一般的推理过程,训练 从具体案例中提炼出普遍规律的
能力。
逻辑顺序
强调事物发展的内在逻辑顺序, 培养按照逻辑顺序进行思考和表
达的习惯。
创新思维训练
第四章-结构化分析与设计3PPT课件

2021/3/12
16
4.3.3 设计过程
(2)确定数据流图的类型 根据数据流图的数据流特征,确 定数据流图是变换型还是事务型的。 (3)将数据流图映射成初始的软 件结构图 采用变换分析方法或者事务分析 方法将数据流图逐步地转换为初始的 软件结构图。
2021/3/12
17
4.3.3 设计过程
(5)描述模块的功能、接口及 全局数据结构
2021/3/12
图4.16 变换型数据流图
11
4.3.2 数据流的类型
➢ 变换型数据加工的工作过程一般地可分为取得数据、变换数 据和给出数据。
➢ 变换是系统的主加工,是系统的变换中心。变换输入端的数 据流为系统的逻辑输入,输出端为逻辑输出。
➢ 直接从外部输入的数据流称为物理输入,反之称为物理输出。 外部的输入数据流一般要经过输入正确性和合理性检查、编 辑及格式转换等预处理后变成内部形式,这部分工作都由逻 辑输入部分完成。
➢ 模块可以分为传出模块,该模块从上级模块取得数据,进行 某些处理,传送给下属模块。
➢ 模块可以分为变换模块,该模块从上级模块取来数据,进行 特定处理后,送回原上级模块。
➢ 模块可以分为协调模块,该模块对其下属模块进行控制和管 理的模块。如图4.13所示。
2021/3/12
图4.13 模块的分类
8
4.3.1 软Байду номын сангаас结构的图形表示
2021/3/12
15
4.3.3 设计过程
(1)复审和精化数据流图
分析和复审数据流图的顶层图, 确保系统输入、输出的数据流是否符 合需求规格说明的要求。
分析和复审分层数据流图,弄清
楚每一个加工实现的功能是否明确,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第8章 结构化详细设计
结构化详细设计的结构和特点 结构化详细设计工具 人机交互界面设计 数据库设计 编码实现
1
8.1详细设计
详细设计就是在概要设计的基础上决定如何具 体实现各模块的内部细节,直到对系统中的每 个模块给出足够详细的过程描述。
在编码实现阶段就可以完全按照详细设计的细 节过程来映射到代码,最终实现整个系统。
用先全局后局部、先整体后细节、先抽象后具体的逐步求精 过程开发出的程序有清晰的层次结构,因此容易阅读和理解。
仅使用单入口单出口的控制结构,使得程序的静态结构和它 的动态执行情况比较一致。因此,程序容易阅读和理解,开 发时也比较容易保证程序的正确性,即使出现错误也比较容 易诊断和改正。
控制结构有确定的逻辑模式,编写程序代码只限于使用很少 几种直截了当的方式,因此源程序清晰流畅,易读易懂而且 容易测试。
15
PAD图举例
P1
P2 P3
C P4
P5
P6
until C2
11
盒图符号
A B
a.顺序
FPT BA
FPT A
b.IF-THEN-ELSE 选择
S Do until p
d.do-until 循环
P
=1 =2
=n
A1 A2
An
e.多分支选择
Do while p S
c.do-while 循环
12
PAD图
PAD是问题分析图(Problem Analysis Diagram)的英文缩写,自1973年由日本日 立公司发明。
4
结构化详细设计的结构
三种基本结构
顺序结构 选择结构 循环结构
5
A
exp
B
A
B
a.顺序
b.if-then-else 选择
T
或
A
expFBiblioteka c.do-while 循环
F exp
T A
6
结构化程序设计优点
自顶向下逐步求精的方法符合人类解决复杂问题的普遍规律, 因此可以显著提高软件开发工程的成功率和生产率。
一般使用结构化程序设计工具来描述
2
详细设计的基本任务
为每个模块进行详细的算法设计 为模块内的数据结构进行设计 为数据结构进行物理设计,即确定数据库的物理结构 其他设计:根据软件系统的类型,还可能要进行以下设计:
代码设计 输入/输出格式设计 人机对话设计 编写详细设计文档 评审
由于只能从上边进入盒子然后从下面走出盒子,除此之外没有其它的 入口和出口,所以盒图限制了任意的控制转移,保证程序有良好的结 构。
很容易确定局部和全程数据的作用域。 很容易表现嵌套关系,也可以表示模块的层次结构。
盒图很容易表示程序结构化的层次结构,确定局部和全局数据的作 用域。由于没有箭头,因此不允许随意转移控制。
10
盒图
盒图是由Nassi和Shneiderman提出的,所以又称为N-S图。 每个处理步骤都用一个盒子来表示,这些处理步骤可以是语句或语
句序列,在需要时,盒子中还可以嵌套另一个盒子,嵌套深度一般 没有限制。 盒图具有下述特点:
功能域(即,一个特定控制结构的作用域)明确,可以从盒图上一眼 就看出来。
它是由程序流程图演化而来,用二维树形结构 的图来表示程序的控制流,将这种图翻译成程 序代码比较容易。
PAD图的基本原理:采用自顶向下、逐步细化 和结构化设计的原则,力求将模糊的问题解的 概念逐步转换为确定的和详尽的过程,使之最 终可采用计算机直接进行处理。
13
PAD图符号
P1 P2 a.顺序
用PAD图表现程序逻辑,易读、易懂、易记。PAD图是二 维树形结构的图形,程序从图中最左竖线上端的结点开始 执行,自上而下,从左向右顺序执行,遍历所有结点。
容易将PAD图转换成高级语言源程序,这种转换可用软件 工具自动完成,从而可省去人工编码的工作,有利于提高 软件可靠性和软件生产率。
既可用于表示程序逻辑,又可用于描绘数据结构。
3
8.2结构化详细设计
结构化详细设计也称为结构化程序设计。 结构化程序设计的理念是在20世纪60年代,
由Dijkstra等人提出并加以完善的。 结构化的程序一般只需要用三种基本的逻辑结
构就能实现。这三种基本逻辑结构是顺序结构、 选择结构和循环结构。 结构化程序设计是一种设计程序的技术,它采 用自顶向下逐步求精的设计方法和单入口单出 口的控制结构。
程序流程图中用箭头代表控制流,因此程序员不受任何约 束,可以完全不顾结构程序设计的精神,随意转移控制;
程序流程图不易表示数据结构。
9
程序流程图符号
(a)预处理 (b)选择
(c)多分支 (d)循环上界 (e)循环下界
(f)开始/结束 (g)准备 (h)注释 (i)虚线 (j)省略 (k)并行方式 (l)控制流
While c
P1 C
P2
P1 L1
L2
P2
X=
b.if-then-else 选择
Ln Pn
c.case 多分支选择
P
until c
P
d.do-while 型循环
e.repeat-until 型循环
14
PAD图的主要优点
使用表示结构化控制结构的PAD符号设计出来的程序必然 是结构化程序。
PAD图所描绘的程序结构十分清晰。图中最左边的竖线是 程序的主线,即第一层结构。随着程序层次的增加,PAD 图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖 线。PAD图中竖线的总条数就是程序的层次数。
程序清晰和模块化使得在修改和重新设计一个软件时可以重 用的代码量最大。
程序的逻辑结构清晰,有利于程序正确性证明。
7
8.3结构化详细设计工具
图形工具:把过程的细节表示成一个图的组成 部分,在这个图上,逻辑构造用具体的图形来 表示。
列表工具:用一个表来表示过程的细节,这个 表列出了各种操作及其相应的条件。也即,描 述了输入、处理和输出信息。
语言工具:用类语言来表示过程的细节,这种 类语言很接近于编程语言。
8
程序流程图
程序流程图又称为程序框图,Goldstine于1946年首先 采用。
它的主要优点是对控制流程的描绘很直观,便于初学 者掌握。
程序流程图的主要缺点:
程序流程图本质上不是逐步求精的好工具,它诱使程序员 过早地考虑程序的控制流程,而不去考虑程序的全局结构;
结构化详细设计的结构和特点 结构化详细设计工具 人机交互界面设计 数据库设计 编码实现
1
8.1详细设计
详细设计就是在概要设计的基础上决定如何具 体实现各模块的内部细节,直到对系统中的每 个模块给出足够详细的过程描述。
在编码实现阶段就可以完全按照详细设计的细 节过程来映射到代码,最终实现整个系统。
用先全局后局部、先整体后细节、先抽象后具体的逐步求精 过程开发出的程序有清晰的层次结构,因此容易阅读和理解。
仅使用单入口单出口的控制结构,使得程序的静态结构和它 的动态执行情况比较一致。因此,程序容易阅读和理解,开 发时也比较容易保证程序的正确性,即使出现错误也比较容 易诊断和改正。
控制结构有确定的逻辑模式,编写程序代码只限于使用很少 几种直截了当的方式,因此源程序清晰流畅,易读易懂而且 容易测试。
15
PAD图举例
P1
P2 P3
C P4
P5
P6
until C2
11
盒图符号
A B
a.顺序
FPT BA
FPT A
b.IF-THEN-ELSE 选择
S Do until p
d.do-until 循环
P
=1 =2
=n
A1 A2
An
e.多分支选择
Do while p S
c.do-while 循环
12
PAD图
PAD是问题分析图(Problem Analysis Diagram)的英文缩写,自1973年由日本日 立公司发明。
4
结构化详细设计的结构
三种基本结构
顺序结构 选择结构 循环结构
5
A
exp
B
A
B
a.顺序
b.if-then-else 选择
T
或
A
expFBiblioteka c.do-while 循环
F exp
T A
6
结构化程序设计优点
自顶向下逐步求精的方法符合人类解决复杂问题的普遍规律, 因此可以显著提高软件开发工程的成功率和生产率。
一般使用结构化程序设计工具来描述
2
详细设计的基本任务
为每个模块进行详细的算法设计 为模块内的数据结构进行设计 为数据结构进行物理设计,即确定数据库的物理结构 其他设计:根据软件系统的类型,还可能要进行以下设计:
代码设计 输入/输出格式设计 人机对话设计 编写详细设计文档 评审
由于只能从上边进入盒子然后从下面走出盒子,除此之外没有其它的 入口和出口,所以盒图限制了任意的控制转移,保证程序有良好的结 构。
很容易确定局部和全程数据的作用域。 很容易表现嵌套关系,也可以表示模块的层次结构。
盒图很容易表示程序结构化的层次结构,确定局部和全局数据的作 用域。由于没有箭头,因此不允许随意转移控制。
10
盒图
盒图是由Nassi和Shneiderman提出的,所以又称为N-S图。 每个处理步骤都用一个盒子来表示,这些处理步骤可以是语句或语
句序列,在需要时,盒子中还可以嵌套另一个盒子,嵌套深度一般 没有限制。 盒图具有下述特点:
功能域(即,一个特定控制结构的作用域)明确,可以从盒图上一眼 就看出来。
它是由程序流程图演化而来,用二维树形结构 的图来表示程序的控制流,将这种图翻译成程 序代码比较容易。
PAD图的基本原理:采用自顶向下、逐步细化 和结构化设计的原则,力求将模糊的问题解的 概念逐步转换为确定的和详尽的过程,使之最 终可采用计算机直接进行处理。
13
PAD图符号
P1 P2 a.顺序
用PAD图表现程序逻辑,易读、易懂、易记。PAD图是二 维树形结构的图形,程序从图中最左竖线上端的结点开始 执行,自上而下,从左向右顺序执行,遍历所有结点。
容易将PAD图转换成高级语言源程序,这种转换可用软件 工具自动完成,从而可省去人工编码的工作,有利于提高 软件可靠性和软件生产率。
既可用于表示程序逻辑,又可用于描绘数据结构。
3
8.2结构化详细设计
结构化详细设计也称为结构化程序设计。 结构化程序设计的理念是在20世纪60年代,
由Dijkstra等人提出并加以完善的。 结构化的程序一般只需要用三种基本的逻辑结
构就能实现。这三种基本逻辑结构是顺序结构、 选择结构和循环结构。 结构化程序设计是一种设计程序的技术,它采 用自顶向下逐步求精的设计方法和单入口单出 口的控制结构。
程序流程图中用箭头代表控制流,因此程序员不受任何约 束,可以完全不顾结构程序设计的精神,随意转移控制;
程序流程图不易表示数据结构。
9
程序流程图符号
(a)预处理 (b)选择
(c)多分支 (d)循环上界 (e)循环下界
(f)开始/结束 (g)准备 (h)注释 (i)虚线 (j)省略 (k)并行方式 (l)控制流
While c
P1 C
P2
P1 L1
L2
P2
X=
b.if-then-else 选择
Ln Pn
c.case 多分支选择
P
until c
P
d.do-while 型循环
e.repeat-until 型循环
14
PAD图的主要优点
使用表示结构化控制结构的PAD符号设计出来的程序必然 是结构化程序。
PAD图所描绘的程序结构十分清晰。图中最左边的竖线是 程序的主线,即第一层结构。随着程序层次的增加,PAD 图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖 线。PAD图中竖线的总条数就是程序的层次数。
程序清晰和模块化使得在修改和重新设计一个软件时可以重 用的代码量最大。
程序的逻辑结构清晰,有利于程序正确性证明。
7
8.3结构化详细设计工具
图形工具:把过程的细节表示成一个图的组成 部分,在这个图上,逻辑构造用具体的图形来 表示。
列表工具:用一个表来表示过程的细节,这个 表列出了各种操作及其相应的条件。也即,描 述了输入、处理和输出信息。
语言工具:用类语言来表示过程的细节,这种 类语言很接近于编程语言。
8
程序流程图
程序流程图又称为程序框图,Goldstine于1946年首先 采用。
它的主要优点是对控制流程的描绘很直观,便于初学 者掌握。
程序流程图的主要缺点:
程序流程图本质上不是逐步求精的好工具,它诱使程序员 过早地考虑程序的控制流程,而不去考虑程序的全局结构;