软件工程概论ch05-1-详细设计课件.ppt

上传人(卖家):晟晟文业 文档编号:4930647 上传时间:2023-01-26 格式:PPT 页数:173 大小:1.30MB
下载 相关 举报
软件工程概论ch05-1-详细设计课件.ppt_第1页
第1页 / 共173页
软件工程概论ch05-1-详细设计课件.ppt_第2页
第2页 / 共173页
软件工程概论ch05-1-详细设计课件.ppt_第3页
第3页 / 共173页
软件工程概论ch05-1-详细设计课件.ppt_第4页
第4页 / 共173页
软件工程概论ch05-1-详细设计课件.ppt_第5页
第5页 / 共173页
点击查看更多>>
资源描述

1、第第5 5章章 软件详细设计软件详细设计2第第5章章 详细设计详细设计n5.1 结构程序设计结构程序设计n5.2 人机界面设计人机界面设计n5.3 过程设计的工具过程设计的工具n5.4 面向数据结构的设计方法面向数据结构的设计方法n5.5 程序复杂程度的定量度量程序复杂程度的定量度量n5.6 小结小结3概述概述n 目标目标n 任务任务n 关于代码质量关于代码质量4目标 详细设计阶段的成果,是软件编程的直接依据详细设计阶段的成果,是软件编程的直接依据 目标目标得到详细的程序结构等对目标系统的精得到详细的程序结构等对目标系统的精确描述,以便编码阶段可以将其直接翻译成程序;确描述,以便编码阶段可以将

2、其直接翻译成程序;具体讲,应该把具体讲,应该把“程序流程程序流程”、“人机界面人机界面”、“数据结构数据结构”、“信息代码信息代码”等都要在等都要在“如何使如何使用程序实现?用程序实现?”这个问题上进行落实。这个问题上进行落实。5任务不是编程,而是设计出程度流程等详细的软件实现方案,以便据此写代码不是编程,而是设计出程度流程等详细的软件实现方案,以便据此写代码具体包括具体包括:程序流程设计程序流程设计;模块算法设计模块算法设计;数据结构设计数据结构设计;数据库设计数据库设计;其他其他:代码设计代码设计;输入输入/输出设计输出设计;人机对话设计人机对话设计;拟订单元测试计划拟订单元测试计划;编写

3、详细设计说明书编写详细设计说明书评审评审6测试计划的制定与执行分开!需求需求&系统测试计划系统测试计划概设概设&集成测试计划集成测试计划详设详设&单元测试计划单元测试计划编码编码系统测试系统测试集成测试集成测试单元测试单元测试7关于的代码质量 考虑程序代码的质量时必须注意,程序的考虑程序代码的质量时必须注意,程序的“读者读者”除了除了“计算机计算机”还有还有“人人”。设计测试方案、诊断程序错误、修改和改进程序等设计测试方案、诊断程序错误、修改和改进程序等等都必须首先读懂程序等都必须首先读懂程序 程序发布以后,维护、修改程序的时间比编程的时程序发布以后,维护、修改程序的时间比编程的时间长的多,因

4、此,衡量程序的质量不仅要看它的逻间长的多,因此,衡量程序的质量不仅要看它的逻辑是否正确,性能是否满足要求,更主要的是要看辑是否正确,性能是否满足要求,更主要的是要看它是否容易阅读和理解它是否容易阅读和理解 结构程序设计技术结构程序设计技术是实现上述目标的关键技术是实现上述目标的关键技术8基本步骤基本步骤v 确定模块如何实现确定模块如何实现v 编写详细设计说明书编写详细设计说明书v 制定单元测试计划制定单元测试计划v 详细设计评审详细设计评审五、详细设计说明书五、详细设计说明书1 引言引言1.1 编写目的:阐明编写详细设计说明书的目的,指明读者对象。编写目的:阐明编写详细设计说明书的目的,指明读

5、者对象。1.2 项目背景:应包括项目的来源和主管部门等。项目背景:应包括项目的来源和主管部门等。1.3 定义:列出本文档中所用到的专门术语的定义和缩写词的愿意。定义:列出本文档中所用到的专门术语的定义和缩写词的愿意。1.4 参考资料:参考资料:列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源项目经核准的计划任务书、合同或上级机关的批文;项目开发计划;需求规格说明书;项目经核准的计划任务书、合同或上级机关的批文;项目开发计划;需求规格说明书;概要设计说明书;测试计划(初稿);用户操作手册概要设计说明书;测试计划(初稿);用户

6、操作手册 文档所引用的资料、软件开发的标准或规范。文档所引用的资料、软件开发的标准或规范。2 总体设计总体设计2.1 需求概述需求概述2.2 软件结构:如给出软件系统的结构图。软件结构:如给出软件系统的结构图。3 程序描述程序描述3.1 逐个模块给出以下说明:逐个模块给出以下说明:功能功能 性能性能 输入项目输入项目 输出项目输出项目3.2 算法:模块所选用的算法。算法:模块所选用的算法。3.3 程序逻辑:详细描述模块实现的算法,可采用:标准流程图;程序逻辑:详细描述模块实现的算法,可采用:标准流程图;PDL语言;语言;N-S图;判定表等图;判定表等描述算法的图表。描述算法的图表。3.4 接口

