收藏 分享(赏)

第7章 信息系统的详细设计.ppt

上传人:fmgc7290 文档编号:8526356 上传时间:2019-07-01 格式:PPT 页数:59 大小:500KB
下载 相关 举报
第7章 信息系统的详细设计.ppt_第1页
第1页 / 共59页
第7章 信息系统的详细设计.ppt_第2页
第2页 / 共59页
第7章 信息系统的详细设计.ppt_第3页
第3页 / 共59页
第7章 信息系统的详细设计.ppt_第4页
第4页 / 共59页
第7章 信息系统的详细设计.ppt_第5页
第5页 / 共59页
点击查看更多>>
资源描述

1、1,第7章 信息系统的详细设计,2,教学内容详细设计的目的、原则、过程;详细设计说明书;详细设计工具;结构化程序设计方法;面向数据结构的设计方法;环形复杂度的度量方法和文本复杂度的度量方法;人-机界面设计要点。 教学要求1熟练掌握:详细设计工具,包括图形工具(程序流程图、N-S图和PAD图)、表格工具(判定表和判定树)、语言工具(PDL语言);结构化程序设计方法;环形复杂度的度量方法。2一般掌握:详细设计的目的、原则、过程;人-机界面设计的要求与设计、实现原则。3了解:详细设计文档;面向数据结构的设计方法;文本复杂度的度量方法。,3,7.1 详细设计概述1详细设计目的 详细设计也可以叫做过程设

2、计。详细设计的目的是为系统结构图中的每一个模块确定采用的算法和块内数据流图,用某种选定的表达工具给出清晰的描述,使程序员可以将这种描述直接翻译为某种语言程序。2详细设计的原则为了能够使模块的逻辑描述清晰准确,在详细设计阶段应遵循下列原则。(1) 将保证程序的清晰度放在首位(2) 设计过程中应采用逐步细化的实现方法(3) 选择适当的表达工具,4,3详细设计的过程 详细设计的过程主要包括以下步骤:(1)为每个模块确定采用的算法,并用适当的工具表达算法的过程,给出详细的描述;(2)确定每一模块使用的数据结构和模块接口的细节,包括内部接口、外部接口、模块的输入、输出及局部数据等;(3)为每个模块设计一

3、组测试用例,以便在编码阶段对模块代码进行预定的测试;(4)编写详细设计说明书,提交复审。,5,4详细设计说明书通常,详细设计说明书中应主要包括以下几方面的内容:(1) 引言:用于说明编写本说明书的目的、背景,定义所用到的术语和缩略语,以及列出文档中所引用的参考资料等。(2) 总体设计:用于给出软件系统的体系结构图。(3) 模块描述:依次对各个模块进行详细的描述,主要包括模块的功能和性能、实现模块功能的算法、模块的输入及输出、模块接口的详细信息等。,6,7.2 详细设计的工具描述程序处理过程的工具称为过程设计工具,它们可以分为图形、表格和语言三类。1图形工具:包括程序流程图、N-S图和PAD图;

4、 2表格工具:包括判定表和判定树; 3语言工具:包括PDL语言。,7,1程序流程图程序流程图也称为程序框图,它是历史最悠久、使用最广泛的一种描述程序逻辑结构的工具。1)程序流程图的符号和表示方式程序流程图常用的基本符号如图7-1所示,用程序流程图表达的三种基本控制结构如图 7-2所示。,8,9,2)程序流程图的实例下面以求一组数中的最大值为例说明程序流程图的画法。如果要实现找出一组数中最大值这个功能,可将这组数存于一个数组A中,如果用语言描述其计算过程如下:(1)输入一个数组A,元素个数为N;(2)令最大数MAX=A(1)(数组中的第1元素);(3)从A(2)至A(N)(即第2个元素至最末一个

5、元素)依次与最大数MAX进行比较;(4)如新元素MAX,则MAX=新元素;(5)输出最大数MAX。,10,用程序流程图来描述这一算法的过程,结果如图7-3所示。,图7-3 用程序流程图描述的求最大值的算法,11,3)程序流程图的优缺点程序流程图的优点是比较直观、清晰,使用灵活,便于阅读和掌握,因此在20世纪40年代末到70年代初被普遍采用。但随着程序设计方法的发展,程序流程图的许多缺点逐渐暴露出来。这些缺点主要体现在以下方面: 可以随心所欲地画控制流程线的流向,容易造成非结构化的程序结构,编码时势必不加限制地使用GOTO语句,导致基本控制块多入口多出口,这样会使系统质量受到影响,与系统设计的原

