UML第16章人机交互部分的设计.ppt

上传人:小飞机 文档编号:6522296 上传时间:2023-11-08 格式:PPT 页数:74 大小:228.99KB
返回 下载 相关 举报
UML第16章人机交互部分的设计.ppt_第1页
第1页 / 共74页
UML第16章人机交互部分的设计.ppt_第2页
第2页 / 共74页
UML第16章人机交互部分的设计.ppt_第3页
第3页 / 共74页
UML第16章人机交互部分的设计.ppt_第4页
第4页 / 共74页
UML第16章人机交互部分的设计.ppt_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《UML第16章人机交互部分的设计.ppt》由会员分享,可在线阅读,更多相关《UML第16章人机交互部分的设计.ppt(74页珍藏版)》请在三一办公上搜索。

1、第16章 人机交互部分的设计,16.1 什么是人机交互部分 16.2 人机交互部分的需求分析 16.3 人机界面的设计准则 16.4 人机界面OO设计 16.5 可视化编程环境下的人机界面 设计,人机交互部分是OOD模型的外围组成部分之一。其中所包含的对象构成了系统的人机界面,称作界面对象。,16.1 什么是人机交互部分,近20年来,陆续出现了一些支持图形用户界面开发的软件系统,经过不断地改进和推陈出新,形成了一些被广泛应用的软件产品,包括:窗口系统、图形用户界面(GUI)系统、与编程语言结合为一体的可视化编程环境。将OOD模型的人机交互部分独立出来进行设计,好处是隔离了界面支持系统对问题域部

2、分的影响当界面支持系统变化时,问题域部分可以基本保持不变。,人机界面的开发不纯粹是设计和实现的问题,在很大程度上也是分析的问题,它还需要许多其他学科的知识。,16.2 人机交互部分的需求分析,在进行人机交互部分设计之前,需要首先对该部分的需求进行分析。一是对使用系统的人进行分析,以便有的放矢地设计出适合其特点的交互方式和界面表现形式;二是对人和机器的交互过程进行分析,核心问题是人如何命令系统,以及系统如何向人提交信息。,16.2.1 分析活动者与系统交互的人,列举所有的人员活动者 区分人员类型调查研究估算各类人员的比例了解使用者的主观需求,16.2.2 从Use Case分析人机交互,从Use

3、 Case抽取人机交互内容及过程,如图16-1所示,对Use Case作出如下改进:(1)在书写方式上强调明确地区分活动者的行为和系统行为,活动者的行为向左对齐,系统行为较为靠右的位置对齐。(2)根据对Use Case的详细程度,要求活动者与系统交互过程中的每一个“回合”都不能省略。(3)引入控制语句,括号等结构成分。,图16-1,活动者行为陈述内容包括:(1)活动者对系统的输入。(2)活动者自身的行为陈述。(3)控制语句或括号。,系统行为陈述内容包括:(1)系统对活动者的输出。(2)系统自身的行为陈述。(3)控制语句或括号。,人机交互的细化。从Use Case抽取的人机交互只是定义了使用一项

4、系统功能时的基本交互内容与步骤,还要针对系统使用者的特点进行细化。人机交互的细化包括对交互过程中每一次输入和每一次输出的细化。,1)输入的细化(1)输入设备的选择。(2)输入步骤的细化。(3)输入信息表现形式的选择。,2)输出的细化(1)输出设备的选择。(2)输出步骤的细化。(3)输出信息表现形式的选择。,16.2.3 分析处理异常事件的人机交互,多数系统还需处理一些异常情况,为此需要定义处理异常情况的人机交互。当系统正在执行其正常功能时发生的事件称作异常事件。,来自人的异常事件通常是以预先约定的输入信号通知系统,系统把各种处理异常事件的命令显示出来供用户选择;用户选择所需的命令,开始他们所希

