云计算即应用通过互联网作为服务传递给用户,也指提供这些应用的数据中心的软件和硬件。数据中心的软硬件被称为云,提供服务的方式被称为软件作为服务SaaS(software as a service)。当使用谷歌Docs服务创建一个文档,软件的主要部分不在个人电脑上,而在看不见的云上,文档也存储在云上,相似的办公软件还有许多,如微软的Office Web apps和甲骨文的Cloud office等。用户在享受SaaS带来的一系列好处的同时,也面临着交互方面的困难,如小学生使用谷歌Docs写文档时会感觉界面过于复杂,不够有趣。这主要由于使用SaaS方式的软件,用户数量巨大,而且用户之间千差万别,使用统一的界面无法同时满足所有用户个性化的需求。用户的差异性,要求针对不同类型的用户有对应的用户界面来满足其个性化的需求,也就是说用户界面应是客户化的。对于SaaS,不只用户具有多样性,近年来随着移动时代的来临,各种新式云端设备如平板电脑、智能手机、PDA、MP4等不断涌现,这又引发了大量新类型的交互通道,如笔交互、语音交互、手势交互、虚拟现实、混合现实、三维交互等,如图1所示。
图1 SaaS用户、终端、交互通道的多样性
因此,在SaaS环境下解决用户、云终端、交互通道的多样性,生成适应个性化需求的客户化用户界面,成为一个亟需解决的问题。本文提出使用模型驱动的方法来解决此问题,但模型驱动只是一个指导性的方法,并未规定具体的任务模型,本文使用感知控制任务模型来适应生成令用户满意的客户化用户界面的需求。
1 使用模型驱动的方法开发客户化
1.1 模型驱动的开发方法简介
模型驱动架构的目的在于识别高层模型,使得设计者能够从更加面向语义的角度而不是直接从具体的实现层次上去规约和分析SaaS用户界面。这就允许他们集中精力于更重要的方面而不是立刻陷入具体的实现细节,之后再去使用工具完成与高层抽象一致的具体实现。因此,通过使用模型来获取系统语义方面的信息,设计者更易于设计、开发和维护日益复杂的交互式应用。基于模型的方法在经历了关注界面元素的抽象描述、关注于表达高层的交互语义两个阶段后,当前应同时关注其生成用户界面客户化问题。最终达到让开发者定义应用的输入输出需求,硬件提供商描述设备的输入输出能力,用户配置他们的个性参数,然后自动或者半自动生成最终用户界面或运行时界面。
1.2 Cameleon参考框架
Cameleon参考框架是基于模型开发方法的典型代表,它将用户界面开发生命周期从任务规约到运行时界面结构化为四个抽象层次:任务和概念层(CIM):a.为了达到用户目标而执行的逻辑任务及任务之间的关系;b.这些任务相关的领域对象。它是计算无关的抽象模型;抽象用户界面(AUI)使用界面空间或表示单元来刻画,它既独立于交互主体,也独立于交互通道(如图形,语音,触摸等)。一个交互空间用来支持完成一系列由逻辑联系在一起的任务,由一组表示单元组成,AUI是平台无关的模型;具体用户界面(CUI)依赖于平台的种类和可获得的交互介质,拥有一些定义如何被用户感知的属性,是实际的用户界面组件包括工具箱的一个抽象,也称平台特定模型;最终用户界面(FUI)分为两个子层:源代码层和运行时界面层。源代码层是由编程语言或者标记语言组成,可以被解析或者编译。根据软件环境(虚拟机、浏览器等)的不同,一段代码编译后的运行时界面可能有所不同。
这些层次被进行了结构化组织,之间存在着从抽象到具体的转化关系。同一抽象层次上不同模型之间也可以互相转化,这样就可以根据不同的使用上下文灵活使用。
图2 Cameleon参考框架
1.3 基于PCT理论的任务模型
从上两小节的讨论可以发现,影响用户满意度的根本因素存在于用户的认知和感知能力,比如用户的长时及短时记忆能力、解决问题、作决定、搜索、浏览等。心理学家认为人是层级地组织起来的负反馈系统。其显著特征是“所有的行为都是感知控制”,基准输入是用户的目标,系统处于环境之中,存在各种干扰因素,人对系统的控制总是向着抵消环境干扰的方向进行。
基于感知控制理论PCT(perceptual control theory)建模任务就是将用户和云终端设备看作一个感知控制系统,任务建模的目标就是分析出用户希望控制的变量,以及用户控制这些变量的方法。首先要与领域专家深度访谈,以抽取执行任务的相关信息,而任何任务都包含控制,用户希望控制的变量和信息应显示在用户界面上,用户执行任务的目的即任务的目标,对应于感知控制基本模型的基准输入,存在于用户的心里。用户通过执行控制行为来改变显示变量的值以达到目标状态。那些外界环境中的可以改变显示变量的不可预测的因素称为干扰。由于外界干扰的不可预测性,我们无法找到一个确切的指令序列来达到用户目标,只能通过用户的控制行为,而用户面对显示变量和任务目标之间差别的变化,采取的控制行为也会变化,即:达到一个相同的目标,可以有不同的控制行为。感知控制任务模型本身则屏蔽了达到目标的行为细节,实现一种说明式的任务模型,描述的不是完成目标的操作序列,而是可减小显示变量和任务目标差值的可用操作集合。
1.4 模型转换和客户化UI生成
模型之间可以互相转换,转换的类型主要有层次间转换和层次内转换,层次间转换包含具体化和一般化,层次内转换包括翻译和映射。具体化涵盖了从高层次的抽象描述到运行时代码的推理过程。如从任务模型到抽象用户界面再到具体UI(user interrace),最后生成最终UI的过程。而一般化是从一个具体的用户界面转换为高层的抽象模型的过程。层次内转换包括翻译和映射,用来对为特定目标进行的描述转换为同一抽象层次为另一目标进行的描述。映射是对相同的使用上下文,在同一抽象层次,将一个用户界面表示转换为另一用户界面表示。具体开发时可以采用正向工程,即从高层抽象向低层抽象转换以进行具体化,最终生成代码;也可以使用逆向工程,从底层的已有代码进行抽象化,最终得到高层的任务模型和领域模型;另一种转换是同层之间不同模型的转换,为的是能使最终用户界面根据使用上下文变化而自动变化;如果一个开发是从中部开始,一边向高层进行抽象,一边进行具体化形成最终代码,则称之为中间出发的开发。
通过层次间的一般化转换,从计算无关的任务和领域模型在一定计算相关的使用上下文的约束下转化为平台无关的抽象用户界面,加入不同的使用上下文即可转换为平台无关的模型;同理,对某一抽象用户界面加入不同的平台相关的使用上下文,即可得到不同的特定平台的模型;对某一具体用户界面加入不同的用户、设备使用上下文,即可得到不用的最终用户界面,这里任务和领域模型与抽象用户界面、抽象用户界面和具体用户界面、具体用户界面与最终用户界面之间的对应关系均是一对多。模型的转换过程也就是将客户的个性化使用上下文融入高层抽象模型,以形成客户化的最终用户界面的过程。
图3 基于感知控制的任务模型
2 客户化UI的用户满意度
2.1 客户化UI的用户满意度问题
一方面我们要生产客户化的用户界面,另一方面,也要提高客户化的用户界面在特定使用背景下为特定用户使用时的满意度,使其在使用的过程中无不适感并对服务使用持肯定的态度。
通常,为使用户满意需要遵循的原则有:①保持一致性,有些文献称统一的观与感,使界面一致的色彩和操作风格;②使用的便捷性,即让用户可以使用快捷方式来完成经常要做的任务;③提供信息反馈,让用户知道系统当前的状态,如任务进行中或者任务完成;④有适当的容错性,在设计之初就应考虑到避免使用者犯错,一旦错误发生,系统可以及时发现并提供错误处理方法,例如允许用户回退到错误发生前的状态;⑤合理的人机任务分配,避免不必要的用户交互,如冗长的资料输入;⑥减少用户的认知和短时记忆的负荷,使用直接操作及基于活动的设计方法来进行设计,以使操作符合用户的认知心理特征,使设计者心中的设计模型和使用者心中的用户模型相一致。
2.2 使用PCT任务模型提高用户满意度
根据2.1节SaaS用户界面用户满意度问题的论述,我们使用基于感知控制的任务模型来提高用户满意度的主要方式有:①通过模型自动转换来支持一致性,使整个系统拥有统一的观与感;②感知控制任务模型与传统任务模型的区别之一在于,它屏蔽了系统实现目标的操作序列和细节,指出了什么是关键任务,因而可以使用户使用起来更加便捷有效;③通过感知控制任务分析,得到的控制变量可以为用户提供说明式的信息反馈,有利于用户了解系统当前的状态,及与任务目标之间的差距;④中国有句古话叫“人非圣贤,孰能无过”,英国诗人Alexander Pope也有“To err is human”的诗句。我们无法避免用户犯错,但可以通过合理地设计用户和云的交互界面,使用户易于做正确的事,不易犯错,感知控制任务模型自身已经考虑了外界干扰(例外),具有很好的容错性;⑤它具有很好的人机任务分配,各种操作细节由计算机来处理,将用户从具体操作解放出来以便更多地关注于任务目标这样的高层次特征。
3 案例研究
本节通过实例对使用传统任务模型的方法和使用感知控制任务模型进行用户界面开发的过程给以介绍。重点介绍了一个任务如何被建模成AUI、CUI及FUI几个不同抽象层次。
如图4所示,用户需要添加一个闹钟的简单界面,使用传统任务建模方法如图左边所示,在任务层,用户为达到目的而采取的活动被建模,传统的任务模型侧重于任务的层次分解,可以分解为查看闹钟、添加闹钟和关闭3个子任务,而感知控制任务模型侧重于说明式描述系统的目标。在AUI层对支持用户任务的交互式对象,使用对应的交互组件和容器建模。通过观察可以发现交互组件与平台和交互方式是无关的。在CUI层,具体的图形化交互组件和容器(窗口、文本输入、按钮)已经被引入。最终,CUI交互组件转换为最终代码和运行时界面,涉及到具体属性的值,比如字体的类型和大小,颜色,在界面显示的提示信息。每个交互平台上,这四个层次之间可以转换:从高层描述到具体的或者反之依然,同一抽象层次不同类型平台之间或者甚至他们的任意的组合之间也可以互相转换。所以,各种各样的环境都可以被引入,更概括的说,UI元素和语义之间的关系可能会导致可能的智能工具来帮助设计、评估和运行时的执行。如此,最终生成适应不用使用上下文的客户化用户界面。
图4 基于感知控制的任务建模实例
4 结语
SaaS正在对软件产业产生巨大的影响,它有利于服务的提供者便捷地为更多的用户部署服务,但要让SaaS用户更好地使用服务,就需要有适合的交互界面,即:使用户满意的客户化用户界面。本文提出模型驱动的生成客户化用户界面的方法,解决了用户多样性、云终端多样性以及交互通道多样性的问题,使用感知控制任务模型,使得最后得到的是用户满意的客户化用户界面。由于当前使用手工建模,效率较低,因此下一步的研究计划是为本文提出的方法提供工具支持,以促进其实际应用。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:模型驱动的SaaS用户界面客户化方法
本文网址:http://www.toberp.com/html/consultation/10819411758.html