6、则相违背; 程序流程图本质上不支持逐步求精,它使程序员容易过早地考虑程序的具体控制流程,而忽略了程序的全局结构; 程序流程图难以表示系统中的数据结构; 对于大型系统而言,程序流程图描述过于琐碎,不容易阅读和修改。为了克服程序流程图的缺陷,要求程序流程图都应由三种基本控制结构顺序组合和完整嵌套而成,不能有相互交叉的情况,这样的程序流程图才是结构化的程序流程图。,12,2盒图盒图又称为N-S图(Nassi-Shneiderman 图),它是由Nassi和Shneiderman 按照结构化的程序设计要求提出的描述一种图形算法工具。1)盒图的表示方式用盒图表达的三种基本控制结构如图 7-4所示。,13

7、,2)盒图的实例以前面求一组数中最大值的算法为例,如用盒图描述,结果如图7-5所示。,14,3)盒图的优缺点盒图有如下一些优点: 所有的程序结构均用方框来表示,无论并列或者嵌套,程序的结构清晰可见; 它的控制转移不能任意规定,必须遵守结构化程序设计的要求; 很容易确定局部和全程数据的作用域; 很容易表现嵌套关系,也可以表示模块的层次结构。盒图不足的是,当程序内嵌套的层数增多时,内层的方块越画越小,不仅会增加画图的困难,并将使图形的清晰性受到影响;当需要对设计进行修改时,盒图的修改工作量会很大。,15,3PAD图 PAD是问题分析图(Problem Analysis Diagram)的英文缩称。

8、PAD图的基本原理是:采用自顶向下、逐步细化和结构设计的原则,力求将模糊的问题解的概念逐步转换为确定的和详尽的过程,使之最终可采用计算机直接进行处理。1) PAD图的表示方式用PAD图表达的三种基本控制结构如图 7-6所示。,16,2) PAD图的实例以前面求一组数中最大值的算法为例,如用PAD图来描述,结果如图7-7所示。,17,3)PAD图的优缺点PAD图的主要优点如下: 支持自顶向下,逐步求精的要求; PAD图满足结构化程序设计要求,因此采用PAD图导出的程序必然是结构化的; PAD图描述的算法结构清晰、易读易懂、使用方便。图中每条竖线表示一个嵌套层次,图示随层次增加向右伸展; PAD图

9、既可以描述控制,也可以描述数据结构,很容易将PAD图描述的算法转换为源程序代码; 可自动生成程序。但是,与程序流程图和盒图相比,PAD图的使用不是很普遍。,18,4运用程序流程图、盒图和PAD图的一个综合实例下面分别使用程序流程图、盒图和PAD图来表达计算应发工资模块的算法过程,结果如图7-8所示。,(a)采用程序流程图描述计算应发工资模块,19,(b) 采用NS图描述计算应发工资模块(c) 采用PAD图描述计算应发工资模块图7-8 三种详细设计中使用的图形工具示例,20,5判定表和判定树判定表和判定树工具在需求分析阶段已经详细地介绍过,这里就不再重复,下面举个实例再复习一下。请分别用判定表和