5、望的处理。来自系统的异常事件首先由系统向用户通知发生了某种事件,并同时请求用户干预,或者并不请求干预,只是让用户确认已经注意到该事件。用户干预时也开始了一个交互过程,步骤一般也不太多。,16.2.4 命令的组织,命令的组织措施。交互式人机界面通过以下两种措施改进了人与机器之间的交互:(1)组合(2)分解,基本命令及其内部结构 用户可能直接从基本命令开始使用系统的任何一项功能。但若这些基本命令的数量太多,需要采用前面所说的组合措施将它们组织到一些高层命令之下,以形成容易记忆、便于操作的命令层次。较常见的是以下两种组合:,(1)按命令所属的子系统。(2)按功能的相似性。,关键的要求有以下三点:(1

6、)在每个高层命令之下展开让用户选择的下一层命令。(2)每个高层命令的名称要恰当。(3)层次不要太深。,多人机界面的命令组织。如果根据系统分布、子系统划分或活动者分类等因素确定了系统要提供多个人机界面,则应分别在每个独立的人机界面范围内考虑命令的组织结构。首先要明确每个界面将由哪些活动者使用。然后按各种策略,列出这些活动者参与的每个Use Case,从Use Case提取交互过程描述并进行细化,进而形成本界面内的高层命令结构。,异常命令。处理异常事件的命令因其随机性不能与正常的命令组织在同一个结构中,而应单独进行组织。,命令对界面的需求:(1)基本命令(2)高层命令(3)命令步,16.2.5 输

7、出信息的组织结构,人机交互过程中的输出信息可根据其作用分为三种类型:(1)对输入命令的反馈。对输入命令的反馈一般只在该命令的预计执行时间较长时才有必要给出,目的是表明系统已接收到用户的命令,正是进行该命令所要求的工作,以及工作进展到何种程度。有时还可给出允许用户干预的命令提示。,(2)对当前命令处理结果的报告。命令的处理结果首先体现于计算机内部数据的变化。在人机界面上向用户报告的可能只是其中一部分内容;有些命令步可能不报告任何结果。,(3)对下一步可输入命令的提示。对下一步可输入命令的提示则几乎在任何命令之后都是需要的,除非是执行了结束一切工作的命令。,16.2.6 总结与讨论,人机界面是应用

8、系统中一个相对独立的部分,它的分析、设计和实现联系很紧密,而且需要较为共同的专业知识背景。从开发过程的组织和人员分工来看,把人机交互的需求分析和人机界面设计放在一起,比和系统功能部分的需求分析放在一起可能更为合理。人机界面的需求可分为客观需求和主观需求。,客观需求是由系统功能决定的,无论使用系统的是什么人,客观需求都是共同的。主观需求则因人而异,取决于人的职业背景、知识水平、生理及心理特点、个人爱好等因素。,分析客观需求的基本策略是从Use Case提取人机交互,前提有两条,一是每个Use Case对交互过程的描述包含了人对系统的每一条必要的输入和每一条必要的输出;二是每一项被人员活动者使用的

9、系统功能,都已经用Use Case进行了描述。,分析主观需求的基本策略是考察每一类人员活动者。前提是已经识别了每一类活动者,没有哪些被漏掉。,16.3 人机界面的设计准则,一致性。界面的各个部分及各个层次,在术语、风格、交互方式、操作步骤等方面尽可能保持一致。此外,要使自己设计的界面与当前的潮流一致。,使用简便。通过界面完成一次与系统的交互,所进行的操作尽可能少。包括把敲击键盘的次数和点击鼠标的次数减到最少,甚至要减少拖动光标的距离。,启发性。能够启发和引导用户正确、有效地进行界面操作。界面上出现的文字、符号和图形具有准确而明朗的含义或寓意,提示信息及时而明确,总体布局和组织层次合理、加上色彩

10、、亮度的巧妙运用,使用户能够自然而然地想到为完成自己想做的事应进行什么操作。,减少重复的输入。记录用户曾经输入过的信息,特别是那些较长的字符串,当另一时间和场合需要用户提供同样的信息时,能够自动地或者通过简单的操作复用以往的输入信息,而不必人工重新输入。,减少人脑记忆的负担。使人在与系统交互时不必记忆大量的操作规则和对话信息。假如你的设计结果要让用户记住一大堆关于如何使用系统的规则、操作步骤和注意事项,进入一个新的窗口时又要记住上一个窗口上的许多信息,那么用户就像一个受系统驱使的奴仆,容错性。对用户的误操作有容忍能力或补救措施,包括:对可能引起不良后果的操作,给出警告信息或请求再次确认;提供撤