7、接口 存储分配存储分配 限制条件限制条件3.5测试要点:给出测试模块的主要测试要求。测试要点:给出测试模块的主要测试要求。105.1 结构程序设计n结构程序设计的概念最早由结构程序设计的概念最早由E.W.Dijkstra提出提出11关于程序结构n 1966年年Bohm和和Jacopini证明了,只用证明了,只用3种基本的控种基本的控制结构就能实现任何单入口单出口的程序制结构就能实现任何单入口单出口的程序n 该证明给结构程序设计技术奠定了理论基础该证明给结构程序设计技术奠定了理论基础n 这这3种基本的控制结构是种基本的控制结构是“顺序顺序”、“选择选择”和和“循循环环”,它们的流程图分别为图,它

8、们的流程图分别为图6.1(a),6.1(b)和和6.1(c)1213n 实际上用顺序和循环结构实际上用顺序和循环结构(又称又称DO-WHILE结构结构)完全完全可以实现选择结构可以实现选择结构(又称又称IF-THEN-ELSE结构结构),因此,因此,理论上最基本的控制结构只有两种。理论上最基本的控制结构只有两种。14新的程序设计思想、方法和风格n 1965年年Dijkstra在一次会议上指出:在一次会议上指出:“可以从高级语言可以从高级语言中取消中取消GO TO语句语句”,“程序的质量与程序中所包含的程序的质量与程序中所包含的GO TO 语句的数量成反比语句的数量成反比”。n 1968年年Di

9、jkstra再次建议从一切高级语言中取消再次建议从一切高级语言中取消GO TO语句,只使用语句,只使用3种基本控制结构写程序。种基本控制结构写程序。n Dijkstra的建议引起了争论,人们认识到,要提高软件的建议引起了争论,人们认识到,要提高软件生产率和降低软件维护代价生产率和降低软件维护代价,不是简单地去掉不是简单地去掉GO TO 语语句的问题,而是要创立一种新的程序设计思想、方法和句的问题,而是要创立一种新的程序设计思想、方法和风格的问题风格的问题15结构程序设计的实践验证n 1971年年IBM公司在纽约时报信息库管理系统的设计公司在纽约时报信息库管理系统的设计中成功地使用了结构程序设计

10、技术中成功地使用了结构程序设计技术n 随后在美国宇航局空间实验室飞行模拟系统的设计随后在美国宇航局空间实验室飞行模拟系统的设计中,结构程序设计技术再次获得圆满成功中,结构程序设计技术再次获得圆满成功n 这两个系统都相当庞大,前者这两个系统都相当庞大,前者83 000行源码,后者行源码,后者40万行源码,而且在开发中也经历了变更,然而开万行源码,而且在开发中也经历了变更,然而开发任务最终按质按量完成了发任务最终按质按量完成了n 这表明,软件生产率比以前提高了一倍,结构程序这表明,软件生产率比以前提高了一倍,结构程序设计技术成功地经受了实践的检验。设计技术成功地经受了实践的检验。16什么是”结构化

11、的”程序?n 1972年年IBM公司的公司的Mills进一步提出,程序应该只有进一步提出,程序应该只有一个入口和一个出口,从而补充了结构程序设计的一个入口和一个出口,从而补充了结构程序设计的规则规则n 结构程序设计的经典定义如下所述:结构程序设计的经典定义如下所述:“如果一个程如果一个程序的代码块仅仅通过序的代码块仅仅通过“顺序顺序”、“选择选择”和和“循环循环”这这3种基本控制结构,并且每个代码块只有一个入口种基本控制结构,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。和一个出口,则称这个程序是结构化的。”17关于GO TO语句n 结构程序设计本质上并不是无结构程序设计本质上

12、并不是无GO TO语句的编程方语句的编程方法,而是一种使程序代码容易阅读、容易理解的编法,而是一种使程序代码容易阅读、容易理解的编程方法。程方法。n 在多数情况下,无在多数情况下,无GO TO语句的代码确实是容易阅语句的代码确实是容易阅读、容易理解的代码,但是,在某些情况下,为了读、容易理解的代码,但是,在某些情况下,为了达到容易阅读和容易理解的目的,反而需要使用达到容易阅读和容易理解的目的,反而需要使用GO TO语句。语句。18关于GO TO语句n 基于对基于对“GO TO”语句的认识,下述对结构程序设语句的认识,下述对结构程序设计的认识更全面一些:计的认识更全面一些:n“结构程序设计是尽可

