第6章详细设计 6,1结构程序设计 6.2人机界面设计 63过程设计的工具 64面向数据结构的设计方法 6.5程序复杂程度的定量度量
第6章 详细设计 6.1 结构程序设计 6.2 人机界面设计 6.3 过程设计的工具 6.4 面向数据结构的设计方法 6.5 程序复杂程度的定量度量
详细设计阶段的根本目标:确定应该怎样具体地实现 所要求的系统。经过这个阶段的设计工作,应该得出 对目标系统的精确描述,从而在编码阶段可以把这个 描述直接翻译成用某种程序设计语言书写的程序 结构程序设计技术是实现上述目标的关键技术,因此 是详细设计的逻辑基础 详细设计阶段的任务:包括数据结构设计、数据库设 计、算法设计、界面设计、其他设计、编写设计说明 书、评审。还不是具体地编写程序,而是要设计出程 序的“蓝图
◼ 详细设计阶段的根本目标:确定应该怎样具体地实现 所要求的系统。经过这个阶段的设计工作,应该得出 对目标系统的精确描述,从而在编码阶段可以把这个 描述直接翻译成用某种程序设计语言书写的程序。 ◼ 结构程序设计技术是实现上述目标的关键技术,因此 是详细设计的逻辑基础。 ◼ 详细设计阶段的任务:包括数据结构设计、数据库设 计、算法设计、界面设计、其他设计、编写设计说明 书、评审。还不是具体地编写程序,而是要设计出程 序的“蓝图”
61结构程序设计 结构程序设计的概念最早由 EWDijkstra提出。1965 年他在一次会议上指出:“可以从高级语言中取消GO TO语句”,“程序的质量与程序中所包含的GOTO语句 的数量成反比”。 1966年Bohm和 Jacopini证明了,只用3种基本的控制 结构就能实现任何单入口单出口的程序。这3种基本的控 制结构是“顺序”、“选择”和“循环”,它们的流程图 分别为图61(a),6,1(b)和6(c) 实际上用顺序结构和循环结构(又称DO-WHLE结构) 完全可以实现选择结构(又称 IF-THEN-ELSE结构),因此, 理论上最基本的控制结构只有两种。Bohm和 Jacobin的证 明给结构程序设计技术奠定了理论基础
6.1 结构程序设计 ◼ 结构程序设计的概念最早由E.W.Dijkstra提出。1965 年他在一次会议上指出:“可以从高级语言中取消GO TO语句”,“程序的质量与程序中所包含的GO TO 语句 的数量成反比”。 ◼ 1966年Bohm和Jacopini证明了,只用3种基本的控制 结构就能实现任何单入口单出口的程序。这3种基本的控 制结构是“顺序”、“选择”和“循环”,它们的流程图 分别为图6.1(a),6.1(b)和6.1(c)。 ◼ 实际上用顺序结构和循环结构(又称DO-WHILE结构) 完全可以实现选择结构(又称IF-THEN-ELSE结构),因此, 理论上最基本的控制结构只有两种。Bohm和Jacopini的证 明给结构程序设计技术奠定了理论基础
习题: F T 6-1假设只有 A xp SEQUENCE和Do A B WHE两种控制结构, 怎样利用它们完成I TTHIEN-ELSE操作? exp 62假设只允许使用 T A 或 T SEQUENCE和IF-THEN A ELSE两种控制结构,怎 样利用它们完成Do WHLE操作?
习题: 6-1 假设只有 SEQUENCE和DOWHILE两种控制结构, 怎样利用它们完成IFTHEN-ELSE操作? 6-2 假设只允许使用 SEQUENCE和IF-THENELSE两种控制结构,怎 样利用它们完成DOWHILE操作?
经典定义:如果一个程序的代码块仅仅通过顺序、 选择和循环这3种基本控制结构进行连接,并且每 个代码块只有一个入口和一个出口,则称这个程 序是结构化的。 更全面定义:结构程序设计是尽可能少用GOTO 语句的程序设计方法。最好仅在检测出错误时才 使用GOTO语句,而且应该总是使用前向GOTO 语句
◼ 经典定义:如果一个程序的代码块仅仅通过顺序、 选择和循环这3种基本控制结构进行连接,并且每 个代码块只有一个入口和一个出口,则称这个程 序是结构化的。 ◼ 更全面定义:结构程序设计是尽可能少用GOTO 语句的程序设计方法。最好仅在检测出错误时才 使用GOTO语句,而且应该总是使用前向GOTO 语句