11、消(undo)和恢复(redo)功能,使系统方便地回到以往的某个状态,或重新进入较新的状态。,及时反馈。对那些需要较长的系统执行时间才能完成的用户命令,不要等系统执行完毕时才给出反馈信息,系统应该及时地给出反馈信息。,16.4 人机界面OO设计,人机界面的设计,一般是以一种选定的界面支持系统为基础,利用它所支持的界面构造成分,设计一个可满足人机交互需求、适合使用者的人机界面设计模型。,16.4.1 界面支持系统,窗口系统。窗口系统是控制位映像显示器与输入设备的系统软件,它所管理的资源有屏幕、窗口、像素映像、色彩表、字体、图形资源及输入设备。,图形用户界面。一般把一种在窗口系统之上提供层次更高的

12、界面支持功能,具有特定的视感和风格,支持应用系统用户界面开发的系统称作图形用户界面,即GUI。,可视化编程环境。可视化编程使编程的传统含义书写程序的源代码这一思想发生了很大变化程序员可以在图形用户界面上通过对一些形象、直观的图形元素进行操作来构造自己的程序,而不是直接使用形式化的编程语言。,16.4.2 界面元素,窗口。屏幕上得以独立显示,操作的区域称为窗口。这些区域可由系统或不同应用程序使用。窗口可以打开、关闭、移动或改变大小等。,对话框。用来收集用户的输入信息或向用户提供反馈的区域。输入信息包括由用户选择yes 或no的选择钮、输入文件名的正文框,或其他设置各种参数的输出入框。输出包括各种

13、提示,可选项及错误消息等。,菜单。显示一组操作或命令的清单,每一菜单项可以是文字或图符。菜单可用移动光标或鼠标键来选取。有固定或活动菜单。,滚动条。用以移动窗口区域中显示位置的指示条。图形。是系统或用户定义的对象的符号图形表示,诸如文件、文件夹、光驱等。,16.4.3 设计过程与策略,选择和掌握界面支持系统 1)硬件、操作系统及编程语言 多数窗口系统是针对特定硬件的;GUI一般基于特定的硬件和操作系统,甚至与操作系统结合为一体。,2)界面实现的支持级别,可以把软件系统对人机界面实现的支持程度分为五个级别:(1)0级操作系统和一般编程语言(2)1级图形软件包(3)2级窗口系统(4)3级GUI(5

14、)4级可视化编程环境,3)界面风格与视感 要考虑用户适合何种风格和视感的人机界面,对大部分用户而言,选择当前流行的窗口系统、GUI或可视化编程环境是适宜的,因为流行意味着用户更容易接受,更容易学习和掌握。,根据人机交互需求选择界面元素 1)系统的启动 有些系统可以由一条最高层的命令启动,分布式系统和所含的子系统功能较为独立的系统可以由多条最高层命令分别启动。,2)基本命令的执行 在基本命令以上的高层命令的执行只是在人机界面上逐步把用户引向基本命令,而基本命令的执行则需要从界面对象把消息发送给实现命令功能的其他对象。,3)高层命令组织结构的实现 高层命令组织结构是通过界面元素的构造层次体现的。,

15、4)详细交互过程的输入与输出 在基本命令的每个命令步上进行的输入与输出都要选择适当的界面元素来完成。,5)异常命令的输入 异常命令是在随机发生的事件打断系统正常运行的情况下所输入的命令。,用OO概念表示界面元素,以下将逐个介绍各种OO概念在界面设计中的用法:1)对象和类 每个具体的界面元素都是一个对象。每一组具有相同特征的界面元素用一个对象类来定义;且这种对象类创造的每一个对象实例就是一个可在人机界面上显示的界面元素。如图16-2所示。,图16-2,2)属性与服务 在界面支持系统所提供的可复用类中已经定义的属性和服务,都不必再去定义。自己定义的类,包括在继承的基础上自己定义的特殊类,都要给出其

16、属性与服务。,3)整体-部分结构 识别此种整体-部分结构的策略是,分析一个较复杂的界面对象是由哪些独立部分构成的。,4)一般-特殊结构 在人机界面的设计中常常要用一般-特殊结构表示较一般的界面类和较特殊的界面类之间的关系,使后者能够继承前者的属性与服务,从而减少开发工作的强度。,5)关联 如果两类对象之间存在着一种静态联系,即一个类的界面对象需要知道它与另一个类的哪个(或哪些)界面对象相联系,而且难以区分谁是整体、谁是部分,则应该用关联表示它们之间的这种关系。,6)消息连接 在人机界面的运行中,消息是大量存在的:(1)从命令输入到命令处理。(2)系统向用户输出信息。,16.5 可视化编程环境下

