3.结构程序设计的提出(Cont.) 1965年E.W. Dijkstra指出GOTO语句对 程序质量的负面影响,建议取消它 Bohm等证明了任何单入口单出口的程序 都可以用“顺序”、“选择”和“循环” 种控制结构实现。 Mil基于在IBM的实践,提出程序应该 只有一个入口和一个出口。 With通过对抽象层次的论述,对逐步求 精方法进行了肯定
3. 结构程序设计的提出(Cont.) • 1965年E. W. Dijkstra指出GO TO 语句对 程序质量的负面影响,建议取消它。 • Bohm等证明了任何单入口单出口的程序 都可以用“顺序”、“选择”和“循环” 三种控制结构实现。 • Mills基于在IBM的实践,提出程序应该 只有一个入口和一个出口。 • Wirth通过对抽象层次的论述,对逐步求 精方法进行了肯定
4.结构程序设计的类型(Cont) 经典的结构程序设计 Seg; if-then-else; do-While 扩展的结构程序设计 增加do-case;do- until 修正的结构程序设计 允许 cleave; break
4. 结构程序设计的类型(Cont.) • 经典的结构程序设计 Seq; if-then-else; do-While • 扩展的结构程序设计 增加do-case; do-until • 修正的结构程序设计 允许leave; break
5.结构程序设计的优点(Cont.) ·符合人类解决复杂问题的规律,提高成功率和生 产率。 自顶向下逐步求精,使得相邻两次精化之间变化 甚小,不难验证前后内容是否一致和有效。使得 程序具有清晰的结构层次。 不使用GOTO语句,避免了“病态连接”,消 除“涟漪效应”,提髙软件的可理解性、可靠性、 可测试性和可维护性。 清晰的模块化程序利于重用和复用。 利于程序的正确性证明和形式化开发
5. 结构程序设计的优点(Cont.) • 符合人类解决复杂问题的规律,提高成功率和生 产率。 • 自顶向下逐步求精,使得相邻两次精化之间变化 甚小,不难验证前后内容是否一致和有效。使得 程序具有清晰的结构层次。 • 不使用GO TO 语句,避免了“病态连接”,消 除“涟漪效应”,提高软件的可理解性、可靠性、 可测试性和可维护性。 • 清晰的模块化程序利于重用和复用。 • 利于程序的正确性证明和形式化开发
人机界面设计 1.设计问题 系统响应时间 用户帮助设施 出错信息处理 命令交互 2.设计过程(p11) 3.人机界面设计指南(p112)
三、人机界面设计 1. 设计问题 • 系统响应时间 • 用户帮助设施 • 出错信息处理 • 命令交互 2. 设计过程(p111) 3. 人机界面设计指南(p112)
1.设计问题 系统响应时间(p110 用户帮助设施(p110 出错信息处理(p110) 命令交互(p111)
1. 设计问题 • 系统响应时间(p110) • 用户帮助设施(p110) • 出错信息处理(p110) • 命令交互(p111)