版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2023/9/21第7章信息系统的详细设计2023/9/22教学内容
详细设计的目的、原则、过程;详细设计说明书;详细设计工具;结构化程序设计方法;面向数据结构的设计方法;环形复杂度的度量方法和文本复杂度的度量方法;人-机界面设计要点。教学要求
1.熟练掌握:详细设计工具,包括图形工具(程序流程图、N-S图和PAD图)、表格工具(判定表和判定树)、语言工具(PDL语言);结构化程序设计方法;环形复杂度的度量方法。
2.一般掌握:详细设计的目的、原则、过程;人-机界面设计的要求与设计、实现原则。
3.了解:详细设计文档;面向数据结构的设计方法;文本复杂度的度量方法。
2023/9/237.1详细设计概述1.详细设计(过程设计)目的 目的是为系统结构图中的每一个模块确定采用的算法和块内数据流图,用某种选定的表达工具给出清晰的描述,使程序员可以将这种描述直接翻译为某种语言程序。2.详细设计的原则为了能够使模块的逻辑描述清晰准确,在详细设计阶段应遵循下列原则。
(1)将保证程序的清晰度放在首位
(2)设计过程中应采用逐步细化的实现方法
(3)选择适当的表达工具2023/9/243.详细设计的过程 (1)为每个模块确定采用的算法,并用适当的工具表达算法的过程,给出详细的描述;(2)确定每一模块使用的数据结构和模块接口的细节,包括内部接口、外部接口、模块的输入、输出及局部数据等;(3)为每个模块设计一组测试用例,以便在编码阶段对模块代码进行预定的测试;(4)编写详细设计说明书,提交复审。2023/9/254.详细设计说明书
(1)引言:用于说明编写本说明书的目的、背景,定义所用到的术语和缩略语,以及列出文档中所引用的参考资料等。
(2)总体设计:用于给出软件系统的体系结构图。
(3)模块描述:依次对各个模块进行详细的描述,主要包括模块的功能和性能、实现模块功能的算法、模块的输入及输出、模块接口的详细信息等。
参见GB8567-2006计算机软件文档编制规范。2023/9/267.2详细设计的工具
描述程序处理过程的工具称为过程设计工具,它们可以分为图形、表格和语言三类。
1.图形工具:包括程序流程图、N-S图和PAD图;
2.表格工具:包括判定表和判定树;
3.语言工具:包括PDL语言。2023/9/271.程序流程图
程序流程图也称为程序框图,它是历史最悠久、使用最广泛的一种描述程序逻辑结构的工具。1)程序流程图的符号和表示方式程序流程图常用的基本符号如图所示。2023/9/28用程序流程图表达的三种基本控制结构如图所示。2023/9/292)程序流程图的实例例:求一组数中的最大值,画出程序流程图。将这组数存于一个数组A中,用语言描述其计算过程:(1)输入一个数组A,元素个数为N;(2)令最大数MAX=A(1)(数组中的第1元素);(3)从A(2)至A(N)(即第2个元素至最末一个元素)依次与最大数MAX进行比较;(4)如新元素>MAX,则MAX=新元素;(5)输出最大数MAX。2023/9/210用程序流程图来描述这一算法的过程,结果如图所示。图7-3用程序流程图描述的求最大值的算法2023/9/211
3)程序流程图的优缺点优点:比较直观、清晰,使用灵活,便于阅读和掌握。缺点:①可以随心所欲地画控制流程线的流向,容易造成非结构化的程序结构,编码时势必不加限制地使用GOTO语句,导致基本控制块多入口多出口,这样会使系统质量受到影响,与系统设计的原则相违背;②程序流程图本质上不支持逐步求精,它使程序员容易过早地考虑程序的具体控制流程,而忽略了程序的全局结构;③程序流程图难以表示系统中的数据结构;④对于大型系统而言,程序流程图描述过于琐碎,不容易阅读和修改。为了克服程序流程图的缺陷,要求程序流程图都应由三种基本控制结构顺序组合和完整嵌套而成,不能有相互交叉的情况,这样的程序流程图才是结构化的程序流程图。2023/9/2122.盒图
盒图(N-S图)是由Nassi和Shneiderman
按照结构化的程序设计要求提出的描述一种图形算法工具。
1)盒图的表示方式用盒图表达的三种基本控制结构如图所示。2023/9/2132)盒图的实例以前面求一组数中最大值的算法为例,如用盒图描述,结果如图7-5所示。2023/9/2143)盒图的优缺点盒图有如下一些优点:①所有的程序结构均用方框来表示,无论并列或者嵌套,程序的结构清晰可见;②它的控制转移不能任意规定,必须遵守结构化程序设计的要求;③很容易确定局部和全程数据的作用域;④很容易表现嵌套关系,也可以表示模块的层次结构。盒图不足的是,当程序内嵌套的层数增多时,内层的方块越画越小,不仅会增加画图的困难,并将使图形的清晰性受到影响;当需要对设计进行修改时,盒图的修改工作量会很大。2023/9/2153.PAD图PAD(ProblemAnalysisDiagram)----问题分析图PAD图的基本原理是:采用自顶向下、逐步细化和结构设计的原则,将模糊的问题解的概念逐步转换为确定的和详尽的过程,使之最终可采用计算机直接进行处理。
1)
PAD图的表示方式用PAD图表达的三种基本控制结构如图所示。2023/9/216
2)PAD图的实例以前面求一组数中最大值的算法为例,如用PAD图来描述,结果如图所示。2023/9/217
3)PAD图的优缺点
PAD图的主要优点如下:①支持自顶向下,逐步求精的要求;②PAD图满足结构化程序设计要求,因此采用PAD图导出的程序必然是结构化的;③PAD图描述的算法结构清晰、易读易懂、使用方便。图中每条竖线表示一个嵌套层次,图示随层次增加向右伸展;④PAD图既可以描述控制,也可以描述数据结构,很容易将PAD图描述的算法转换为源程序代码;⑤可自动生成程序。
与程序流程图和盒图相比,PAD图的使用不是很普遍。
2023/9/2184.综合实例下面分别使用程序流程图、盒图和PAD图来表达计算应发工资模块的算法过程,结果如图所示。(a)采用程序流程图描述计算应发工资模块2023/9/219
(b)采用N-S图描述计算应发工资模块
(c)采用PAD图描述计算应发工资模块图7-8三种详细设计中使用的图形工具示例
2023/9/2205.判定表和判定树请分别用判定表和判定树工具来描述某单位工资档案管理系统中“职务津贴计算”加工逻辑过程。假定职工的职称只分为助工、工程师和高工三种,保低津贴分别是350、400、500元,并且单位根据职工的工作年限给予津贴适当的上浮奖励,具体上浮情况如下:无论助工、工程师和高工工作年限在10年以下的无浮动;对于在单位工作超过10年但不到20年的职工,助工、工程师津贴上浮20%,高工上浮30%;对于在单位工作超过20年的职工,助工津贴上浮30%,工程师津贴上浮35%,高工上浮40%。2023/9/221对应的判定表如表7-1所示。2023/9/222对应的判定树如图7-9所示。2023/9/2236.PDL语言PDL语言即过程设计语言(ProcessDesignLanguage),是一种用于描述程序算法和定义数据结构的伪码设计语言。
1)PDL的构成
PDL是一种“混杂”语言,它使用一种语言(通常是某种自然语言)的词汇来表示实际操作,同时却使用另一种语言(某种结构化的程序设计语言)的语法来定义控制结构和数据结构。自然语言的采用使算法的描述灵活自由、清晰易懂,结构化程序设计语言的采用使控制结构的表达具有固定的形式且符合结构化设计的思想。
PDL语言的构成与用于描述加工的结构化语言相似但又有区别,主要区别在于:由于PDL语言表达的算法是编码的直接依据,因此其语法结构更加严格并且处理过程描述更加具体详细。2023/9/2242)PDL的实例前面求一组数中最大值的过程如果用PDL语言描述,结果如下:INPUTARRAYAMAX=A(1)DOFORI=2TONIFMAX<A(I)SETMAX=A(I)ENDIFPRINTMAX2023/9/2253)PDL语言的优缺点
PDL语言具有如下一些优点:①PDL虽然不是程序设计语言,但是它与高级程序设计语言非常类似,只要对PDL描述稍加变换就可变成源程序代码,因此,它是详细设计阶段很受欢迎的表达工具;②用PDL写出的程序,既可以很抽象,又可以很具体。因此,容易实现自顶向下逐步求精的设计原则;③PDL描述同自然语言很接近,易于理解;④PDL描述可以直接作为注释插在源程序中,成为程序的内部文档,这对提高程序的可读性是非常有益的。
PDL的缺点是不如图形工具那样描述形象直观,对复杂条件的描述,不如判定表清晰、简单,因此常常将PDL描述与一种图形描述工具结合起来使用。2023/9/226练习题画出下面用PDL写出的程序的PAD图。
WHILEPDO
IFA>OTHENA1ELSEA2ENDIF;
S1;
IFB>0THENB1;
WHILECDOS2;S3ENDWHILE;
ELSEB2
ENDIF;
B3
ENDWHILE;2023/9/2272023/9/2287.3结构化程序设计方法1.结构化程序设计的概念
定义:结构化程序设计是一种设计程序的技术,采用自顶向下、逐步细化的设计方法和单入口、单出口的控制技术,认为任何程序都可以通过顺序、选择(IF_THEN_ELSE型选择)和循环(DO_WHILE型循环)三种基本控制结构的复合实现。如果只允许使用顺序、IF_THEN_ELSE型分支和DO_WHILE型循环这三种基本控制结构,则称为经典的结构程序设计;如果除了上述三种基本控制结构之外,还允许使用DO_CASE型多分支结构和DO_UNTIL型循环结构,则称为扩展的结构程序设计;如果再加上允许使用LEAVE(或BREAK)结构,则称为修正的结构程序设计。2023/9/2292.结构化程序设计的原则结构化程序设计的主要原则包括:1)使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。2)选用的控制结构只准许有一个入口和一个出口。3)复杂结构应该用基本控制结构进行组合嵌套来实现。4)语言中没有的控制结构,可用一段等价的程序段模拟。5)严格控制GOTO语句,仅在下列情形才可使用:
(a)用一个非结构化的程序设计语言来实现一个结构化的构造。
(b)若不使用GOTO语句就会使程序功能模糊。
(c)在某种可以改善而不是损害程序可读性的情况下。2023/9/2303.使用结构化程序设计技术的优缺点使用结构化程序设计技术的好处体现在:(1)自顶向下、逐步细化的方法符合人类解决复杂问题的普遍规律,可以显著提高系统开发的成功率和生产率。(2)先全局后局部、先整体后细节、先抽象后具体的逐步求精过程开发出的程序有清晰的层次结构。(3)使用单入口单出口的控制结构而不使用GOTO语句,使得程序的静态结构和它的动态执行情况比较一致。(4)控制结构有确定的逻辑模式,编写程序代码只限于使用很少几种直截了当的方式。(5)程序清晰和模块化使得在修改和重新设计一个系统时可以重用的代码量最大。(6)程序的逻辑结构清晰,有利于程序正确性证明。2023/9/231
结构程序设计技术的主要缺点是:结构化方法编制的源代码较长,存储容量和运行时间有所增加(估计增加10%~20%);有些非结构化语言不直接提供单入、单出的基本控制结构;个别情况下结构化程序的结构也十分复杂。然而随着计算机硬件技术的发展,存储容量和运行时间已经不是严重问题;如果使用非结构化语言编程,有限制地使用GOTO语句,常常可以达到既满足程序结构清晰的要求,又能够保证程序执行的效率。2023/9/2324.自顶向下、逐步细化的设计方法
在详细设计以及编码阶段采用自顶向下、逐步细化的方法,可以把一个模块的功能再逐步细化为一系列具体的处理步骤或某种高级语言的语句。逐步细化的步骤可以归纳为三步:
1)由粗到细地对程序进行逐步的细化,每一步可选择其中一条或数条将它们分解为更多或更详细的程序步骤。
2)在细化程序过程时,对数据的描述同时进行细化。
3)每步细化均使用相同的结构语言,最后一步一般直接用伪码来描述。2023/9/233
下面用一个简单的例子来说明“逐步细化”的实现方法。设学生信息管理系统模块图中统计模块的功能之一是:输入一个班学生某门课的成绩,分别统计成绩在85分~100分、60分~84分和60分以下各分数段的人数。编程思路是:读入学生成绩(可利用已存在的学生成绩数据文件),成绩用score表示,对每一个成绩确定它所在的分数段,并将所在分数段人数加1。为此须设三个计数变量num1、num2、num3来存放各分数段人数。2023/9/234
一级算法过程为:(1)将各分数段人数设置为0;(2)循环:循环控制变量I初值=1,终值=班级人数,改变量=1(若从数据文件读成绩,执行循环体条件应是“未到文件尾”);(3)读入成绩;(4)确定成绩所在分数段,并将所在分数段人数加1;(5)输出各分数段人数。其中第1步和第4步需细化求精。二级求精过程为:(1)-①num1=0、num2=0、num3=0
(4)-①IFscore>=85THENnum1=num1+1ELSEIFscore>=60THENnum2=num2+1ELSEnum3=num3+12023/9/2357.4面向数据结构的设计方法
在详细设计阶段,还会用到一些面向数据结构的设计方法。下面主要介绍两种面向数据结构的方法:Jackson方法和Warnier方法。
1.Jackson方法
Jackson方法是面向数据结构设计方法的代表之一,它的基本思想是:在充分理解问题输入、输出数据的基础上,找出输入、输出数据的层次结构对应关系,根据数据结构的层次关系映射为软件控制层次结构,然后对问题进行求精,给出对外求解的精确描述。2023/9/2361)Jackson图Jackson图由方框、连线及有特殊含义的一些标记组成。由于尽管数据结构种类繁多,但其数据元素之间的联系只有顺序、选择和循环三种。因此,使用Jackson图无论表达数据结构或程序结构,都是由这三种基本结构组合而成的。这三种基本结构在Jackson图中的表示符号如图7-10所示。2023/9/2372)Jackson方法Jackson方法是一种典型的面向数据结构的结构化程序设计方法,其设计目标是从分析系统的数据结构出发,最后得出用Jackson伪代码表示的程序处理过程。为了便于理解,下面通过一个简单的例子来说明Jackson方法的具体设计步骤。假定某单位原来存在一个职工工资文件和一个职工档案文件,两个文件中的记录均按照职工编号升序排列且数目相等,现在要将这两个独立的文件合并为一个职工工资档案文件。采用Jackson方法设计,共分为以下四步进行:2023/9/238(1)分析问题,确定输入、输出数据的逻辑结构,并用Jackson图将其描述出来。2023/9/239
(2)找出输入数据结构和输出数据结构中有对应关系的单元,并按下列规则导出描述程序结构的Jackson图,结果如图7-12所示。2023/9/240
(3)列出完成结构图中各处理框功能的所有操作、分支及循环条件,并把它们放到程序结构图上的适当位置。例子中所涉及的基本操作和条件如下:A.打开输入文件;B.新建工资档案文件;C.读取输入文件中的一条记录;D.关闭文件;E.合并生成工资档案记录;F.将工资档案记录写入文件;G.终止;I(1).输入文件未结束。(a)改进前的程序结构图;(b)改进后的程序结构图图7-13加入基本操作和条件后的程序结构图2023/9/241
(4)用Jackson伪代码写出程序的处理过程。图7-13(b)所示的程序结构图对应的伪代码表示如下:产生工资档案文件seq
打开两个输入文件新建工资档案文件程序体itelwhile输入文件未结束产生工资档案记录seq
从两个输入文件中各读取一条记录 合并生成工资档案记录 将生成的工资档案记录写入工资档案文件中产生工资档案记录end
程序体end
关闭所有文件终止产生工资档案文件end2023/9/2422.Warnier方法1)Warnier图在Warnier图中,数据元素按从上到下顺序出现,元素选择出现或重复出现的事实用在元素下面圆括号中标出的出现次数注明。Warnier图除了表示数据结构外,也可表示程序结构。2)使用Warnier方法的步骤(1)分析确定输入数据、输出数据的逻辑结构,并用Warnier图描绘数据结构。(2)依据输入数据结构导出程序结构,并用Warnier图描绘数据程序的处理层次。(3)将程序结构图改为流程图,并自下至上给每个处理框编号。(4)根据程序流程图分类写出程序的伪代码指令。(5)按分类写出的指令按序号排序,从而得出描述处理过程的伪码。2023/9/243
面向数据结构的方法主要适用于数据结构比较稳定、变化不大的程序模块。如果一个程序的数据结构经常有变化,或无法准确地定义数据结构,则不适宜采用这样的设计方法。2023/9/2447.5程序的复杂性度量
定量度量程序复杂程度的方法很有价值:把程序的复杂程度乘以适当常数即可估算出系统中故障的数量以及系统开发需要用的工作量,定量度量的结果可以用来比较两个不同的设计或两个不同算法的优劣;程序的定量的复杂程度可以作为模块规模的精确限度。环形复杂度的度量方法文本复杂度的度量方法。2023/9/2457.5.1环形复杂度的度量方法1.程序图使用McCabe方法首先需要画出程序图(ProgramGraph),所谓程序图可以看成是“退化了的”程序流程图,也就是把程序流程图中的每个处理符号都退化成一个点,原来连接不同处理符号的箭头变成连接不同点的有向弧,这样得到的有向图就称为程序图。几种基本结构的程序图如图7-14示。2023/9/246
例如,对如图7-15(a)所示的程序流程图进行简化,可得到如图7-15(b)所示的程序图。2023/9/2472.环形复杂度的度量方法
环形复杂度等于强连通的程序图中线性无关的有向环的个数。根据图论,在一个强连通的有向图中线性无关环的个数由下面的公式给出:
V(G)=m-n+p①
其中,V(G)表示有向图G中的线性无关的环数;
m表示有向图G中有向边(弧)的个数;
n表示有向图中的结点个数;
p是有向图G中的分离部分的数目。
2023/9/248
对于一个正常的程序来说,应该从程序图内的入口点到达图中任何一个结点(一个不能达到的结点代表永远不能执行的程序代码,显然是错误的),因此,程序图总是连通的,也就是说,p=1。m和n的值从程序图中可以方便地得到。现在的关键问题是,程序图虽然是连通图,但却不是强连通图(图中靠近入口的结点可以到达下面的结点,而靠近出口的结点往往不能到达上面的结点),而强连通图是要求从图中任一结点出发都可以到达所有其他结点。为了使程序图能够满足图论中计算环形复杂度公式的要求,可以在程序图中增加一条从出口点到入口点的虚弧,此时,程序图就变成了一个强连通图。2023/9/249
对图7-15(b)所示的程序图添加虚弧后,就得到了如图7-16所示的强连通图。强连通程序图的环形复杂度:
V(G)=13-10+1=42023/9/250
实质上,除了采用上面的公式①可以计算环形复杂度的值以外,还可以使用下面两个公式来计算程序图中的环形复杂度。
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的环形复杂度为:3+1=4。2023/9/2513.环形复杂度的用途
程序的环形复杂度取决于程序控制流的复杂程度,也即取决于程序结构的复杂程度。当程序内分支数或循环个数增加时,环形复杂度也随之增加,因此它是对测试难度的一种定量度量,也能对系统最终的可靠性给出某种预测。
McCabe研究大量程序后发现,程序的环形复杂度越高,程序的可理解性就越差,程序测试和维护的难度也就越大,并且,环形复杂度高的程序,往往就是最容易出问题的程序。实践证明,模块规模以V(G)≤10为宜,即尽量将程序的环形复杂度控制在10以下。2023/9/2527.5.2文本复杂度的度量方法文本复杂度的度量方法又称为Halstead方法。Halstead度量方法是HalsteadM.H于1977年提出的关于度量软件复杂性的一种最有效的方法。此方法可根据源程序中运算符(包括关键字)和操作数(包括常量和变量)的总数来度量程序复杂度,并可以预测程序的文本复杂度和程序中包含的错误个数。2023/9/2531.预测程序的文本复杂度
对源程序文本复杂度进行度量的具体方法为:首先找出整个程序中运算符出现的总次数N1及操作数出现的总次数N2,接着使用下面的公式即可计算出程序的文本复杂度N:
N=N1+N2
在详细设计结束后,可以知道程序中需使用的不同运算符的个数n1和不同操作数的个数n2,此时可通过下面的公式预测程序的文本复杂度H:
H=n1
log2n1+n2
log2n2
另外还可以计算程序量V,它表明了程序在“词汇上的复杂度”。
V=(N1+N2)
log2(n1+n2)2023/9/2542.预测程序中包含的错误个数Halstead给出了预测程序中包含错误的个数的公式如下:
B=N
log2(n1+n2)/3000
例如,一个程序对75个数据库项共访问1300次,对150个运算符共使用了1200次,那么预测该程序的错误数B:
B=(1200+1300)
log2(75+150)/3000
6.5
即预测该程序中可能包含6~7个错误。有人曾对从300条到1200条语句范围内的程序核实了上述公式,发现预测的错误数与实际错误数相比误差在8%之内。
Halstead度量是目前最好的度量方法,但它也有缺点,由于n1、n2、N1、N2相同的程序在控制结构和数据复杂性等方面可能存在相当大的差异,程序员使用程序设计语言描述算法的水平和熟练程度也有很大区别,因此Halstead的估算方法有一定的局限性。2023/9/2557.6人-机界面设计7.6.1用户的使用需求分析用户需求包含功能需求和使用需求。
1.用户对计算机系统的要求⑴让用户灵活地使用,不必以严格受限的方式使用系统。为了完成人-机间的灵活对话,要求系统提供对多种交互介质的支持,提供多种界面方式,用户可以根据任务需要自己的特性,自由选择交互方式。⑵系统能区分不同类型的用户并适应他们,要求依赖于用户类型和任务类型,系统自动调节以适应用户。⑶系统的行为及其效果对用户是透明的。⑷用户可以通过界面预测系统的行为。⑸系统能提供联机帮助功能,帮助信息的详细程度应依据用户的要求。2023/9/256⑹人-机交互应尽可能和人际通信相类似,要把人-机交互常用的例子、描述、分类、模拟等用于人-机交互中。
⑺系统设计必须考虑到人使用计算机时的身体、心理要求,包括机房环境、条件、布局等,以使用户能在没有精神压力的情况下使用计算机完成他们的工作。2023/9/2572.用户技能方面的使用需求应该让系统去适应用户,对用户使用系统不提出特殊的身体、动作方面的要求,例如用户只要能使用常用的交互设备(如键盘、鼠标器、光笔)等即能工作,而不应有任何特殊要求。⑴用户只需有普通的语言通信技能就能进行简单的人-机交互。目前人-机交互中使用的是易于理解和掌握的准自然语言。⑵要求有一致性的系统。一致性系统的运行过程和工作方式很类似于人的思维方式和习惯,能够使用户的操作经验、知识、技能推广到新的应用中。⑶应该让用户能通过使用系统进行学习,提高技能。最好把用户操作手册做成交互系统的一部分,当用户需要时,有选择地进行指导性的解释。⑷系统提供演示及示例程序,为用户使用提供范例。2023/9/2583.用户习性方面的使用需求⑴系统应该让在终端前工作的用户有耐心。这一要求是和系统响应时间直接相关联的。对用户操作响应的良好设计将有助于提高用户的耐心和使用系统的信心。⑵系统应该能很好地对付易犯错误、健忘以及注意力不集中等习性。良好的设计应设法减少用户错误的发生,例如采用图形点取方式。此外,必要的冗余长度、可恢复操作、良好的出错信息和出错处理等也都是良好系统所必须具备的。⑶应该减轻用户使用系统的压力。系统应对不同用户提供不同的交互方式。例如,对于偶然型和生疏型用户可提供如问答式对话、菜单选择等交互方式;对于熟练型或专家型用户提供如命令语言、查询语言等交互方式;而直接操纵图形的用户界面以其直观、形象化及与人们的思维方式的一致性,更为各类用户所欢迎。2023/9/2594.用户经验、知识方面的使用需求系统应能让未经专门训练的用户容易使用。(1)系统能对不同经验知识水平的用户做出不同反应,例如不同程序的响应信息、提示信息、出错信息等。(2)提供同一系统,甚至不同系统间系统行为的一致性,建立起标准化的人-机界面。(3)系统必须适应用户在应用领域的知识变化,应该提供动态的自适应用户的系统设计。总之,良好的人-机界面对用户在计算机领域及应用领域的知识、经验不应该有太高要求,相反,应该对用户在这两个领域的知识、经验变化提供适应性。2023/9/2605.用户对系统的期望方面的要求(1)用户界面应提供形象、生动、美观的布局显示和操作环境,以使整个系统对用户更具吸引力。(2)系统决不应该使用户失望,一次失败可能使用户对系统望而生畏。良好的系统功能和人-机界面会使用户乐意把计算机系统当成用户完成其任务的工具。(3)系统处理问题应尽可能简单,并提供系统学习机制,帮助用户集中精力去完成。其实际工作,减轻用户操作运行计算机系统的盲目性。
2023/9/2617.6.2人-机界面的设计原则1.确定用户确定用户是惊醒系统分析和设计的第一步,也就是标识使用应用系统的用户(最终用户)的类型。软件系统的设计者必须了解自己的用户,包括用户的年龄段、受教育程度、兴趣、工作时间、特殊要求等。“了解用户”是一个十分简单的想法,但在工程实践中常常是一个困难的要求。从对计算机系统或者程序熟悉程度观点,计算机用户可以分为终端用户和系统程序员两类。终端用户指计算机系统的终端操作者或是使用者,这类用户通常不要求懂得计算机和程序,系统的用户界面要求易学、易用、可靠。对于系统程序员来说,他们熟悉系统运行环境,具有较熟悉的程序设计经验,通常要求具有对现有系统运行维护,甚至二次开发的能力。因此,他们要求系统模块结构良好。2023/9/2622.尽量减少用户的工作在设计人-机计算机组成的人-机系统来完成一定的任务时,应该让计算机能积极主动,而让人尽可能地少做工作,因而使用户能更轻松、更方便地完成工作。为减少需要用户记忆的内容,用户界面设计中主要用以下办法。(1)用提示选择,而不是输入命令串(2)联机帮助(3)增加可视化图形表示2023/9/2633.一致性原则人-机界面的一致性主要体现在输入、输出方面的一致性,具体是指在应用程序的不同部分,甚至不同应用程序之间,具有相似的界面外观、布局和相似的人-机交互方式以及相似的信息显示格式等。一致性原则有助于用户学习,减少学习量和记忆量。2023/9/2644.系统要给用户提
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030全球氟化锂蒸发材料行业调研及趋势分析报告
- 2025-2030全球针织翻边毛线帽行业调研及趋势分析报告
- 2025年全球及中国智慧生态解决方案行业头部企业市场占有率及排名调研报告
- 2025-2030全球全自动小袋拆包机行业调研及趋势分析报告
- 无人机技术研发项目合同
- 2025上海市房屋买卖合同书(简易范本)
- 产品销售代理合同
- 购销校服合同范本
- 仓储服务定金合同模板
- 2025合同模板化妆品采购合同范本
- 2024年小升初语文入学分班测试卷四(统编版)
- 流行文化对青少年价值观的影响研究
- 中国保险行业协会官方-2023年度商业健康保险经营数据分析报告-2024年3月
- 设计质量管理和保证措施及设计质量管理和质量保证措施
- 2024电力系统安全规定
- 小学二年级语文上册阅读理解专项训练20篇(含答案)
- 科技论文图表等规范表达
- 高考写作指导议论文标准语段写作课件32张
- 2021年普通高等学校招生全国英语统一考试模拟演练八省联考解析
- 华能火力发电机组节能降耗技术导则(2023年版)
- 基础知识3500个常用汉字附拼音
评论
0/150
提交评论