10、判定树工具来描述某单位工资档案管理系统中“职务津贴计算”加工逻辑过程。假定职工的职称只分为助工、工程师和高工三种,保低津贴分别是350、400、500元,并且单位根据职工的工作年限给予津贴适当的上浮奖励,具体上浮情况如下:无论助工、工程师和高工工作年限在10年以下的无浮动;对于在单位工作超过10年但不到20年的职工,助工、工程师津贴上浮20%,高工上浮30%;对于在单位工作超过20年的职工,助工津贴上浮30%,工程师津贴上浮35%,高工上浮40%。,21,对应的判定表如表7-1所示 。,22,对应的判定树如图7-9所示。,23,6PDL语言 PDL语言即过程设计语言(Process Desig

11、n Language),是一种用于描述程序算法和定义数据结构的伪码设计语言。1)PDL的构成PDL是一种“混杂”语言,它使用一种语言(通常是某种自然语言)的词汇来表示实际操作,同时却使用另一种语言(某种结构化的程序设计语言)的语法来定义控制结构和数据结构。自然语言的采用使算法的描述灵活自由、清晰易懂,结构化程序设计语言的采用使控制结构的表达具有固定的形式且符合结构化设计的思想。PDL语言的构成与用于描述加工的结构化语言相似但又有区别,主要区别在于:由于PDL语言表达的算法是编码的直接依据,因此其语法结构更加严格并且处理过程描述更加具体详细。,24,2)PDL的实例前面求一组数中最大值的过程如果

12、用PDL语言描述,结果如下:INPUT ARRAY AMAX=A(1)DO FOR I=2 TO NIF MAXA(I)SET MAX=A(I)ENDIFPRINT MAX,25,3)PDL语言的优缺点PDL语言具有如下一些优点: PDL虽然不是程序设计语言,但是它与高级程序设计语言非常类似,只要对PDL描述稍加变换就可变成源程序代码,因此,它是详细设计阶段很受欢迎的表达工具; 用PDL写出的程序,既可以很抽象,又可以很具体。因此,容易实现自顶向下逐步求精的设计原则; PDL描述同自然语言很接近,易于理解; PDL描述可以直接作为注释插在源程序中,成为程序的内部文档,这对提高程序的可读性是非常

13、有益的。PDL的缺点是不如图形工具那样描述形象直观,对复杂条件的描述,不如判定表清晰、简单,因此常常将PDL描述与一种图形描述工具结合起来使用。,26,7.3 结构化程序设计方法1结构化程序设计的概念结构化程序设计方法可以定义为:结构化程序设计是一种设计程序的技术,采用自顶向下、逐步细化的设计方法和单入口、单出口的控制技术,认为任何程序都可以通过顺序、选择(IF_THEN_ELSE型选择)和循环(DO_WHILE型循环)三种基本控制结构的复合实现。如果只允许使用顺序、IF_THEN_ELSE型分支和DO_WHILE型循环这三种基本控制结构,则称为经典的结构程序设计;如果除了上述三种基本控制结构

14、之外,还允许使用DO_CASE型多分支结构和DO_UNTIL型循环结构,则称为扩展的结构程序设计;如果再加上允许使用LEAVE(或BREAK)结构,则称为修正的结构程序设计。,27,2结构化程序设计的原则结构化程序设计的主要原则包括:1)使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。2)选用的控制结构只准许有一个入口和一个出口。3)复杂结构应该用基本控制结构进行组合嵌套来实现。4) 语言中没有的控制结构,可用一段等价的程序段模拟。5) 严格控制GOTO语句,仅在下列情形才可使用:(1)用一个非结构化的程序设计语言来实现一个结构化的构造。(2)若不使用GOTO语句就会使程序功能模

15、糊。(3) 在某种可以改善的而不是损害程序可读性的情况下。,28,3使用结构化程序设计技术的优缺点使用结构化程序设计技术的好处体现在:(1)自顶向下、逐步细化的方法符合人类解决复杂问题的普遍规律,可以显著提高系统开发的成功率和生产率。(2)先全局后局部、先整体后细节、先抽象后具体的逐步求精过程开发出的程序有清晰的层次结构。(3)使用单入口单出口的控制结构而不使用GO TO语句,使得程序的静态结构和它的动态执行情况比较一致。(4)控制结构有确定的逻辑模式,编写程序代码只限于使用很少几种直截了当的方式。(5)程序清晰和模块化使得在修改和重新设计一个系统时可以重用的代码量最大。(6)程序的逻辑结构清

