任务分析是为任务建模服务,任务分析作为软件设计必不可少的环节,是交互系统可用性的保障。任务分析是指对人们在实际执行任务过程中的数据进行收集和分析,其目的是深入理解用户需要完成的目标、用户执行任务的过程和环境;对任务分析中得到的数据进行结构化,逻辑化的组织是任务建模的过程;任务模型是任务分析和建模的产物。
目前任务分析和建模方法的研究主要分为三个部分:任务模型的描述能力和方法、任务建模形式化方法及开发工具、复杂动态环境中任务模型的组建机制。
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 可以连续地执行,直到满足停止条件。