软件工程6.详细设计剖析

上传人:我** 文档编号:117874907 上传时间:2019-12-11 格式:PPT 页数:43 大小:567.50KB
返回 下载 相关 举报
软件工程6.详细设计剖析_第1页
第1页 / 共43页
软件工程6.详细设计剖析_第2页
第2页 / 共43页
软件工程6.详细设计剖析_第3页
第3页 / 共43页
软件工程6.详细设计剖析_第4页
第4页 / 共43页
软件工程6.详细设计剖析_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《软件工程6.详细设计剖析》由会员分享,可在线阅读,更多相关《软件工程6.详细设计剖析(43页珍藏版)》请在金锄头文库上搜索。

1、第六章第六章 详细设计详细设计 n n 结构程序设计结构程序设计 n n 人机界面设计人机界面设计 n n 过程设计的工具过程设计的工具 n n 面向数据结构的设计方法面向数据结构的设计方法 n n 程序复杂程度的定量度量程序复杂程度的定量度量 1 6.1 6.1 结构程序过程结构程序过程 n来源:取消程序设计语言中GO TO 语句 。程序的质量与程序中所包含的GO TO 语句的数量成反比。 n经典定义:如果一个程序的代码块仅仅 通过顺序、选择和循环这3种基本控制 结构进行连接,并且每个代码块只有一 个入口和一个出口,则称这个程序是结 构化的。 n结构程序设计的本质:使程序代码容易 阅读、容易

2、理解;尽可能少用GO TO语 句。 2 经典的结构程序设计经典的结构程序设计 只允许使用顺序、IF-THEN-ELSE型 分支和DO-WHILE型循环这3种基本控制结 构。 3 扩展的结构程序设计扩展的结构程序设计 除了上述3种基本控制结构之外,还允许使 用DO-CASE型多分支结构和DO-UNTIL型循环结构 。 4 修正的结构程序设计修正的结构程序设计 n在扩展的结构程序设计的基础上,再加上 LEAVE(或BREAK)、CONTINUE结构的使用。 nLEAVE或BREAK结构:用于转移到循环结构 后面的语句,实质是受限制的GO TO 语句 。 nCONTINUE结构:用于结束当前循环的本

3、次 循环体的执行,转入当前循环的下次循环 的判断或执行。 5 6.2 6.2 人机界面设计人机界面设计 n n 设计问题设计问题 n n 设计过程设计过程 n n 人机界面设计指南人机界面设计指南 6 人机界面设计问题:人机界面设计问题:系统响应时间系统响应时间 n n 定义:定义:系统响应时间指从用户完成某个 控制动作(例如,按回车键或点击鼠标) ,到软件给出预期的响应(输出信息或 做动作)之间的这段时间。 n n 衡量指标:衡量指标: u长度 u易变性:系统响应时间相对于平均响 应时间的偏差。 7 人机界面设计问题:人机界面设计问题:用户帮助设施用户帮助设施 n n 分类分类 u集成的帮助

4、设施 u附加的帮助设施:查询能力有限的联机用户手册。 n n 设计问题:设计问题: u交互过程中功能的获取:提供部分功能的帮助信息 和提供全部功能的帮助信息。 u请求帮助的方式:帮助菜单,特殊功能键、HELP命 令。 u帮助信息的显示形式:在独立的窗口中、指出参考 某个文档(不理想)、在屏幕固定位置显示简短提示 。 u退出帮助系统、返回到正常的交互方式:屏幕上的 返回按钮、功能键。 u帮助信息的组织形式:平面结构(关键字查询), 信息的层次结构、超文本结构。 8 人机界面设计问题:人机界面设计问题:出错信息处理出错信息处理 u信息应该用用户可以理解的术语描述问题 。 u信息应该提供有助于从错误

5、中恢复的建设 性意见。 u信息应该指出错误可能导致哪些负面后果 (例如,破坏数据文件),以便用户检查是 否出现了这些问题,并在确实出现问题时 及时解决。 u信息应该伴随着听觉上或视觉上的提示。 u信息不能带有指责色彩。 9 人机界面设计问题:人机界面设计问题:命令交互命令交互 u每个菜单选项是否都需要对应的命令 ? u采用何种命令形式:控制序列(例如, Ctrl+P),功能键、键入命令 u学习和记忆命令的难度有多大?忘记了 命令怎么办? u用户是否可以定制或缩写命令?命令宏 机制 u所有应用软件应遵循一致的命令使用方法: 即命令命名相同,功能和操作方式都应该相 同。 10 人机界面设计过程人机

