软件工程第六章
软件工程第六章 详细设计

软件工程第六章详细设计软件工程第六章详细设计6.1 概述本章节旨在对软件系统的详细设计进行介绍。
详细设计将在系统的高层设计基础上,进一步细化系统结构、模块划分以及相互关系,并定义系统中各个组件的详细功能和接口。
6.2 系统结构设计系统结构设计主要包括以下内容:- 系统总体架构:描述系统整体的结构和组成部分,包括各个模块和它们的关系。
- 模块划分:根据系统需求,将系统划分为若干个模块,并定义各个模块的职责和功能。
- 模块关系:描述各个模块之间的依赖关系和通信方式,包括模块之间的接口和数据流。
6.3 模块设计模块设计是详细设计的核心内容,主要包括以下内容:- 模块接口:定义模块的输入和输出接口,包括参数和数据格式。
- 模块内部实现:描述模块内部的算法、数据结构以及运行流程。
- 模块测试方法和策略:定义对模块进行单元测试的方法和策略。
6.3.1 模块A设计本节详细介绍模块A的设计。
- 模块接口:模块A接收来自模块B的数据输入,处理后输出结果给模块C。
- 模块内部实现:模块A内部使用算法X对输入数据进行处理,然后将结果输出给模块C。
- 模块测试方法和策略:对模块A进行单元测试时,使用测试用例集合Y进行测试。
6.3.2 模块B设计本节详细介绍模块B的设计。
- 模块接口:模块B接收来自模块D的数据输入,处理后输出结果给模块A。
- 模块内部实现:模块B内部使用算法Z对输入数据进行处理,然后将结果输出给模块A。
- 模块测试方法和策略:对模块B进行单元测试时,使用测试用例集合Z进行测试。
6.3.3 模块C设计本节详细介绍模块C的设计。
- 模块接口:模块C接收来自模块A的数据输入。
- 模块内部实现:模块C内部对输入数据进行处理,并输出结果。
6.4 数据库设计如果系统涉及数据库,本节详细介绍数据库的设计。
- 数据库结构:描述数据库的表、字段以及它们之间的关系。
- 数据库访问接口:定义系统访问数据库的接口和方法。
6.5 接口设计本节详细介绍系统与外部系统或用户的接口设计。
软件工程第6章 软件编码设计

10
(1)理论标准 1)理想的模块化机制、易于阅读和使用的控制结 构及数据结构 模块化、良好的控制结构和数据结构可以降低编码 工作的难度,增强程序的可理解性,提高程序的可测试 性和可维护性,从而减少软件生存周期中的总成本,并 缩短软件开发所需的时间。 2)完善、独立的编译机制
11
(2)实用标准 1)系统用户的要求 由于用户是软件的使用者,因此软件开发者应充分 考虑用户对开发工具的要求。特别是当用户要负责软件 的维护工作时,用户理所应当地会要求采用他们熟悉的 语言进行编程。 2)工程的规模 3)软件的运行环境 4)可以得到的软件开发工具
16
(3)语句的构造及书写 语句是构成程序的基本单位,语句的构造方式和书 写格式对程序的可读性具有非常重要的决定作用。 在一行内只写一条语句,并且采取适当的移行格式, 使程序的逻辑和功能变得更加明确。 程序编写首先应当考虑清晰性,不要刻意追求技巧 性,使程序编写得过于紧凑。
17
(4)输入/输出 由于输入和输出是用户与程序之间传递信息的渠道, 因此输入、输出的方式往往是用户衡量程序好坏的重要 指标。为了使程序的输入、输出能便于用户的使用,在 编写程序时应对输入和输出的设计格外注意。 1)输入 2)输出
23
良好的编码风格,应该以结构程序设计的原则为指 导,使用单输入口和单输出口的控制结构。倡导源程序 代码的文档化,程序内部良好的文档资料,有规律的数 据说明格式,简单清晰的语句构造和输入输出格式等, 都对程序的可读性有很大作用,也在相当大的程度上改 进了程序的可维护性。程序的输入输出应该充分考虑运 行工程学的要求,在满足数据可靠性的前提下,尽量做 到对用户友善。
19
(1)用于提高运行速度的指导原则 ①编写程序之前,先对需要使用的算术表达式和逻 辑表达式进行化简。 ②尽可能多地采用执行时间短的算术运算。 ③尽量避免使用多维数组、指针和其他复杂的数据 类型。 ④尽量采用整型算术表达式和布尔表达式。 ⑤尽可能减少循环体,特别是内循环中语句的个数。 ⑥尽量使同一表达式中的数据类型保持统一。 ⑦应当对所有的输入和输出安排适当的缓冲区,以 减少频繁通信所带来的额外开销。
软件工程 第6章

