软件工程导论课件之第6章-详细设计(第五版)(张海潘编著).ppt
第6章详细设计;详细设计阶段的根本目标:确定应该怎样具体地实现所要求的系统。经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
结构程序设计技术是实现上述目标的关键技术,因此是详细设计的逻辑根底。;6.1结构程序设计;为了实际使用方便起见,常常还允许使用DO-UNTIL和DO-CASE两种控制结构。
有时需要立即从循环(甚至嵌套的循环)中转移出来,允许使用LEAVE(或BREAK)结构。LEAVE或BREAK结构实质上是受限制的GOTO语句,用于转移到循环结构后面。;3种根本的控制结构;其他常用的控制结构;经典的结构程序设计:只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环这3种根本控制结构;
扩展的结构程序设计:如果除了上述3种根本控制结构之外,还允许使用DO-CASE型多分支结构和DO-UNTIL型循环结构;
修正的结构程序设计:再加上允许使用LEAVE(或BREAK)结构。;6.2人机界面设计;三条“黄金规那么”:
置用户于控制之下。
减少用户记忆负担。
保持界面一致。;6.2.1设计问题;1.系统响应时间
系统响应时间指从用户完成某个控制动作,到软件给出预期的响应之间的这段时间。系统响应时间有两个重要属性:长度和易变性。
长度:如果系统响应时间过长,用户就会感到紧张和沮丧;系统响应时间过短会迫使用户加快操作节奏,从而可能会犯错误。
易变性:指系统响应时间相对于平均响应时间的偏差,即使系统响应时间较长,响应时间易变性低也有助于用户建立起稳定的工作节奏。;2.用户帮助设施
大多数现代软件都提供联机帮助设施,用户无须离开用户界面就能解决自己的问题。常见的帮助设施可分为集成的和附加的两类。
集成的帮助设施设计在软件里面,它对用户工作内容是敏感的,用户可以从与刚刚完成的操作有关的主题中选择一个请求帮助。
附加的帮助设施是在系统建成后再添加到软件中的,它实际上是一种查询能力有限的联机用户手册。
集成的帮助设施优于附加的帮助设施。;3.出错信息处理
出错信息和警告信息,是出现问题时交互式系统给出的“坏消息”。
4.命令交互
多???情况下,用户既可以从菜单中选择软件功能,也可以通过键盘命令序列调用软件功能。
在理想的情况下,所有应用软件都有一致的命令使用方法。;6.2.2设计过程;;6.2.3人机界面设计指南;颜色使用指南:
一个窗口中不应该出现5种以上不同色系的颜色。一般的,尽量少用不同的颜色总是好的。
如果一个图表中仅包含几种颜色,背景应该选用其中一种颜色的补色:如果一幅图中包含许多颜色,背景应该选用一种中性的颜色,如灰色。
如果两个相邻的颜色不是特别和谐,可以用细的黑色边框将它们分开。
背景和字体颜色应选用比照度强的颜色。
颜色的应用要适度,装饰性的使用服从功能性的使用。
区域的颜色实际上能够影响他的观察尺寸。
使用高饱和度(亮)颜色的大区域是不明智的。
红色和蓝色具有最强的深度不一致的效果,红色看起来近,蓝色看起来远。;黄月亮和蓝月亮;怀特效应;蓝宝石之光;斯特鲁普效应;6.3过程设计的工具
6.3.1程序流程图;程序流程图中使用的符号;程序流程图的主要缺点:
程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。
程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。
程序流程图不易表示数据结构。;6.3.2盒图(N-S图);盒图的根本符号;6.3.3PAD图;PAD图的根本符号;PAD图的主要优点如下:
使用表示结构化控制结构的PAD符号设计出来的程序必然是结构化程序。
PAD图所描绘的程序结构十分清晰。
PAD图表现程序逻辑易读、易懂、易记。
容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成。
即可表示程序逻辑,也可描绘数据结构。
PAD图的符号支持自顶向下、逐步求精方法的使用。;;例题:某程序流程图如右图所示,请分别用N-S图和PAD图表示。;a;
x8;6.3.4判定表;一张判定表由4局部组成:
左上部列出所有条件;
左下部是所有可能做的动作;
右上部是表示各种条件组合的一个矩阵;
右下部是和每种条件组合相对应的动作。;例题:
假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李。
当行李重量超过30kg时,对头等舱的国内乘客超重局部每公斤收费4元,对其他舱的国内乘客超重局部每公斤收费6元。
对外国乘客超重局部每公斤收费比国内乘客多一倍,对残疾乘客超重局部每公斤收费比正常乘客少一半。;表6.1用判定表表示计算行李费的算法;判