13、能少用结构程序设计是尽可能少用GO TO语句的程序设语句的程序设计方法。最好仅在检测错误时才使用计方法。最好仅在检测错误时才使用GO TO语句,语句,而且应该总是使用前向而且应该总是使用前向GO TO语句。语句。”19再添两个基本结构n 虽然理论只用上述虽然理论只用上述3种基本控制结构就可以实种基本控制结构就可以实现任何单入口单出口的程序,但是为了实际现任何单入口单出口的程序,但是为了实际使用方便起见,常常还允许使用使用方便起见,常常还允许使用:n DO-UNTIL结构结构n DO-CASE结构结构n 它们的流程图分别是图它们的流程图分别是图6.2(a)和图和图6.2(b)。20DO-UNTI

14、L和DO-CASE结构21n有时需要立即从循环有时需要立即从循环(甚至嵌套的循环甚至嵌套的循环)中转移出来,如果允许使用中转移出来,如果允许使用LEAVE(或或BREAK)结构,则不仅方便而且会使效率提高很多。结构,则不仅方便而且会使效率提高很多。LEAVE或或BREAK结构实质上是受限制的结构实质上是受限制的GO TO 语句,用于转移到语句,用于转移到循环结构后面的语句。循环结构后面的语句。n如果只允许使用顺序、如果只允许使用顺序、IF-THEN-ELSE型分支和型分支和DO-WHILE型循环型循环这这3种基本控制结构,则称为经典的结构程序设计;种基本控制结构,则称为经典的结构程序设计;n如

15、果除了上述如果除了上述3种基本控制结构之外,还允许使用种基本控制结构之外,还允许使用DO-CASE型多分型多分支结构和支结构和DO-UNTIL型循环结构,则称为扩展的结构程序设计;型循环结构,则称为扩展的结构程序设计;n如果再加上允许使用如果再加上允许使用LEAVE(或或BREAK)结构,则称为修正的结构结构,则称为修正的结构程序设计。程序设计。观点观点22什么是结构程序设计什么是结构程序设计结构程序设计是一种设计程序的技术,它采用结构程序设计是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口自顶向下逐步求精的设计方法和单入口单出口的控制结构。的控制结构。23第第5章章 详细

16、设计详细设计n5.1 结构程序设计结构程序设计n5.2 人机界面设计人机界面设计n5.3 过程设计的工具过程设计的工具n5.4 面向数据结构的设计方法面向数据结构的设计方法n5.5 程序复杂程度的定量度量程序复杂程度的定量度量n5.6 小结小结245.2 人机界面设计n人机界面设计是接口设计的重要组成部分人机界面设计是接口设计的重要组成部分n对于交互式系统来说,人机界面设计和数据设计、体系结构设对于交互式系统来说,人机界面设计和数据设计、体系结构设计及过程设计一样重要计及过程设计一样重要n近年来,人机界面在系统中所占的比例越来越大,在个别系统近年来,人机界面在系统中所占的比例越来越大,在个别系

17、统中人机界面的设计工作量甚至占总设计量的一半以上。中人机界面的设计工作量甚至占总设计量的一半以上。n人机界面的设计质量,直接影响用户对软件产品的评价,从而人机界面的设计质量,直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命影响软件产品的竞争力和寿命255.2.1 设计问题n人机界面设计中,常涉及下述人机界面设计中,常涉及下述4个问题:个问题:系统响应时间系统响应时间 用户帮助用户帮助 出错信息处理出错信息处理 命令交互命令交互n不幸的是,许多设计者直到设计过程后期才开始考虑这些问题,不幸的是,许多设计者直到设计过程后期才开始考虑这些问题,往往导致不必要的设计反复、项目延期和甚至影响

18、到用户对整个往往导致不必要的设计反复、项目延期和甚至影响到用户对整个项目设计的怀凝。项目设计的怀凝。n下面讨论这下面讨论这4个设计问题个设计问题265.2.1 涉及的设计问题n 人机界面设计中,常涉及下述人机界面设计中,常涉及下述4个问题:个问题:系统响应时间系统响应时间 用户帮助用户帮助 出错信息处理出错信息处理 命令交互命令交互271.系统响应时间系统响应时间n 系统响应时间是许多交互式系统用户经常抱怨的问系统响应时间是许多交互式系统用户经常抱怨的问题题v 一般说来,系统响应时间指从用户完成某个控制动作一般说来,系统响应时间指从用户完成某个控制动作(例如,例如,按回车键或点击鼠标按回车键或

19、点击鼠标),到软件给出预期的响应,到软件给出预期的响应(输出信息或输出信息或做动作做动作)之间的这段时间之间的这段时间n 系统响应时间有长度和易变性两个重要属性系统响应时间有长度和易变性两个重要属性v 如果系统响应时间过长,用户就会感到紧张和沮丧。但是,如果系统响应时间过长,用户就会感到紧张和沮丧。但是,当用户工作速度是由人机界面决定的时候,系统响应时间过当用户工作速度是由人机界面决定的时候,系统响应时间过短也不好,这会迫使用户加快操作节奏,从而可能会犯错误。短也不好,这会迫使用户加快操作节奏,从而可能会犯错误。28n 易变性易变性指系统响应时间相对于平均响应时间的指系统响应时间相对于平均响应

