第5章 详细设计

上传人:油条 文档编号:3704848 上传时间:2017-08-05 格式:PPT 页数:62 大小:1.11MB
返回 下载 相关 举报
第5章 详细设计_第1页
第1页 / 共62页
第5章 详细设计_第2页
第2页 / 共62页
第5章 详细设计_第3页
第3页 / 共62页
第5章 详细设计_第4页
第4页 / 共62页
第5章 详细设计_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《第5章 详细设计》由会员分享,可在线阅读,更多相关《第5章 详细设计(62页珍藏版)》请在金锄头文库上搜索。

1、第五章 详细设计,第五章 详细设计,详细设计阶段的目的与任务,详细设计的目的: 为软件结构图 (SC) 中的每一个模块确定采用的算法和模块内数据结构,用某种选定的表达工具给出清晰的描述。,详细设计阶段的主要任务,详细设计说明书(GB8567 88),详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。因此,详细设计的结果基本上决定了最终的程序代码的质量。考虑程序代码的质量时必须注意,程序的“读者”有两个,那就是计算机和人。,5.1 结构程序设计,1965年 - E.W.Dijkstra提出 “可以从高级语言中取消GO TO语句”,“程

2、序的质量与程序中所包含的GO TO 语句的数量成反比”。1966年 - Bohm和Jacopini证明了:只用3种基本的控制结构(顺序、选择、循环)就能实现任何单入口单出口的程序。该证明为结构程序设计技术奠定了理论基础。1968年 - Dijkstra再次建议从一切高级语言中取消GO TO语句,只使用3种基本控制结构写程序。他的建议引起了激烈争论,要创立一种新的程序设计思想、方法和风格。1971年 - IBM公司在纽约时报信息库管理系统的设计中,在美国宇航局空间实验室飞行模拟系统的设计中,结构程序设计技术获得圆满成功。前者包含83 000行高级语言源程序,后者包含40万行源程序,而且在设计过程

3、中用户需求又曾有过很多改变。1972年 - IBM公司的Mills进一步提出,程序应该只有一个入口和一个出口,从而补充了结构程序设计的规则。,结构程序设计的经典定义如下所述:“如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。” “结构程序设计是尽可能少用GO TO语句的程序设计方法。最好仅在检测出错误时才使用GO TO语句,而且应该总是使用前向GO TO语句。”,5.2 人机界面设计,人机界面的设计质量,直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命,因此,必须对人机界面设计给予足够重视。近年来

4、,人机界面在系统中所占的比例越来越大,在个别系统中人机界面的设计工作量甚至占总设计量的一半以上。重要啊!,1. 人机界面设计问题,设计人机界面中的4个问题: 1)系统响应时间 2)用户帮助设施 3)出错信息处理 4)命令交互,1)系统响应时间,系统响应时间:指从用户完成某个控制动作(例如,按回车键或点击鼠标),到软件给出预期的响应(输出信息或做动作)之间的这段时间 - 是许多交互式系统用户经常抱怨的问题。两个重要属性,分别是长度和易变性。如果系统响应时间过长,用户就会感到紧张和沮丧。但是,当用户工作速度是由人机界面决定的时候,系统响应时间过短也不好,这会迫使用户加快操作节奏,从而可能会犯错误。

5、易变性:指系统响应时间相对于平均响应时间的偏差,在许多情况下,这是系统响应时间的更重要的属性。即使系统响应时间较长,响应时间易变性低也有助于用户建立起稳定的工作节奏。例如,稳定在1秒的响应时间比从0.1秒到2.5秒变化的响应时间要好。用户往往比较敏感,他们总是担心响应时间变化暗示系统工作出现了异常。,2)用户帮助设施,常见的帮助设施可分为集成的和附加的两类。集成的帮助设施从一开始就设计在软件里面,通常,它对用户工作内容是敏感的,因此用户可以从与刚刚完成的操作有关的主题中选择一个请求帮助。显然,这可以缩短用户获得帮助的时间,增加界面的友好性。附加的帮助设施是在系统建成后再添加到软件中的,在多数情

6、况下它实际上是一种查询能力有限的联机用户手册。人们普遍认为,集成的帮助设施优于附加的帮助设施。,2)用户帮助设施,具体设计帮助设施时,必须解决下述的一系列问题。 (1) 在用户与系统交互期间,是否在任何时候都能获得关于系统任何功能的帮助信息?有两种选择:提供部分功能的帮助信息和提供全部功能的帮助信息。 (2) 用户怎样请求帮助?有3种选择:帮助菜单,特殊功能键和HELP命令。 (3) 怎样显示帮助信息?有3种选择:在独立的窗口中,指出参考某个文档(不理想)和在屏幕固定位置显示简短提示。 (4) 用户怎样返回到正常的交互方式中?有两种选择:屏幕上的返回按钮和功能键。 (5) 怎样组织帮助信息?有

7、3种选择:平面结构,信息的层次结构和超文本结构。,3)出错信息处理,一般说来,交互式系统给出的出错信息或警告信息,应该具有下述属性。 (1) 信息应该用用户可以理解的术语描述问题。 (2) 信息应该提供有助于从错误中恢复的建设性意见。 (3) 信息应该指出错误可能导致哪些负面后果(例如,破坏数据文件),以便用户检查是否出现了这些问题,并在确实出现问题时及时解决。 (4) 信息应该伴随着听觉上或视觉上的提示,例如,在显示信息时同时发出警告铃声,或者信息用闪烁方式显示,或者信息用明显表示出错的颜色显示。 (5) 信息不能带有指责色彩,即:不能责怪用户。,4)命令交互,在提供命令交互方式时,必须考虑

8、下列设计问题。(1) 是否每个菜单选项都有对应的命令?(2) 采用何种命令形式?有3种选择:控制序列(例如,Ctrl+P),功能键和键入命令。(3) 学习和记忆命令的难度有多大?忘记了命令怎么办?(4) 用户是否可以定制或缩写命令?(5)在理想的情况下,所有应用软件都有一致的命令使用方法。如果在一个应用软件中命令Ctrl+D表示复制一个图形对象,而在另一个应用软件中Ctrl+D命令的含义是删除一个图形对象,显然会使用户感到困惑,并且往往会导致用错命令。,2.人机界面设计过程,用户界面设计是一个迭代的过程。,创建设计模型,用原型实现设计模型,由用户试用和评估,根据用户意见进行修改,3. 人机界面

9、设计指南,1)一般交互指南 一般交互指南涉及信息显示、数据输入和系统整体控制,因此,这类指南是全局性的,忽略它们将承担较大风险。,保持一致性。 应该为人机界面中的菜单选择、命令输入、数据显示以及众多的其他功能,使用一致的格式。(2) 提供有意义的反馈。 应向用户提供视觉的和听觉的反馈,以保证在用户和系统之间建立双向通信。在执行有较大破坏性的动作之前要求用户确认。 如果用户删除一个文件,或覆盖一些重要信息,或终止一个程序的运行,应该给出“您是否确实要”的信息,以请求用户确认他的命令。(4) 允许取消绝大多数操作。 UNDO或REVERSE功能曾经使众多终端用户避免了大量时间浪费。每个交互式系统都

10、应该能方便地取消已完成的操作。,(5) 减少在两次操作之间必须记忆的信息量。不应该期望用户能记住在下一步操作中需使用的一大串数字或标识符。应该尽量减少记忆量。(6) 提高对话、移动和思考的效率。应该尽量减少用户击键的次数,设计屏幕布局时应该考虑尽量减少鼠标移动的距离,应该尽量避免出现用户问“这是什么意思?”的情况。(7) 允许犯错误。系统应该能保护自己不受严重错误的破坏。(8) 按功能对动作分类,并据此设计屏幕布局。下拉菜单的一个主要优点就是能按动作类型组织命令。实际上,设计者应该尽力提高命令和动作组织的“内聚性”。(9) 提供对用户工作内容敏感的帮助设施。(10) 用简单动词或动词短语作为命

11、令名。过长的命令名难于识别和记忆,也会占用过多的菜单空间。,3. 人机界面设计指南,2) 信息显示指南 如果人机界面显示的信息是不完整的、含糊的或难于理解的,则该应用系统显然不能满足用户的需求。可以用多种不同方式“显示”信息:用文字、图形和声音;按位置、移动和大小;使用颜色、分辨率和省略。,只显示与当前工作内容有关的信息。 用户在获得有关系统的特定功能的信息时,不必看到与之无关的数据、菜单和图形。(2) 不要用数据淹没用户,应该用便于用户迅速吸取信息的方式来表示数据。 例如,可以用图形或图表来取代庞大的表格。使用一致的标记、标准的缩写和可预知的颜色。 显示的含义应该非常明确,用户无须参照其他信