6、界面设计过程 n n 创建设计模型创建设计模型 n n 早期复审设计模型(早期复审设计模型(可选可选) n n 原型实现设计模型原型实现设计模型 n n 用户试用和评估用户试用和评估 n n 修改修改 11 人机界面设计:人机界面设计:一般交互指南一般交互指南 n涉及信息显示、数据输入和系统整体控制。 u保持一致性:菜单选择、命令输入、数据显示以 及众多的其他功能,使用一致的格式。 u提供有意义的反馈:视觉的和听觉的反馈。 u在执行有较大破坏性的动作之前要求用户确认。 u允许取消绝大多数操作:方便地取消已完成的操 作。 u减少在两次操作之间必须记忆的信息量。 u提高对话、移动和思考的效率:减少

7、用户击键的 次数、设计屏幕布局时考虑尽量减少鼠标移动的 距离、避免用户问“这是什么?”的情况。 u允许犯错误:系统能保护自己不受严重错误的破 坏。 u按功能对动作分类,并据此设计屏幕布局 u提供对用户工作内容敏感的帮助设施。 u用简单动词或动词短语作为命令名。 12 人机界面设计:人机界面设计:信息显示指南信息显示指南 u多种方式显示信息:文字、图形和声音;按位置、移动和大小 ;颜色、分辨率和省略。 u只显示与当前工作内容有关的信息。 u使用方便用户获取信息的方式表示数据:例如,可以用图形或 图表来取代庞大的表格。 u使用一致的标记、标准的缩写和可预知的颜色:显示的含义应 该非常明确,用户无须

8、参照其他信息源就能理解。 u允许用户保持可视化的语境。如果缩放图像,原始的图像应该 一直显示着,使用户知道当前看到的图像部分在原图中所处的 相对位置。 u产生有意义的出错信息。 u使用大小写、缩进和文本分组以帮助理解。 u使用窗口分隔不同类型的信息。 u使用“模拟”显示方式表示现实信息:例如,可用温度计的形 式来表示压力,用垂直移动和颜色变化来指示危险的压力状况 。 u高效率地使用显示屏。多窗口时,应该有足够的空间使得每个 窗口至少都能显示出一部分。此外,屏幕大小应该选得和应用 系统的类型相配套。 13 人机界面设计:人机界面设计:数据输入指南数据输入指南 u尽量减少用户的输入动作。 u保持信

9、息显示和数据输入之间的一致性。 u允许用户自定义输入。 u交互方式是可选的,可调整成用户最喜欢的输入 方式。 u使在当前动作语境中不适用的命令不起作用。 u让用户控制交互流:用户能够跳过不必要的动作 ,改变所需做的动作的顺序(在应用环境允许的前 提下),以及在不退出程序的情况下从错误状态中 恢复正常。 u对所有输入动作都提供帮助。 u消除冗余的输入:一般不要求用户指定输入数据 的计量单位;尽可能提供默认值;绝对不要用户 提供程序可以自动获得或计算出来的信息。 14 6.3 6.3 过程设计的工具过程设计的工具 n n 程序流程图程序流程图 n n 盒图(盒图(N-SN-S图)图) n n PA

10、DPAD图图 n n 判定表判定表 n n 判定树判定树 n n 过程设计语言过程设计语言 15 程序流程图程序流程图( (一一) ) 图图6.3 6.3 程序流程图中的符号程序流程图中的符号 16 程序流程图(二)程序流程图(二) n n 优点:优点:直观的描绘控制流程。直观的描绘控制流程。 n n 缺点:缺点: uu诱导程序员过早考虑程序的控制诱导程序员过早考虑程序的控制 流程,而忽略程序的全局结构;流程,而忽略程序的全局结构; uu使用箭头描绘的控制流缺乏相应使用箭头描绘的控制流缺乏相应 的约束条件,程序员转移控制的的约束条件,程序员转移控制的 随意性大;随意性大; uu不易表示数据结构

11、。不易表示数据结构。 17 盒图(一)盒图(一) n n 特点特点 u功能域明确(特定控制结构的作用 域),容易识别; u没有箭头,不可能任意转移控制; u容易确定局部和全局数据的作用域 ; u容易描述嵌套关系,模块的层次结 构。 18 盒图盒图 (二)(二) 图6.4 盒图的基本符号 19 PADPAD图图(一一) n特点:使用二维树形结构图表示程序的控制流。 图6.5给出PAD图的基本符号 20 PADPAD图图(二)(二) n n 特点特点 u面向结构化程序设计; u清晰的描绘程序结构:最左面的竖线是程序的 主线;PAD图向右延伸扩展一条竖线,即增加一 个层次。即:竖线的总条数就是程序的

12、层次数; u描绘的程序逻辑,易读、易懂、易记:PAD图是 二维树形结构的图形,程序从图中最左竖线上端 的结点开始执行,自上而下,从左向右顺序执行 ,遍历所有结点; u容易转换成高级语言源程序; u可描绘程序逻辑,数据结构。 uPAD图支持自顶向下、逐步求精的定义方法。 21 图6.6 PAD图提供的定义功能 22 判定表判定表 n表示复杂的条件组合与动作之间的对应关系; n一张判定表由4部分组成: u左上部:所有条件; u左下部:所有可能做的动作; u右上部:表示各种条件组合的一个矩阵; u右下部:与每种条件组合相对应的动作。 n示例说明:P118 表6.1 u乘客可免费托运重量不超过30kg

13、的行李; u对头等舱的国内乘客超重部分每公斤收费4元; u对其他舱的国内乘客超重部分每公斤收费6元; u对外国乘客超重部分每公斤收费比国内乘客多一倍; u对残疾乘客超重部分每公斤收费比正常乘客少一半。 n优点:简洁地描述处理规则; n缺点:非通用设计工具,不能清晰地表示顺序和重复 等处理特性。 23 判定树判定树 n n 判定表的变种;判定表的变种; n n 优点:形式简单,易于掌握与使用。优点:形式简单,易于掌握与使用。 图图6.76.7判定树标识的计算行李费的算法判定树标识的计算行李费的算法 24 过程设计语言过程设计语言 n n 特点:特点: u关键字描述的固定语法:提供结构化控制结构、

14、数 据说明和模块化的特点。 u自然语言的自由语法:描述处理特点。 u说明数据的多种方式:整数/数组/链表等 u模块定义和调用时说明接口的模式 n n 优点:优点: u作为注释直接插在源程序中间; u容易实现和完成PDL的书写和编辑工作; u自动由PDL生成程序代码。 n n 缺点:缺点: u不如图形工具形象直观; u描述复杂的条件组合与动作间的对应关系时,不如 判定表清晰简单。 25 6.4 6.4 面向数据结构的设计方法面向数据结构的设计方法 u面向数据结构的设计方法概述 uJackson图 uu改进的改进的JacksonJackson图图 uJackson方法 26 面向数据结构的设计方法

15、概述面向数据结构的设计方法概述 1.1.数据结构数据结构: :数据元素彼此间的逻辑关系 u影响程序的结构 u影响程序的处理过程 2. 2. 应用:应用:确定软件结构之后,使用面向数据 结构的方法设计每个模块的处理过程。 3. 3. 目的:目的:获得对程序处理过程的描述 4. 4. 方法:方法:分析确定描述数据结构 uuJacksonJackson uWarnier 27 JacksonJackson图:图:顺序结构顺序结构 数据由一个或多个数据元素组成,每 个元素按确定次序出现一次。 图6.8 A由B、C、D 3个元素顺序组成 28 JacksonJackson图:图:选择结构选择结构 数据包

16、含两个或多个数据元素,每次使用这 个数据时按一定条件从这些数据元素中选择一个 。 图6.9 根据条件A是B或C或D中的某一个 29 JacksonJackson图:图:循环结构循环结构 数据根据使用时的条件由一个数据元素出现 零次或多次构成。 图6.10 A由B出现N次(N0)组成 30 JacksonJackson图的优点、缺点图的优点、缺点 n n 优点优点 u形象、直观、可读性好; u便于表示层次结构,是对结构进行自顶 向下分解的有力工具; u能够有效地表示数据结构、程序结构。 n n 缺点缺点 u选择条件或循环结束条件不能直接表示 在图上; u影响直接把图翻译成程序。 31 图图6.11 6.11 改进的改进的JacksonJackson图图 32 伪码表示方式伪码表示方式 顺序结构 A seq B C D A end 选择结

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号