20、时间的偏差,在许多情况下,这是系统响应时间的更重要偏差,在许多情况下,这是系统响应时间的更重要的属性的属性n 即使系统响应时间较长,响应时间易变性低也有助即使系统响应时间较长,响应时间易变性低也有助于用户建立起稳定的工作节奏于用户建立起稳定的工作节奏v 例如,稳定在例如,稳定在1秒的响应时间比从秒的响应时间比从0.1秒到秒到2.5秒变化的响应秒变化的响应时间要好。用户往往比较敏感,他们总是担心响应时间变化时间要好。用户往往比较敏感,他们总是担心响应时间变化暗示系统工作出现了异常暗示系统工作出现了异常292.用户帮助设施用户帮助设施n 几乎交互式系统的每个用户都需要帮助,当几乎交互式系统的每个用

21、户都需要帮助,当遇到复杂问题时甚至需要查看用户手册以寻遇到复杂问题时甚至需要查看用户手册以寻找答案找答案v 大多数现代软件都提供联机帮助设施,这使得用大多数现代软件都提供联机帮助设施,这使得用户无须离开用户界面就能解决自己的问题户无须离开用户界面就能解决自己的问题30n常见的帮助设施有常见的帮助设施有“集成的集成的”和和“附加的附加的”两类两类v 集成的帮助设施在设计时就考虑了,通常,它对用户操作的内容集成的帮助设施在设计时就考虑了,通常,它对用户操作的内容关联,用户完成操作的过程中,就可看到相应的帮助主题。显然,关联,用户完成操作的过程中,就可看到相应的帮助主题。显然,这可以缩短用户获得帮助

22、的时间,相对友好。这可以缩短用户获得帮助的时间,相对友好。v 附加的帮助设施是在系统建成后再添加到软件中的,在多数情况附加的帮助设施是在系统建成后再添加到软件中的,在多数情况下它实际上是一种联机用户手册下它实际上是一种联机用户手册v 人们普遍认为,集成的帮助设施优于附加的帮助设施。人们普遍认为,集成的帮助设施优于附加的帮助设施。31具体设计帮助设施时,必须解决下述的一系列问题n(1)是否在任何时候都能获得关于系统任何功能的帮是否在任何时候都能获得关于系统任何功能的帮助信息助信息?v 有有2种选择:提供部分功能的帮助信息和提供全部功能种选择:提供部分功能的帮助信息和提供全部功能的帮助信息。的帮助

23、信息。n(2)用户怎样请求帮助用户怎样请求帮助?v 有有3种选择:帮助菜单,特殊功能键和种选择:帮助菜单,特殊功能键和HELP命令。命令。32n(3)怎样显示帮助信息怎样显示帮助信息?v 有有3种选择:种选择:在独立的窗口中,在独立的窗口中,指出参考某个文档指出参考某个文档(不理不理想想)和和在屏幕固定位置显示简短提示。在屏幕固定位置显示简短提示。n(4)用户怎样返回到正常的交互方式中用户怎样返回到正常的交互方式中?v 有有2种选择:屏幕上的返回按钮和功能键。种选择:屏幕上的返回按钮和功能键。n(5)怎样组织帮助信息怎样组织帮助信息?v 有有3种选择:平面结构,信息的层次结构和超文本结种选择:

24、平面结构,信息的层次结构和超文本结构。构。333.出错信息处理出错信息处理n 出错信息和警告信息,是出现问题时交互式出错信息和警告信息,是出现问题时交互式系统给出的系统给出的“坏消息坏消息”。v 出错信息设计得不好,将向用户提供无用的甚至出错信息设计得不好,将向用户提供无用的甚至误导的信息,反而会加重用户的挫折感误导的信息,反而会加重用户的挫折感34一般地,出错信息或警告信息,应该:n(1)使用用户可以理解的术语描述问题使用用户可以理解的术语描述问题n(2)提供有助于从错误中恢复的建设性意见提供有助于从错误中恢复的建设性意见n(3)指出错误可能导致哪些负面后果指出错误可能导致哪些负面后果v(例

25、如,破坏数据文件例如,破坏数据文件),以便用户检查是否出现了这些问题,以便用户检查是否出现了这些问题,并在确实出现问题时及时解决。并在确实出现问题时及时解决。35n(4)信息应该伴随着听觉上或视觉上的提示信息应该伴随着听觉上或视觉上的提示v 例如,在显示信息时同时发出警告铃声,或者信息用闪烁方式显例如,在显示信息时同时发出警告铃声,或者信息用闪烁方式显示,或者信息用明显表示出错的颜色显示。示,或者信息用明显表示出错的颜色显示。n(5)不能带有指责和戏弄色彩,即,不责怪用户不能带有指责和戏弄色彩,即,不责怪用户n 当确实出现了问题的时候,有效的出错信息能提高交互当确实出现了问题的时候,有效的出错

