人机交互部分的设计.ppt

上传人:牧羊曲112 文档编号:4999481 上传时间:2023-05-28 格式:PPT 页数:60 大小:1.25MB
返回 下载 相关 举报
人机交互部分的设计.ppt_第1页
第1页 / 共60页
人机交互部分的设计.ppt_第2页
第2页 / 共60页
人机交互部分的设计.ppt_第3页
第3页 / 共60页
人机交互部分的设计.ppt_第4页
第4页 / 共60页
人机交互部分的设计.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

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

1、面向对象的系统设计,面向对象的系统设计,第4章 人机交互部分的设计,面向对象的系统设计,第4章 人机交互部分的设计,面向对象的系统设计,第4章 人机交互部分的设计,面向对象的系统设计,4.1 什么是人机交互部分,人机界面是直接与用户打交道,给予用户的影响和感受最为明显,所以人机界面的质量优劣对一个软件系统能否成功至关重要。OOA和OOD都要考虑人机交互,但目的不同:OOA:通过人机界面反映需求(原型开发)OOD:设计人机交互的细节,面向对象的系统设计,软件是否成功的最终检验标准是使用户感到满意。一个好软件不只满足各项功能与非功能需求,也不仅是运行时很少出错,而且要让用户感到由衷的满意。这是一种

2、更高的质量境界,达到这一境界的关键在人机界面。界面的开发不纯粹是软件问题,还要用到心理学的知识。界面设计是艺术,软件产品需要美术人员参与人机界面的开发。并需要借鉴心理学、统计学方面的知识。人机交互部分独立设计的好处:隔离界面支持系统对问题域部分的影响,当界面支持系统变化时,问题域可以基本保持不变。,面向对象的系统设计,第4章 人机交互部分的设计,面向对象的系统设计,4.2 人机交互部分的需求分析,需求分析包含两部分:(1)对使用系统的人分析,以便设计出适合其特点的交互方式和界面表现形式。(2)对人机交互过程分析,核心问题时人如何命令系统,及系统如何向人提交信息。,面向对象的系统设计,分析参与者

3、与系统交互的人,人机界面是给人用的,让使用者感到满意是界面开发的根本目标。人对界面的需求,不仅在于人机交互的内容,而且在于他们对界面表现形式、风格等方面的爱好。人对界面的客观需求:交互的内容;主观需求:界面的表现形式和风格等爱好。,面向对象的系统设计,针对界面使用者的具体情况作具体的分析,包括以下主要工作:列举所有的人员活动者。调查使用者,了解情况。区分人员类型,包括:熟练程度,职业,与系统的关系,年龄。统计(或估算)各类人员的不比例。了解使用者的主观需求。,面向对象的系统设计,4.2.2 从用况分析人机交互,1 从用况抽取人机交互内容及过程从用况提取人机交互时分析人机界面客观需求的基本策略。

4、前提:每一种人员活动者使用的系统功能都已用用况描述;每个用况对交互过程的描述包含了人对系统的每一条必要的输入和必要的输出。(完整性),面向对象的系统设计,如何从用况抽取人机交互的内容及过程两点注意:“通知供货员上货”不属于系统本身的行为,而是系统对外输出的一种信息,但也被删除了。原因:它不针对当前活动者,与当前交互无关;从用况删除一些内容后,剩下的句子可能在语法上不完整,或语义不清,需要按原先的上下文适当修补。,面向对象的系统设计,图4.2 从用况抽取人机交互描述,面向对象的系统设计,2 人机交互的细化,从用况提取的人机交互未必完全符合使用者的工作习惯,针对使用者的特点细化。细化依据:人员的分

5、类及其具体要求。输入的细化输入步骤的细化输入设备的选择输入信息表现形式的选择输出的细化输出步骤的细化输出设备的选择输出信息表现形式的选择,面向对象的系统设计,4.2.3 分析处理异常事件的人机交互,异常事件的定义当系统正在执行其正常功能时发生的事件(多以某种中断信号引起)称做异常事件。来自人的异常事件(除误操作之外)一般表示人在系统运行时要向系统下达新的命令。处理来自人的异常事件的办法:以预先约定的输入信号通知系统,系统把各种处理异常事件的命令显示出来供用户选择,用户选择所需要的命令,便开始了他们所希望的处理。,面向对象的系统设计,来自系统的异常事件在系统运行时因硬件或软件发生了异常情况而产生