N-S图的基本符号
N-S图的嵌套定义形式
练 习
请利用N-S描述下列问题的程序结构
某汽车修配厂,有一个存有汽车零件的 仓库,其中存有若干种零件,请编写一个查 询程序,用于查询该库中某零件的库存量为 多少。
设该模块为查询模块。请设计该模块的 程序结构。具体要求:
1、应具有重复查询功能; 2、应具有数据检测功能; 3、请利用N-S图描述该模块的算法。
伪代码----文字形式的表达工具,不能在计算机上执行, 但形式上与代码相似。用它来描述程序的结构,工作量 要比画图小,又比较容易转换真正的代码。
PDL-----关键词+自然语言
结构化语言的结构分为外层和内层:
外层: 具有严格的关键字外语法,用于定义控制
结构和数据结构。包括有简单陈述句、判定和 重复结构等三种。
A=B
A<B
A:B
A>B
X=? =1 =2 =3 =4 =5
X=?
x=1 x=2 x=3 x=4
练 习
请利用程序流程图描述下列问题的程序结构
某汽车修配厂,有一个存有汽车零件的 仓库,其中存有若干种零件,请编写一个查 询程序,用于查询该库中某零件的库存量为 多少。
设该模块为查询模块。请设计该模块的 程序结构。具体要求:
输入错误!
继续查询?
Y
N
跳出循环
6.3.3 PAD图
问题分析图(Problem Analysis Diagram) 采用二维树形结构图表示程序的控制流。
A B (a)顺序结构
A
P
B
(b)选择结构
PAD图的基本符号
WHILE P
S
(c) WHILE型循环结构
软件工程导论第6章

70年代初N.Wirth在Pascal语言中设置支持“顺序 结构”、“IF-THEN-ELSE选择结构”、“DO-WHILE 重复结构”或“DO-UNTIL重复结构”三种基本控制 结构语句。
25
3种基本控制结构
(1) 顺序型
A B
(2) 选择型
F P A B T
(2) 多情况选择型(case)
T T
P=1 F P=2 F P=n F
…
A1 A2
T
An
(3) 先判定型循环
后判定型循环
(do-while)
F
(do-until)
P T S
S P F
T
例1、某模块有两个输入a和b,一 个输出c,当满足条件(a>0)and(b<2) 时,c=a+b,否则c=a-b。画出该模 块的程序流程图。
a b
第6章 详细设计
6.1 结构程序设计 6.2 人机界面设计 6.3 过程设计的工具 6.4 面向数据结构的设计方法 6.5 程序复杂程度的定量度量 6.6 小结 习题
1
详细设计阶段的根本目标:确定应该怎样具体地 实现所要求的系统。 为软件结构图中的每一个模块确定使用的算法和 块内数据结构,并用某种选定的表达工具给出清晰 的描述。
100 110
120
130 140
Eq:等于 ne:不等于 gt:大于 lt:小于 ge:大于等于 le:小于等于
例:打印A、B、C三数中最小者的程序 if (A.LT.B .AND. A.LT.C)then write(6,*) A else if (A.GE.B .AND. B.LT.C) then write(6,*) B else write(6,*) C endif endif
(完整版)软件工程第六章答案