26、信息能提高交互式系统的质量,减轻用户的挫折感。带鼓励性的提示,式系统的质量,减轻用户的挫折感。带鼓励性的提示,能表现出友好能表现出友好364.命令交互命令交互n 命令行曾经是用户和系统软件交互的最常用的方式,命令行曾经是用户和系统软件交互的最常用的方式,并且也曾经广泛地用于各种应用软件中。现在,面并且也曾经广泛地用于各种应用软件中。现在,面向窗口的、点击和拾取方式的界面已经减少了用户向窗口的、点击和拾取方式的界面已经减少了用户对命令行的依赖,但是,许多高级用户仍然偏爱面对命令行的依赖,但是,许多高级用户仍然偏爱面向命令行的交互方式向命令行的交互方式n 在多数情况下,用户应既可以从菜单中选择软件

27、功在多数情况下,用户应既可以从菜单中选择软件功能,也可以通过键盘命令序列调用软件功能能,也可以通过键盘命令序列调用软件功能37在提供命令交互方式时,必须考虑下列设计问题在提供命令交互方式时,必须考虑下列设计问题n(1)是否每个菜单选项都有对应的命令是否每个菜单选项都有对应的命令?n(2)采用何种命令形式采用何种命令形式?v 有有3种选择:控制序列种选择:控制序列(例如,例如,Ctrl+P),功能键和键,功能键和键入命令。入命令。n(3)学习和记忆命令的难度有多大学习和记忆命令的难度有多大?忘记了命令怎么忘记了命令怎么办办?n(4)用户是否可以定制或缩写命令用户是否可以定制或缩写命令?38n在越

28、来越多的应用软件中,人机界面设计者都提供了在越来越多的应用软件中,人机界面设计者都提供了“命令宏命令宏机制机制”,利用这种机制用户可以用自己定义的名字代表一个常,利用这种机制用户可以用自己定义的名字代表一个常用的命令序列。需要使用这个命令序列时,用户无须依次键入用的命令序列。需要使用这个命令序列时,用户无须依次键入每个命令,只需输入命令宏的名字就可以顺序执行它所代表的每个命令,只需输入命令宏的名字就可以顺序执行它所代表的全部命令。全部命令。n在理想的情况下,所有应用软件都有一致的命令使用方法,应在理想的情况下,所有应用软件都有一致的命令使用方法,应尽量遵守习惯尽量遵守习惯v 如果在一个应用软件

29、中命令如果在一个应用软件中命令Ctrl+D表示复制一个图形对象,而在表示复制一个图形对象,而在另一个应用软件中另一个应用软件中Ctrl+D命令的含义是删除一个图形对象,显然命令的含义是删除一个图形对象,显然会使用户感到困惑,并且往往会导致用错命令。会使用户感到困惑,并且往往会导致用错命令。395.2.2 设计过程n是一个迭代化设计过程是一个迭代化设计过程v 通常先设计模型,再用原型实现设计模型,并由用户试用和评估,通常先设计模型,再用原型实现设计模型,并由用户试用和评估,然后根据用户意见进行修改。然后根据用户意见进行修改。v 上述迭代过程中,会用到各种用于界面设计和原型开发的软件工上述迭代过程

30、中,会用到各种用于界面设计和原型开发的软件工具,这些工具被称为用户界面工具箱或用户界面开发系统具,这些工具被称为用户界面工具箱或用户界面开发系统v 这些工具所提供的功能,既可以用基于语言的方式也可以用基于这些工具所提供的功能,既可以用基于语言的方式也可以用基于图形的方式来实现。图形的方式来实现。v 工具简化了窗口、菜单、设备交互、出错信息、命令及交互环境工具简化了窗口、菜单、设备交互、出错信息、命令及交互环境的许多其他元素的创建,提供了各种例程或对象。的许多其他元素的创建,提供了各种例程或对象。405.2.2 设计过程n 一旦建立起用户界面的原型,就必须对它进行评估,一旦建立起用户界面的原型,

31、就必须对它进行评估,以确定其是否满足用户的需求以确定其是否满足用户的需求v 评估可以是非正式的,例如,用户即兴发表一些反馈意见;评估可以是非正式的,例如,用户即兴发表一些反馈意见;评估也可以十分正式,例如,运用统计学方法评价全体终端评估也可以十分正式,例如,运用统计学方法评价全体终端用户填写的调查表。用户填写的调查表。415.2.2 设计过程n 用户界面的评估周期用户界面的评估周期v 完成初步设计之后就创建第一级原型;完成初步设计之后就创建第一级原型;v 用户试用并评估该原型,直接向设计者表述对界面的评价;用户试用并评估该原型,直接向设计者表述对界面的评价;v 设计者根据用户意见修改设计并实现

