详细设计 结构程序设计 过程设计的工具 面向数据结构的设计方法 程序复杂程度的定量度量
详细设计 • 结构程序设计 • 过程设计的工具 • 面向数据结构的设计方法 • 程序复杂程度的定量度量
课程回顾 P2 S1 S2 P3 S3 P5 P4 S4 S5 需要通过软件解决的″问题” 软件的”解决方案
课程回顾
详细设计的任务 关键任务:确定怎样具体地实现用户需要的软件 系统,即设计出程序的“蓝图”。 要达到的目标 保证软件的可靠性; 使将来编写出的程序可读性好、容易理解、容易测试 容易修改和维护,这是详细设计阶段最重要的目标。 要完成的工作: 确定软件各个组成部分内的算法以及各部分的内部数 据组织 选定某种过程的表达形式来描述各种算法。 一进行详细设计的评审
详细设计的任务 • 关键任务:确定怎样具体地实现用户需要的软件 系统,即设计出程序的“蓝图”。 • 要达到的目标: –保证软件的可靠性; –使将来编写出的程序可读性好、容易理解、容易测试、 容易修改和维护,这是详细设计阶段最重要的目标。 • 要完成的工作: – 确定软件各个组成部分内的算法以及各部分的内部数 据组织 – 选定某种过程的表达形式来描述各种算法。 – 进行详细设计的评审
结构程序设计 结构程序设计的提出背景 (1)最早由 EWDijkstra于1965年提出,建议从高 级语言中取消GOTO语句; (2)1966年Bohm和 Jacopin证明了,只用3种基本 的控制结构就能实现任何单入口单出口的程序。这 3种基本的控制结构是“顺序”、“选择”和“循 环”,它们的流程图分别为如下(a)、(b)、(c); (3)1968年 Dijkstra再次建议从一切高级语言中取 消GOTO语句,只使用3种基本控制结构写程序 (4)1972年IBM公司的Mls进一步提出,程序应 该只有一个入口和一个出口,从而补充了结构程序 设计的规则
•结构程序设计的提出背景 (1)最早由E.W.Dijkstra于1965年提出,建议从高 级语言中取消GO TO语句; (2)1966年Bohm和Jacopini证明了,只用3种基本 的控制结构就能实现任何单入口单出口的程序。这 3种基本的控制结构是“顺序” 、 “选择”和“循 环”,它们的流程图分别为如下(a)、(b) 、(c); (3)1968年Dijkstra再次建议从一切高级语言中取 消GO TO语句,只使用3种基本控制结构写程序。 (4)1972年IBM公司的Mills进一步提出,程序应 该只有一个入口和一个出口,从而补充了结构程序 设计的规则。 结构程序设计
T A B (b) F p A 或 A 3种基本的控制结构
3种基本的控制结构