结构化设计.ppt





《结构化设计.ppt》由会员分享,可在线阅读,更多相关《结构化设计.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、结构化设计结构化设计软件设计的任务1从分析过渡到设计2软件设计准则3度量模块独立性的标准4启 发 规 则5软件结构的图形工具6人机界面设计8过 程 设 计9过程设计工具10面向数据结构设计方法11结构化设计实例(略)12面向数据流的设计方法78 8 人机界面设计人机界面设计u人机界面设计是接口设计的一个重要的组成部分。人机界面设计是接口设计的一个重要的组成部分。u对对交交互互式式系系统统来来说说,人人机机界界面面设设计计和和数数据据设设计计、体体系系结结构构设设计计、过过程程设设计计一一样样重重要要。近近年年来来,人人机机界界面面在在系系统中所占的比例越来越大。统中所占的比例越来越大。u人人机
2、机界界面面的的设设计计质质量量,直直接接影影响响用用户户对对软软件件产产品品的的评评价价,从从而而影影响响软软件件产产品品的的竞竞争争力力和和使使用用寿寿命命,因因此此,必必须对人机界面设计给予足够重视。须对人机界面设计给予足够重视。u人人机机界界面面的的设设计计结结果果,将将对对用用户户工工作作时时的的心心情情和和工工作作效率产生重要影响。效率产生重要影响。1.1.系统响应时间系统响应时间 系系统统响响应应时时间间是是许许多多交交互互式式系系统统用用户户经经常常抱抱怨怨的的问问题题。一一般般说说来来,系系统统响响应应时时间间指指的的是是从从用用户户完完成成某某个个控控制制动动作作(例例如如,
3、按按回回车车键键或或点点击击鼠鼠标标),到到软软件件给给出出预预期期的的响响应应(输出或做预期的动作)之间的这段时间。(输出或做预期的动作)之间的这段时间。系统响应时间有两个重要属性,分别是长度和易变性。系统响应时间有两个重要属性,分别是长度和易变性。8.1 8.1 应该考虑的设计问题应该考虑的设计问题2.用户帮助设施 常见的帮助设施有集成的和附加的两类。集成的帮助设施从一开始就设计在软件里面,通常它对用户的工作内容是敏感的,因此用户可以从与刚刚完成的操作有关的主题中选择一个请求帮助。显然,这可以缩短用户获得帮助所需的时间,并能增加界面的友好性。附加的帮助设施是在系统建成后再添加到软件中的,在
4、多数情况下,它实际上是一种查询能力有限的联机用户手册。人们普遍认为,集成的帮助设施优于附加的帮助设施。3.3.出错信息处理出错信息处理 交互式系统给出的出错警告信息,应该具有下述属性。交互式系统给出的出错警告信息,应该具有下述属性。信息应该以用户可以理解的术语描述问题。信息应该以用户可以理解的术语描述问题。信息应该提供有助于从错误中恢复的建设性意见。信息应该提供有助于从错误中恢复的建设性意见。信信息息应应该该指指出出错错误误可可能能导导致致哪哪些些负负面面后后果果(如如破破坏坏数数据据文文件件),以便用户检查是否出现了这些问题,并在确实出现问题时予以改正。以便用户检查是否出现了这些问题,并在确
5、实出现问题时予以改正。信息应该伴随着听觉上或视觉上的提示。信息应该伴随着听觉上或视觉上的提示。信息不能带有指责色彩,也就是说,不能责怪用户。信息不能带有指责色彩,也就是说,不能责怪用户。当当确确实实出出现现了了问问题题的的时时候候,有有效效的的出出错错信信息息能能够够提提高高交互式系统的质量,减少用户的挫折感。交互式系统的质量,减少用户的挫折感。4.4.命令交互命令交互 命令行曾经是用户和系统软件交互的最常用方式,而且也曾经广泛地用于各种应用软件中。现在,面向窗口的、点击和拾取方式的界面已经减少了用户对命令行的依赖,但是,许多高级用户仍然偏爱面向命令的交互方式。在多数情况下,用户既可以从菜单中
6、选择软件功能也可以通过键盘命令序列调用软件功能。8.2 8.2 人机界面设计过程人机界面设计过程方法:原型法过程:用户界面设计是一个迭代的过程,也就是说,通常先创建设计模型,再用原型实现这个设计模型,并由用户试用和评估,然后根据用户的意见进行修改。1.1.一般交互指南一般交互指南 一般交互指南涉及信息显示、数据输入和整体系统控制,因此,这些指南是全局性的,忽略它们将承担较大风险。保持一致性。为人机界面中的菜单选择、命令输入、数据显示及其他功能,使用一致的格式。提供有意义的反馈。向用户提供视觉的和听觉的反馈,以保证在用户和界面之间建立双向通信。在执行有较大破坏性的动作之前要求用户确认。允许取消绝
7、大多数操作。每个交互式应用系统都应该能方便地取消已完成的操作。减少在两次操作之间必须记忆的信息量。8.3 8.3 界面设计指南界面设计指南 提高对话、移动和思考的效率。应该尽量减少击键次数,设计屏幕布局时应该考虑尽量减少鼠标移动的距离。允许犯错误。系统应该保护自己不受致命错误的破坏。按功能对动作分类,并据此设计屏幕布局。下拉菜单的一个主要优点就是能按动作类型组织命令。提供对工作内容敏感的帮助设施。用简单动词或动词短语作为命令名。过长的命令名难于识别和记忆,也会占据过多的菜单空间。2.信息显示指南 只显示与当前工作内容有关的信息。用户在获得有关系统的特定功能的信息时,不必看到与之无关的数据、菜单
8、和图形。不要用数据淹没用户,应该用便于用户迅速地吸取信息的方式来表示数据。例如,可以用图形或图表来取代巨大的表格。使用一致的标记、标准的缩写和可预知的颜色。显示的含义应该非常明确,用户不必参照其他信息源就能理解。产生有意义的出错信息。允许用户保持可视化的语境。如果对图形显示进行缩放,原始的图像应该一直显示着,以使用户知道当前观察的图像部分在原图中所处的相对位置。使用大小写、缩进和文本分组以帮助理解。使用窗口分隔不同类型的信息。利用窗口用户能够方便地“保存”多种不同类型的信息。使用“模拟”显示方式表示信息,以使信息更容易被用户吸取。高效率地使用显示屏。当使用多窗口时,应该有足够的空间使得每个窗口
9、至少都能显示出一部分。3.数据输入指南 用户的大部分时间用在选择命令、键入数据和向系统提供输入。在许多应用系统中,键盘仍然是主要的输入介质,但是,鼠标、数字化仪和语音识别系统正迅速地成为重要的输入手段。尽量减少用户的输入动作,重要的是减少击键次数。保持信息显示和数据输入之间的一致性。显示的视觉特征应该与输入一致。允许用户自定义输入。交互应该是灵活的,并且可调整成用户最喜欢的输入方式。使在当前动作语境中不适用的命令不起作用。这可使用户不去做那些肯定会导致错误的动作。让用户控制交互流。用户应该能够跳过不必要的动作,改变所需做的动作的顺序,以及在不退出程序的情况下从错误状态中恢复正常。对所有输入动作
10、都提供帮助。消除冗余的输入。除非可能发生误解,否则不要要求用户指定工程输入的单位;9 9 过过 程程 设设 计计 过过程程设设计计应应该该在在数数据据设设计计、体体系系结结构构设设计计和和接接口口设设计计完完成成之之后后进进行行,它它是是详详细细设设计计阶阶段段应应该该完成的主要任务。完成的主要任务。过程设计的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。对于长期使用的软件系统而言,人读程序的时间可能比写程序的时间还要长得多。因此,衡量程序的质量不仅要看它的逻辑是否正确,性能是否满足要求,更主要的是要看它是否容易阅读和理解。过程设计的目标不仅
11、仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。结构程序设计技术是过程设计的逻辑基础。结构程序设计技术是过程设计的逻辑基础。结构程序设计的概念最早由E.W.Dijkstra提出。1965年他在一次会议上指出:“可以从高级语言中取消GOTO语句”,“程序的质量与程序中所包含的GO TO语句的数量成反比”。1966年Bhm和Jacopini证明了,只用三种基本的控制结构就能实现任何单入口单出口的程序。这三种基本的控制结构是“顺序”、“选择”和“循环”。19721972年年IBMIBM公司的公司的MillsMills进一步提出,程序应进一步提出,程序应该只有一个入口
12、和一个出口,从而补充了结构程序该只有一个入口和一个出口,从而补充了结构程序设计的规则。设计的规则。结构程序设计的经典定义如下所述:结构程序设计的经典定义如下所述:如如果果一一个个程程序序的的代代码码块块仅仅仅仅通通过过顺顺序序、选选择择和和循循环环这这三三种种控控制制结结构构进进行行连连接接,并并且且每每个个代代码码块块只只有一个入口和一个出口,则称这个程序是结构化的有一个入口和一个出口,则称这个程序是结构化的。三种基本的控制结构(a)顺序结构,先执行A再执行B;(b)IF_THEN_ELSE型选择结构;(c)DO_WHILE型循环结构 为为 了了 实实 际际 使使 用用 方方 便便 起起 见
13、见,常常 常常 还还 允允 许许 使使 用用DO_UNTILDO_UNTIL和和DO_CASEDO_CASE两种控制结构,如图所示。两种控制结构,如图所示。其他常用的控制结构其他常用的控制结构(a a)DO_UNTILDO_UNTIL型循环结构;(型循环结构;(b b)多分支结构)多分支结构 如果只允许使用顺序、IF_THEN_ELSE型分支和DO_WHILE型循环这三种基本控制结构,则称为经典的结构程序设计;如果除了上述三种基本控制结构之外,还允许使用DO_CASE型多分支结构和DO_UNTIL型循环结构,则称为扩展的结构程序设计;如果再加上允许使用LEAVE(或BREAK)结构,则称为修正
14、的结构程序设计。10 10 过程设计的工具过程设计的工具 描述程序处理过程的工具称为过程设计的工具,它们可以分为图形、表格和语言三类。10.1 程序流程图 程序流程图又称为程序框图,它是历史最悠久使用最广泛的描述过程设计的方法,然而它也是用得最混乱的一种方法。在前面已经用程序流程图描绘了一些常用的控制结构,相信读者对程序流程图中使用的基本符号已经有了一些了解。程序流程图中使用的符号程序流程图中使用的符号 (a)(a)选择选择(分支分支););(b b)注释)注释;(c);(c)预先定义的处理;(预先定义的处理;(d d)多分支)多分支;(e)(e)开始或停止开始或停止;(f f)准备;)准备;
15、(g)(g)循环上界限;(循环上界限;(h h)循环下界限;)循环下界限;(i i)虚线;)虚线;()省略符;(省略符;(k k)并行方式;()并行方式;(l l)处理;)处理;(m)m)输入输入/输出输出;(n n)连接;()连接;(o o)换页连接;()换页连接;(p p)控制流)控制流程序流程图虽然比较直观,灵活,并且比较容易掌握,但是它的随意性和灵活性却使它不可避免地存在着一些缺点:(1)由于程序流程图的特点,它本身并不是逐步求精的好工具。因为它使程序员容易过早地考虑程序的具体控制流程,而忽略了程序的全局结构;(2)程序流程图中用箭头代表控制流,这样使得程序员不受任何约束,可以完全不顾
16、结构程序设计的精神,随意转移控制;(3)程序流程图在表示数据结构方面存在不足。10.2 盒图 出于要有一种不允许违背结构程序设计精神的图形工具的考虑,Nassi和Shneiderman发明了盒图,又称为N-S图。它有下述特点:(1)功能域明确,从盒图上一眼就可看出来。(2)不可能任意转移控制。(3)很容易确定局部和全程数据的作用域。(4)很容易表现嵌套关系,也可以表示模块的层次结构。盒图的基本符号盒图的基本符号(a a)顺序;)顺序;(b(b)IF_THEN_ELSEIF_THEN_ELSE型分支;型分支;(c c)CASECASE型多分支;型多分支;(d(d)循环;()循环;(e)e)调用子
17、程序调用子程序A A10.3 PAD10.3 PAD图图 PAD是 问 题 分 析 图(Problem Analysis Diagram)的英文缩写,自1973年由日本日立公司发明以后,已得到一定程度的推广。它用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。下面给出PAD图的基本符号。基本控制结构基本控制结构:(1)(1)顺序结构顺序结构 (2)(2)选择结构选择结构ABCABTF条条条条件件件件(3)循环结构(先测试循环)(后测试循环)REPEAT C UNTIL SWHILE C DO SUNTILCSWHILECS(4)多分支选择型(CASE型)A1A1值值1 1值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构 设计

限制150内