- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程导论课件之第6章-详细设计(第六版)(张海潘编著)
详细设计阶段的根本目标:确定应该怎样具体地实现所要求的系统。经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 结构程序设计技术是实现上述目标的关键技术,因此是详细设计的逻辑基础。 第6章 详细设计 6.1 结构程序设计 6.2 人机界面设计 6.3 过程设计的工具 6.4 面向数据结构的设计方法 6.5 程序复杂程度的定量度量 6.1 结构程序设计 结构程序设计的概念最早由E.W.Dijkstra提出。 1965年,他在一次会议上指出:“可以从高级语言中取消GOTO语句”,“程序的质量与程序中所包含的GOTO语句的数量成反比”。 1966年Bohm和Jacopini证明了,只用三种基本的控制结构就能实现任何单入口单出口的程序。这三种基本的控制结构是“顺序”、“选择”和“循环”。 1972年IBM公司的Mills进一步提出,程序应该只有一个入口和一个出口,从而补充了结构程序设计的规则。 6.1 结构程序设计 1、经典定义:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 2、更全面定义:结构程序设计是尽可能少用GOTO语句的程序设计方法。最好仅在检测出错误时才使用GOTO语句,而且应该总是使用前向GOTO语句。 3、为了实际使用方便起见,常常还允许使用DO-UNTIL和DO-CASE两种控制结构。 4、有时需要立即从循环(甚至嵌套的循环)中转移出来,允许使用LEAVE(或BREAK)结构。LEAVE或BREAK结构实质上是受限制的GOTO语句,用于转移到循环结构后面。 结论: 经典的结构程序设计:只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环这3种基本控制结构; 扩展的结构程序设计:如果除了上述3种基本控制结构之外,还允许使用DO-CASE型多分支结构和DO-UNTIL型循环结构; 修正的结构程序设计:再加上允许使用LEAVE(或BREAK)结构。 6.2 人机界面设计 人机界面设计是接口设计的重要组成部分。对于交互式系统来说,人机界面设计和数据设计、体系结构设计及过程设计一样重要。 人机界面的设计质量,直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命,必须对人机界面设计给予足够重视。 三条“黄金规则”: 置用户于控制之下 以不强迫用户进入不必要的或不希望的动作的方式来定义交互方式;允许用户交互可以被中断和撤消;设计应允许用户和出现在屏幕上的对象直接交互。 减少用户记忆负担 减少用户对短期记忆的要求,建立有意义的缺省,定义直觉性的捷径,快捷方式,界面的视觉布局应该基于真实世界的需要。 保持界面一致 用户应以一致的方式展示和获取信息,所有可视信息的组织均按照贯穿一直的设计标准,各应用系列内保持一致性,如过去的交互模型已建立起了用户期望,除非有迫不得已的理由,不要改变它。 6.2.1 设计问题 设计人机界面过程中会遇到的4个问题: 系统响应时间 用户帮助设施 出错信息处理 命令交互 1. 系统响应时间 系统响应时间指从用户完成某个控制动作,到软件给出预期的响应之间的这段时间。系统响应时间有两个重要属性:长度和易变性。 长度:如果系统响应时间过长,用户就会感到紧张和沮丧;系统响应时间过短会迫使用户加快操作节奏,从而可能会犯错误。 易变性:指系统响应时间相对于平均响应时间的偏差,即使系统响应时间较长,响应时间易变性低也有助于用户建立起稳定的工作节奏。 2. 用户帮助设施 大多数现代软件都提供联机帮助设施,用户无须离开用户界面就能解决自己的问题。常见的帮助设施可分为集成的和附加的两类。 集成的帮助设施设计在软件里面,它对用户工作内容是敏感的,用户可以从与刚刚完成的操作有关的主题中选择一个请求帮助。 附加的帮助设施是在系统建成后再添加到软件中的,它实际上是一种查询能力有限的联机用户手册。 集成的帮助设施优于附加的帮助设施。 具体设计帮助设施时,须解决下述一系列问题 (1)在用户与系统交互期间,是否在任何时候都能获得关于系统任何功能的帮助信息? 有两种选择; 提供部分功能的帮助信息; 提供全部功能的帮助信息。 (2)用户怎样请求帮助? 有3种选择: 帮助菜单; 特殊功能键; HELP命令。 (3)怎样显示帮助信息? 有3种选择: 在独立的窗口中; 指出参考某个文档(不
原创力文档


文档评论(0)