第九讲 详细设
第九讲 详细设计
本讲(第六章)的主要内容 详细设计及其任务 二、结构程序设计 三、人机界面设计 四、详细设计的工具 五、 Jackson程序设计方法 六、程序复杂度的定量度量
本讲(第六章)的主要内容 一、详细设计及其任务 二、结构程序设计 三、人机界面设计 四、详细设计的工具 五、 Jackson程序设计方法 六、程序复杂度的定量度量
详细设计及其任务 什么是详细设计? 针对一个个模块的设计,是过程设 计、算法设计。 详细设计仅仅是设计出程序的“蓝 图”,是编码的先导,但不是编写 程序 2.模块的属性:功能、逻辑和状态 3.详细设计的任务
一、详细设计及其任务 1. 什么是详细设计? – 针对一个个模块的设计,是过程设 计、算法设计。 – 详细设计仅仅是设计出程序的“蓝 图”,是编码的先导,但不是编写 程序。 2. 模块的属性:功能、逻辑和状态 3. 详细设计的任务
3.详细设计的任务(Cont.) 每个模块内的数据结构 每个模块的控制算法 内部接口描述 为每一模块设计出一组测试用例(test cases),因为详细设计人员对模块的功 能、逻辑、接口等最了解 评审
3. 详细设计的任务(Cont. ) • 每个模块内的数据结构 • 每个模块的控制算法 • 内部接口描述 • 为每一模块设计出一组测试用例(test cases),因为详细设计人员对模块的功 能、逻辑、接口等最了解。 • 评审
结构程序设计 1.定义:结构化程序设计是一种设计程 序的技术,它采用自顶向下逐步求精 的设计方法和单入口单出口的控制结 构 2.结构化程序设计的要点 自顶向下逐步求精 采用三种基本结构,消除goto语句 设计单入口、单出口的模
二、结构程序设计 1. 定义:结构化程序设计是一种设计程 序的技术,它采用自顶向下逐步求精 的设计方法和单入口单出口的控制结 构。 2. 结构化程序设计的要点 – 自顶向下逐步求精 – 采用三种基本结构,消除goto语句 – 设计单入口、单出口的模
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)