6、的,其中大部分是操作系统捕捉的各级中断信号,但操作系统只进行标准处理,进一步的处理要由应用系统定义。处理来自系统的异常事件的办法:由系统向用户通知发生了某种事件,并同时请求用户干预;或者不请求干预,只是让用户确认已经注意到该事件。,面向对象的系统设计,4.2.4 命令的组织,对命令进行适当的组织,可以形成一种容易掌握、便于操作的命令结构,使用户能够方便、有效地使用系统的各项功能。为叙述方面,首先定义几个术语:基本命令:旨在使用一项独立的系统功能的命令。命令步:在执行一条基本命令的交互过程中所包含的具体输入步骤。高层命令:如果一条命令是在另一条命令的引导下被选用的,则后者称为前者的高层命令。按本

7、书的策略,高层命令主要是由低层命令组合而成的。,面向对象的系统设计,1 命令的组织措施分解:把一条复杂的命令分解成一系列较为简单的命令组合:当命令很多时,将它们按功能或者按所属的子系统组合成若干命令组,使每一组只包含为数不多的几条命令,并给予一个能概括这些命令的适当的名称。,面向对象的系统设计,2 基本命令及其内部结构 一条基本的命令中的命令步之间关系,可归结为以下几种结构:,面向对象的系统设计,图4.3 基本命令及其命令步的结构,面向对象的系统设计,3 高层命令及其组织结构 从不同角度组合高层命令:功能相似性,命令所属子系统,目标:为了得到一个合理的命令层次结构,使用户能够在高层命令的引导下

8、方便、快速地找到他们所需的基本命令。关键的三点:在每个高层命令下展开让用户选择的下一层 命令数量不要太多;层次不要太深;每个高层命令的名称要恰当。,面向对象的系统设计,图4.5 高层命令的组织结构,面向对象的系统设计,4 多人机界面的命令组织在分布式系统中,凡是要在不同的处理机上进行人机交互的系统,一般需要多个独立的人机界面。同一台处理机上几个单独启动的子系统可以具有独立的人机界面。为不同活动者提供不同的人机界面。,面向对象的系统设计,5 异常命令 处理异常事件的命令因其随机性不能与正常的命令组织在同一结构中,而应单独进行组织。在一个人机交互界面中,所有处理由人发起的异常事件的命令可以组织在一

9、个结构中,如图所示。其中的三角形结点表示由人输入了一个异常事件信号,三角形下一层的圆形结点表示在系统提示下可选的异常事件处理命令,更下层的圆点表示各条异常命令以下的命令步。,面向对象的系统设计,图4.6 异常命令的组织,面向对象的系统设计,6 命令对界面的需求高层命令 以图符、主菜单条、下拉菜单等界面实现从最高层到以下各层的命令选择。基本命令 在界面上通过高层命令引导用户选择各项基本命令。命令步 命令步的输入和处理都是在实现某个基本命令功能的对象中控制的。,面向对象的系统设计,4.2.5 输出信息的组织结构,人机交互过程中的输出信息可根据其作用分为三种类型:一是对输入命令的反馈;二是对当前命令

10、处理结果的报告;三是对下一步可输入命令的提示。在一个人机交互界面启动之后,除了异常事件信息之外,其他情况下的任何输入信息都和当前执行的命令紧密地联系在一起,不外乎当前命令的反馈信息、处理结果和后继命令的提示。这些输出信息总是伴随着命令的执行而出现,所以不必另行组织输出信息的总体结构,只须采用与命令结构相同的结构框架。,面向对象的系统设计,图4.7 两层命令之间的输出信息结构,面向对象的系统设计,总结与讨论,分析主观需求可分为客观需求和主观需求。客观需要是由系统功能决定的,无论使用系统的是什么人,客观需求都是相同的。主观需求因人而异,取决于人的职业背景、知识水平、生理及心理特点、个人爱好等因素。

11、分析主观需求的基本策略是考察每一种人员类型的参与者,根据各类人员的特点,分析他们对人机界面的主观需求。分析客观需求的基本策略是从用况提取人机交互,前提有两条:一是每一项被人员参与者的使用的系统功能,都已经通过用况进行了描述;二是每个用况对交互过程的描述包含了人对系统的每一条必要的输入和输出。,面向对象的系统设计,命令的组织策略是:以启动每个用况的命令作为基本命令;在它们之下的层次是相应的用况所含的交互过程的各个命令步;在它们之上的层次是通过组合得到的高层命令。人机交互的需求分析,一方面对实现各个用况功能的对象操作按细化后的交互过程提出了更详细的输入与输出要求;另一方面是明确了在人机界面上要进行

12、哪些输入和输出,以及命令之间的结果关系。,面向对象的系统设计,第4章 人机交互部分的设计,面向对象的系统设计,4.3人机界面的设计准则,软件质量包括许多因素,如正确性、可靠性、安全性等。但人机界面质量的好坏,很难用一些量化的指标来衡量。人们对人机界面的长期研究与实践也形成了若干大家公认的评价准则:使用简便一致性启发性减少大脑记忆负担减少重复的输入容错性及时反馈其它:艺术性,趣味性等,面向对象的系统设计,第4章 人机交互部分的设计,面向对象的系统设计,人机界面的设计,一般是以一种选定界面支持系统为基础,利用它所支持的界面构造成分,设计一个可满足人机交互需求适合使用者特点的人机界面设计模型。,4.

13、4 人机界面的OO设计,面向对象的系统设计,4.4.1 界面支持系统,窗口系统控制位映射显示器与输入设备的系统软件,通常包括图形库、基窗口系统、窗口管理程序、用户界面工具箱等。图形用户界面在窗口系统之上提供层次更高的界面支持功能,具有特定的视感和风格,支持应用系统用户界面开发的系统。可视化编程环境可视化编程是让程序员用一些图形元素直接地在屏幕上拼凑、绘制自己所需的界面,并根据观察到的实际效果直接地进行调整,即“所见即所得”。,面向对象的系统设计,4.4.2 界面元素,对OOD而言,需要用面向对象的概念和表示法来表示这些界面元素以及它们之间的关系。窗口 屏幕上可以独立显示、操作的区域。菜单 显示

14、一组操作或命令的清单,每一菜单项可以是文字或图符。对话盒 用来收集用户的输入信息或向用户提供反馈的区域。图符 系统或用户定义的对象的符号图形表示,如文件、文件夹、盘驱等。滚动条 用以移动窗口区域中显示位置的指示条。其他 各种控制板、剪辑板、光标、按钮。,面向对象的系统设计,4.4.3 设计过程与策略,2 根据人机交互需求选择界面元素,3 用OO概念表示界面元素,1 选择和掌握界面支持系统,面向对象的系统设计,1 选择和掌握界面支持系统 硬件、操作系统及编程语言界面实现的支持级别界面风格与视感,面向对象的系统设计,2 根据人机交互需求选择界面元素 对设计者而言,开发过程的前端是对人机交互的需求分

15、析结果,后端是界面支持系统所提供的界面元素,他们的任务是建立需求和实现之间的桥梁。系统的启动;高层命令组织结构的实现;基本命令的执行;详细交互过程的输入与输出;异常命令的输入。,面向对象的系统设计,3 用OO概念表示界面元素,用面向对象的概念及表示法来表示这些界面元素、它们的特征以及它们之间的关系,以形成设计文档,即OOD模型的人机交互部分。(1)对象和类 每个具体的界面元素都是一个对象,每一种具有相同特征的界面对象用一个类来描述,称为界面类。,图4.8 界面类的表示法,面向对象的系统设计,(2)属性与服务 属性用于描述界面元素的各种静态特征,也可以表示一个界面对象所含的部分对象,或者与它相关

16、联的其他对象服务表示界面元素的行为,即它的各项操作。,面向对象的系统设计,(3)整体部分结构 一方面:图形结构上具有构成关系的界面元素之间都需要用整体部分结构来表示。另一方面:还可以表示界面对象在操作中逻辑的层次,面向对象的系统设计,图4.9 人机界面中的整体部分结构,面向对象的系统设计,(4)一般特殊结构 在人机界面的设计中常常用一般-特殊结构表示较一般的界面类和较特殊的界面类之间的关系,使后者能够继承前者的属性与操作,从而减少开发工作的强度。,图4.10 用一般-特殊结构特化可复用类,面向对象的系统设计,(5)关联 关联可以用来表示两类对象之间的一种静态的关系,即一个类的界面对象需要知道它

17、与另一个类的哪个界面对象相联系且难以区分谁是整体、谁是部分。,图4.11 界面对象之间的关联,面向对象的系统设计,(6)消息连接 1)从命令输入到命令处理从命令输入到命令处理所发生的消息,有四种情况:从输入设备和事件/消息分发机制界面对象之间的消息传递从接收基本命令或命令步的界面对象向进行命令处理的功能对象发消息,目的是要求后者完成命令所规定的功能从功能对象向界面对象发消息,目的是启动一个界面对象,以输出提示消息并接收命令步输入。,面向对象的系统设计,图4.12 从命令输入到命令处理所需消息,面向对象的系统设计,2)系统向用户输出信息 其与输出有关的消息包括功能对象向界面对象发送的消息和界面对