17、的人机界面设计,当前广泛流行并深受开发人员欢迎的可视化编程环境给人机界面的开发带来了巨大的变化,也对人机界面的面向对象设计提出了挑战性的问题。,16.5.1 问题的提出,在可视化编程环境中,应用系统开发者可以通过环境界面上的操作。以“所见即所得”的方式定制自己所需的人机界面。如此定义的界面对象将由环境所提供的工具自动地转换为应用系统的源代码。在这种条件下,人机界面的实现已经不是传统意义上的“编程”,不需要程序员去逐行逐句地编写每个对象类以及它的每个属性与服务。,16.5.2 设计的必要性,为什么仍然需要设计(1)设计的主要目的是为实现提供依据,提供一份可实施的蓝图,即设计文档,然后让程序员根据

18、设计文档去开发系统的源程序。(2)与实现相比,设计是一种抽象层次较高的开发活动。(3)设计的另一个目的是降低失败的风险。,为什么要改进设计策略和简化设计文档(1)界面对象的各种物理属性是一种反映其外观形象的特征信息,由实现人员以所见即所得的方式直接地定制这些特征效果最好,效率也最高。(2)可视化编程环境一般都带有内容很丰富的界面类库。,16.5.3 基于可视化编程环境的设计策略,根据人机交互需求选择界面元素。这项工作在可视化编程环境所能支持的界面元素中进行选择。必要时,设计者应该在环境中实际操作和演示一下考虑中的各种界面元素,以决定哪些元素最适合本系统的人机交互。,学习可视化编程环境及其类库。

19、需要学习和掌握的重点是:(1)该环境对各种界面对象所采用的术语及其含义。(2)各个类所创建的界面对象的外观,以及它们适合人机交互中何种输入与输出。(3)类库中提供了哪些界面对象类以及这些类的正式名称。,(4)各个类界面对象所能接收的界面操作事件如何与处理该事件的程序衔接。(5)比较复杂的界面对象,可以包容其他哪些界面对象而形成组合对象。(6)各个类之间的继承层次。(7)必要时进一步了解各个界面对象类的属性与服务细节。,建立类图 1)类的复用 每当要建立类图中一个界面对象类时,应该首先想到使用环境所提供的可复用类。这些类通常能够满足应用系统的大部分人机交互需求。充分地复用这些类将大大地简化界面的

20、设计和实现。,2)属性上着重表示逻辑特征 通过继承可复用类而定义的新类是对可复用类的特化。通过属性体现的特化包括两种情况:一是对继承来的属性设置不同的初始值,二是在新类中增添新的属性。,3)服务应显式地表示从高层类继承的服务 对于被复用的类采用前面所述的简略表示法可以明显地简化OOD文档,但是也带来一个问题:在本系统的OOD类图中看不到新定义的类继承了哪些属性和服务。解决这一问题的补充策略是:在本系统定义的特殊类库中的类继承的,将是在本系统中被使用的服务。,4)整体-部分结构表现界面的组织结构和命令层次 通过整体-部分结构表现界面对象之间的组成关系和人机交互命令的层次关系,这里要补充说明的是以

21、下几点:(1)在简单情况下可以隐式地表示部分对象。(2)区分对象的普通属性和它的部分对象。,5)一般-特殊结构多从可复用类直接继承 如果一个应用系统中使用的两上或两个以上界面对象有许多共同特征,按照通常的设计策略是运用一般-特殊结构。,6)关联注意命名规律 在可视化编程环境下,需要注意:在环境支持下实现的界面对象,环境将为之分配一个默认的对象标识。虽然这个默认的对象允许操作者修改,但是它的初始名称反映了环境的命名规律。,7)消息连接忽略自动实现的消息 界面类库中的每个类都定义了许多服务,每个服务对应着一种消息。应用系统在这些类的基础上定制的类能提供的服务也很多。但是其中有大量的消息是在可视化编程环境支持下自动实现的。,小结,本章主要是从软件的角度讲授人机界面的设计问题。首先介绍与人机界面有关的分析问题,以及人机界面设计的一般准则,然后介绍如何运用面向对象的概念和表示进行人机界面的设计。,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号