面向对象第8章 人机交互部分的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 15 页
按照下面的概念以及用户需求,运用分解与组合技术,实现 对命令的定义与组织。 基本命令:使用一项独立的系统功能的命令。一个从用况提取 出来的人机交互过程是针对一项系统功能的,基本命令正是开始 该交互过程并使用该项系统功能的命令。选中一个基本命令,对 应的事件要传送到实现该命令功能的系统成分。也即由人机交互 部分的对象接收命令后,向问题域部分中实现该功能的对象发消 息,请求进行处理。 命令步:在执行一条基本命令的交互过程中所包含的具体输入 步骤。从一个用况提取出来的人机交互过程的各项输入都是这样 的命令步。 高层命令:如果一条命令是在另一条命令的引导下选用的,则 后者称作前者的高层命令。 高层命令是对基本命令的组织,相当于一个命令索引目录。 高层命令并不涉及某一项具体的系统功能,只是显示下一层可选 的系统功能,以供用户选择。对其常见的设计方式为主菜单条和 下拉菜单等。
第 16 页

图8-3展示了基本命令及其命令步的结构。
第 3 页
人机界面的开发不仅是设计和实现问题,也包括分析问 题。可以在不同的开发阶段,对人机交互部分进行不同的处 理。在捕获需求时对用况所做的描述,其实就包含了人机交 互部分的信息。 这些工作的目标是为了更好地理解系统的需求。尽管那 时注重的是系统的功能需求,但也很可能在那时分析人员与 用户就系统的界面的框架和内容已经达成了共识。若有必要, 在确定了用况模型后,可以紧接着完成人机交互部分的分析 工作。考虑到经过了OOA阶段,当时的用况模型会有一些 变动,以及要考虑用户群的特点等因素,在OOD阶段仍有 必要重新分析原来所做的人机交互部分的分析结果。
4)输入框组合的完备性。确保所有必要的输入框都要被输入。 例如,在进行身份检查时, 除了输入名称,还要输入密码。 5)数据的有效位数的控制。例如,身份证上的号码必须是15 位或18位的。
第 11 页
(3)输入步骤的细化 向系统输入信息,可以一次输入完毕,也可以分为若 干细小的步骤完成。以较少的步骤完成输入,意味着每一 步输入的内容较多,不易记忆;或者要从较多的选项中进 行选择,不易发现目标。以较多的步骤完成输人,可以使 每个步骤的操作比较简单,并且容易对用户形成引导,但 总的操作步骤会增加,使操作效率下降。技能熟练的用户 倾向于追求效率,初学者和一般水平的人员更重视系统以 较多的步骤引导他们进行正确的操作。一项输入被细化后, 可能变成输入与输出交替的动作序列,其中的输出是系统 的计算结果或系统对用户的提示信息等。
对于反馈信息,一般是在系统需要较长的时间进行计算 时才需要的,表明系统已经接收到命令,正在进行处理,对 于这种情况要表示出处理的进度。 (3)输出步骤的细化 如果系统输出的信息量较大,可以分若干步骤进行输出。 一种常见的做法是发一条简单的信息,通知用户如何得到更 详细的输出信息。另一种做法是为用户设计一些阅读或浏览 输出信息的动作,在这些动作的控制下,展示输出信息中用 户所关心的部分。这样,一项输出可能被细化为一个输入与 输出交织的过程。细化时考虑的主要因素是如何使用户感到 方便,以及输出介质(如显示屏、纸张等)的版面限制。
第 5 页
2. 从用况分析人机交互 我们先回顾一下通常的用况的构成: 1)参与者的行为和系统行为按时序交替出现,在布局上左右分 明,形成交叉排列的段落; 2)每个段落至少含有一个输入语句或输出语句; 3)有若干纯属参与者自身或系统自身的行为陈述; 4)可能包含一些控制语句或括号。 从用况中抽取人机交互序列可以用以下方法:针对各用况, 先删除所有与输入、输出无关的语句和不再包含任何内容的控 制语句与括号,剩下的就是对参与者(人)使用系统功能时的人 机交互描述。 图8-2为一个从用况提取人机交互描述的示例。
设计对话盒时,还要注意对输入内容的检查: 1)尽可能地防止错误的输入,当输入有误时要提供出错信息。 2)输入框组合控制。检查各输入框中的数据项的可能组合, 以保证输入的数据是正确的。 例如,参加工作的日期必须 晚于出生日期。
3)数据的有效范围控制。检查所输入的数据的合理性。例如, 在现今社会,一个人的年龄不应该超过200岁。
第 2 页
8. 1 什么是人机交互部分
对使用系统的人进行分析 ——以便设计出适合其特点的交互方式和界面表现形式; 对人和机器的交互过程进行分析 ——核心问题是人如何命令系统,以及系统如何向人提交信息。 设计人机交互就是要设计输入与输出,其中所包含的对象(称作 界面对象)以及其间的关系构成了系统的人机交互部分的模型。 最初设计人员按设计目标(用户需求),设计出界面(原型),提交 给用户去加以评判,也即这个初步的界面起抛砖引玉的作用。用户 通过对界面的学习,根据自己的经验和需求,经过一定的评判,把 结果反馈给设计人员,让设计人员继续设计。这种过程可能要反复 进行多次,使得双方的意见达到一致或达到一定程度的一致,直至 用户认可为止。
最终的系统是要提供给用户使用的。用户对系统的理解,包括用户 要操纵的系统中的"事物"、系统能够完成的功能以及任务的实施过程, 决定了用户对系统的使用。而用户对系统的使用是通过人机界面来进行 的。 现今的用户对软件系统的人机交互方面的要求越来越高,人机界面 的设计在软件系统开发中所占的地位也就越来越重要。特别是,新一代 的人机界面将是"以人为中心的计算",这样人机交互部分的设计作为一 个独立且重要的领域,就显得越发重要。 简言之,人机交互部分是人和计算机之间交互信息的媒介,对它的 设计涉及计算机科学、心理学、艺术学、认知科学和人机工程学等学科 。本章讲述的是人机交互的软件方面的设计。
第 4 页
8. 2 如何分析人机交互部分
对人机界面的分析,首先要对使用系统的人进行分析,以得到适 合其特点的交互方式和界面表现形式;然后对人和机器的交互过程进 行分析,解决的核心问题是人如何命令系统,以及系统如何向人提交 信息。要以捕获需求时获得的用况模型为基础,加上已有的界面原型, 进行后一项工作。 1. 分析与系统交互的人员参与者 人对界面的需求,不仅在于人机交互的内容,而且在于他们对 界面表现形式、风格等方面的爱好。前者是客观需求,对谁都一样; 后者是主观需求,往往因人而异。如下给出了分析策略: 1)列举所有的人员参与者; 2)对人员参与者进行调查研究; 3)区分人员类型,并了解各类人员的主观需求; 4)统计(或估算)出各类人员的比例; 5)按照一定的准则进行折中与均衡。
第 14 页
8.3.2命令的组织
在设计输入与输出时,还有一项重要的工作要做,那就 是设计用户使用系统的命令以及对命令的组织。系统可能有 大量的命令,且一条命令可能含有大量的参数和任选项,如 果对命令不加任何组织和引导,会给用户带来不便。
可采用两种技术措施对命令进行组织:
1)分解:将一条含有许多参数和选项的复杂命令分解为若 干较简单的命令。 2)组合:当一个系统的命令很多时,按照它们的功能或者 所属于的子系统,组合成若干命令组,使每组只包含几 条命令。这样,命令间就形成了层次结构。
第 6 页
收款员收款(use case) 输入开始本次收款的命令; 作好收款准备,应收款总数 置为0,输出提示信息; for 顾客选购的每种商品 do 输入商品编号; if 此种商品多于一件 then 输入商品数量 end if; 检索商品名称及单价; 货架商品数减去售出数; if 货架商品数低于下限 then 通知供货员请求上货 end if; 计算本种商品总价并打印编号、 名称、数量、单价、总价; 总价累加到应收款总数; end for; 打印应收款总数; 输入顾客交来的款数; 计算应找回的款数, 打印以上两个数目, 收款数计入账册。 (a)一个use case的例子
Leabharlann Baidu
第 12 页
2.设计输出 在设计输出时,要进行如下的工作。 (1)确定输出设备 常见的输出设备有打印机、显示器、绘图仪、文件或数据库表等。对 于一些非标准的计算机外部设备的接口程序,可以把它们放在相应的类中。 如果要向外系统输出,可以把与外系统的接口程序放在相应的类中。如果 要隔离外部设备或外系统的变化对本系统的影响,可以为外部设备或外系 统的接口程序单设立类。对于某些复杂的情况,可能还需要考虑同步机制。 (2)确定输出的形式和内容 输出的形式有文本、表格、图形、图像、声音和视频片段等。 输出的内容包括提示信息、系统的计算或处理结果、对输入处理情况 的反馈信息等。 提示信息告诉用户下面要进行何种输入以及如何输入。 对于系统的计算或处理结果的输出,总是伴随着用户输入的命令的执 行而出现。若要在窗口或打印机上以报表、报告、图形或窗口上的多媒体 演示等形式进行输出,则要先确定每种形式的内容要求,然后把它们各对 应于一个或几个类。 第 13 页
收款员收款(人机交互) 输入开始本次收款的命令; 输出提示信息; for 顾客选购的每种商品 输入商品编号; if 此种商品多于一件 then 输入商品数量 end if; 打印商品编号、名称、 数量、单价、总价; end for; 打印应收款总数 输入顾客交来的款数 打印交款数及找回款数;
(b)人机交互描述
第 8 页
8.3.1设计输入与输出
根据前面从用况中提取出来的对人机交互的描述,设计输入与输出。 首先要选择界面支持系统,如窗口系统、图形用户界面(GUl)或可视化 编程环境,然后进行输入与输出设计。输入与输出技术正在不断地发展, 这里仅就目前常见输入与输出的方式进行阐述。 1.设计输入 在设计输入时,要进行如下的工作。 (1)确定输入设备 常见的输入设备有键盘、鼠标、磁卡阅读器、条码阅读器、光电字 符识别阅读器、扫描仪、触摸屏、电子笔和书写板等。键盘和鼠标属于 标准的计算机设备,不考虑在内。对于一些非标准的计算机外部设备的 接口程序,可以把它们放在相应的类中。如果要从外系统进行输入,可 以把外系统的接口程序放在相应的类中。如果要隔离外部设备或外系统 的变化对本系统的影响,可以针对外部设备或外系统的接口程序单设立 类。对于某些复杂的情况,可能还需要考虑同步机制。 第 9 页
(2)设计输入界面 在用户的输入界面中,主要的界面元素有窗口、菜单、对话盒、图符、 滚动条和按钮等。下面以菜单和对话盒为例,说明如何设计其内容。 菜单是提供给用户的一系列对应着用户动作的条目列表。大部分系统 都具有通常形式的菜单,如文件、视图、工具、窗口和帮助等,但也都具 有自己的特有部分。在设计特有部分时,要保证术语的一致性与简洁性, 并按逻辑对条目进行分组。菜单要设计成面向不同用户的,最好可以进行 重组。 对话盒是用来收集用户的输入信息或向用户提供反馈的区域。用于输 入时,其上可有一些选择钮和输入框等元素,可用鼠标在其上选取值,或 从输入设备向其中输入值。在设计对话盒时,要注意如下几点: 1)使用有意义且易于理解的简短标题和输入框名。 2)按逻辑对输入框进行分组并排序。 3)允许对文本型输入框进行简单的编辑。 4)清楚地标出哪些输入框是可选的,哪些是必选的。 5)对输入框进行必要的解释(如在Windows的状态条上列出解释)。 第 10 页
从use case提取人机交互描述
第 7 页
8. 3 如何设计人机交互部分
以往在操作系统和编程语言的支持下,或再加上图形包,进 行图形方式的人机界面开发,工作量是很大的。也就是说,以往 对图形化的人机交互的开发在整个系统的开发工作中占有很大比 例。现在,可以通过窗口系统、GUI和可视化编程环境这样的高 级界面支持系统进行人机界面开发。特别是使用可视化编程环境 可以按所见即所得的方式,定制所需的人机界面。如此定义的界 面对象可由编程环境提供的工具自动地转化为程序代码。这样, 人机界面的设计工作就可以大大简化,但仍有一些设计工作要做。 其中的很多内容对各种设计方法都是相同的,也有一些是采用本 方法所必须要考虑的。例如,可视化编程环境一般都带有内容丰 富的界面类库,界面类库中对大部分常用的界面对象都给出了类 的源代码,在进行人机界面设计时要充分地复用这些类。
相关文档
最新文档