人机交互中6种任务模型对比

任务分析是为任务建模服务,任务分析作为软件设计必不可少的环节,是交互系统可用性的保障。任务分析是指对人们在实际执行任务过程中的数据进行收集和分析,其目的是深入理解用户需要完成的目标、用户执行任务的过程和环境;对任务分析中得到的数据进行结构化,逻辑化的组织是任务建模的过程;任务模型是任务分析和建模的产物。

目前任务分析和建模方法的研究主要分为三个部分:任务模型的描述能力和方法、任务建模形式化方法及开发工具、复杂动态环境中任务模型的组建机制。

1   HTA(hierarchical task analysis)

         HTA(hierarchical task analysis)层次任务分析,是最早的发任务分析方法,HTA
元模型所使用描述任务世界的概念元素有:

a)
目标( goal),是指完成任务后,用户希望系统呈现的状态;

b)
任务( task),是为了完成目标而执行的操作序列集合;

c)
计划( plan),是指为了完成某个目标而预先设计好的子任务的执行条件和执行序列;


d)
操作( operation),是为了达到目标所做的具体活动。HTA
模型中所描述的任务之间的时序关系是在计划中预先设计好的,包括顺序、选择和循环。

HTA
模型是一种结构化地描述任务与其子任务层次体系的方法。通过层级分析将任务不断拆解,逐级细化用户的任务,直至实际的具体操作。随着任务的细化,对用户和产品的理解会越来越清晰。HTA
方法将交互看成是操作交互构建的一个序列或对话,这导致可用性不强,因为可能存在着更有效的方法来达到相同的目标。仅仅是隐式地表现在任务操作的描述中,不能很清晰地辨别任务过程中对象之间的关系。任务之间时序关系的描述能力也比较有限,仅仅表现了顺序、选择和循环关系。

2 GOMS(goal  operator methods selectors)

1983
年Card 等人在《人机交互心理学》( The psychologyof human computer interaction)
书中提出了GOMS ( goals operatorsmethods selectors )
模型,GOMS 元模型使用以下几个概念元素来描述任务世界:

a) 目标( goal)
,用户执行任务想要实现的系统状态;

b)
操作( operator) ,为了完成目标而执行的一系列基本活动,操作的类型有感知操作、认知操作、动机行为或者这几种操作的结合,每个操作都有一个预定的执行时间;

c)
方法( method) ,是描述如何完成目标的过程,一个方法本质上来说是一个内部算法,用来确定子目标序列及完成目标所需要的操作;

d)
选择规则( selection rule) ,当完成同一目标有多种方法时,需要设置一种规则标准来判断在何种使用情境中应该选择什么样的方法。

GOMS
模型中所描述的任务之间的关系是通过选择规则来表示的,只能表示相对较简单的时序关系,包括顺序、选择、并行和循环关系。GOMS
模型是一种用户的认知模型,主要用来描述任务在实践过程中是如何执行的。它的基本思想是,首先确定目标,将目标进行分解,当完成同一目标的方法多于一种时,根据使用情境,通过选择规则来选择合适的方法,每种方法是通过一系列的操作序列集合来实现的。

3 TKS( task knowledge structure) 任务知识结构模型

TKS 元模型使用以下几个概念元素来描述任务世界:

a) 角色( role)
,被定义为特定的一个任务集合,这个任务集合在特定的社会情境中充当个体职责的一部分,由个体来负责,一个个体可以承担多个角色,或者一个角色可以由多个个体来承担;

b) 目标( goal)
,当一个特定的任务执行后,用户希望系统所呈现的状态;

c) 计划( plan)
,为了完成一个特定的目标而设定的可能的子任务序列;

d) 过程( procedure)
,是一个特殊的行为元素,是子任务的一部分,子任务中的多个过程根据不同的使用情况可以有不同的分组和顺序,TKS
模型通过这种方式来表示策略,为了使过程能够在合适的情景下选择出正确的分组,在过程中需要包含选择条件和选择规则;

e) 行为( action)和对象( object)
,是任务分解的最底层,是组成过程的成分。在TKS 模型中任务之间的时序关系通过构造器( constructor)
中的符号和语义来表示,可以表示的任务关系有顺序、选择和循环关系。

