结构化方法由结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。结构化分析是根据分解与抽象原则,按照系统中数据处理的流程,用数据流图来建立系统的功能模型,从而完成需求分析工作。结构化设计是根据模块独立准则、软件结构优化准则将数据流图转换为软件的体系结构,用软件结构图来建立系统的物理模型,实现系统的概要设计。结构化程序设计使用3中控制结构构造程序,任何程序都可以由顺序、选择和重复3中基本控制结构构造。
结构化方法总的知道思想是自顶向下、准层分解,它的基本原则是功能的分解与抽象。它是软件工程中最早出现的开发方法,特别适合于数据处理领域的问题,但是不适合解决大规模的、特别复杂的项目,且难以适应需求的变化。
系统分析是一种问题求解技术,它将一个系统分解成各个组成部分,目的是研究各个部分如何工作、交互,以实现其系统目标。系统分析强调业务方面的问题,而非技术实现方面。
系统分析的目的和任务:进行一系列分析,提交系统分析报告,即系统方案说明书。
系统分析的主要步骤:
按照上图,可将系统分析阶段的主要工作分为以下几步:
抽象
重点说明实体的本质方面,忽略非本质的方面。抽象的最底层就是实现该软件的源程序代码。
较低抽象层次的模块是较高抽象层次模块对问题解法描述的细化。
模块化
在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编制的元素,模块是可以组合分解和更快的单元。
【目的】使程序的结构清晰、易读、理解、测试和修改。
信息隐蔽
开发整体程序结构时使用的法则,即将每个程序的成分隐蔽或封装在一个单一的设计模块中,在定义一个模块时,尽可能少地暴露其内部的处理。
【目的】提供软件的可修改性、可测试性、可移植性。
模块独立
每个模块完成一个相对独立的特定子宫内,并且与其他模块联系简单。
【衡量标准】:耦合性和内聚性。
内聚(从高到底)
耦合(从低到高)
系统结构设计原则:
子系统的划分:
系统模块结构设计:
一个模块应具备4个要素(前两个是模块外部属性,后两个是内部属性)
模块结构图
模块结构图主要关心的是模块的外部属性,即上下级模块、同级模块之间的数据穿肚和调用关系,并不关系模块的内部结构。
模块结构图是结构化设计中描述系统结构的图形工具。
模块结构图由模块、调用、数据、控制信息和转接符号5种基本符号组成。
模块:指一个名字就可以调用的一段程序语句。在长方形中间标上能反映模块处理功能的模块名字。
调用:箭头(调用模块指向被调用模块),但是应该理解被调用模块指向后又返回调用模块
调用分为以下三种
数据:当一个模块调用另一个模块时,调用模块可以把数据传送到被调用模块供处理,而被调用模块可以将处理结果送回到调用模块。如下图表示模块A 调用 模块B 时,A 将数据 x、y 传送给 B,B 将处理结果数据 z 返回给 A;
控制信息:模块间有时必须传送某些控制信息。例如,数据输入完后给出结束标志,文件读到末尾时所产生的文件结束标志等等。控制信息与数据的主要区别就是前置只能反映数据的某种状态,不必进行处理。图中的“无此职工”就是用来表示送来的职工号有误的控制信息。
转接符号:当模块结构图在一张智商画不下,需要转接到另一张纸上,或者为了避免图上线条交叉,都可以使用转接符号,圆圈内加上标号,如下图所示。
数据存储设计
信息系统的文档是系统建立过程中的“痕迹”,是维护人员的指南,是开发人员与用户交流的工具。
对文档在系统开发人员、项目管理人员、系统维护人员、系统评价人员以及用户之间的多种作用总结如下:
结构化分析与设计方法是一种面向数据流的传统软件开发方法,它以数据流为中心构建软件的分析模型和设计模型。
抽象和分解是处理任何复杂问题的两个基本手段。
结构化分析的结构一般由以下几个部分组成:一套分层的数据流图、一本数据词典、一组小说明(也称加工逻辑说明)、补充材料。
数据流图也称数据流程图,它是一种用户理解、分析数据流程的图形工具。是系统逻辑模型的重要组成部分。
1.数据流图的基本图形元素
数据流图的基本图形元素包括 数据流(data flow)、加工(process)、数据存储(data store)和外部实体(external agent)。其中,数据流、加工、数据存储用于构建软件系统内部的数据处理模型;外部实体表示存在系统之外的对象,用来帮助用户理解数据的来源和去向。DFD的基本图形元素如下所示。
数据流
数据流由一组固定成分的数据组成,表示数据的流向。在DFD中,数据流的流向可以有以下几种:
DFD中的每个数据流用一个定义明确的名字表示。除了流向数据存储或从数据存储流出的数据流不必命名外,每个数据流都必须有一个合适的名字,以反应该数据流的含义。值得注意的是,DFD中描述的数据流,而不是控制流。
数据流或者由具体的数据属性(也称数据结构)构成,或者由其他数据流构成。组合数据流是由其他数据流构成的数据流,它用于在高层的数据流图找那个组合相似的数据,以便使数据流图更便于阅读。
加工
加工描述了数据流到输出流之间的转换。每个加工都有一个名字和编号。编号能翻译出该加工位于分层DFD中的哪一个层次和那张图中,也能够看出它是哪个加工分解出来的自加工。
一个加工可以有多个输入数据流和多个输出数据流,但至少有一个输入数据流和一个输出数据流。常见的错误,如下所示:
数据存储
数据存储用来存储数据。通常,一个输入流加工的数据流经过加工处理后就小时了,而它的某些数据(或全部数据)可能被加工成输出数据流,流向其他加工或外部实体。除此之外,在软件系统中还常常要把某些信息保存下来以供以后使用,这时可以使用数据存储。例如,在考务处理系统中,报名时产生的考生名册要随着报名的过程不断补充,在统计成绩和制作考生通知书时还要使用考生名册的相关信息。因此,考生名册可以作为数据存储存在,以保存相关的考生信息。
每个数据存储都有一个明确的名字标识。可以有数据输入流数据存储,表示数据的写入操作;也有可可有数据流从数据存储流出,表示数据的读操作;还可以用双箭头的数据流执行数据存储,表示对数据的修改。
这里要说明的是 DFD 中的数据存储在具体实现时可以用文件系统实现,也可以用数据库系统实现。数据存储的存储介质可以说磁盘、磁带或其他存储介质。
外部实体(外部主体)
外部实体是指存在于软件系统之外的人员或组织,它指出系统所需数据的发源地(源)和系统所产生的数据的归宿地(宿)。例如,对于一个考务处理系统而言,考生向系统提供报名单(输入数据流),所以考生是考务处理系统的一个源;而考务处理系统将要考试成绩的统计分析表(输出数据流)传递给考试中心,所以考试中心是该系统的一个宿。
在许多系统中,某个源和某个宿可以是同一个人员或组织,此时 DFD 中可以用同一个符号表示。考生向系统提供名单,而系统向考生送出准考证,所以在考务处理系统中,考生既是源又是宿。
源和宿采用相同的图像符号表示,当数据流从该符号流出时,表示它是源;当数据流流向该符号时,表示它是宿;当两者皆有时,表示它既是源又是宿。
2.数据流图的扩充符号
在DFD中,一个加工可以有多个输入数据流和多个输出数据流,此时可以加上一些扩充符号来描述多个数据流之间的关系。
*
):与关系,所有输入数据流全部到达后才能处理;加工结束时将同时产生所有的输出数据流。+
):或关系,任何⊕
):异或表示数据流之间存在“互斥关系”。3.数据流图的层次结构
理论上讲,只要纸足够大,一个软件系统的分析模型就可以画在一张纸上。然而,一个复杂的软件系统可能设计上百个加工和上百个数据流,甚至更多。如果将它们画在一张图上,则会十分复杂。
项目根据自顶向下逐层分解的思想,可以将数据流图按照层次结构来绘制,每张图的加工格尔书可大致控制在“7加减2”的范围内,从而构成一套分层数据流图。
层次结构
分层数据流图的顶层只有一张图,其中只有一个加工,代表整个系统,该加工描述了软件系统与外界之间的数据流,称为顶层图。
顶层图中的加工(即系统)经分解后的图称为0层图,也只有一张。处于分层数据流图最底层的图称为底层图,在底层图中,所有的加工不在进行分解。分层数据流图中的其他图称为中间层,其中至少有一个加工(也可以是所有加工)被分解成一张子图。在整个分层数据流图中,凡是不在分解成子图的加工,称为基本加工。
图和加工的编号
首先介绍父图和子图的概念。
如果某图(记为A)中的某一个加工分解成一张子图(记为B),则称A是B的父图,B是A的子图。若父图中有n个加工,则它可以有0~n 张子图,但每张子图只能对应一张父图。
为了方便对图进行管理和查找,可以采用下列方式对 DFD 中的图和加工编号。
4.分层数据流图的画法
下面以某考务处理系统为例介绍分层数据流图的画法。
考务处理系统需求分析如下:
部分数据流的组成如下:
下面介绍话分层数据流图的步骤
画系统的输入和输出
系统的输入和输出用底层图来描述,即描述系统从哪些外部实体接收数据流,以及系统发送到数据流到哪些外部实体。
顶层图只有一个加工,即待开发的软件系统。顶层图中的数据流就是系统的输入/输出信息。顶层图中通常没有数据存储。考务处理系统的顶层图如下所示
画系统的内部
先将顶层图的加工分解成若干个加工,并用数据流将这些加工连起来,是的顶层图中的输入数据经过若干个加工处理后变换成底层图中的输出数据流。这张图称为0层图。从一个加工画出一张数据流图的过程实际上就是对这个加工的分解。
确定加工。这里的加工指的是父图中某加工分解而成的自加工,可以用下面两种方法来确定加工。
一个加工实际上翻译了系统的一种功能,根据功能分解的原理,将一个复杂的功能分解成若干个较小的功能,每个较小的功能就是分解后的子加工。这种方法多应用于高层 DFD 中加工的分解。
分析父图中的待分解的加工的业务处理流程,流程中的每一步都可能是一个子加工。特别注意在业务流程中数据流发生变化或数据流的值发生变化的地方,应该存在一个加工,该加工将元数据流处理成变化后的数据流。该方法多用于底层 DFD 中加工的分解,它能描述父加工中输入数据流到输出数据流之间的加工细节。
确定数据流。当用户把若干个数据看做一个整体来处理时,可以把这些数据看出一个数据流。通常,实际工作中的表单就是一种数据流。
在父图某加工分解而成的子图中,父图中相应加工的输入/输出数据流就是子图边界上的输入/输出数据流。另外,在分解的子加工之间应增添一些新的数据流,这些数据流是加工过程中的中间数据,它们与所有的子加工一起完成了父图中相应加工的输入数据流到输出数据流的变换。如果某些中间数据需要保存,那么可以表示为流向数据存储的数据流。
同一个源或加工可以有多个数据流向另一个加工,如果它们不是一起到达和一起加工的,那么将他们分成多个数据流。同样,同一个加工也可以有多个数据流流向另一个加工或宿。
确定数据存储。再由父图某加工分解而成的子图中,若父图中该加工存在流向数据存储的数据流,或从数据存储流向该加工的数据流,则这种数据存储和相关的数据流都画在子图中。
在分解的子图中,如果需要保存某些中间数据,那么可以将这些数据组成一个新的文件。在自顶向下画分层数据流图时,新数据存储(第一次出现)至少应该有一个加工为其写入记录,同时至少存在一个加工读取该数据存储的记录。
注意,从父图中继承下来的数据存储,在子图中只能对其读记录,或者写记录。
确定源和宿。通常在0层和其他子图中不必画出源和宿,但有时为了提供可读性,可以将底层图中的源和宿画在0层图中。
当同一个外部实体(人或组织)既是系统的源又是宿时,可用同一个图像符号来表示。为了方便画图,同一个源或宿可重复画在DFD的不同位置,但它们仍代表一个实体。
在考务处理系统的0层图中,采用功能分解方法来确定加工。分析系统的需求说明,可知,系统功能分为考试报名及统计成绩,其中报名工作在考试前进行,统计成绩在考试后进行。
为此,定义两个加工:登记报名表和统计成绩。
画内部加工
当DFD中存在某个比较复杂的加工时,可以将它分解成一张DFD子图。分解的方法是将该加工看作是一个小系统,该加工的输入/输出数据流就是这个假设的小系统的输入/输出数据流,然后采用画0层的方法画出该加工的子图。
下面介绍考务处理系统0层图中加工1的分解,这里根据业务处理流程来确定加工1的分解。分析考务处理系统的功能需求和0层图,将加工1分成3个子加工:检查报名表、编准考证号和登记考生。加工1分解而成的子图如下所示
采用同样的方法画出加工2分解的 DFD 子图如下所示
重复步骤3的分解,直到图中尚未分解的加工都足够简单。
5.分层数据流图的审查
分层数据流图的一致性和完整性
一致性
完整性
构造分层DFD时需要注意的问题
a)适当命名
b)画数据流而不是控制流
c)避免一个加工有过多的数据流,若出现过多的数据流需重新分解,步骤如下:
d)分解尽可能均匀。
e)先考虑确定状态,忽略琐碎的细节。
f)随时准备重画。
分解的程度
逻辑数据流图与物理数据流图之间的主要区别
- 物理数据流图关注的是系统中的物理实体,以及一些具体的文档、报告和其他输入/输出硬拷贝。物理数据流图用做系统构造和实现的技术性蓝图。
- 逻辑数据流图强调参与者所做的事情,可以帮助设计者决定哪些系统资源、为了运行系统用户必须执行的活动、在系统安装之后如何保护和控制这些系统。逻辑数据流图是物理数据流图去掉了所有物理细节后得到的变换形式,逻辑数据流图被用做系统分析的需求分析阶段的起点。
在 DFD 建模时,需要对有些复杂加工(处理)进行进一步精化,绘制下层数据流图。在复杂加工进行分解是要注意哪些问题?
- 保持父图与子图的平衡。父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同。如果父图的一个输入/输出数据流对应子图中几个输入/输出数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流,那么它们仍然算式平衡的。
数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。简要说明程序流程图的使用场合与作用
- 程序流程图通常用在进行详细设计时使用,用来描述程序的逻辑结构。
数据字典内容
数据流条目:DFD的数据流的定义,通常列出数据流的各组成属性。在定义数据流或数据存储组成时,使用下表给出的符号
符号 | 含义 | 说明 |
---|---|---|
= | 被定义为 | |
+ | 与 | x = a+b,表示x由a和b组成 |
{...\ | ...} | 或 |
{...} | 重复 | x = {a},表示x由0或多个a组成 |
m{...}n | 重复 | x = 2{a}5,表示x中最少出现2次a,最多出现5次a |
(...) | 可选 | x=(a),表示a可在x中出现,也可不出现 |
“...” | 基本数据元素 | x="a",表示x是取值为字符a的数据元素 |
.. | 连接符 | x=1..9,表示x可取 1~9中的任意一个值 |
数据存储条目:对数据存储的定义
数据项条目:数据项条目是不可再分解的数据单位
基本加工条目:是用来说明DFD中基本加工的处理逻辑。
数据词典管理
词典管理主要是把词典条目按照某种格式组织后存储在词典中,并提供排序、查找和统计等功能。
加工逻辑的描述
加工逻辑也称“小说明”
结构化语言
一种介于自然语言和形式化语言之间的半形式化语言,是自然语言的一个受限子集。
它的结构通常分为外层和内层。外层语法严格,主要用来描述控制结构,采用顺序、选择和重复3中基本结构;内层使用数据字典中的名词和有限的自定义词,其动词含义要具体,尽量不要用形容词和副词来修饰,还可以使用一些简单的算法运算和逻辑运算符号。
判定表
某些情况,某个加工的一组动作仅依赖于多个路基条件的值,这时用自然语言和结构语言都不易与清楚的描述出来,而用判定表能够清楚地表示复杂的条件组合与应做的动作之间的对应关系。
判定表由4个部分组成,用双线分割成4个区域,如下所示。
判定树
判定树是判定表的变形,一般情况下它比判定表更直观,且易于理解和使用。
结构化设计(structure design)方法是一种面向数据流的设计方法。
1.建立初始结构图
结构化方法本质上是一种功能分解方法。在结构化设计时,可以将整个软件看作一个大的功能模块,通过功能分解成若干个较小的功能模块,每个较小的功能模块还可以进一步分解。
功能模块的分解应满足自顶向下、逐步求精、信息隐蔽、高内聚低耦合等设计原则,模块的大小适中。通常,一个模块的大小以50100行代码为宜,即一个模块的程序代码可以写在12页纸。
2.对结构图的改进
根据设计准则对初始结构图进行改进
3.书写设计文档
在概要设计完成后应书写设计规格说明书,特别要为每个模块书写模块的功能、接口、约束和限制等,必要时可建立模块开发卷宗。
4.设计评审
对设计结果及文档进行评审。
结构化设计是将结构化分析的结果(数据流图)映射成软件的体系结构(结构图)。根据信息流的特点,可将数据流图分为变换型数据流图和事务型数据流图,其对应的映射分别为变换分析和事务分析。
1.信息流的类型
面向数据流的设计能方便地将 DFD 转换成程序结构图。DFD中从系统的输入数据流到系统的输出数据流的一连串连续变换形成了一条信息流。DFD的信息流可以分为2类:变换流和事务流。
变换流
信息沿着输入通路进入系统,同时将信息的外部形式转换成内部表示,然后通过变换中心处理,再沿着输出通路转换成外部形式离开系统。具有这种特性的信息流称为变换流。变换流型的DFD可以明显地分成输入、变换和输出三大部分。
事务流
信息沿着输入通路到达一个事务中心,事务中心根据输入信息的类型在若干个动作序列中选择一个来执行,这种信息流称为事务流。事务流有明显的事务中心,各活动以事务中心为起点呈辐射状流出。
2.变换分析
变换分析是从变换流型的DFD导出程序结构图。
确定输入流和输出流,分离出变换中心
DFD中系统输入端的数据流称为物理输入,系统输出端的数据称为物理输出。物理输入经过编辑、格式转换、合法性检查、预处理等辅助性的加工才能称为真正输入(称为逻辑输入)。同样,由主加工产生的输出(称为逻辑输出)也要经过编辑、格式转换、组成物理块、缓冲处理等辅助加工才能变成物理输出。
DFD中从物理输入到逻辑输入的部分构成输入流,从逻辑输出到物理输出的部分构成系统的输出流,位于输入流和输出流之间的部分就是变换中心。
第一级分解
第一级分解主要是设计模块结构的顶层和第一层。一个变换流型的 DFD 可以映射成如图所示的程序结构图。图中底层模块的功能就是整个系统的功能。输入控制模块可用来接收所有的输入数据,变换控制模块实现输入到输出的变换,输出控制模块用来产生所有的输出数据。
第二级分解
第二级分解主要是设计中、下层模块。
事务分析
事务分析是从事务流型DFD导出程序结构图。
确定事务中心和每条活动流的流特性。下图给出了事务流型DFD的一般形式。其中,事务中心位于数条活动流的起点。每条活动流既可以是变换流也可以是是物流。一个事务流型的DFD由输入流、事务中心和若干条活动流组成。
将事务流型DFD映射成高层的程序结构。事务流型的高层结构图如下所示。顶层模块是正规系统的功能。接收模块用来接收输入数据,它对应于输入流。发送模块是一个调度模块,控制下层的所有活动模块。每个活动模型对应一个活动流,它也是该活动流映射成的程序结构图中的顶层模块。
SD 方法的设计步骤
建模以需求工程中确定的用户类别、可用目标、使用场景、业务环节等各类需求等为输入产生如下5个模型类型。
1.内容模型
内容模型给出由 WebApp 提供的全部系列内容,包括文学、图形、图像、音频和视频。
内容模型包含结构元素,它们为 WebApp 的内容提供了一个重要的视图。这些结构元素包含内容对象和所有分类,在用户与WebApp交互时生成操作用户可见的实体。
内容的开发可能发生在 WebApp 实现之前、构建之中或者投入运行以后的很长一段时间里。它通过导航链接合并到 WebApp 的总体结构中。内容对象可能是产品的文本描述、描述新闻事件的一篇文章、拍摄的一张照片动作、在一次论坛讨论中某个用户的回答、一个演讲的简短视频等。这些内容对象可能存储于分离的文件中,直接嵌入Web页中,或从数据库中动态获得。换句话说,内容对象是呈现给最终用户具有汇聚信息的所有条目。
内容模型必须具备描述内容对象的能力。一些实例中,用一些简单的内容对象列表,并给出每个对象的简短描述就足以定义和实现所必需的内容需求。但是在某些情况下,内容模型可以从更丰富的分析中获得好处,即在内容对象之间的关系和 WebApp 维护的内容层次中采用图形表示关系。
下图的数据树表述了某个构建的一种信息层次,不带阴影的长方形表示简单或复合数据项,带阴影的长方形表示内容对象。在此图中,“描述说明”是由5个内容对象定义的。在某些情况下,随着数据的扩展,其中的一个或多个对象将会得到进一步细化。
由多项内容对象和数据项组成的任何内容都可以生成数据树。开发数据树尽力在内容对象中定义层级关系,并提供一种审核内容的方法,以便在开始设计前发现遗漏和不一致的内容。另外,数据可以作为内容设计的基础。
2.交互模型
交互模型描述了用户与 WebApp 采用了哪种交互方式。交互模型由一种或多种元素构成,包括用例、顺序图、状态图、用户界面原型等。
3.功能模型
许多WebApp 提供大量的计算和操作功能,这些功能与内容直接相关。这些功能常以用户——WebApp 的交互活动为主要目标,由于这个原因,必须对功能需求进行分析。
功能模型描述 WebApp 的两个处理元素:
用户可观察到的功能包括直接由用户启动的任何处理功能。这些功能实际上可能使用分析类中的操作完成,但是从最终用户的角度看,这些功能是可见的。
在抽象过程的更低层次,分析模型描述了由分析类操作执行的处理。这些操作可以操纵类的属性,并参与类之间的写作来完成所需要的行为。不管抽象过程的层次如何,UML活动图可以用来表示处理细节。在分析阶段,仅在功能相对复杂的地方才会使用活动图。许多 WebApp 的复杂性不是出现在提供的功能中,而是与可访问信息的性质以及操作的方式相关。
4.导航模型
导航模型为 WebApp 定义所有导航策略。导航模型考虑用户如何从一个 WebApp 元素导航到另一个元素。在这个阶段,分析人员应关注总体的导航需求,应考虑以下问题:
5.配置模型
配置模型描述 WebApp 所在的环境和基础设施。
某些情况下,配置模型只不过是服务器端和客户端的属性列表。但是对于更复杂的 WebApp 来说,多种配置的复杂性(例如,多服务器直接的负载均衡、高速缓存的体系结构、远程数据库、同一页上服务于不同对象的多个服务器)可能对分析和设计产生影响。在必须考虑复杂配置系统结构的情况下,可以使用UML部署图。
好的 WebApp 应该具有最相关的通用特性是可用性、功能性、可靠性、效率、可维护性、安全性、可扩展性以及及时性。
架构设计
WebApp 描述了是 WebApp达到其业务目标的基础结构,典型使用多层架构来构造,包括用户界面或展示层、基于一组业务规则来指导与客户端浏览器进行信息交互的控制器、以及可以包含 WebApp 业务UI则的模型层,描述将以什么方式来管理用户交互、操作内部处理、实现导航及展示内容。模型-视图-控制器结构是 WebApp 基础结构模型之一,它将 WebApp 功能及信息内容分离。
构件设计
在 WebApp 功能和内容的界限通常并不清晰,因此首先明确 WebApp 构件:(1)定义良好的聚合功能,为最终用户处理内容、提供计算、处理数据;(2)内容和功能的聚合包,提供最终用户所需要的功能。因此 WebApp 构件设计通常包含 内容设计和功能设计元素。
内容设计
WebApp 的内容结构(线性或非线性)也影响架构。内容体系结构着重于内容对象的表现和导航的组织,通常采用线性结构、网格结构、层次结构、网络结构四种机构及其组合。
导航设计
定义导航路径,使用户可以访问 WebApp 的内容和功能。当用户与WebApp进行交互时,会接触一些列导航语义单元。定义导航机制,如导航链接、水平或垂直导航条,标签或一个完整的站点地图入口。
用户界面(UI)设计在人与计算机之间搭建了一个有效地交流媒介。
1.用户操纵原则
以不强迫用户的方式定义交互模式
提供灵活的交互。
允许中断和撤销用户交互。
当技能级别增长时可以使交互流线化并允许定制交互。
用户经常发现他们重复完成相同的交互序列。因此,值得设计一种“宏”机制,使得高级用户能够定制界面以方便交互。
使用户与内部技术细节隔离开
设计应允许用户与出现在屏幕上对象直接交互。
2.减轻用户记忆负担
3.保持界面一致
1.用户界面分析和模型设计
2.用户界面分析和设计的过程
用户界面分析和设计的过程是迭代的,包括4个不同的框架活动:界面分析建模、界面设计、界面构造和界面确认。
系统响应时间
系统响应时间指从用户开始执行动作到软件以预期的输出和动作形式给出响应这段时间。
系统响应时间包括两方面的熟悉:时间长度和可变性。
帮助设施
考虑帮助设施时需要在设计中解决以下问题
错误信息
错误信息应具备以下特征:
菜单和命令标记
在提供命令或菜单标签交互方式时,必须考虑以下问题: