- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程第六讲--详细设计
第6章 详细设计 6.1 结构化程序设计 6.2 人机界面设计 6.3 过程设计的工具 6.4 面向数据结构的设计方法 6.5 程序复杂程度的定量度量 6.6 非结构化流程图的结构化 目标 设计人机交互界面 利用结构化程序设计工具设计程序蓝图 计算程序蓝图复杂程度 将非结构化程序转换为结构化程序 详细设计任务(I) 详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统, 详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。 详细设计任务(II) (1) 过程设计。确定每个模块的具体算法。 (2) 数据设计。设计模块内所需要的数据结构。 (3) 接口设计。确定模块间的接口信息以及用户界面(比如GUI设计)。 (4) 为每个模块设计一组测试用例。 (5) 编写文档,参加复审。 6.1 结构程序设计(Structured Programming, SP) 结构程序设计 1966年Bohm等证明了,只用顺序、选择、循环三种基本的控制结构就能实现任何单入口单出口的没有“死循环”的程序。 1968年Dijkstra再次建议从一切高级语言中取消GOTO语句,只使用三种基本控制结构编写程序。 结构程序设计 70年代初采用结构化程序设计取得成功的例子: 1971,IBM,纽约时报信息库管理系统,8.3万行 美国宇航局空间实验室飞行模拟系统,40万行 1972年Mills提出“程序应该只有一个入口和一个出口”,从而补充了结构程序设计的规则。 SP经典定义 如果一个程序的代码块仅仅通过顺序、选择和循环这三种控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 结构程序设计是一种尽可能少用GOTO语句的程序设计技术,它采用自顶向下、逐步细化的设计方法和单入口单出口的控制技术。 经典的结构程序设计 扩展的结构程序设计 为了实际使用方便起见,常常还允许使用DO_UNTIL和DO_CASE两种控制结构 修正的结构程序设计 如果需在循环体中或选择语句的内部有出口时,可以使用LEAVE(BREAK)结构。 6.2 人机界面设计(I) 6.2.1 界面设计基本类型 6.2.2 人机界面设计指南 6.2 人机界面设计(I) 6.2.1 界面设计基本类型 6.2.2 人机界面设计指南 6.2.1 界面设计基本类型(I) 在选用界面形式的时侯,应当考虑每种类型的优点和限制。从以下几个方面来考察,进行抉择: 使用的难易程度:对于没有经验的用户,该界面使用的难度有多大。 学习的难易程度:学习该界面的命令和功能的难度有多大。 操作速度:在完成一个指定操作时,该界面在操作步骤、击键和反应时间等方面效率有多高。 6.2.1 界面设计基本类型(II) 复杂程度:该界面提供了什么功能、能否用新的方式组合这些功能以增强界面的功能。 控制:人机交互时,是由计算机还是由人发起和控制对话。 开发的难易程度:该界面设计是否有难度、开发工作量有多大。 6.2.1.1 菜单(I) 按照显示的形象或样式来分类 正文菜单 图标菜单 正文与图标混合菜单 按屏幕位置和操作风格来分类 固定位置菜单 浮动位置菜单 下拉式菜单 嵌入式菜单 6.2.1.1 菜单(II) 正文菜单:正文菜单实质上是系统命令本身或者是其简写形式。 正文菜单示例 6.2.1.1 菜单(III) 图标菜单:与正文菜单没有差别,只是图标更直观 6.2.1.1 菜单(IV) 固定位置菜单 下拉式菜单(示例见下图) 6.2.1.1 菜单(V) 浮动位置菜单(弹出式菜单) 6.2.1.2 对话框(I) 必须应答式对话框:用户必须给予回答,否则系统不再做任何其他工作。 无须应答式对话框:仅仅是为了告诉用户一些参考信息,不需要用户回答。 警告式对话框:主要用于系统报错或者警告。警告式的对话,根据警告的内容,可以是必须回答式的对话,也可以是无需回答式的对话,同时给出一些必要的警告信息。 6.2.1.2 对话框(II) 必须应答式对话框 6.2.1.2 对话框(III) 无须应答式对话框 6.2.1.2 对话框(IV) 警告式对话框 6.2.1.3 数据输入界面设计(I) 数据输入的规则 在设计时要考虑尽可能减少用户的记忆负担,使界面具有预见性和一致性,防止用户输入出错,以及尽可能增加数据自动输入。 在软件设计的范围,可以通过以下方法来减少用户输入的工作量。 对共同的输入内容设置默认值(缺省值)。 使用代码和缩写。 自动填入已输入过的内容或需要重复输入的内容。 如果输入内容是来自一个有限的备选集,可以采用列表选择或指点方式。 6.2.1.3
文档评论(0)