16、晰,有利于程序正确性证明。,29,结构程序设计技术的主要缺点是:结构化方法编制的源代码较长,存储容量和运行时间有所增加(估计增加10%20%);有些非结构化语言不直接提供单入、单出的基本控制结构;个别情况下结构化程序的结构也十分复杂。然而随着计算机硬件技术的发展,存储容量和运行时间已经不是严重问题;如果使用非结构化语言编程,有限制地使用GOTO语句,常常可以达到既满足程序结构清晰的要求,又能够保证程序执行的效率。,30,4自顶向下、逐步细化的设计方法在详细设计以及编码阶段采用自顶向下、逐步细化的方法,可以把一个模块的功能再逐步细化为一系列具体的处理步骤或某种高级语言的语句。逐步细化的步骤可以归

17、纳为三步:1)由粗到细地对程序进行逐步的细化,每一步可选择其中一条或数条将它们分解为更多或更详细的程序步骤。2)在细化程序过程时,对数据的描述同时进行细化。3)每步细化均使用相同的结构语言,最后一步一般直接用伪码来描述。,31,下面用一个简单的例子来说明“逐步细化”的实现方法。设学生信息管理系统模块图中统计模块的功能之一是:输入一个班学生某门课的成绩,分别统计成绩在85分100分、60分84分和60分以下各分数段的人数。编程思路是:读入学生成绩(可利用已存在的学生成绩数据文件),成绩用score表示,对每一个成绩确定它所在的分数段,并将所在分数段人数加。为此须设三个计数变量num1、num2、

18、num3来存放各分数段人数。,32,一级算法过程为:(1)将各分数段人数设置为;(2)循环:循环控制变量初值,终值班级人数,改变量(若从数据文件读成绩,执行循环体条件应是“未到文件尾”);(3)读入成绩;(4)确定成绩所在分数段,并将所在分数段人数加;(5)输出各分数段人数。其中第步和第步需细化求精。二级求精过程为:(1) num1=0、num2=0、num3=0(4) IF score=85 THEN num1=num1+1ELSE IF score=60 THEN num2=num2+1ELSE num3=num3+1,33,7.4 面向数据结构的设计方法在详细设计阶段,还会用到一些面向数

19、据结构的设计方法。下面主要介绍两种面向数据结构的方法:Jackson方法和Warnier方法。1Jackson方法Jackson方法是面向数据结构设计方法的代表之一,它的基本思想是:在充分理解问题输入、输出数据的基础上,找出输入、输出数据的层次结构对应关系,根据数据结构的层次关系映射为软件控制层次结构,然后对问题进行求精,给出对外求解的精确描述。,34,1)Jackson图 Jackson图由方框、连线及有特殊含义的一些标记组成。由于尽管数据结构种类繁多,但其数据元素之间的联系只有顺序、选择和循环三种。因此,使用Jackson图无论表达数据结构或程序结构,都是由这三种基本结构组合而成的。这三种

20、基本结构在Jackson图中的表示符号如图7-10所示。,35,2)Jackson方法Jackson方法是一种典型的面向数据结构的结构化程序设计方法,其设计目标是从分析系统的数据结构出发,最后得出用Jackson伪代码表示的程序处理过程。为了便于理解,下面通过一个简单的例子来说明Jackson方法的具体设计步骤。假定某单位原来存在一个职工工资文件和一个职工档案文件,两个文件中的记录均按照职工编号升序排列且数目相等,现在要将这两个独立的文件合并为一个职工工资档案文件。采用Jackson方法设计,共分为以下四步进行:(1)分析问题,确定输入、输出数据的逻辑结构,并用Jackson图将其描述出来。,