TKS 模型假定一个人拥有的所有与任务相关的知识都在任务知识结构中,一个角色所需要执行的某一个特定的任务可以看做一个特定的TKS 存储在任务知识结构当中,当执行与这个特定TKS 相关的任务时,它就会被激活。

4 MAD方法分析描述( method analysis description,MAD) 模型

与HTA
模型相似,在概念元素中没有计划( plan) 元素,而多加了表示任务关系的构造器( constructor)
的概念。MAD 模型使用以下几个概念元素来描述任务世界:

a) 任务( task)
,为了达到目标而执行的行为序列集合,在MAD模型中,一个任务有很多属性,如名称、目标等;

b) 行为( action),是指由系统或操作者所执行的活动;

c) 对象( object)
,是指行为操作的具体内容;

d) 构造器( constructor)
,描述了子任务之间的时序关系。

在MAD 模型中,构造器中表示的任务关系可以分为两类:
同步操作( SEQ 为连续的任务,PAR为平行任务,SIM
为同时可以执行的任务) 和排序操作( ALT
两者选其一的任务,LOOP 为迭代任务,OP
为选择任务) 。为设计过程提供面向对象的任务模型。MAD
为设计过程提供了一种面向对象的任务分析方法。在MAD 中,有基本任务和复合任务两种类型的任务。

5 GTA ( groupware task analysis) 模型

结合了其他的任务分析方法的特点,强调研究一个群体或一个组织的行为活动,而不是单个用户。GTA
模型从以下几个概念元素来描述任务世界:

a)
任务( task) ,GTA
模型关注工作动态方面的结构化,它把任务看做基本概念,把目标看做任务的基本属性,任务结构是层次化的,复杂的任务可以根据不同的角色来划分,任务单元或者基本任务可以进一步分解为用户行为和系统操作;

b)
用户行为( action) 和系统操作( system operation)
,是任务分解中的最小单元,位于任务层次的最底层;

c)
对象( object) ,在任务分析中,特定环境下与任务相关的每一件事情都可以定义为对象,它可以是客观存在的事物,也可以是概念性(
非物质) 的事物,如消息、口令密码等;

d)
事件( event) ,在特定环境中能够触发任务执行的条件;

e)
代理( agent) ,通常情况下是指人(
个人或者团体) ,但在信息技术的环境中,代理的执行者不仅仅是人类,可能是系统或者人类代理和机器代理的结合;

f)
角色( role) ,继承了TKS
模型中的角色概念,是指特定的任务子集,通过选择或者组织形式去划分的操作者的类别,可以通过委托、授权或者在特定的情景中授权得到。

6 CTT( councer task tree) 模型

结合了基于模型用户界面设计技术和人机交互形式化方法,为任务模型提供了丰富灵活、带有语义的表示符号CTT
元模型使用以下几个概念元素来描述任务世界:

a)
任务( task) ,为了达到用户的目标而组织的一系列活动集合,依据任务的抽象层次和参与角色的不同,CTT
模型将任务分为抽象任务、用户任务、交互任务和系统任务;

b) 行为( action)
,为了完成任务而进行的一系列操作;

c) 对象( object),是执行任务时行为操作的实体;

d) 角色( role)
,是指一个特定的任务集合以及集合中任务之间的关系;

e) 构造器( constructor),定义了同一层次子任务之间的关系。

CTT 模型定义了丰富的暂态关系,而且都有相应的图形符号。所谓的暂态关系,是指在任务执行的任意某个时刻,对其子任务之间执行和结束顺序以及相互间依赖关系的一种限定。

表1  几种任务模型中概念元素的比较


模型


Task


Goal


Plan


Operation/

Action


Method


Selection

Rule


Object


Agent


Role


Constructor


Procedure


event


HTA






GOMS









TKS











MAD






GTA








CTT






任务是指为了完成特定的目标而执行的有序的活动集合

目标是指任务成功执行后,用户希望系统呈现的状态

操作/动作是指为了达到目标所做的具体的活动,是任务分解的最底层

