第5章 详细设计与编码

更新时间:2023-05-21 13:49:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第5章 详细设计与编码

详细设计任务 详细设计阶段的根本目标 详细设计阶段的根本目标–确定应该怎样具体地实现所要求的系统 –经过这个阶段的设计工作,应该得出对目标系 统的精确描述,从而在编码阶段可以把这个描 述直接翻译成用某种程序设计语言书写的程序

详细设计基本任务 详细设计基本任务–为每个模块进行详细的算法设计。 –为模块内的数据结构进行设计。 –对数据库进行物理设计。 –其他设计。如:输入/输出格式设计、人机对话 设计。 –编写详细设计说明书。 –评审

5.1 结构化程序设计 结构化程序设计的概念与原则最早由E. Dijkstra提出 提出; 最早由E. W. Dijkstra提出;建议从高级语言中 取消GOTO语句; 取消GOTO语句; GOTO语句 1966年,Bohm和Jacopini证明:只用三种基本 1966年 Bohm和Jacopini证明: 证明 的控制结构“顺序” 选择” 循环” 的控制结构“顺序”、“选择”和“循环”就 能实现任何单入口和单出口的没有“死循环” 能实现任何单入口和单出口的没有“死循环” 单入口 的程序。 的程序。

5.1 结构化程序设计 定义1(经典的结构程序设计): 如果一个程序的代码块仅仅通过顺序、选择和循 环这三种基本控制结构进行连接,并且每个代码块只 有一个入口和一个出口,则称这个程序是结构化的。

5.1 结构化程序设计

结构程序设计本质上并不是无GO TO语句 的编程方法,而是一种使程序代码容易阅读 、 容易理解的编程方法。多数情况下,无GO TO 语句的代码确实容易阅读和理解,但在某些 特殊情况下,为了达到容易阅读和理解的目 的反而需要使用GO TO语句。 如:程序执行过程中碰到错误条件时

5.1 结构化程序设计 定义2(扩展的结构程序设计): 结构程序设计是尽可能少用GO TO语句, 最好仅在检测出错误时才用GO TO语句, 而且应该总使用前向GO TO语句。另外,虽然理论上只 用上述三种基本控制结 构即可实现任何单入口 单出口的程序,但实际 为了使用方便,还允许 使用DO-UNTIL和DO-CASE 两种控制结构。

5.1 结构化程序设计

例如,文件访问结束时, 例如,文件访问结束时,出现错误情况要从循环中转 出时

5.1 结构化程序设计

是结构化程序 设计吗?

5.2 过程设计的工具从软件开发的工程化观点来看, 从软件开发的工程化观点来看,在使用程序设计语言 编制程序以前,需要对所采用算法的逻辑关系进行分析, 编制程序以前,需要对所采用算法的逻辑关系进行分析, 设计出全部必要的过程细节,并给予清晰的表达。 设计出全部必要的过程细节,并给予清晰的表达。这就 是过程设计的

任务。 是过程设计的任务。 在过程设计阶段,要决定各个模块的实现算法,并精确 在过程设计阶段,要决定各个模块的实现算法, 地表达这些算法。 地表达这些算法。表达过程规格说明的工具叫做详细设 计工具,分为以下3类 计工具,分为以下 类。

5.2 过程设计的工具-程序流程图 过程设计的工具 程序流程图程序流程图也称为程序框图, 程序流程图也称为程序框图,是软件开发者最 熟悉的算法表达工具。 熟悉的算法表达工具。

起止框

输入输出框

判断框

处理框

流程线

连接点

注释框

5.2 过程设计的工具-程序流程图 过程设计的工具①

2.4.2用流程图表示算法 2.4.2用流程图表示算法③ ② 流程图是用一些图框来表示各种操作 流程图是用一些图框来表示各种操作 ③ 用图形表示算法,直观形象,易于理解 用图形表示算法,直观形象, ③ 位置不够 ① 起止框 判断框 防止交叉 处理框 输入输出框 ②

5.2 过程设计的工具-程序流程图 过程设计的工具 程序流程图的基本控制结构顺序型:几个连续的加工步骤依次排列构成。 (1) 顺序型:几个连续的加工步骤依次排列构成。 (2) 选择型:由某个逻辑判断式的取值决定选择 选择型: 两个加工中的一个。 两个加工中的一个。 (3) 先判定(while)型循环:在循环控制条件成 先判定(while)型循环: 立时,重复执行特定的加工。 立时,重复执行特定的加工。 (4) 后判定(until)型循环:重复执行某些特定 后判定( )型循环: 的加工,直至控制条件成立。 的加工,直至控制条件成立。 多情况( (5) 多情况(case)型选择:列举多种加工情况, )型选择:列举多种加工情况, 根据控制变量的取值,选择执行其一。 根据控制变量的取值,选择执行其一。

5.2 过程设计的工具-程序流程图 过程设计的工具 程序流程图的基本控制结构Y A B(a) 顺序结构

p

N BIf (x>y) Printf(“%d”,x); Else Printf(“(“%d”,y”);

A

Y A

p

N

(b) 选择结构

5.2 过程设计的工具-程序流程图 过程设计的工具输出1,2,3,4,5 输出

程序流程图的基本控制结构0 x x<5 Y 输出x的值 输出 的值 x+1 x N

5.2 过程设计的工具-程序流程图 过程设计的工具 程序流程图的基本控制结构0 x x+1 x 输出x的值 输出 的值 N x≧5 ≧ Y

5.2 过程设计的工具-程序流程图 过程设计的工具 程序流程图 实例

5.2 过程设计的工具-程序流程图 过程设计的工具 任何复杂的程序流程图都应由以上五 种基本结构组合而成。优点:容易掌握,且历史“悠久” 使用广泛。 优点:容易掌握,且历史“悠久”,使用广泛。 缺点:早期

的流程图存在一些缺点。特别是表示 缺点:早期的流程图存在一些缺点。

程序控制流程的箭头,使用的灵活性极大, 程序控制流程的箭头,使用的灵活性极大,程序员 可以不受任何约束,随意转移控制, 可以不受任何约束,随意转移控制,这将不符合结 构化程序设计的思想。 构化程序设计的思想。 本质上不具备逐步求精的特点, 本质上不具备逐步求精的特点,对于提高大 型系统的可理解性作用甚微; 型系统的可理解性作用甚微; 不易表示数据结构; 不易表示数据结构; 转移控制太方便。 转移控制太方便。

5.2 过程设计的工具-N-S图 过程设计的工具 N-S图 图Nassi和 Nassi和Shneiderman 提出了一种符合结构化程 序设计原则的图形描述工具, box序设计原则的图形描述工具,叫做盒图 (boxdiagram),也叫做N-S图。 diagram),也叫做 ),也叫做N 图中,为了表示5种基本控制结构, 在N-S图中,为了表示5种基本控制结构,规定 种图形构件。 了5种图形构件。

5.2 过程设计的工具-N-S图 过程设计的工具 N-S图的基本控制结构 图的基本控制结构

5.2 过程设计的工具-N-S图 过程设计的工具 请使用 请使用N-S图描述下面问题的算法。 图描述下面问题的算法。 图描述下面问题的算法 问题描述:存在数组a[10],求这10个元素中 ,求这 个元素中 问题描述:存在数组 求最大数和次大数。 求最大数和次大数。

5.2 过程设计的工具-N-S图 过程设计的工具 N-S图的实例 图的实例 将流程图转换为对应的N-S图 将流程图转换为对应的 图

本文来源:https://www.bwwdw.com/article/vnm4.html

Top