21、36,(2)找出输入数据结构和输出数据结构中有对应关系的单元,并按下列规则导出描述程序结构的Jackson图,结果如图7-12所示。,37,(3)列出完成结构图中各处理框功能的所有操作、分支及循环条件,并把它们放到程序结构图上的适当位置。例子中所涉及的基本操作和条件如下:A. 打开输入文件;B. 新建工资档案文件;C. 读取输入文件中的一条记录;D. 关闭文件;E. 合并生成工资档案记录;F. 将工资档案记录写入文件;G. 终止;I(1). 输入文件未结束。,(a) 改进前的程序结构图;(b) 改进后的程序结构图图7-13 加入基本操作和条件后的程序结构图,38,(4)用Jackson伪代码写

22、出程序的处理过程。图7-13 (b)所示的程序结构图对应的伪代码表示如下:产生工资档案文件seq打开两个输入文件新建工资档案文件程序体itel while 输入文件未结束产生工资档案记录seq从两个输入文件中各读取一条记录合并生成工资档案记录将生成的工资档案记录写入工资档案文件中产生工资档案记录end程序体end关闭所有文件终止产生工资档案文件end,39,2Warnier方法 1)Warnier图在Warnier图中,数据元素按从上到下顺序出现,元素选择出现或重复出现的事实用在元素下面圆括号中标出的出现次数注明。Warnier图除了表示数据结构外,也可表示程序结构。2)使用Warnier方法

23、的步骤(1)分析确定输入数据、输出数据的逻辑结构,并用Warnier图描绘数据结构。(2)依据输入数据结构导出程序结构,并用Warnier图描绘数据程序的处理层次。(3)将程序结构图改为流程图,并自下至上给每个处理框编号。(4)根据程序流程图分类写出程序的伪代码指令。(5)按分类写出的指令按序号排序,从而得出描述处理过程的伪码。面向数据结构的方法主要适用于数据结构比较稳定、变化不大的程序模块。如果一个程序的数据结构经常有变化,或无法准确地定义数据结构,则不适宜采用这样的设计方法。,40,7.5 程序的复杂性度量 定量度量程序复杂程度的方法很有价值:把程序的复杂程度乘以适当常数即可估算出系统中故

24、障的数量以及系统开发需要用的工作量,定量度量的结果可以用来比较两个不同的设计或两个不同算法的优劣;程序的定量的复杂程度可以作为模块规模的精确限度。下面着重介绍使用得比较广泛的环形复杂度的度量方法和文本复杂度的度量方法。,41,7.5.1 环形复杂度的度量方法1程序图使用McCabe方法首先需要画出程序图(Program Graph),所谓程序图可以看成是“退化了的”程序流程图,也就是把程序流程图中的每个处理符号都退化成一个点,原来连接不同处理符号的箭头变成连接不同点的有向弧,这样得到的有向图就称为程序图。几种基本结构的程序图如图7-14所示。,42,例如,对如图7-15 (a)所示的程序流程图

25、进行简化,可得到如图7-15 (b)所示的程序图。,43,2. 环形复杂度的度量方法环形复杂度等于强连通的程序图中线性无关的有向环的个数。根据图论,在一个强连通的有向图中线性无关环的个数由下面的公式给出:V(G)mnp 其中,V(G)表示有向图G中的线性无关的环数;m表示有向图G中有向边(弧)的个数;n表示有向图中的结点个数;p是有向图G中的分离部分的数目。对于一个正常的程序来说,应该从程序图内的入口点到达图中任何一个结点(一个不能达到的结点代表永远不能执行的程序代码,显然是错误的),因此,程序图总是连通的,也就是说,p=1。m和n的值从程序图中可以方便地得到。现在的关键问题是,程序图虽然是连

26、通图,但却不是强连通图(图中靠近入口的结点可以到达下面的结点,而靠近出口的结点往往不能到达上面的结点),而强连通图是要求从图中任一结点出发都可以到达所有其他结点。为了使程序图能够满足图论中计算环形复杂度公式的要求,可以在程序图中增加一条从出口点到入口点的虚弧,此时,程序图就变成了一个强连通图。,44,例如对图7-15 (b)所示的程序图添加虚弧后,就得到了如图7-16所示的强连通图。,45,现在用来源于图论中的公式来计算图7-16所示的强连通程序图的环形复杂度,根据公式可得: V(G)131014实质上,除了采用上面的公式可以计算环形复杂度的值以外,还可以使用下面两个公式来计算程序图中的环形复