对象是指在执行任务的过程中,操作的实体内容

语法的不同是指在不同的模型中,采用不同的词汇表示相同的概念。表2从任务计划、运作策略、最底层的任务分解层次和操作层次四个方面列出几个任务模型在语法上的不同。从左到右表中各列的抽象层次依次降低。Task Planing列中这些概念元素经常在讨论高级抽象层次的任务安排时使用;
而task tree leaves 和operational level
两列则表明了如何将一个任务分解为最后的叶子节点。

表2 任务模型中主要的语法差别


模型


Task

Planning


Operationalization


Task tree leaves


Operational level


HTA


Plans


Tasks


GOMS


Operator


Methods/selection rule


Unit tasks


Operators


TKS


Plans

Constructors


Procedures


Action


MAD


Constructors


Pre-conditions

Post-conditions


Tasks


GTA


Constructors


Basic tasks


Actions/system

operations


CTT


Operators


Scenarios


Basic tasks


Actions

表3 任务模型任务关系的比较


模型


Sequence


Choice


Iteration


Concurrent


Parallelism


HTA





GOMS




TKS





MAD







GTA





CTT






下面以CTT 模型中任务关系为例,介绍各个关系符号的表示和它们的语义[8]。

a) choice 选择关系( T1 T2…TN)

任务T1,T2,…,TN处于被选择状态,一旦一个任务被选择,其他任务处于不可用状态,直到这个任务执行完成。

b) enabling 使能关系( T1  > T2
>…  > TN)

任务T1,T2,…,TN按顺序依次完成,只有T1完成后,T2才能执行;
T2完成后,T3才能执行;
依此类推,最后执行TN。

c) enabling with information passing
带信息交换的使能关系( T1 > T2
>…> TN)

与使能关系相同,任务T1,T2,…,TN按顺序依次完成,并且在此过程中带有信息的传递。

d) independent concurrent
并发关系( T1 | | | T2 | | |…| | | TN)

任务T1,T2,…,TN可以按任意顺序执行,也可以同时执行,对执行顺序没有任何的限制。

e) concurrent 带信息交换的并发执行关系( T1 |[]| T2 |[]|…|[]|
TN)

与并发关系相同,对任务T1,T2,…,TN的执行顺序没有任何的限制,并且在此过程中带有信息的交换,例如字处理软件中,编辑文字时,滚动条可以浏览需要编辑的内容;
同样,当浏览内容区域发生变化时,滚动条的位置也随之变化,即两个任务之间是相互配合的。

f) disabling 钝化关系( T1[> T2[>…[> TN)

任务T1,T2,…,TN在执行时,如果后面的任务执行,则前一个任务将被禁用。如T1为填写表格,T2为提交,一旦执行提交任务后,就不能再填写表格了。

g) order Independence
顺序独立关系( T1 | = | T2 | = |…| = |TN)

任务T1,T2,…,TN可以按任意顺序执行,但一个时间段执行一项任务,与并发关系的区别是任务不能同时执行,个任务必须在前一个任务完成以后才执行。

h) parallelism 平行关系( T1 | | T2 | |…| | TN)

任务T1,T2,…,TN可以在同一时间内一起执行。

i) suspend-Resume
中断关系( T1 | > T2 |
>…| TN)

任务T1,T2,…,TN在执行的过程中,任意一个任务可以打断正在执行的任务先执行,当这个任务执行完毕后,被打断的任务再接着执行。

j) iteration 迭代关系( T* )

任务T 可以连续地执行,直到满足停止条件。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-08 05:21:39

人机交互中6种任务模型对比的相关文章

asp.net mvc 3.0 知识点整理 ----- (2).Controller中几种Action返回类型对比

