人机交互
1.表示模型(第二版课本P99)
使用人机交互界面的表示模型和形式化的设计语言来分析和表达用户界面的功能以及用户和系统之间的交互情况,并且界面表示模型能方便映射到实际的设计实现。常用的表示模型有:
行为模型:用户和任务角度 COMS UAN LOTOS
结构模型:系统角度 状态转换网络和产生式规则
事件-对象模型:人机交互活动归结为事件与对象的相互作用
表现模型:人机交互界面表现的具体描述方法
1.1 行为模型(第二版课本 P99)
1.2 结构模型(第二版课本 P109)
1.3事件-对象模型(第一版课本 P137)
对话独立性:在系统设计和实现时,强调人机交互界面和业务的分离,即界面和系统的业务或者数据模型不互相影响,彼此独立。强调对话独立性,可以更好实现系统的扩充和重用。
语义反馈:实时反馈界面的状态和用户操作的细节,以便用户能够清楚的了解当前操作的过程。
在行为模型中,GOMS和LOTOS都没有考虑对话独立性和语义反馈,UAN则强调了语义反馈,基于事件-对象模型较好兼顾了对话独立性原则和语义反馈原则。
1.4 表现模型(第二版课本 P122)
6.界面描述语言(第二版 P)
界面描述语言一般分为:命令式语言和陈述式语言。命令式语言要求编程人员明确的指定如何执行任务,陈述性语言要求编程人员只需指定任务要做什么,陈述性语言要比命令式的语言更为抽象。
几种常见的陈述性语言:用户界面标记语言(UIML)、扩展界面标记语言(XIML)、XML用户界面语言XUL。
2.软件结构和实现
将详细设计的结果——界面的表示模型转换成能在硬件上运行的交互系统,实现交互系统的开发环境提供了有效的转换手段,把概要设计和应用规则转换成可以执行的软件,开发环境为程序员提供了不同层次上的支持。
窗口系统:提供设备独立性和资源共享
用户界面管理系统:抽象层次更高的支持交互系统实现的开发环境
支持复杂人机交互系统的实现的软件体系结构:E-O模型、Seeheim模型和智能体
2.1 窗口系统(第二版 P127)
(1)窗口系统定义:
强调为程序员提供硬件设备的独立性,为单一输入输出设备创建多个抽象设备来实现资源共享。设备独立性和多任务管理是窗口系统最重要的两个特性。
(2)窗口系统结构:
在各个应用程序内部实现和管理多任务
在操作系统核心集中处理多任务管理
多任务的管理可由独立的管理程序进行管理,应用程序通过调用该管理程序提供的接口来实现对多任务的管理和设备的独立性操作。例如客户/服务器结构,资源管理器是窗口系统的核心,负责多任务的管理。
(3)交互事件处理:应用程序内部事件处理循环 事件注册方式
(4)交互组件开发包:一般的窗口系统,输入和显示是分离的,许多语言提供了用于开发交互系统的开发软件包,交互系统开发软件包在支持窗口管理的基础上增加了另一种抽象,它把输入和输出的行为结合起来
(5)交互框架:交互系统根据所用的交互设备和交互方式的不同而不同,移动设备适合于笔式的交互,桌面应用主要有两种交互方式:桌面方式和浏览器方式。
(6)MVC模型
MVC把一个应用的输入、处理、输出流程按照模型 (model)、视图(View)和控制(controller)的方式进行分离,形成模型层、视图层、控制层三个层次;模型负责业务流程和状态的处理以及业务规则的制定,视图代表用户交互界面,控制器将模型映射到界面中,处理用户的输入,每个界面有一个控制器。
优点:可以为一个模型在运行时同时建立和使用多个视图
视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据需求动态地打开或关闭、甚至在运行期间进行对象替换
模型的可移植性,因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作
缺点:增加了系统结构和实现的复杂性:对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率
视图与控制器间的过于紧密的连接:视图与控制器是相互分离、但又确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的
视图对模型数据的低效率访问:依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据
(7)Struts模型
Struts的体系结构实现了mvc模式的概念,它将这些概念映射到web应用程序的组件和概念中;视图(View)――JSP页面和表示组件;控制器(Controller)――ActionServlet和ActionMAPPing ;模型(model)――系统状态和商业逻辑javaBeans
2.2 UIMS(第二版 P145)
软件包功能有限,开发费用高,并且使用困难,比软件包更高层次的抽象是用户界面管理系统(User Interface Management System UIMS),支持用户界面的表示、设计、实现、执行、评估和维护,能够为用户提供一致的人机界面,以极其友好的方式与用户进行人机交互,并能使开发者几乎随心所欲地使用此开发工具进行软件开发。
(1)对话独立性
定义:业务与界面的分离
优点:可移植性:用于不同的系统
可重用性:对话独立性增加了元素的可重用性
界面多样性:开发不同形式和风格的界面适应不同用户和环境
定制界面:按照设计人员和用户的方式和风格进行设计
应用和界面的关系:
对话独立性要求二者分离,但是二者存在密切的关系,界面表现为应用服务,应用所需要的外部数据由界面传输,应用内部数据和状态通过界面展示给用户。
交互系统三要素:应用层、表现层、对话控制层(程序和表现的通信)
(2)UIMS的表示方法
●表现层:涉及用户输入输出信息的处理
如何处理和表示图形的输入输出、如何适应多媒体的需要、如何适应智能人机界面规格说明的需要。
●对话控制
基于语言:菜单网络、状态转换网络、上下文无关文法、事件语言、面向对象语言
基于图形
基于应用语义过程
●应用层
对象-算子表示:对象对应于应用程序的数据结构;算子对应于人机界面调用的应用子程序。
基于关系和一阶逻辑的表示:关系用来表示应用程序中的数据结构,而一阶逻辑模型用来表示应用子程序。
2.3 支持复杂人机交互系统的实现的软件体系结构
(1)Seeheim模型(第一版 P155)
Seesheim模型是基于对话独立性的概念,界面表现与应用通过一个控制单元实现松散耦合。表现部件负责人机交互的外部表现;对话控制是用户和应用程序之间的协调器,控制二者对话的形式;应用接口是为了实现界面和应用程序通信而定义的一组协议。
优点:界面设计结构清晰,适合界面与应用程序分别执行或者并行执行。
缺点:不能反映软件的整个生存期
对于直接操作的图形用户界面设计并不合适:直接操作需要一致、连续的的语义反馈以及相应用户的动作。
(2)E-O模型(第一版 P163)
由四个逻辑部件组成
设备管理模块DMM:提供交互设备的接口,实现设备无关性
事件管理子程序EMS:读取输入,反馈输出
对象管理子程序OMS:管理类和对象
事件-对象管理子程序EOMS:事件目标整合,是用户界面系统的核心。
(3)智能体(第一版 P165)
定义:一个完整的信息处理实体
组成:事件接收单元、事件发送单元、记忆单元、处理单元
特征:自发性、通信性、反应性、协作性
分类:认知型智能体、反应型智能体(大多)
相关阅读
人机交互 (HCI) 和交互设计 (Interaction Design) 的
作为一个PM当然非常需要注重产品在使用过程中的一些交互体验,可是广义的人机交互和交互设计又有什么区别呢?让我们来看看知乎里别人
社会竞争很残酷、面试其实就是一场表演,企业永远喜欢可以随机应变、聪明的求职者。而不喜欢看似老实、实则笨拙不懂变通的求职者。
【黑/客/徽/信/10484866】专业盗取微信密码,开房查询,通话记录查询,查询微信记录!随着互联网在国内的大面积普及,在意识到了互联网
IOS技术联系QQ邮箱:[email protected]《仗剑啸江湖》是一款以武侠世界为大背景的卡牌RPG手游。游戏整体采用中国武侠经典画风、人物
时隔一年,这一系列文章继续。希望大家能够通过这一系列的文章参透新技术探索的一般规律和探索方法,新技术、新工具、新软件的出现是