27、杂度。V(G)强连通的程序图在平面上围成的区域数 V(G)判定结点数1 结构化程序的程序图总是平面图,因此均可采用公式来进行环形复杂度的计算。图7-16中,程序图围成的区域有(b,c,d,f,b),(c,d,f,e,c),(g,h,E,g)和(S,a,b,g,E,S),因此,根据公式可得该程序图的环形复杂度为4。通过公式可以看出,一个程序的环形复杂度取决于它的程序图中所包含的判定结点的个数。在图7-16中,判定结点分别为b,c和g,每个判定结点都在程序图中产生一个环域,因此,程序中的分支或循环结构越多,嵌套层次数越多,程序的环形复杂度就越大。根据公式可得图7-16的环形复杂度为:314。,46

28、,3环形复杂度的用途程序的环形复杂度取决于程序控制流的复杂程度,也即取决于程序结构的复杂程度。当程序内分支数或循环个数增加时,环形复杂度也随之增加,因此它是对测试难度的一种定量度量,也能对系统最终的可靠性给出某种预测。McCabe研究大量程序后发现,程序的环形复杂度越高,程序的可理解性就越差,程序测试和维护的难度也就越大,并且,环形复杂度高的程序,往往就是最容易出问题的程序。实践证明,模块规模以V(G)10为宜,即尽量将程序的环形复杂度控制在10以下。,47,7.5.2 文本复杂度的度量方法文本复杂度的度量方法又称为Halstead方法。Halstead度量方法是Halstead M.H于19

29、77年提出的关于度量软件复杂性的一种最有效的方法。此方法可根据源程序中运算符(包括关键字)和操作数(包括常量和变量)的总数来度量程序复杂度,并可以预测程序的文本复杂度和程序中包含的错误个数。1预测程序的文本复杂度对源程序文本复杂度进行度量的具体方法为:首先找出整个程序中运算符出现的总次数N1及操作数出现的总次数N2,接着使用下面的公式即可计算出程序的文本复杂度N:NN1N2在详细设计结束后,可以知道程序中需使用的不同运算符的个数n1和不同操作数的个数n2,此时可通过下面的公式预测程序的文本复杂度H:H=n1log2n1+n2log2n2另外还可以计算程序量V,它表明了程序在“词汇上的复杂度”。

30、V=(N1N2) log2(n1+n2),48,2预测程序中包含的错误个数Halstead给出了预测程序中包含错误的个数的公式如下:B=Nlog2(n1+n2)/3000例如,一个程序对75个数据库项共访问1300次,对150个运算符共使用了1200次,那么预测该程序的错误数B:B = (1200+1300)log2(75+150)/3000 6.5即预测该程序中可能包含67个错误。有人曾对从300条到1200条语句范围内的程序核实了上述公式,发现预测的错误数与实际错误数相比误差在8%之内。Halstead度量是目前最好的度量方法,但它也有缺点,由于n1 、n2、N1、N2相同的程序在控制结构

31、和数据复杂性等方面可能存在相当大的差异,程序员使用程序设计语言描述算法的水平和熟练程度也有很大区别,因此Halstead的估算方法有一定的局限性。,49,7.6 人-机界面设计7.6.1 用户的使用需求分析 用户需求包含功能需求和使用需求。1用户对计算机系统的要求 让用户灵活地使用,不必以严格受限的方式使用系统。为了完成人-机间的灵活对话,要求系统提供对多种交互介质的支持,提供多种界面方式,用户可以根据任务需要自己的特性,自由选择交互方式。 系统能区分不同类型的用户并适应他们,要求依赖于用户类型和任务类型,系统自动调节以适应用户。 系统的行为及其效果对用户是透明的。 用户可以通过界面预测系统的