通过学习,我们可以发现,在Controller中提供了很多不同的Action返回类型.那么具体他们是有什么作用呢?它们的用法和区别是什么呢?通过资料书上的介绍和网上资料的查询,这里就来给大家列举和大致的概括下. (1). ActionResult(base):最基本的Action类型,返回其他类型都可以写ActionResult. (2). ContentResult:返回ContentResult用户定义的内容类型. public ActionResult Content() { return

如何看TCO在虚拟化解决方案中的分析与对比

如何看TCO在虚拟化解决方案中的分析与对比 所谓TCO (Total cost of ownership) 即总体拥有成本,是一种经常采用的技术评价标准,它的目标是分析和对比在一定时间范围内所拥有的包括首次购置成本TCA (Total cost of acquisition) 和每年运维成本在内的总体成本.在某些情况下,这一总体成本是一个为获得可比较的现行开支而对3到5年生命周期范围内的成本进行平均的值. TCO的对比应该明确一个前提,就是IT系统的实现功能.性能.可靠性等方面基本相同,或者说满

23种设计模式对比与总结

设计模式总结:便于快速查看 前言:个人觉得设计模式就是各个对象在不同的时机.不同的调用方被创建,组合结构和封装的侧重点有些不同,从而形成了各个模式的概念. 1.      简单工厂模式 通过在工厂类中进行判断,然后创建需要的功能类. 优点:不必使用具体的功能类去创建该类的实例.缺点:新增一个功能类就需要在工厂类中增加一个判断. 2.      策略模式 假设一个功能类是一个策略,调用的时候需要创建这个策略的实例,传进一个类似策略控制中心的方法中,然后通过策略基类调用这个传进去的实例子类的方法.

python——几种截图对比方式!

本次记录的几种截图对比方式,主要是为了在进行手机自动化测试时,通过截图对比来判断测试的正确性,方式如下: # -*- coding: utf-8 -*- ''' 用途:利用python实现多种方法来实现图像识别 author:SYW ''' import cv2 import numpy as np from matplotlib import pyplot as plt # 最简单的以灰度直方图作为相似比较的实现 def classify_gray_hist(image1,image2,siz

C#WinForm 直接导出DataGridView数据到Excel表格的二种方法对比

方法一.利用微软的excel 操作类 引用:using Excel = Microsoft.Office.Interop.Excel; 代码如下:         #region导出数据表:Excle (微软的excel 操作类)         ///<summary>         ///导出数据表:Excle         ///</summary>         ///<param name="myDGV"></param>

react系列-事件绑定的几种方法对比

前言 本文主要给大家介绍了关于React事件绑定的几种方法对比的相关呢荣,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. React事件绑定 由于类的方法默认不会绑定this,因此在调用的时候如果忘记绑定,this的值将会是undefined. 通常如果不是直接调用,应该为方法绑定this.绑定方式有以下几种: 1. 在构造函数中使用bind绑定this ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class Button extends

Storm与Spark、Hadoop三种框架对比

一.Storm与Spark.Hadoop三种框架对比 Storm与Spark.Hadoop这三种框架,各有各的优点,每个框架都有自己的最佳应用场景.所以,在不同的应用场景下,应该选择不同的框架. 1.Storm是最佳的流式计算框架,Storm由Java和Clojure写成,Storm的优点是全内存计算,所以它的定位是分布式实时计算系统,按照Storm作者的说法,Storm对于实时计算的意义类似于Hadoop对于批处理的意义.Storm的适用场景:1)流数据处理Storm可以用来处理源源不断流进来

ASP.Net Core WebApi几种版本控制对比

原文:ASP.Net Core WebApi几种版本控制对比 一.版本控制的好处: (1)有助于及时推出功能, 而不会破坏现有系统. (2)它还可以帮助为选定的客户提供额外的功能. API 版本控制可以采用不同的方式进行控制,方法如下: (1)在 URL 中追加版本或作为查询字符串参数, (2)通过自定义标头和通过接受标头 在这篇文章中, 让我们来看看如何支持多个版本的 ASP.NET  Core  Web API. 一.创建asp.net core webapi 项目,引用NuGet包:Ins

unity中三种调用其他脚本函数的方法

第一种,被调用脚本函数为static类型,调用时直接用  脚本名.函数名().很不实用-- 第二种,GameObject.Find("脚本所在物体名").SendMessage("函数名");  此种方法可以调用public和private类型函数 第三种,GameObject.Find("脚本所在物体名").GetComponent<脚本名>().函数名();此种方法只可以调用public类型函数 unity中三种调用其他脚本函数的