软件工程导论课件之第6章-详细设计(第六版)(张海潘编著)

上传人:今*** 文档编号:107225682 上传时间:2019-10-18 格式:PPT 页数:134 大小:3.35MB
返回 下载 相关 举报
软件工程导论课件之第6章-详细设计(第六版)(张海潘编著)_第1页
第1页 / 共134页
软件工程导论课件之第6章-详细设计(第六版)(张海潘编著)_第2页
第2页 / 共134页
软件工程导论课件之第6章-详细设计(第六版)(张海潘编著)_第3页
第3页 / 共134页
软件工程导论课件之第6章-详细设计(第六版)(张海潘编著)_第4页
第4页 / 共134页
软件工程导论课件之第6章-详细设计(第六版)(张海潘编著)_第5页
第5页 / 共134页
点击查看更多>>
资源描述

《软件工程导论课件之第6章-详细设计(第六版)(张海潘编著)》由会员分享,可在线阅读,更多相关《软件工程导论课件之第6章-详细设计(第六版)(张海潘编著)(134页珍藏版)》请在金锄头文库上搜索。

1、,软件生命周期,详细设计阶段的根本目标:确定应该怎样具体地实现所要求的系统。经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 结构程序设计技术是实现上述目标的关键技术,因此是详细设计的逻辑基础。,第6章 详细设计,6.1 结构程序设计 6.2 人机界面设计 6.3 过程设计的工具 6.4 面向数据结构的设计方法 6.5 程序复杂程度的定量度量,6.1 结构程序设计,结构程序设计的概念最早由E.W.Dijkstra提出。 1965年,他在一次会议上指出:“可以从高级语言中取消GOTO语句”,“程序的质量与程序中所包含的GO

2、TO语句的数量成反比”。 1966年Bohm和Jacopini证明了,只用三种基本的控制结构就能实现任何单入口单出口的程序。这三种基本的控制结构是“顺序”、“选择”和“循环”。 1972年IBM公司的Mills进一步提出,程序应该只有一个入口和一个出口,从而补充了结构程序设计的规则。,6.1 结构程序设计,1、经典定义:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 2、更全面定义:结构程序设计是尽可能少用GOTO语句的程序设计方法。最好仅在检测出错误时才使用GOTO语句,而且应该总是使用前向GOTO语句。

3、,3、为了实际使用方便起见,常常还允许使用DO-UNTIL和DO-CASE两种控制结构。 4、有时需要立即从循环(甚至嵌套的循环)中转移出来,允许使用LEAVE(或BREAK)结构。LEAVE或BREAK结构实质上是受限制的GOTO语句,用于转移到循环结构后面。,3种基本的控制结构,1)顺序结构:相当于“A、B”,三种基本控制结构,2)选择结构 相当于“If exp then A else B endif ”,3)循环结构:相当于“While exp do A”,1)多分支结构 相当于“Case I of I=1:C1; I=2:C2; I=3:C3; ; I=n:Cn”,扩充两种控制结构,2

4、)UNTIL循环结构 相当于“Repeat A Until exp”,经典的结构程序设计:只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环这3种基本控制结构; 扩展的结构程序设计:如果除了上述3种基本控制结构之外,还允许使用DO-CASE型多分支结构和DO-UNTIL型循环结构; 修正的结构程序设计:再加上允许使用LEAVE(或BREAK)结构。,结论:,6.2 人机界面设计,人机界面设计是接口设计的重要组成部分。对于交互式系统来说,人机界面设计和数据设计、体系结构设计及过程设计一样重要。 人机界面的设计质量,直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命,

5、必须对人机界面设计给予足够重视。,三条“黄金规则”: 置用户于控制之下 以不强迫用户进入不必要的或不希望的动作的方式来定义交互方式;允许用户交互可以被中断和撤消;设计应允许用户和出现在屏幕上的对象直接交互。 减少用户记忆负担 减少用户对短期记忆的要求,建立有意义的缺省,定义直觉性的捷径,快捷方式,界面的视觉布局应该基于真实世界的需要。 保持界面一致 用户应以一致的方式展示和获取信息,所有可视信息的组织均按照贯穿一直的设计标准,各应用系列内保持一致性,如过去的交互模型已建立起了用户期望,除非有迫不得已的理由,不要改变它。,6.2.1 设计问题,设计人机界面过程中会遇到的4个问题: 系统响应时间

