[计算机软件及应用]第5章详细设计NEW
教学重、难点 1.掌握软件详细设计的基本任务。(重点) 2.掌握结构化设计中过程描述的工具。(难点) 3.掌握面向对象方法。(难点) 4.理解用户界面设计要求。(重点) 1 、详细设计介绍 详细设计的根本目标是: 确定应该怎样具体地实现所要求的系统。 经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 详细设计的任务 主要确定每个模块具体执行过程,具体包括: 为每个模块进行详细的算法设计。 为模块内的数据结构进行设计。 对数据库进行物理设计。 其他设计,如:代码设计、输入/输出格式设计、人机对话设计。 编写详细设计说明书。 评审 详细设计的原则 模块的逻辑描述正确可靠、清晰易读。 采用结构化程序设计方法,改善控制结构,降低程序复杂度,提高程序的可读性、可测试性和可维护性。 什么是结构化程序设计? 结构化程序设计是一种设计程序的技术,它采用自顶向下,逐步求精的设计方法和单入口单出口的控制结构。 如何实现单入口单出口的控制结构? 只用3种基本的控制结构(顺序、选择、循环)就能实现任何单入口单出口的程序。 使用结构程序设计技术的好处: 1)降低程序复杂度,从而提高软件开发工程的成功率和生产率; 2)系统有清晰的层次结构,容易阅读理解; 3)单入口单出口的控制结构,容易诊断纠正; 4)模块化可以使得软件可以重用; 5)程序逻辑结构清晰,有利于程序正确性证明。 详细设计的描述工具 程序流程图 N-S图 PAD图 PDL语言 1 程序流程图 一种描述程序的控制结构流程和指令执行情况的有向图。 循环的标准符号 多出口判断 程序流程图的优缺点 主要优点: 对控制流程的描绘很直观,便于初学者掌握。 主要缺点: 程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。 程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。 程序流程图不易表示数据结构。 2 N-S图 N-S图也叫做盒图。 五种基本控制结构由五种图形构件表示。 N-S图的嵌套定义形式 N-S图的特点 功能域(即,一个特定控制结构的作用域)明确,可以从盒图上一眼就看出来。 不可能任意转移控制。 很容易确定局部和全程数据的作用域。 很容易表示嵌套关系,也可以表示模块的层次结构。 盒图没有箭头,因此不允许随意转移控制。 3.PAD图 PAD是问题分析图(Problem Analysis Diagram)的英文缩写,自1973年由日本日立公司发明以后,已得到一定程度的推广。 它用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。 3 问题分析图(PAD) PAD也设置了五种基本控制结构的图式,并允许递归使用。 举例:将下列伪代码转换成PAD表示 3.PAD图的主要优点 使用表示结构化控制结构的PAD符号所设计出来的程序必然是结构化程序。 PAD图所描绘的程序结构十分清晰。 图中最左面的竖线是程序的主线,即第一层结构。 随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。 PAD图中竖线的总条数就是程序的层次数。 3.PAD图的主要优点 用PAD图表现程序逻辑,易读、易懂、易记。 PAD图是二维树形结构的图形,程序从图中最左竖线上端的结点开始执行,自上而下,从左向右顺序执行,遍历所有结点。 容易将PAD图转换成高级语言源程序。 这种转换可用软件工具自动完成,从而可省去人工编码的工作,有利于提高软件可靠性和软件生产率。 4.判定表 当算法中包含多重嵌套的条件选择时,用程序流程图、盒图、PAD图或过程设计语言(PDL)都不易清楚地描述。 然而判定表却能够清晰地表示复杂的条件组合与应做的动作之间的对应关系。 判定表组成 判定表由四部分组成: 左上部列出所有条件 左下部是所有可能做的动作 右上部表示各种条件组合 右下部是和每种条件组合相对应的动作 例子:计算行李费 假设某航空公司规定,乘客可以免费托运重量不超过30公斤的行李。 当行李重量超过30公斤时: 对头等舱的国内乘客超重部分每公斤收费4元; 对其他舱的国内乘客超重部分每公斤收费6元; 对外国乘客超重部分每公斤收费比国内乘客多一倍; 对残疾乘客超重部分每公斤收费比正常乘客少一半。 用判定表表示计算行李费算法 判定表的缺点: 判定表虽然能清晰地表示复杂的条件组合与应做的动作之间的对应关系,但其含义却不是一眼就能看出来,初次接触这种工具的人理解需要一个学习的过程。 当数据元素的值多于两个时,判定表的简洁程序将下降。 5.判定树 判定树是判定表的变种,也能清晰地
原创力文档

文档评论(0)