作业4参考答案1.假设只有SEQUENCE和DO_WHILE两种控制结构,怎样利用它们完成IF_THEN_ELSE操作?答:转化如下:K = 1DO WHILE (条件.AND. K.EQ.1)程序块1K=K+1END DODO WHILE ((.NOT. 条件) .AND. K.EQ.1)程序块2K=K+1END DO2.假设允许使用SEQUENCE和IF_THEN_ELSE两种控制结构,怎样利用它们完成DO_WHILE操作?答:转化如下;label: IF (条件) THEN程序块GOTO labelELSE程序块END IF3.画出下列伪码程序的程序流程图和盒图:STARTIF p THENWHILE q DOfEND DOELSEBLOCKgnEND BLOCKEND IFSTOP答:(1)流程图如图4-1所示:图4-1 从伪码变成的程序流程图(2)该程序的盒图如图4-2所示:图4-2 从伪码变成的程序盒图4.下图给出的程序流程图代表一个非结构化的程序,请问:(1)为什么说它是非结构化的?(2)设计一个等价的结构化程序。
(3)在(2)题的设计中你使用附加的标志变量flag吗?若没用,请再设计一个使用flag 的程序;若用了,再设计一个不用flag的程序。
答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。
图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。
(2)使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,图4-3描绘了等价的结构化程序的盒图。
(a)解法1(b)解法2图4-3 与该图等价的结构化程序(用flag)(3)不使用flag把该程序改造为等价的结构化程序的方法如图4-4所示。
图4-4 与该图等价的结构化程序(不用flag)5.研究下面的伪代码程序:LOOP: Set I to (START+FINISH)/2If TABLE(I)=ITEM goto FOUNDIf TABLE(I)<ITEM Set START to (I+1)If TABLE(I)>ITEM Set FINISH to (I-1)If (FINISH-START )>1 goto LOOPIf TABLE(START)=ITEM goto FOUNDIf TABLE(FINISH)=ITEM goto FOUNDSet FLAG to 0Goto DONEFOUND: Set FLAG to 1DONE:Exit(1)画出程序流程图。
软件工程第六章 详细设计

软件工程第六章详细设计软件工程第六章详细设计1. 引言本章将对软件系统的详细设计进行介绍。
详细设计是软件开发过程中的一个重要阶段,它负责将需求分析阶段产生的需求和概念设计阶段产生的设计方案转化为具体的实现细节。
2. 设计概述2.1 数据设计在数据设计方面,我们将详细定义系统中所使用的数据结构、数据类型和数据库设计。
这将包括实体类的定义、数据库表的设计以及数据字典的编制。
2.2 模块设计模块设计是将系统划分成各个功能模块,并定义模块之间的接口和交互方式。
我们将详细描述每个模块的功能、输入输出以及模块之间的调用关系。
2.3 界面设计界面设计负责定义系统与用户之间的交互方式。
我们将详细描述系统的界面布局、界面元素的设计和交互逻辑的实现。
3. 数据设计3.1 数据结构在此处描述系统中所使用的各种数据结构,包括树、链表、堆栈等,以及它们的定义和使用方式。
3.2 数据类型在此处描述系统所使用的各种数据类型,包括整型、浮点型、字符型等,以及它们的定义和使用方式。
3.3 数据库设计在此处描述系统所使用的数据库的设计,包括数据库表的结构、字段定义、关系等。
3.4 数据字典在此处编制系统的数据字典,明确定义每个数据元素的含义、取值范围、数据类型等。
4. 模块设计4.1 模块1名称在此处详细描述模块1的功能、输入输出以及模块内部的具体实现细节。
4.2 模块2名称在此处详细描述模块2的功能、输入输出以及模块内部的具体实现细节。
5. 界面设计5.1 界面布局在此处详细描述系统的界面布局方案,包括各个界面的位置、大小、排列等。
5.2 界面元素设计在此处详细描述系统所使用的各种界面元素,包括按钮、文本框、下拉框等,以及它们的样式和交互方式。
5.3 交互逻辑在此处详细描述系统与用户之间的交互逻辑,包括各个界面的功能和用户操作的响应方式。
6. 附件本文档涉及的附件包括:- 数据结构定义文档- 数据库表设计文档- 界面原型设计文档7. 法律名词及注释- 法律名词1: 注释1 - 法律名词2: 注释2。
软件工程导论第6章(第4版)