32、下一级原型。设计者根据用户意见修改设计并实现下一级原型。v 上述评估过程持续进行下去,直到用户感到满意,不需要再上述评估过程持续进行下去,直到用户感到满意,不需要再修改界面设计时为止。修改界面设计时为止。425.2.2 设计过程n 当然,也可以在创建原型之前就对用户界面的设计当然,也可以在创建原型之前就对用户界面的设计质量进行初步评估。质量进行初步评估。v 如果能及早发现并改正潜在的问题,就可以减少评估周期的如果能及早发现并改正潜在的问题,就可以减少评估周期的执行次数,从而缩短软件的开发时间。执行次数,从而缩短软件的开发时间。435.2.2 设计过程n在创建了用户界面的设计模型之后,可以运用下

33、述评估标准对设计进行在创建了用户界面的设计模型之后,可以运用下述评估标准对设计进行早期复审早期复审v(1)系统及其界面的规格说明书的长度和复杂程度,预示了用户学习系统及其界面的规格说明书的长度和复杂程度,预示了用户学习使用该系统所需要的工作量。使用该系统所需要的工作量。v(2)命令或动作的数量、命令的平均参数个数或动作中单个操作的个命令或动作的数量、命令的平均参数个数或动作中单个操作的个数,预示了系统的交互时间和总体效率。数,预示了系统的交互时间和总体效率。v(3)设计模型中包含的动作、命令和系统状态的数量,预示了用户学设计模型中包含的动作、命令和系统状态的数量,预示了用户学习使用该系统时需要

34、记忆的内容的多少。习使用该系统时需要记忆的内容的多少。v(4)界面风格、帮助设施和出错处理协议,预示了界面的复杂程度及界面风格、帮助设施和出错处理协议,预示了界面的复杂程度及用户接受该界面的程度。用户接受该界面的程度。445.2.3 人机界面设计指南人机界面设计指南n用户界面设计主要依靠设计者的经验。总结众多设计者用户界面设计主要依靠设计者的经验。总结众多设计者的经验得出的设计指南,有助于设计者设计出友好、高效的经验得出的设计指南,有助于设计者设计出友好、高效的人机界面。的人机界面。45下面介绍3类人机界面设计指南:1.一般交互指南一般交互指南2.信息显示指南信息显示指南3.数据输入指南数据输

35、入指南461.一般交互指南n 一般交互指南涉及信息显示、数据输入和系统整体一般交互指南涉及信息显示、数据输入和系统整体控制,因此,这类指南是全局性的,忽略它们将承控制,因此,这类指南是全局性的,忽略它们将承担较大风险。下面讲述一般交互指南。担较大风险。下面讲述一般交互指南。47一般交互指南n(1)保持一致性。应该为人机界面中的菜单选择、命保持一致性。应该为人机界面中的菜单选择、命令输入、数据显示以及众多的其他功能,使用一致令输入、数据显示以及众多的其他功能,使用一致的格式。的格式。n(2)提供有意义的反馈。应向用户提供视觉的和听觉提供有意义的反馈。应向用户提供视觉的和听觉的反馈,以保证在用户和

36、系统之间建立双向通信。的反馈,以保证在用户和系统之间建立双向通信。48一般交互指南n(3)在执行有较大破坏性的动作之前要求用户确认。在执行有较大破坏性的动作之前要求用户确认。如果用户要删除一个文件,或覆盖一些重要信息,如果用户要删除一个文件,或覆盖一些重要信息,或终止一个程序的运行,应该给出或终止一个程序的运行,应该给出“您是否确实您是否确实要要”的信息,以请求用户确认他的命令。的信息,以请求用户确认他的命令。n(4)允许取消绝大多数操作。允许取消绝大多数操作。UNDO或或REVERSE功功能曾经使众多终端用户避免了大量时间浪费。每个能曾经使众多终端用户避免了大量时间浪费。每个交互式系统都应该

37、能方便地取消已完成的操作。交互式系统都应该能方便地取消已完成的操作。49一般交互指南n(5)减少在两次操作之间必须记忆的信息量。不应该减少在两次操作之间必须记忆的信息量。不应该期望用户能记住在下一步操作中需使用的一大串数期望用户能记住在下一步操作中需使用的一大串数字或标识符。应该尽量减少记忆量。字或标识符。应该尽量减少记忆量。n(6)提高对话、移动和思考的效率。应该尽量减少用提高对话、移动和思考的效率。应该尽量减少用户击键的次数,设计屏幕布局时应该考虑尽量减少户击键的次数,设计屏幕布局时应该考虑尽量减少鼠标移动的距离,应该尽量避免出现用户问鼠标移动的距离,应该尽量避免出现用户问“这是这是什么意