18、象之间发送的消息两种情况,如图所示。,图4.14与输出有关的消息,面向对象的系统设计,第4章 人机交互部分的设计,面向对象的系统设计,4.5 可视化环境下的人机界面设计,4.5.1 问题的提出 4.5.2 所见即所得的界面开发 4.5.3 设计的必要性 4.5.4 基于可视化编程环境的设计策略,面向对象的系统设计,4.5.1 问题的提出,设计阶段所定义的对象类、它们的属性与服务,以及它们之间的关系,都要由程序员去编程实现,但当可视化编程环境的出现使其遇到了争议。在可视化编程环境中,应用系统开发者可以通过环境界面上的操作。以所见即所得的方式定制自己所需的人机界面。那么人机界面类图还有什么用?类图

19、中的类,既然不要拿去编程,又何必费力气在设计阶段去识别和定义它们?,面向对象的系统设计,4.5.2 所见即所得的界面开发,1 操作过程 选用Visual C+这种可视化编程环境来实现一个应用系统,需要实现其人机界面的对话框。在环境界面上进行的操作如下:在主窗口File菜单中选者New;在New窗口Projects菜单中选择MFC AppWizard(*.exe文件),并为自己的应用项目指定一个名字;在MFC AppWizard-Step1中选择Dialog based,并一直点击Next,直到Step4,最后单击OK按钮。,面向对象的系统设计,根据应用系统对这个对话框的具体要求,用鼠标在控制板

20、上选中所需的控件,然后将光标移到对话框内进行操作,便可把刚才选中的控件对象添加到对话框中。接下来是对添加到对话框中的每个控件对象所能接收的用户输入事件指定相应的消息处理函数。随着可视化操作的进行,环境已经将前面定义的对话框转换为相应的源程序。在Visual C+主窗口的Build菜单中选者Build Mysystem.exe,环境将为如上定制的对话框生成可执行的程序代码。单击工具条上的“!”,程序将开始运行。,面向对象的系统设计,2 讨论当我们在环境界面上定制一个界面对象时,环境为我们创建了类库中的一个指定类的对象实例,并把它显示出来以供修改。环境为界面对象生成的源代码是关于这对象的类定义用户

21、定制并由环境生成的界面类在应用程序中的作用和通常情况下一样,被用来创建界面对象实例。将一些控件加入到对话框,实际上是定义了对话框对象和这些控件对象之间的整体部分关系。界面对象和应用系统其他部分的对象之间的消息,主要是通过手工编程实现的,编程环境只能提供一些辅助支持。,面向对象的系统设计,4.5.3 设计的必要性,在可视化编程环境下,人机界面的开发仍然需要设计,但是设计策略应该改进,设计文档能够简化。设计的目的:为实现提供依据;设计文档;(四个问题)降低失败的风险;它是一种抽象层次更高的开发活动。,面向对象的系统设计,在可视化环境下,不但效率大为提高,设计阶段的工作也得到显著改进。原因:可视化编

22、程环境一般都带有内容丰富的界面类库;设计人员只注意界面对象的逻辑特征,对物理特征统统 忽略,留给实现人员去做决定。,面向对象的系统设计,基于可视化编程环境的设计策略,1 学习可视化编程环境及其类库环境对各种界面对象所采用的术语及其含义。类库中提供了哪些界面对象类以及这些类的正式名称。各个类所创建的界面对象的外观,以及它们适合人机交互中何种输入输出。各个类之间的继承层次。比较复杂的界面对象,可以包容其他哪些界面对象而形成组合对象。各个类界面对象所能接收的界面操作事件如何与处理该事件的程序衔接?应用程序如何使用这些对象提供的服务?进一步了解各个界面对象类的属性与服务细节。,面向对象的系统设计,2 根据人机交互需求选择界面元素 决定由哪些界面元素完成人机交互中的输入和输出并体现命令的组 织结构。,面向对象的系统设计,3 建立类图做什么,不做什么类的设立首先考虑复用。属性忽略物理特征,着重表示逻辑特征。服务显示地表示从高层类继承的操作。整体部分结构表现界面的组织结构和命令层次。一般特殊结构多从可复用类直接继承。关联注意命名规律。消息连接忽略自动实现的消息。,面向对象的系统设计,图4.19一般特殊结构的不同设计策略,面向对象的系统设计,Thank You!,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号