二. 人机界面设计
人机界面设计是接口设计的一个重要的组成部 分。对于交互式系统来说,人机界面设计和数据设 计、体系结构设计及过程设计一样重要。
1.指导规则
T.Mandel在《用户界面设计要素》中,提出了3 条指导规则: 让用户驾驭软件,不是软件驾驭用户 减少用户的记忆 保持界面的一致性
2. 应该考虑的设计问题
4. 人机界面设计指南
(3) 数据输入指南 尽量减少用户的输入动作。 保持信息显示和数据输入之间的一致性。 允许用户自定义输入。 交互应该是灵活的,可调整成用户喜欢的输入方式。 使在当前动作语境中不适用的命令不起作用。 让用户控制交互流。 对所有输入动作都提供帮助。 消除冗余的输入。
三. 过程设计
1.过程设计的目的与任务 目的 确定模块采用的算法和块内数据结构,用某种 选定的表达工具给出清晰的描述。 任务:编写软件的“过程设计说明书” 为每个模块确定采用的算法 (模块的详细过程性 描述) 确定每一模块使用的数据结构 确定模块接口的细节 (包括对系统外部的接口和 用户界面,对系统内部其他模块的接口,以及关 于模块输入数据、输出数据及局部数据的全部细 节)
三. 过程设计
2.过程设计的原则与方法
清晰第一的设计风格 结构化的控制结构 结构程序设计的经典定义为: “如果一个程序的代码块仅仅通过顺序、选择和循环这3 种基本控制结构进行连接,并且每个代码块只有一个入口和 一个出口,则称这个程序是结构化的。” 结构程序设计技术是一种实现在逻辑上正确描述每个模 块的功能,并且使设计出的处理过程尽可能简明易懂的关键 技术,是过程设计的逻辑基础。 逐步细化的实现方法 例:在一组数中找出其中的最大数
(4) 命令交互 命令行现在仍然是许多高级用户偏爱的交互方式。在 多数情况下,用户既可以从菜单中选择软件功能,也可以 通过键盘命令序列调用软件功能。 在提供命令交互方式时,必须考虑下列设计问题: 是否每个菜单选项都有对应的命令? 采用何种命令形式?有3种选择:控制序列(例如Ctrl+P), 功能键和键入命令。 学习和记忆命令的难度有多大?忘记了命令怎么办? 用户是否可以定制或缩写命令? 在理想的情况下,所有应用软件都有一致的命令使用 方法。
软件工程课件第六章