32、行为。 系统能提供联机帮助功能,帮助信息的详细程度应依据用户的要求。 人-机交互应尽可能和人际通信相类似,要把人-机交互常用的例子、描述、分类、模拟等用于人机交互中。 系统设计必须考虑到人使用计算机时的身体、心理要求,包括机房环境、条件、布局等,以使用户能在没有精神压力的情况下使用计算机完成他们的工作。,50,2用户技能方面的使用需求应该让系统去适应用户,对用户使用系统不提出特殊的身体、动作方面的要求,例如用户只要能使用常用的交互设备(如键盘、鼠标器、光笔)等即能工作,而不应有任何特殊要求。 用户只需有普通的语言通信技能就能进行简单的人-机交互。目前人-机交互中使用的是易于理解和掌握的准自然语

33、言。 要求有一致性的系统。一致性系统的运行过程和工作方式很类似于人的思维方式 和习惯,能够使用户的操作经验、知识、技能推广到新的应用中。 应该让用户能通过使用系统进行学习,提高技能。最好把用户操作手册做成交互系统的一部分,当用户需要时,有选择地进行指导性的解释。 系统提供演示及示例程序,为用户使用提供范例。,51,3用户习性方面的使用需求 系统应该让在终端前工作的用户有耐心。这一要求是和系统响应时间直接相关联的。对用户操作响应的良好设计将有助于提高用户的耐心和使用系统的信心。 系统应该能很好地对付易犯错误、健忘以及注意力不集中等习性。良好的设计应设法减少用户错误的发生,例如采用图形点取方式。此

34、外,必要的冗余长度、可恢复操作、良好的出错信息和出错处理等也都是良好系统所必须具备的。 应该减轻用户使用系统的压力。系统应对不同用户提供不同的交互方式。例如,对于偶然型和生疏型用户可提供如问答式对话、菜单选择等交互方式;对于熟练型或专家型用户提供如命令语言、查询语言等交互方式;而直接操纵图形的用户界面以其直观、形象化及与人们的思维方式的一致性,更为各类用户所欢迎。,52,4用户经验、知识方面的使用需求系统应能让未经专门训练的用户容易使用。(1)系统能对不同经验知识水平的用户做出不同反应,例如不同程序的响应信息、提示信息、出错信息等。(2)提供同一系统,甚至不同系统间系统行为的一致性,建立起标准

35、化的人-机界面。(3)系统必须适应用户在应用领域的知识变化,应该提供动态的自适应用户的系统设计。总之,良好的人-机界面对用户在计算机领域及应用领域的知识、经验不应该有太高要求,相反,应该对用户在这两个领域的知识、经验变化提供适应性。,53,5用户对系统的期望方面的要求(1)用户界面应提供形象、生动、美观的布局显示和操作环境,以使整个系统对用户更具吸引力。(2)系统决不应该使用户失望,一次失败可能使用户对系统望而生畏。良好的系统 功能和人-机界面会使用户乐意把计算机系统当成用户完成其任务的工具。(3)系统处理问题应尽可能简单,并提供系统学习机制,帮助用户集中精力去完成。其实际工作,减轻用户操作运

36、行计算机系统的盲目性。,54,7.6.2 人-机界面的设计原则1确定用户确定用户是惊醒系统分析和设计的第一步,也就是标识使用应用系统的用户(最终用户)的类型。软件系统的设计者必须了解自己的用户,包括用户的年龄段、受教育程度、兴趣、工作时间、特殊要求等。“了解用户”是一个十分简单的想法,但在工程实践中常常是一个困难的要求。从对计算机系统或者程序熟悉程度观点,计算机用户可以分为终端用户和系统程序员两类。终端用户指计算机系统的终端操作者或是使用者,这类用户通常不要求懂得计算机和程序,系统的用户界面要求易学、易用、可靠。对于系统程序员来说,他们熟悉系统运行环境,具有较熟悉的程序设计经验,通常要求具有对