38、思什么意思?”的情况。的情况。50一般交互指南n(7)允许犯错误。系统应该能保护自己不受严重错误允许犯错误。系统应该能保护自己不受严重错误的破坏。的破坏。n(8)按功能对动作分类,并据此设计屏幕布局。下拉按功能对动作分类,并据此设计屏幕布局。下拉菜单的一个主要优点就是能按动作类型组织命令。菜单的一个主要优点就是能按动作类型组织命令。实际上,设计者应该尽力提高命令和动作组织的实际上,设计者应该尽力提高命令和动作组织的“内聚性内聚性”。51一般交互指南n(9)提供对用户工作内容敏感的帮助设施提供对用户工作内容敏感的帮助设施(参见参见6.2.1节节)。n(10)用简单动词或动词短语作为命令名。过长的

39、命用简单动词或动词短语作为命令名。过长的命令名难于识别和记忆,也会占用过多的菜单空间。令名难于识别和记忆,也会占用过多的菜单空间。522.信息显示指南信息显示指南n 如果人机界面显示的信息是不完整的、含糊的或难如果人机界面显示的信息是不完整的、含糊的或难于理解的,则该应用系统显然不能满足用户的需求。于理解的,则该应用系统显然不能满足用户的需求。可以用多种不同方式可以用多种不同方式“显示显示”信息:用文字、图形信息:用文字、图形和声音;按位置、移动和大小;使用颜色、分辨率和声音;按位置、移动和大小;使用颜色、分辨率和省略。下面是关于信息显示的设计指南。和省略。下面是关于信息显示的设计指南。532

40、.信息显示指南信息显示指南n(1)只显示与当前工作内容有关的信息。用户在获得只显示与当前工作内容有关的信息。用户在获得有关系统的特定功能的信息时,不必看到与之无关有关系统的特定功能的信息时,不必看到与之无关的数据、菜单和图形。的数据、菜单和图形。n(2)不要用数据淹没用户,应该用便于用户迅速吸取不要用数据淹没用户,应该用便于用户迅速吸取信息的方式来表示数据。例如,可以用图形或图表信息的方式来表示数据。例如,可以用图形或图表来取代庞大的表格。来取代庞大的表格。542.信息显示指南信息显示指南n(3)使用一致的标记、标准的缩写和可预知的颜色。使用一致的标记、标准的缩写和可预知的颜色。显示的含义应该

41、非常明确,用户无须参照其他信息显示的含义应该非常明确,用户无须参照其他信息源就能理解。源就能理解。n(4)允许用户保持可视化的语境。如果对所显示的图允许用户保持可视化的语境。如果对所显示的图形进行缩放,原始的图像应该一直显示着形进行缩放,原始的图像应该一直显示着(以缩小的以缩小的形式放在显示屏的一角形式放在显示屏的一角),以使用户知道当前看到的,以使用户知道当前看到的图像部分在原图中所处的相对位置。图像部分在原图中所处的相对位置。552.信息显示指南信息显示指南n(5)产生有意义的出错信息产生有意义的出错信息(参见参见6.2.1节节)。n(6)使用大小写、缩进和文本分组以帮助理解。人机使用大小

42、写、缩进和文本分组以帮助理解。人机界面显示的信息大部分是文字,文字的布局和形式界面显示的信息大部分是文字,文字的布局和形式对用户从中提取信息的难易程度有很大影响。对用户从中提取信息的难易程度有很大影响。n(7)使用窗口分隔不同类型的信息。利用窗口用户能使用窗口分隔不同类型的信息。利用窗口用户能够方便地够方便地“保存保存”多种不同类型的信息。多种不同类型的信息。562.信息显示指南信息显示指南n(8)使用使用“模拟模拟”显示方式表示信息,以使信息更容易被用户提显示方式表示信息,以使信息更容易被用户提取。例如,显示炼油厂储油罐的压力时,如果简单地用数字表取。例如,显示炼油厂储油罐的压力时,如果简单

43、地用数字表示压力,则不易引起用户注意。但是,如果用类似温度计的形示压力,则不易引起用户注意。但是,如果用类似温度计的形式来表示压力,用垂直移动和颜色变化来指示危险的压力状况,式来表示压力,用垂直移动和颜色变化来指示危险的压力状况,就容易引起用户的警觉,因为这样做为用户提供了绝对和相对就容易引起用户的警觉,因为这样做为用户提供了绝对和相对两方面的信息。两方面的信息。n(9)高效率地使用显示屏。当使用多窗口时,应该有足够的空间高效率地使用显示屏。当使用多窗口时,应该有足够的空间使得每个窗口至少都能显示出一部分。此外,屏幕大小应该选使得每个窗口至少都能显示出一部分。此外,屏幕大小应该选得和应用系统的

44、类型相配套得和应用系统的类型相配套(这实际上是一个系统工程问题这实际上是一个系统工程问题)。573.数据输入指南数据输入指南n 用户的大部分时间用在选择命令、键入数据和向系用户的大部分时间用在选择命令、键入数据和向系统提供输入。在许多应用系统中,键盘仍然是主要统提供输入。在许多应用系统中,键盘仍然是主要的输入介质,但是,鼠标、数字化仪和语音识别系的输入介质,但是,鼠标、数字化仪和语音识别系统正迅速地成为重要的输入手段。下面是关于数据统正迅速地成为重要的输入手段。下面是关于数据输入的设计指南。输入的设计指南。583.数据输入指南数据输入指南n(1)尽量减少用户的输入动作。最重要的是减少击键尽量减

