已阅读5页,还剩74页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第六章详细设计,2,课程概述,6.1结构程序设计6.2人机界面设计6.3过程设计的工具6.4面向数据结构的设计方法6.5程序复杂程度的定量度量6.6小结,3,1、详细设计介绍,详细设计的根本目标是:确定应该怎样具体地实现所要求的系统。经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。,4,详细设计基本任务,主要确定每个模块具体执行过程,有:为每个模块进行详细的算法设计。为模块内的数据结构进行设计。对数据库进行物理设计。其他设计,如:代码设计、输入/输出格式设计、人机对话设计。编写详细设计说明书。评审,5,6.1结构程序设计(SP),一、什么是结构化程序?经典定义:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,而且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。比较全面的定义:结构程序设计是尽可能少用GOTO语句的程序设计方法,最好仅仅在检测出错误时才使用GOTO语句,而且应该总是使用前向的GOTO语句。,6,二、结构化程序设计(SP)主要原则,1)使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。(2)选用的控制结构只准许有一个入口和一个出口。(3)复杂结构应该用基本控制结构进行组合嵌套来实现。(4)严格控制GOTO语句,仅在下列情形才可使用:用一个非结构化的程序设计语言去实现一个结构化的构造。在某种可以改善而不是损害程序可读性的情况下。,7,三、五种基本的结构化控制结构(程序流程图表示),8,人机界面通常也称为用户界面用户界面友好性属软件性能特性,独立于所有具体功能。用户界面是否友好很大程度由人的主观因素决定。问:请说说你心目中友好的界面是怎样的?,6.2人机界面设计,9,用户界面应具备的特性,可使用性如:使用简单、界面中所用术语应该标准化,并保持一致性;拥有Help功能;较快的系统响应速度和较低的系统开销;具有容错能力。灵活性能满足不同用户的要求;可以制定和修改界面方式;能提供各类的系统响应信息,如反馈、提示、帮助、报错等;与其他软件系统应有标准的界面。复杂性在完成预定功能的前提下,用户界面越简单越好。可靠性用户界面能保证用户正确、可靠地使用系统,保证有关程序和数据的安全性。,10,6.2.1设计问题,在设计人机界面过程中,几乎总会遇到以下4个问题:系统响应时间用户帮助信息出错信息处理命令交互,11,系统响应时间,系统响应时间指从用户完成某个控制动作到软件给出预期的响应之间的这段时间。有两个重要属性:长度:响应时间的长短;易变性:响应时间相对于平均响应时间的偏差。,12,用户帮助信息,具体设计帮助信息时,应该解决以下问题:在用户与系统交互期间,是否在任何时候都能获得关于系统任何功能的帮助信息?(全部或部分)用户怎样请求帮助?(帮助菜单、功能键、Help命令)怎样显示帮助信息?(独立窗口、某个参考文档、屏幕固定位置显示简短提示)用户怎样返回正常的交互方式?(返回按钮、功能键)怎样组织帮助信息?(通过关键字访问、层次结构、超文本结构),13,出错信息处理,出错信息或警告信息应具有的属性:是用户可以理解的术语应该提高有助于从错误中恢复的建设性意见信息应该指出错误可能导致哪些负面后果(如破坏数据文件)等信息应该伴随视觉听觉上的提示,如警告声等信息不能带有指责色彩,14,命令交互,多数情况,用户应该既可以从菜单中选择命令,也可以通过键盘输入命令。提供命令交互应考虑的问题:是否每个菜单选项都有对应的命令?采用何种命令形式?(控制序列,如Ctrl;功能键;键入命令)学习和记忆命令的难度多大?忘了怎么办?用户是否可以定制或缩写命令?,15,6.2.3设计过程,用户界面设计是一个迭代的过程,包括以下步骤:,16,6.2.3人机界面设计指南,界面分类一、一般交互界面二、信息显示界面三、数据输入界面,17,一、一般交互界面,1、基本设计指南保持一致性;提供有意义的反馈和帮助信息;执行较大破坏性动作之前要求用户确认;允许犯错误,允许中断或撤销绝大多数操作;减少两次操作之间必须记忆的信息量;按功能对动作分类,并据此设计屏幕布局;用简单动词或短语作为命令名,18,2、交互界面的基本类型,菜单界面对话其他,19,菜单界面按显示形象分类:正文菜单、图标菜单、正文图标混合菜单按屏幕位置和操作风格分类:固定、浮动、下拉式、嵌入式,20,21,22,23,对话框对话形式必须回答式、无需回答式、警告式对话实现方式标准对话、定做式对话其他图像窗口,24,二、信息显示界面,1、界面显示的基本元素数据字符图形报告,25,2、基本设计指南可用多种不同方式显示信息。如用图形表示数据只显示与当前工作内容有关的信息使用一致的标记、缩写和可预知的颜色。使用窗口分隔不同类型的信息使用模拟方式表示信息。,26,例:PowerPiont不同的界面显示方式,浏览视图显示方式,27,例:PowerPiont不同的界面显示方式,普通视图显示方式,28,例:PowerPiont不同的界面显示方式,大纲视图显示方式,29,三、数据输入界面,1、基本设计指南尽量减少用户输入的动作保持信息显示和数据输入的一致性允许用户自定义输入,如键盘输入或鼠标输入当前动作语境中,不适用的命令不起作用。让用户控制交互流,如用户能跳过不必要的动作消除冗余的输入,30,31,32,33,6.3过程设计的工具,(1)图形工具程序流程图(FC)盒图(NS)问题分析图(PAD)(2)表格工具判定表判定树(3)语言工具过程设计语言(PDL),返回,34,6.3.1程序流程图(FC),又称程序框图。以图形方式说明系统中的控制流,是历史最悠久、使用最广泛的一种描述程序逻辑结构的工具。优点:直观清晰、易于使用,是普遍采用的工具。缺点:反映的是最后的结果,不易反映逐步求精的过程可以随心所欲地画控制流程线的流向,容易造成非结构化的程序结构。不易表示数据结构。,35,程序流程图的标准符号,36,37,6.3.2盒图(N-S图),出于要有一种不允许违背结构程序设计精神的图形工具的考虑,Nassi和Shneiderman提出用盒图代替传统的流程图,简称为NS图。优点:只能描述结构化程序所允许的标准结构。程序结构用方框表示,清晰可见。缺点:当程序内嵌套层数增多时,内层方块越画越小,增加了画图的困难,并使图形的清晰性受到影响。,38,五种基本控制结构在盒图中的表示,39,N-S图的嵌套定义形式,40,盒例图1,41,6.3.3问题分析图(PAD),日立公司发明。用二维树形结构的图来表示程序的控制流,控制流程自上而下,从左往右地执行。优点:程序结构清晰,结构化程度高。支持自顶向下,逐步求精的设计方法。既可以表示程序逻辑,也可以描绘数据结构。用PAD图表现程序逻辑,易读易写,使用方便。容易转换成高级语言源程序,也可用软件工具实现自动转换。,42,五种基本控制结构在PAD图中的表示,43,PAD描述的示例,44,6.3.4判定表,判定表能够清晰地表示复杂的条件组合与应做的动作之间的对应关系。如果数据流处理时需要依赖多个逻辑条件的取值,用判定表来描述比较合适。,一、判定表组成条件部分给出所有的两分支判断的列表;动作部分给出相应的处理;,45,例1:检查发货单判定表,46,二、判定表的应用,使用判断表进行数据处理说明。,47,6.3.6过程设计语言(ProcessDesignLanguage,PDL),也称伪码(pseudocode),是一种介于自然语言和形式化语言之间的语言,用于描述功能模块的算法设计和处理细节的语言。特点:易编写,易理解,容易转换成源程序。,48,例:商店业务处理系统中“检查发货单”,49,PDL的特性,1)正文用严格的程序语言的基本控制结构分割,称为“外语法”,如IfThenElse、WhileDo、RepeatUntil、CaseOf。2)操作用自然语言表示,描述处理特点,称为“内语法”。3)具有数据说明机制,包括简单的(如纯量和数组)与复杂的(如链表或层次的数据结构)数据说明。4)具有模块定义和调用机制,因此开发人员应根据系统编程所用的语种,说明PDL表示的有关程序结构。,50,PDL优点,提供的机制比图形全面,为保证详细设计与编码的质量创造了有利条件。可作为注释嵌入在源程序中一起作为程序的文档,并可同高级程序设计语言一样进行编辑、修改,有利于软件的维护。可自动生成程序代码,提高软件生产率。,返回,51,6.3.5判定树,判定树是判定表的变种,能清晰表示复杂的条件组合与操作之间的关系,形式简单,不需要做任何说明,是常见的系统分析工具。例1:检查发货单的判定树,52,“计算行李费”的判定树,53,面向数据流的结构化分析与设计方法总结,54,6.4面向数据结构的设计方法,面向数据流的设计方法:根据数据流确定软件结构的方法;面向数据结构的设计方法:根据数据结构设计程序处理过程的方法数据结构既影响程序的结构又影响程序的处理过程。目标:得出对程序处理过程的描述。Jackson和Warnier方法是最著名的两个面向DS的设计方法,55,6.4.1Jackson图,最著名、典型的面向数据结构的设计方法之一,以数据结构作为程序设计的基础。早期的Jackson方法称为Jackson结构程序设计方法(JSP方法);经过发展改进之后,提出了Jackson系统开发方法(JSD方法)。,56,6.4.3Jackson方法(JSP方法),早期的Jackson方法,用于小系统的设计。基本思想:通过分析数据结构与程序结构之间的关系,将数据结构映射成程序结构。设计原则:程序结构同数据结构相对应。描述工具:Jackson图、程序描述语言PDL,57,1、Jackson方法的工具-PDL,是将Jackson图中表示的数据结构转换为语言表示的工具,与Jackson图完全对应。三种基本结构对应的伪码:,58,2、JSP方法步骤空格统计,例1:统计空格数1)输入数据:输入是一个正文文件,由若干记录组成,每个记录是一个字符串。2)处理要求:程序要求统计每个记录中的空格个数和文件中空格总个数。3)输出数据:要求输出数据格式是每复制一个输入的记录后,另起一行输出该记录的空格个数;最后输出文件中空格总个数。,59,JSP方法步骤,步骤1:分别画出输入数据和输出数据的Jackson图。,60,步骤2:找出输入数据和输出数据结构中有对应关系的数据单元,并标以箭头线。“对应关系”指输出和输入的数据单元在数据内容上、数量上和顺序上有直接的因果关系,若是重复的数据单元,必须重复的次序和次数都相同才有对应关系。,61,62,步骤3:由Jackson图导出程序结构。导出规则:存在对应关系的输入数据单元和输出数据单元,画一个处理框。当两个数据单元不在同一层时,所画处理框的层次就低不就高。对于其它的输入和输出数据结构中的数据单元,一个数据单元对应画一个处理框。注意:在同一层中的处理框必须是同类型的,如果既有顺序执行的处理框,又有含条件执行的处理框,则将含条件的处理框下移,并在它之前加一个顺序执行的处理框。,63,64,65,步骤4:列出所有条件和每个处理框执行之前、执行之后和执行之时的所有操作。步骤5:用伪代码描述程序结构。,66,67,68,JSP方法小结,缺陷:不明确地划分软件总体设计和详细设计的两个阶段,对软件结构的概念和模块独立原理不重视;对于涉及很多输入、输出数据,其结构又不互相对应的大系统,用JSP方法解决比较困难。结论:根据它能直接推出程序结构的规则,可以将它与SD方法相结合。用SD方法在总体设计阶段完成软件体系结构设计,在详细设计阶段用JSP方法设计它的局部模块。,69,6.5程序复杂程度的定量度量,1、软件复杂性是软件度量的一个重要分支。主要参数有:规模:即总共的指令数,或源程序行数。难度:通常由程序中出现的操作数的数目所决定的量来表示。结构:通常用与程序结构有关的度量来表示。智能度:即算法的难易程度。,70,2、程序复杂性,软件复杂性主要表现在程序的复杂性,程序复杂性主要指模块内程序的复杂性。常见的定量度量软件复杂性的方法有:代码行度量法McCabe度量法:又称环路度量法Halstead的软件科学,71,6.5.1McCabe方法,T.McCabe的研究:一个程序的环形复杂度(cyclomaticcomplexity)取决于它的程序图(流图)包含的判定结点的数量。,72,1、什么是程序图(programgraph)?,一种简化了的流程图。流程图中的各种处理框(如加工框,判断框等),都被简化成用圆圈表示的结点。可由流程图导出。或其他工具(PAD图、代码等)变换获得。,73,程序图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025手足口试题及答案
- 2025年应用写作实务试题及答案
- 2025年影视化妆班考试题目及答案
- 关于青春和梦想演讲稿
- 2025-2030中国液体化工物流装备制造技术发展趋势报告
- 护士演讲稿主题
- 委托办理抵押协议书
- 贝壳楼盘代理协议书
- http协议书常见指令
- 2026年中国奶牛养殖业项目经营分析报告
- 配电房巡视记录表
- 思想道德与法治2023版教学设计第二章 追求远大理想 坚定崇高信念
- SAP各模块常用表清单
- HP DL380 G9安装系统、划raid及通过ilo口安装系统
- 危险化学品包装物容器产品生产许可证实施细则
- 1世界法制史专题
- 锥齿轮加工工艺和夹具设计
- 电力系统分析智慧树知到答案章节测试2023年东北电力大学
- GB/T 41318-2022通风消声器
- 欧姆龙自动门PLC控制系统设计
- 中小学生交通安全知识竞赛题库及答案
评论
0/150
提交评论