您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 设计及方案 > 软件工程教案--第六章详细设计XXXX
1软件工程第六章详细设计2第六章详细设计6.1详细设计概述6.2结构程序设计6.3人机界面设计(重点)设计问题设计过程与设计任务人机界面设计基本类型用户界面、输入和输出设计(见补充资料)用户界面的设计的原则输入界面设计显示界面设计6.4过程设计工具6.5面向数据结构的设计方法(自学)6.6程序复杂程度的定量度量36.1详细设计概述详细设计应在数据库设计、总体设计完成之后进行,详细设计还不是具体地编写程序,是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码,详细设计主要是界面设计和过程设计两个阶段。界面设计的结果是软件的脸面(外在质量),过程设计的结果基本上决定了最终的程序代码的质量(软件的内在质量)过程设计中:考虑程序代码的质量时必须注意,程序的“读者”有两个,那就是计算机和人:在软件的生命周期中,设计测试方案,诊断程序错误,修改和改进程序等都必须首先读懂程序。实际上对于长期使用的软件系统而言,人读程序的时间可能比写程序的时间还要长得多。因此,衡量程序的质量不仅要看它的逻辑是否正确,性能是否满足要求,更主要的是要看它是否容易阅读和理解。过程设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。46.2结构程序设计结构程序设计技术是实现详细设计目标的关健技术,因此是过程设计的逻辑基础。狭义的结构程序设计定义为如果一个程序的代码块仅仅通过顺序、选择和循环这三种控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。56.2结构程序设计广义的结构程序设计定义如下:在编写程序时,强调使用几种基本控制结构,通过组合嵌套,形成程序的控制结构。尽可能避免使用GOTO语句。在程序设计过程中,尽量采用自顶向下和逐步细化的原则,由粗到细,一步步展开。最好仅在检测出错误时才使用GOTO语句,而且应该总是使用前向GOTO语句。结构化程序设计的主要原则使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。选用的控制结构只准许有一个入口和一个出口。程序语句组成容易识别的块,每块只有一个入口和一个出口。6复杂结构应该用基本控制结构进行组合嵌套来实现。语言中没有的控制结构,可用一段等价的程序段模拟,但要求该程序段在整个系统中应前后一致。严格控制GOTO语句,仅在下列情形才可使用:①用一个非结构化的程序设计语言去实现一个结构化的构造。②若不使用GOTO语句就会使程序功能模糊。③在某种可以改善而不是损害程序可读性的情况下。6.2结构程序设计7也可以把结构程序设计技术具体地划分为下述3种类型:如果只允许使用顺序、IF_THEN_ELSE型分支和DO_WHILE型循环这3种基本控制结构,则称为经典的结构程序设计如果除了上述3种基本控制结构之外,还允许使用DO_CASE型多分支结构和DO_UNTIL型循环结构,则称为扩展的结构程序设计如果再加上允许使用LEAVE(或BREAK)结构,则称为修正的结构程序设计6.2结构程序设计8start1A2CB3DEstop结构化DFTTTFFstart1A2CB3DEstop非结构化FTTTFF6.2结构程序设计96.3人机界面设计-设计问题人机界面也称为用户界面,对于交互式系统来说,人机界面设计和数据设计、体系结构设计、过程设计一样重要。人机界面的设计质量,直接影响用户对软件产品的评价,从而影响软件产品的竞争力和使用权用寿命,因此,必须对人机界面设计给予足够重视。由于对人机界面的评价,在很大程度上由人的主观因素决定,因此,使用基于原型的系统化的设计策略,是成功地设计人机界面的关键。人机界面设计中应考虑:可使用性简单性术语标准化和一致性HELP功能:集成帮助(设计中设计的)和附加帮助(事后设计的,用户手册)系统响应快和低的系统成本:长度(尽量稳定)和易变性用户界面应具有容错能力,出错信息的处理106.3人机界面设计-设计问题交互式系统给出的出错信息或警告信息,应该具有下述属性:信息应该以用户可以理解的术语描述问题信息应该提供有助于从错误中恢复的建设性意见信息应该指出错误可能导致哪些负面后果(例如,破坏数据文件),以便用户检查是否出现了这些问题,并在确实出现问题时予以改正信息应该伴随着听觉上或视觉上的提示,也就是说,在显示信息时应该同时发出警告声,或者信息用闪烁方式显示,或者信息用明显表示出错的颜色显示。信息不能带有指责色彩,也就是说,不能责怪用户。当确实出现了问题的时候,有效的出错信息能够提高交互式系统的质量,减少用户的挫折感。11灵活性算法的可隐可显性用户可以根据需要制定和修改界面方式能够按照用户的希望和需要,提供不同详细程度的系统响应信息与其它软件系统应有标准的界面•复杂性和可靠性界面的规模和组织的复杂程度就是界面的复杂性界面越简单越好。成线性序列界面不一定简单用户界面的可靠性是指无故障使用的间隔时间。保证用户正确、可靠地使用系统,数据的安全性代价:降低软件系统的运行效率6.3人机界面设计-设计问题12命令交互命令行曾经是用户和系统软件交互的最常用方式,而且也曾经广泛地用于各种应用软件中:现在,面向窗口的,点击和拾取方式的界面已经减少了用户对命令行的依赖但是,许多高级用户仍然偏爱面向命令的交互方式在多数情况下,用户既可以从菜单中选择软件功能也可以通过键盘命令序列调用软件功能最好在设计人机界面的初期就把这些问题作为得要的设计问题来考虑,这时修改比较容易,代价也低。6.3人机界面设计-设计问题13用户界面设计是一个迭代的过程,也就是说:通常先创建设计模型再用原型实现这个设计模型并由用户试用和评估然后根据用户的意见进行修改直至满意为止用户界面设计应与软件系统的需求分析同步进行。有如下任务:用户特性分析用户工作分析记录有关系统的概念和术语确定界面类型6.3人机界面设计-设计过程与设计任务14151、用户特性分析•用户类型:外行型、初学型、熟练型、专家型用户类型并不是一成不变。选择适合大多数用户使用•用户特性度量:用户特性的度量与用户使用模式及观测到的用户群体能力有关。用户使用的频度用户是否能够自由选用界面用户对计算机的熟悉程度用户知识用户思维能力用户的生理能力和技能:人的视觉、听觉、记忆•用户群体的度量可以用打分的办法来简单地度量。平均值反映了用户群体的平均特性。标准偏差反映了用户群体的差异大小6.3人机界面设计-设计过程16用户特性表6.3人机界面设计-设计过程172、用户工作分析(任务分析)•与需求分析中结构化分析的方法类似,采用自顶向下,逐步进行功能分解。•所有的系统任务,包括与人相关的活动,都要考虑•根据以上分析得到的度量表明,应当选择一种不太复杂的对话界面。3、记录有关系统的概念和术语4、选择界面类型6.3人机界面设计-设计过程1819201、界面设计类型考虑使用的难易程度:初次使用学习的难易程度操作速度:操作步骤、击键和反应时间等效率复杂程度控制:人机交互时,是由计算机还是由人发起和控制对话。开发的难易程度及开发工作量。6.3人机界面设计-界面设计类型21222、菜单(menu)界面的设计按照显示的形象或样式来分类正文菜单:首字符匹配方式、序号匹配方式、亮条匹配方式图标菜单(图标菜单)正文和图标混合的菜单按屏幕位置和操作风格来分类固定位置菜单:浮动位置菜单(弹出式菜单)下拉式菜单:嵌入式菜单:混在应用之中(右键)6.3人机界面设计-界面设计类型23序号匹配方式24252、图像:图像的隐蔽和再现图案的显示(动画)屏幕的滚动3、对话对话(对话框)必须回答式无需回答式警告式4、窗口6.3人机界面设计-界面设计类型2627286.3.1数据输入界面设计一般交互指南:涉及信息显示、数据输入和系统的整体控制,是全局性的,忽略它们将冒较大风险。主要有:保持一致性提供有意义的反馈在执行有较大破坏性的动作之前要求用户确认允许取消绝大多数操作减少在两次操作之间必须记忆的信息量提高对话、鼠标移动和思考的效率允许用户犯错误按功能对动作分类,并据此设计屏幕布局提供对工作内容敏感的帮助设施用简单动作或动词短语作为命令6.3人机界面设计-界面设计指南296.3.1数据输入界面设计1、数据输入的规则•尽量简化用户工作、尽可能地减少输入的出错率。对共同的输入内容设置默认值(缺省值)。使用代码和缩写。动填入已输入过的内容或需要重复输入的内容。如果输入内容是来自一个有限的备选集,可以采用列表选择或指点方式。•数据输入屏幕应设计成输入格式相匹配(手工界面)•根据使用频率、重要性、输入次序进行组织明确的输入:设计确认键避免误操作明确的动作:表格项用TAB或回车键控制表格项间移动。6.3人机界面设计-界面设计指南30明确的取消:确认删除:提供反馈:允许编辑:提供复原(Undo):自动格式化:提示输入的范围2、输入表格设计•数据验证:致命错误:警告:建议:•屏幕设计:屏幕划分为数据输入、命令与出错处理三个区域。应用不同的底色来区别各个区域。数据输入区内各个输入项应左侧对齐。在空间允许时,最好一行仅对应一个输入。•错误报信:错误出在何处,是什么错误,为什么错了,以及要修改错误应当采取措施、不应使用专业术语•数据输入对话控制6.3人机界面设计-界面设计指南31326.3人机界面设计-界面设计指南333、其它数据输入的方法菜单选择输入关键词数据输入(助记符、摘要词组)光学标记/识别(OMR)光学字符识别(OCR):模式比较(扫描仪)磁性墨水字符识别(MICR):银行支票条形码(BarCode)声音数据输入6.3人机界面设计-界面设计指南346.3人机界面设计-界面设计指南356.3.2输出设计(信息显示界面设计)1、信息显示的规则系统输出的形式是多种多样的,例如:作为其它系统的输入打印的报表屏幕显示数据文件(Word文件、Excel文件等)6.3人机界面设计-界面设计指南36输出方式:报表打印6.3人机界面设计-界面设计指南37输出方式:屏幕输出6.3人机界面设计-界面设计指南38输出方式:数据文件输出6.3人机界面设计-界面设计指南392、输出信息的规则只输出(显示)必需的当前工作内容有关(用户执行任务)的信息在一起使用的信息应输出(显示)在一起。高效率地使用显示屏,每一屏信息的数量,包括标题,栏题等等,不应超过整个屏幕面积的30%。用便于用户迅速地吸取信息的方式来显示数据。使用一致的标记、标准的缩写和可预知的颜色。允许用户保持可视化的语境。产生有意义的出错信息。使用大小写、缩进和文本分组来帮助理解。使用窗口分隔不同类型的信息。使用“模拟”方式显示信息。6.3人机界面设计-界面设计指南403、屏幕布局:使每屏划分若干个子区域少用代码和缩写使用统一的格式。提供明了的标题、栏题以及其它提示信息。遵循用户的习惯。使用用户的术语。采用颜色、大小、下划线、字体等强化重要数据4、字符数据的显示•纯正文的显示:英文避免连续用大写字母、文字左对齐、数字右对齐•列表和表格:横排,有助计算总和•显示不一定和输出格式一致控制显示(滚动速度)5、图形显示姓名数学成绩英语成绩物理成绩化学成绩卢晓波91838894浦柯玖90919587张超回948692896.3人机界面设计-界面设计指南41输出格式:表格信息426.3人机界面设计-界面设计指南4344午餐销售饮料9%甜食15%三明治40%色拉21%汤15%45466、报告(报表)•报告分类:文宗报告:订货单、发货单、发票、帐单等。信息报告:异常报告、监控和分析报告、管理总结报告等。6.3人机界面设计-界面设计指南47表头信息表尾信息表体信息48历史和档案报告:浏览报告•按种类分:列表报告、块结构报告、组结构报告•具体布局确定所需的打
本文标题:软件工程教案--第六章详细设计XXXX
链接地址:https://www.777doc.com/doc-153207 .html