37、现有系统运行维护,甚至二次开发的能力。因此,他们要求系统模块结构良好。,55,2尽量减少用户的工作在设计人-机计算机组成的人-机系统来完成一定的任务时,应该让计算机能积极主动,而让人尽可能地少做工作,因而使用户能更轻松、更方便地完成工作。为减少需要用户记忆的内容,用户界面设计中主要用以下办法。(1)用提示选择,而不是输入命令串(2)联机帮助(3)增加可视化图形表示3一致性原则人-机界面的一致性主要体现在输入、输出方面的一致性,具体是指在应用程序的不同部分,甚至不同应用程序之间,具有相似的界面外观、布局和相似的人-机交互方式以及相似的信息显示格式等。一致性原则有助于用户学习,减少学习量和记忆量。

38、,56,4系统要给用户提供反馈人-机交互系统的反馈是指用户从计算机一方得到信息,表示计算机对用户的动作所做的反应。使用户操作简便,并提供清晰的提示是用户界面设计的一个主要原则。其中需要注意以下几方面:(1)快速执行的公共操作(2)缺省输入和自由格式(3)系统提示显示5应有及时的出错处理和帮助功能系统设计应该能够对可能出现的错误进行检测和处理,而且良好的系统设计应能预防错误的发生。用户操作发生错误动作或者系统运行环境出现故障,通常是不可避免的事情。出错处理的主要设计应考虑如下因素:(1)出错提示信息(2)错误现场记录(3)系统应该提供撤消以上动作的功能,57,7.6.3 人-机界面实现的原则1.

39、一般可交互性提高可交互性的措施有:(1)在同一用户界面中,所有的菜单选择、命令输入、数据显示和其它功能应始终保持同一种形式和风格;(2)通过向用户提供视觉和听觉上的反馈,保持用户与界面间的双向通信;(3)对所有可能造成损害的动作,坚持要求用户确认,例如,提问“你肯定.?”;(4)对大多数动作应允许恢复(UNDO);(5)尽量减少用户记忆上的负担;(6)提高对话、移动和思考的效率,即最大可能地减少击键次数,缩短鼠标移动的距离,避免使用户产生无所适从的感觉;(7)用户出错时采取宽容的态度;(8)按功能分类组织界面上的活动;(9)提供上下敏感的帮助系统;(10)用简短的动词和动词短语提示命令。,58

40、,2.信息显示如果人-机界面的显示信息不完整、不明确或不具智能,应用软件就无法真正满足用户的要求。信息可用多种方式显示:用正文、图像和声音;通过定位、移动和缩放;采用色彩、变形等。以下准则集中于信息显示方面。(1)只显示当前上下文有关的信息(2)不要使用户置身于大量的数据中(3)使用一致的标记、标准的缩写和隐含的颜色(4)允许用户保持可视化的上下相关性(5)生成有意义的出错信息(6)采用大小写、行首缩进和正文分组(7)尽可能用窗口来划分不同类型的信息(8)采用“模拟”显示方式有些信息若采用“模拟”显示方式,更容易被理解。例如,用数字显示炼油厂的潜藏罐压不如采用温度计式的显示方式表示得直观。(9)合理利用显示屏的可用空间当采用多窗口时,应保证至少显示每个窗口的一部分。另外,选择显示屏时应考虑能否容纳要显示的应用软件。,59,3数据输入用户的大部分时间都花在选取命令、键入数据以及其它的系统输入上。在许多应用场合,键盘仍是主要的输入介质,但鼠标、数字化仪,甚至语言识别系统等高效手段正不断涌现,并迅猛发展。下面给出数据输入的一般准则:(1)尽量减少用户的输入动作(2)保证信息显示与数据输入的一致性(3)允许用户定制输入(4)交互方式应符合用户要求(5)屏蔽掉当前动作的上下文中不适用的命令(6)让用户控制交互的流程(7)为所有的输入动作提供帮助(8)去掉画蛇添足的输入,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报