6、用户帮助设施 出错信息处理 命令交互,1. 系统响应时间 系统响应时间指从用户完成某个控制动作,到软件给出预期的响应之间的这段时间。系统响应时间有两个重要属性:长度和易变性。 长度:如果系统响应时间过长,用户就会感到紧张和沮丧;系统响应时间过短会迫使用户加快操作节奏,从而可能会犯错误。 易变性:指系统响应时间相对于平均响应时间的偏差,即使系统响应时间较长,响应时间易变性低也有助于用户建立起稳定的工作节奏。,2. 用户帮助设施 大多数现代软件都提供联机帮助设施,用户无须离开用户界面就能解决自己的问题。常见的帮助设施可分为集成的和附加的两类。 集成的帮助设施设计在软件里面,它对用户工作内容是敏感的

7、,用户可以从与刚刚完成的操作有关的主题中选择一个请求帮助。 附加的帮助设施是在系统建成后再添加到软件中的,它实际上是一种查询能力有限的联机用户手册。 集成的帮助设施优于附加的帮助设施。,具体设计帮助设施时,须解决下述一系列问题 (1)在用户与系统交互期间,是否在任何时候都能获得关于系统任何功能的帮助信息? 有两种选择; 提供部分功能的帮助信息; 提供全部功能的帮助信息。 (2)用户怎样请求帮助? 有3种选择: 帮助菜单; 特殊功能键; HELP命令。,(3)怎样显示帮助信息? 有3种选择: 在独立的窗口中; 指出参考某个文档(不理想); 在屏幕固定位置显示简短提示。 (4)用户怎样返回到正常的

8、交互方式中? 有两种选择: 屏幕上的返回按钮; 功能键。,(5)怎样组织帮助信息? 有3种选择: 平面结构(所有信息都通过关键字访问); 信息的层次结构(在该结构中查到更详细的信息) 超文本结构。,3出错信息处理,出错信息和警告信息,是出现问题时交互式系统给出的“坏消息”。出错信息设计得不好,将向用户提供无用的甚至误导的信息,反而会加重用户的挫折感。 应该具有下述属性 (1)信息应该用用户可以理解的术语描述问题。 (2)信息应该提供有助于从错误中恢复的建设性意见。,(3)信息应该指出错误可能导致哪些负面后果(如破坏数据文件),以便用户检查是否出现了这些问题,并在确实出现问题时及时解决。 (4)

9、信息应该伴随着听觉上或视觉上的提示,例如,在显示信息时同时发出警告铃声,或者信息用闪烁方式显示,或者信息用明显表示出错的颜色显示。 (5)信息不能带有指责色彩,也就是说,不能责怪用户。,4命令交互,命令行曾经是用户和系统软件交互的最常用的方式,并且也曾经广泛地用于各种应用软件中。 现在,面向窗口的点击的方式的界面已经减少了用户对命令行的依赖,但是,许多高级用户仍然偏爱面向命令行的交互方式。 在多数情况下,用户既可以从菜单中选择软件功能,也可以通过键盘命令序列调用软件功能。 必须考虑下列设计问题,(1)是否每个菜单选项都有对应的命令? (2)采用何种命令形式?有3种选择:控制序列(例如,Ctrl

10、十P),功能键和键入命令。 (3)学习和记忆命令的难度有多大?忘记了命令怎么办? (4)用户是否可以定制或缩写命令? 在越来越多的应用软件中,人机界面设计者都提供了“命令宏机制” 在理想的情况下,所有应用软件都有一致的命令使用方法。,6.2.2 设计过程,用户界面设计是一个迭代的过程,也就是说,通常先创建设计模型,再用原型实现这个设计模型,并由用户试用和评估,然后根据用户意见进行修改。 为了支持上述迭代过程,各种用于界面设计和原型开发的软件工具应运而生。这些工具被称为用户界面工具箱或用户界面开发系统。,评估标准,(1) 系统及其界面的规格说明书的长度和复杂程度,预示了用户学习使用该系统所需要的

11、工作量。 (2) 命令或动作的数量、命令的平均参数个数或动作中单个操作的个数,预示了系统的交互时间和总体效率。 (3) 设计模型中包含的动作、命令和系统状态的数量,预示了用户学习使用该系统时需要记忆的内容的多少。 (4) 界面风格、帮助设施和出错处理协议,预示了界面的复杂程度及用户接受该界面的程度。,6.2.3 人机界面设计指南,一般交互指南 信息显示指南 数据输入指南,1一般交互指南,一般交互指南涉及信息显示、数据输入和系统整体控制 (1)保持一致性。应该为人机界面中的菜单选择、命令输入、数据显示以及众多的其他功能,使用一致的格式。 (2)提供有意义的反馈。应向用户提供视觉的和听觉的反馈,以