12、息源就能理解。,(4) 允许用户保持可视化的语境。 如果对所显示的图形进行缩放,原始的图像应该一直显示着(以缩小的形式放在显示屏的一角),以使用户知道当前看到的图像部分在原图中所处的相对位置。(5) 产生有意义的出错信息。(6) 使用大小写、缩进和文本分组以帮助理解。 人机界面显示的信息大部分是文字,文字的布局和形式对用户从中提取信息的难易程度有很大影响。(7) 使用窗口分隔不同类型的信息。 利用窗口用户能够方便地“保存”多种不同类型的信息。(8) 使用“模拟”显示方式表示信息,以使信息更容易被用户提取。 例如,显示炼油厂储油罐的压力时,如果简单地用数字表示压力,则不易引起用户注意。但是,如果

13、用类似温度计的形式来表示压力,用垂直移动和颜色变化来指示危险的压力状况,就容易引起用户的警觉,因为这样做为用户提供了绝对和相对两方面的信息。(9) 高效率地使用显示屏。当使用多窗口时,应该有足够的空间使得每个窗口至少都能显示出一部分。此外,屏幕大小应该选得和应用系统的类型相配套(这实际上是一个系统工程问题)。,尽量减少用户的输入动作。 最重要的是减少击键次数,这可以用下列方法实现:用鼠标从预定义的一组输入中选一个;用“滑动标尺”在给定的值域中指定输入值;利用宏把一次击键转变成更复杂的输入数据集合。(2) 保持信息显示和数据输入之间的一致性。显示的视觉特征应该与输入域一致。(3) 允许用户自定义

14、输入。 专家级的用户可能希望定义自己专用的命令或略去某些类型的警告信息和动作确认,人机界面应该为用户提供这样做的机制。,3. 人机界面设计指南,3. 数据输入指南 用户的大部分时间用在选择命令、键入数据和向系统提供输入。在许多应用系统中,键盘仍然是主要的输入介质,但是,鼠标、数字化仪和语音识别系统正迅速地成为重要的输入手段,(4) 交互应该是灵活的,并且可调整成用户最喜欢的输入方式。 用户类型与喜好的输入方式有关,例如,秘书可能非常喜欢键盘输入,而经理可能更喜欢使用鼠标之类的点击设备。(5) 使在当前动作语境中不适用的命令不起作用。这可使得用户不去做那些肯定会导致错误的动作。(6) 让用户控制

15、交互流。 用户应该能够跳过不必要的动作,改变所需做的动作的顺序(在应用环境允许的前提下),以及在不退出程序的情况下从错误状态中恢复正常。(7) 对所有输入动作都提供帮助。(8) 消除冗余的输入。 除非可能发生误解,否则不要要求用户指定输入数据的单位;尽可能提供默认值;绝对不要要求用户提供程序可以自动获得或计算出来的信息。,5.3 过程设计的工具,描述程序处理过程的工具称为过程设计工具,它们可以分为图形、表格、和语言3类。不论是哪类工具,对它们的基本要求都是能提供对设计的无歧义的描述。即:应该能指明控制流程、处理功能、数据组织,以及其他方面的实现细节,从而在编码阶段能把对设计的描述直接翻译成程序

16、代码。,描述工具,1. 程序流程图,程序流程图也称为程序框图,它使用五种基本控制结构:,示例,程序流程图中使用的符号: (a) 选择(分支);(b) 注释;(c) 预先定义的处理;(d) 多分支;(e) 开始或停止;(f) 准备;(g) 循环上界限;(h)循环下界限;(i) 虚线;(j) 省略符;(k) 并行方式;(l) 处理;(m) 输入输出;(n) 连接;(o) 换页连接;(p) 控制流,从20世纪40年代末到70年代中期,程序流程图一直是软件设计的主要工具。它的主要优点是对控制流程的描绘很直观,便于初学者掌握。由于程序流程图历史悠久,为最广泛的人所熟悉,尽管它有种种缺点,许多人建议停止使用它,但至今仍在广泛使用着。不过总的趋势是越来越多的人不再使用程序流程图了。程序流程图的主要缺点如下: (1) 程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。 (2) 程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制 (3) 程序流程图不易表示数据结构。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

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