根据上面的讨论,需要命名的数据有:
20.09.2020
结构化程序设计的核心内容
2、三种基本结构的共同点是单入口、单出口。
单入口单出口的控制理 解,也容易保证程序的正确性。
20前.0一9.页2020
国家软件开发工程规范的规定
国家软件开发工程规范规定“程序单元必须只有唯一的 入口,唯一的出口”有两个不同的概念:
1972年,IBM公司的Mills进一步提出,程 序应该只有一个入口和一个出口。
20.09.2020
结构化程序设计
结构程序设计是按照一组能提高程序 的可读性和易维护性的规则而进行的程序 设计方法,目的是为了使程序具有一种合 理的结构,以使程序易理解和维护,便于 保证和验证程序的正确性。
20.09.2020
扩展的结构程序设计:还允许使用DO_CASE型多分支结 构和DO_UNTIL型循环结构。
修正的结构程序设计:再允许使用BREAK(LEAVE)结构。
20.09.2020
逐步求精算法实例
空气污染物含量数据的统计处理程序
假定某工厂烟囱附近,在24小时中每分钟测量1次空气中
污染物含量。得到的数据以每100单位中所含污染物成分的值
3、自顶向下的程序验证。
20.09.2020
结构化程序设计的核心内容
二、使用三种基本控制结构来构造程序 1、任何程序都由顺序、选择和重复三种基本控制结构构造。
顺序实现了任何算法规约中的核心处理步骤; 条件允许根据逻辑情况选择处理方式; 重复提供了循环。 这些逻辑元素是结构化程序设计的基础。 根据逐步求精的思想,可用三种方式对模块过程进行分解: ①用顺序方式对过程分解,确定各部分的执行顺序; ②用选择方式对过程分解,确定各部分的执行条件; ③用循环方式对过程分解,确定某个部分进行重复的开始和 结束的条件。 对处理过程仍然模糊的部分反复使用以上分解,直到所有细 节确定下来。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
判定树的缺点:
例题:
某校制定了教师的讲课课时津贴标准。对于各 种性质的讲座,无论教师是什么职称,每课时 津贴费一律是50元;
对于一般的授课,则根据教师的职称来决定每
课时津贴费:教授30元,副教授25元,讲师20
元,助教15元。
请分别用判定表和判定树表示津贴标准。
判定表:
1
教授 副教授 讲师 助教 讲座 50 30 25 20 15
盒图具有下述特点: 功能域明确。 不可能任意转移控制。 很容易确定局部和全程数据的作用域。 很容易表现嵌套关系,也可以表示模块的层次 结构。
盒图的基本符号
6.3.3 PAD图
PAD是问题分析图(problem analysis diagram)
的英文缩写,自1973年由日本日立公司发明以 后,已得到一定程度的推广。 它用二维树形结构的图来表示程序的控制流, 将这种图翻译成程序代码比较容易。
多年来判定树一直受到人们的重视,是一种比 较常用的系统分析和设计的工具。
用判定树表示计算行李费的算法
判定树的优点:
它的形式简单,一眼就可以看出其含义,因此 易于掌握和使用。
简洁性不如判定表,数据元素的同一个值往往 要重复写多遍,而且越接近树的叶端重复次数 越多。 画判定树时分枝的次序可能对最终画出的判定 树的简洁程度有较大影响。
PAD图的基本符号
PAD图的主要优点如下:
使用表示结构化控制结构的PAD符号设计出来 的程序必然是结构化程序。 PAD图所描绘的程序结构十分清晰。 PAD图表现程序逻辑易读、易懂、易记。 容易将PAD图转换成高级语言源程序,这种转 换可用软件工具自动完成。
即可表示程序逻辑,也可描绘数据结构。 PAD图的符号支持自顶向下、逐步求精方法的 使用。
为了实际使用方便起见,常常还允许使用DOUNTIL和DO-CASE两种控制结构。
有时需要立即从循环(甚至嵌套的循环)中转移
出来,允许使用LEAVE(或BREAK)结构。 LEAVE或BREAK结构实质上是受限制的 GOTO语句,用于转移到循环结构后面。
3种基本的控制结构
其他常用的控制结构
经典的结构程序设计:只允许使用顺序、IFTHEN-ELSE型分支和DO-WHILE型循环这3 种基本控制结构; 扩展的结构程序设计:如果除了上述3种基本 控制结构之外,还允许使用DO-CASE型多分 支结构和DO-UNTIL型循环结构; 修正的结构程序设计:再加上允许使用 LEAVE(或BREAK)结构。
3. 出错信息处理 出错信息和警告信息,是出现问题时交互式系 统给出的“坏消息”。 4. 命令交互 多数情况下,用户既可以从菜单中选择软件功 能,也可以通过键盘命令序列调用软件功能。 在理想的情况下,所有应用软件都有一致的命 令使用方法。
6.2.2 设计过程
用户界面设计是一个迭代的过程,也就是说, 通常先创建设计模型,再用原型实现这个设计 模型,并由用户试用和评估,然后根据用户意 见进行修改。 为了支持上述迭代过程,各种用于界面设计和 原型开发的软件工具应运而生。这些工具被称 为用户界面工具箱或用户界面开发系统。
h
WHILE x5
d
c
e
N-S图:
a F b x1 CASE xi x2 x3 x4 F g x5 d e h c x8 j f x6 T T
i x7
6.3.4 判定表
当算法中包含多重嵌套的条件选择时,用程序 流程图、盒图、PAD图或后面即将介绍的过程 设计语言(PDL)都不易清楚地描述。 判定表却能够清晰地表示复杂的条件组合与应 做的动作之间的对应关系。
第6章 详细设计
6.1 结构程序设计
6.2 人机界面设计
6.3 过程设计的工具
6.4 面向数据结构的设计方法
6.5 程序复杂程度的定量度量
详细设计阶段的根本目标:确定应该怎样具体 地实现所要求的系统。经过这个阶段的设计工 作,应该得出对目标系统的精确描述,从而在 编码阶段可以把这个描述直接翻译成用某种程 序设计语言书写的程序。 结构程序设计技术是实现上述目标的关键技术, 因此是详细设计的逻辑基础。
表6.1 用判定表表示计算行李费的算法 1 2 3 4 5 6 7 国内乘客 头等舱 T T F T F T F F F T T T F T F T F F T F F F F F F
8 F T
9 F F
残疾乘客
行李重量 W≤ 30 免费 (W-30)×2 (W-30)×3 (W-30)×4 (W-30)×6 (W-30)×8 (W-30)×12
6.2 人机界面设计
人机界面设计是接口设计的重要组成部分。对 于交互式系统来说,人机界面设计和数据设计、 体系结构设计及过程设计一样重要。 人机界面的设计质量,直接影响用户对软件产 品的评价,从而影响软件产品的竞争力和寿命, 必须对人机界面设计给予足够重视。
三条“黄金规则”: 置用户于控制之下。 减少用户记忆负担。 保持界面一致。
伪代码的基本控制结构: 简单陈述句结构:避免复合语句。 判定结构:IF_THEN_ELSE或CASE_OF结构。 选择结构:WHILE_DO或REPEAT_UNTIL 结构。
例:检查订货单 IF 客户订货金额超过5000元 THEN IF 客户拖延未还赊欠钱款超过60天 THEN 在偿还欠款前不予批准 ELSE (拖延未还赊欠钱款不超过60天) 发批准书,发货单 ENDIF ELSE (客户订货金额未超过5000元) IF 客户拖延未还赊欠钱款超过60天 THEN 发批准书,发货单,并发催款通知书 ELSE (拖延未还赊欠钱款不超过60天) 发批准书,发货单 ENDIF ENDIF
黄月亮和蓝月亮
怀特效应
蓝宝石之光
斯特鲁普效应
6.3 过程设计的工具 6.3.1 程序流程图
程序流程图又称为程序框图,它是历史最悠久、 使用最广泛的描述过程设计的方法。 它的主要优点是对控制流程的描绘很直观,便 于初学者掌握。 程序流程图历史悠久,至今仍在广泛使用着。
程序流程图中使用的符号
T
√
2 T F F F F
√
3 F T F F F
4 F F T F F
5 F F F T F
√
√
√
判定树: 教授 30
一般授课 课时津贴
讲座
副教授
讲师 助教 50
25
20 15
6.3.6 过程设计语言
过程设计语言(PDL)也称为伪码,它是用正文 形式表示数据和处理过程的设计工具。 PD表示实际 操作和条件的内部语法通常又是灵活自由的, 可以适应各种工程项目的需要。 PDL是一种“混杂”语言,它使用一种语言的 词汇,同时却使用另一种语言的语法。
T
F
T
F
√
√
√
√ √
√ √
√
√
判定表的优点:
能清晰地表示复杂的条件组合与应做的动作之 间的对应关系。
判定表的缺点:
判定表的含义不是一眼就能看出来的,初次接 触这种工具的人理解它需要有一个简短的学习 过程。
当数据元素的值多于两个时,判定表的简洁程 度也将下降。
6.3.5 判定树
判定树是判定表的变种,也能清晰地表示复杂 的条件组合与应做的动作之间的对应关系。
初步设计 建立原型 #1的界面 建立原型 #n的界面 需要进行的 设计修改 设计者研究 界面设计完成 评估结果 界面设计评估周期 用户评估 界面
6.2.3 人机界面设计指南
一般交互指南 信息显示指南 数据输入指南
颜色使用指南: 一个窗口中不应该出现5种以上不同色系的颜色。一般 的,尽量少用不同的颜色总是好的。 如果一个图表中仅包含几种颜色,背景应该选用其中一 种颜色的补色:如果一幅图中包含许多颜色,背景应该 选用一种中性的颜色,如灰色。 如果两个相邻的颜色不是特别和谐,可以用细的黑色边 框将它们分开。 背景和字体颜色应选用对比度强的颜色。 颜色的应用要适度,装饰性的使用服从功能性的使用。 区域的颜色实际上能够影响他的观察尺寸。 使用高饱和度(亮)颜色的大区域是不明智的。 红色和蓝色具有最强的深度不一致的效果,红色看起来 近,蓝色看起来远。
例题:某程序 流程图如右图 所示,请分别 用N-S图和 PAD图表示。
a b F xi x2 F x1 T f x5 T c d e F F g h x6 T i x7 T F
x3 x4
x8 T j
PAD图:
f a b UNTIL x8 j x6 g UNTIL x7 i
x1
x2 xi= x3 x4
一张判定表由4部分组成: 左上部列出所有条件; 左下部是所有可能做的动作; 右上部是表示各种条件组合的一个矩阵; 右下部是和每种条件组合相对应的动作。
所有条件 条件组合矩阵 条件组合 对应的动作
所有动作
例题:
假设某航空公司规定,乘客可以免费托运重量 不超过30kg的行李。 当行李重量超过30kg时,对头等舱的国内乘客 超重部分每公斤收费4元,对其他舱的国内乘 客超重部分每公斤收费6元。 对外国乘客超重部分每公斤收费比国内乘客多 一倍,对残疾乘客超重部分每公斤收费比正常 乘客少一半。
6.2.1 设计问题
设计人机界面过程中会遇到的4个问题:
系统响应时间 用户帮助设施 出错信息处理 命令交互
1. 系统响应时间 系统响应时间指从用户完成某个控制动作,到 软件给出预期的响应之间的这段时间。系统响 应时间有两个重要属性:长度和易变性。 长度:如果系统响应时间过长,用户就会感到 紧张和沮丧;系统响应时间过短会迫使用户加 快操作节奏,从而可能会犯错误。 易变性:指系统响应时间相对于平均响应时间 的偏差,即使系统响应时间较长,响应时间易 变性低也有助于用户建立起稳定的工作节奏。