45、少用户的输入动作。最重要的是减少击键次数,这可以用下列方法实现:用鼠标从预定义的次数,这可以用下列方法实现:用鼠标从预定义的一组输入中选一个;用一组输入中选一个;用“滑动标尺滑动标尺”在给定的值域在给定的值域中指定输入值;利用宏把一次击键转变成更复杂的中指定输入值;利用宏把一次击键转变成更复杂的输入数据集合。输入数据集合。593.数据输入指南数据输入指南n(2)保持信息显示和数据输入之间的一致性。显示的保持信息显示和数据输入之间的一致性。显示的视觉特征应该与输入域一致。视觉特征应该与输入域一致。n(3)允许用户自定义输入。专家级的用户可能希望定允许用户自定义输入。专家级的用户可能希望定义自己专

46、用的命令或略去某些类型的警告信息和动义自己专用的命令或略去某些类型的警告信息和动作确认,人机界面应该为用户提供这样做的机制。作确认,人机界面应该为用户提供这样做的机制。603.数据输入指南数据输入指南n(4)交互应该是灵活的,并且可调整成用户最喜欢的交互应该是灵活的,并且可调整成用户最喜欢的输入方式。用户类型与喜好的输入方式有关,例如,输入方式。用户类型与喜好的输入方式有关,例如,秘书可能非常喜欢键盘输入,而经理可能更喜欢使秘书可能非常喜欢键盘输入,而经理可能更喜欢使用鼠标之类的点击设备。用鼠标之类的点击设备。n(5)使在当前动作语境中不适用的命令不起作用。这使在当前动作语境中不适用的命令不起

47、作用。这可使得用户不去做那些肯定会导致错误的动作。可使得用户不去做那些肯定会导致错误的动作。613.数据输入指南数据输入指南n(6)让用户控制交互流。用户应该能够跳过不必要的让用户控制交互流。用户应该能够跳过不必要的动作,改变所需做的动作的顺序动作,改变所需做的动作的顺序(在应用环境允许的在应用环境允许的前提下前提下),以及在不退出程序的情况下从错误状态中,以及在不退出程序的情况下从错误状态中恢复正常。恢复正常。n(7)对所有输入动作都提供帮助对所有输入动作都提供帮助(参见参见6.2.1节节)623.数据输入指南数据输入指南n(8)消除冗余的输入。除非可能发生误解,否则不要消除冗余的输入。除非

48、可能发生误解,否则不要要求用户指定输入数据的单位;尽可能提供默认值;要求用户指定输入数据的单位;尽可能提供默认值;绝对不要要求用户提供程序可以自动获得或计算出绝对不要要求用户提供程序可以自动获得或计算出来的信息。来的信息。63第第5章章 详细设计详细设计n5.1 结构程序设计结构程序设计n5.2 人机界面设计人机界面设计n5.3 过程设计的工具过程设计的工具n5.4 面向数据结构的设计方法面向数据结构的设计方法n5.5 程序复杂程度的定量度量程序复杂程度的定量度量n5.6 小结小结645.3 5.3 过程设计的工具过程设计的工具n5.3.1 程序流程图程序流程图n5.3.2 盒图盒图(N-S图

49、图)n5.3.4 判定表判定表n5.3.5 判定树判定树n5.3.6 过程设计语言过程设计语言655.3.1 程序流程图程序流程图n 又称为程序框图,它是历史悠久、使用广泛的描述又称为程序框图,它是历史悠久、使用广泛的描述程序过程的设计方法,然而它也是用得最混乱的一程序过程的设计方法,然而它也是用得最混乱的一种方法。种方法。66程序流程图中使用的各种符号67结构化的思想结构化的思想,表示的程序结构表示的程序结构68关于程序流程图n 从从20世纪世纪40年代末到年代末到70年代中期,程序流程图一直年代中期,程序流程图一直是软件设计的主要工具是软件设计的主要工具n 主要优点是直观,便于初学者掌握主

50、要优点是直观,便于初学者掌握n 由于程序流程图历史悠久,为最广泛的人所熟悉,由于程序流程图历史悠久,为最广泛的人所熟悉,尽管它有种种缺点,许多人建议停止使用它,但至尽管它有种种缺点,许多人建议停止使用它,但至今仍在广泛使用着。今仍在广泛使用着。n 不过总的趋势是越来越多的人不再使用程序流程图不过总的趋势是越来越多的人不再使用程序流程图了了69程序流程图的主要缺点如下:n(1)程序流程图本质上不是逐步求精的好工具,它诱程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑使程序员过早地考虑程序的控制流程,而不去考虑全局结构全局结构n(2)用箭头代表控制流,因此程序

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(软件工程概论ch05-1-详细设计课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|