12、保证在用户和系统之间建立双向通信。 (3)在执行有较大破坏性的动作之前要求用户确认。如果用户要删除一个文件,或覆盖一些重要信息,或终止一个程序的运行,应该给出“您是否确实要”的信息,以请求用户确认他的命令。,(4)允许取消绝大多数操作。UNDO或REVERSE功能曾经使众多终端用户避免了大量时间浪费。每个交互式系统都应该能方便地取消已完成的操作。 (5)减少在两次操作之间必须记忆的信息量。不应该期望用户能记住在下一步操作中需使用的一大串数字或标识符。应该尽量减少记忆量。 (6)提高对话、移动和思考的效率。应该尽量减少用户击键的次数,设计屏幕布局时应该考虑尽量减少鼠标移动的距离,应该尽量避免出现

13、用户问“这是什么意思?”的情况。 (7)允许犯错误。系统应该能保护自己不受严重错误的破坏。,(8)按功能对动作分类,并据此设计屏幕布局。下拉菜单的一个主要优点就是能按动作类型组织命令。实际上,设计者应该尽力提高命令和动作组织的“内聚性”。 (9)提供对用户工作内容敏感的帮助设施。 (10)用简单动词或动词短语作为命令名。过长的命令名难于识别和记忆,也会占用过多的菜单空间。,颜色使用指南: 一个窗口中不应该出现5种以上不同色系的颜色。一般的,尽量少用不同的颜色总是好的。 如果一个图表中仅包含几种颜色,背景应该选用其中一种颜色的补色:如果一幅图中包含许多颜色,背景应该选用一种中性的颜色,如灰色。

14、如果两个相邻的颜色不是特别和谐,可以用细的黑色边框将它们分开。 背景和字体颜色应选用对比度强的颜色。 颜色的应用要适度,装饰性的使用服从功能性的使用。 区域的颜色实际上能够影响他的观察尺寸。 使用高饱和度(亮)颜色的大区域是不明智的。 红色和蓝色具有最强的深度不一致的效果,红色看起来近,蓝色看起来远。,黄月亮和蓝月亮日本立命馆大学心理学家北冈秋吉设计 两个月亮的颜色完全相同,唯一不同的便是周围的颜色,怀特效应 左右两边的灰条实际是一样的颜色,但是给人的感觉是右边颜色比较深,蓝宝石之光,斯特鲁普效应,2信息显示指南,如果人机界面显示的信息是不完整的、含糊的或难于理解的,则不能满足用户需求。可以用

15、多种不同方式“显示”信息:用文字、图形和声音;按位置、移动和大小;使用颜色、分辨率和省略。 关于信息显示的设计指南 如下: (1)只显示与当前工作内容有关的信息。 (2)不要用数据淹没用户,应该用便于用户迅速吸取信息的方式来表示数据。,(3)使用一致的标记、标准的缩写和可预知的颜色。显示的含义应该非常明确,用户无须参照其他信息源就能理解。 (4)允许用户保持可视化的语境。如果对显示的图形进行缩放,原始的图像应该一直显示着。 (5)产生有意义的出错信息(参见621节)。 (6)使用大小写、缩进和文本分组以帮助理解。 (7)使用窗口分隔不同类型的信息。,(7)使用窗口分隔不同类型的信息。,(8)使

16、用“模拟”显示方式表示信息,以使信息更容易被用户提取。 例如,显示炼油厂储油罐的压力时,如果简单地用数字表示压力,则不易引起用户注意。但是,如果用类似温度计的形式来表示压力,用垂直移动和颜色变化来指示危险的压力状况,就容易引起用户的警觉。 (9)高效率地使用显示屏。 当使用多窗口时,应该有足够的空间使得每个窗口至少都能显示出一部分。此外,屏幕大小应该选得和应用系统的类型相配套。,3数据输入指南,用户的大部分时间用在选择命令、输入数据和向系统提供输入。数据输入指南设计如下: (1)尽量减少用户的输入动作。重要的是减少击键次数。 (2)保持信息显示和数据输入之间的一致性。 (3)允许用户自定义输入。 (4)交互应该是灵活的,并且可调整成用户最喜欢的输入方式。 (5)使在当前动作语境中不适用的命令不起作用。 (6)让用户控制交互流。 (7)对所有输入动作都提供帮助 (8)消除冗余的输入。,6.3 过程设计的工具 描述程序处理过程的工具叫程序设计工具,分为图形、表格、和语言3类,必须提供对设计的无歧义的描述,以便控制流程、处理数据、数据组织、等方面的实现细节。,

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

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

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