基于界面模型的界面模板

山东大学

硕士学位论文

基于界面模型的界面模板姓名:于清国

申请学位级别:硕士专业:计算机软件与理论指导教师:万建成

2002.11.15

摘要

/用户界面是交互式系统的重要和不可或缺的组成部分。软件的工程设计另强在软件开发中发挥了重要的作用。但是,时至今日各种软件工程方法对界面的构成和设计没有提供专门和可用的描述方法,影响了界面乃至整体软件的工程设计效率和质量。

长期以来,人们对界面构成和界面开发做了大量的研究,使得界面从顺序命令行形式转变为图形化可视的WIMP形式。这其中,用户界面模型起到了主要的推动作用。界面模型不仅决定了界面的控制和通信方式,也影响了设计开发工具的构成和对交互式软件设计的支持。最早的经典用户界面模型是Seeheim模型,但它并不支持直接操作语法与语义的要求。目前图形用户界面的构成多是基于多智能体模型的,典型范例有MVC和PAC模型。这些模型应用面向对象的思想,把界面看成是各类一般和可视对象及其操作关系的集合。

从界面的工程设计出发提出了基于陈述模型的界面开发方法和开发环境,成为了界面研究的热点。这些方法以界面的构成和设计过程为目标,能系统而有效的支持用户界面的工程设计,其最大的特点就是支持界面设计的自动化。

基于陈述模型的界面开发技术扩展了软件工程的应用模型和设计表达,能提供界面的自顶向下的层次和抽象描述,能实现对界面模型的逐步细化,准确地捕捉用户需求,便于对界面设计进行验证和模拟。

目前基于模型方法存在的主要问题是缺乏从抽象界面描述到具体界面实现的转化支持。

针对,以E问题,通过借鉴参数化设计、软件设计模式和界面设计模式的思想,y本文以界面的FMP模型为基础,提出了基于界面模型和界面模板

山东大学硕士学位论文

的界面构造和生成方法。其最根本的指导思想就是准确描述进而重用前人的界面设计也就是界面设计模式的成熟经验。

用户界面的FMP模型以面向对象的思想建立了界面的构成模型,形成了界面的内在抽象描述。进一步工作需要建立从该抽象描述向外在实现形式的转换方法。

本文提出和讨论了界面模板的概念。界面模扳是与晃面模型对应的晃面的外在形式的一个抽象描述,侧重从界面的宏观构成反映界面的组成。界面模板是界面设计经验的归纳总结,是一种崭新的、更加抽象的、参数化的设计模式。

本文还讨论了建立和使用界面模板的方法。其基本思想是把界面模板组织生成一个界面模板库。界面模板库中存储了各种经过实践检验的成熟的界面模板,能够根据界面模型的组成提供可用的界面模板,供界面生成使用。文中讨论了界面模板的检索和具体界面的生成算法,以及界面模板库的维护等。

\/\/

v7

关键字:界面模板,界面模型,界面设计模式

、//

界面自动生成

11

ABSTRACT

UserInterfaceiStheimport.ampartofinteractivesystems.Software

ofsoRware?Butengineeringtechnologypromotesengmeenngdevelopment

nowadaysitiScriticizedforthe1ackofsupportforuserinterfacedevelopment.Thecompositionanddevelopmentofuserinterfacehavebeenresearched

fromthesequentialonforalongtime,whichhavemadeuserinterfacedeveloped

commandlinetoWIMPstyles.Usetinterfacemodelsplayanimportantroleintheevolutionofuserinterfacedevelopment.Themodelsnotonlydecidethecontrolandcommunicationofuserinterface,butalSOaffectthecompositionofsoftwaredevelopingtools,whichgivesupportforinteractivesystemdevelopment.111eearliestandclassicuserinterfacemodeliSSeeheimmodel,butitdoesnot

andsemantics.Mostofnowadaysusersupportdirectlyoperatinggrammar

interfacesarebasedonmulti—agentmodel,suchasMVCmodelandPACmodel,whichoriginsfromtheobjectorientedthought,andregardsuserinterfaceasaggregationofobjectsanditsinterrelations.

Therearemanyresearchesonuserinterfacedevelopment,ofwhichthemostfamousoneiSmodelbasedinterfacedevelopment.Themethodologyintroducessomesoftwareengineeringideaintouserinterfacedevelopment.Itbuildsaseriesofdeclarativemodelsondifierent1evelstodescribeuserinterface.J由emainadvantageofmodelbasedRserinterfacedevelopmentmethodologyiStodescribeuserinterfaceindifierentlevel.whichcarlcapture

andverifythecorrectnessofuserinterfaceeasily.userrequirementsprecisely

Moreover.itcanmakereuseofdesignexperienceeasieraswell.Buttherearesomedisadvantagesinthismethodology,oneofwhichisitCan’tsupponthechangefromabs仃actpresentationmodeltoconcretepresentationmodeleffectively.ThenthatiswhatthisPaDermainlyaddressed.

ⅢS

PaDerpresentsanewkindofuserinterfacedesignPartem,thatiStheUSerinterfacetemplate.111edesignpattemCandescribedesignexperience

Cansolveeffectively.Buttlleuserinterfacedesignpatternresearchedbeforeonly

thosedetailedproblemsinuserinterfacedesignandthesupportforthelayoutofthelastuserinterfaceisneeded.Soanewkindofuserinterfacedesignpatternsareneeded,whichiscalledasuserinterfacetemplate.

IntllisPaper.thewaystobuildanduseuserinterfacetemplatearediscussed.TlliSPaperputsforwardanideathatallkindsofuserinterfacetemplatesarestoredinauserinterfacetemplatebase.userinterfacetemplatebasecanprovidesuitableuserinterfacetemplatesaccordingtothecompositionofuserinterface

interfaces.Thealgorithmsofhowtosearchusermodels,tocreatesarisfyinguser

interfacetemplatesinuserinterfacebaseandhowtogenerateuserinterfaceareprovidedinthispaper,too.

111

KEYWORDS:userinterfacetemplate,userinterfacemodel,userinterfacedesignpattern,automaticgenerationofuserinterface

山东大学硕士学位论文

1.前言

用户界面是交互式系统的重要和不可或缺的组成部分。软件的工程设计方法在软件开发中发挥了重要的作用。但是,时至今日各种软件工程方法对界面的构成和设计没有提供专门和可用的描述方法,影响了界面乃至整体软件的工程设计效率和质量。

长期以来,人们对界面构成和界面开发做了大量的研究,使得界面从顺序命令行形式转变为图形化可视的WIMP形式。这其中,用户界面模型起到了主要的推动作用。界面模型不仅决定了界面的控制和通信方式,也影响了设计开发工具的构成和对交互式软件设计的支持。最早的经典用户界面模型是Seeheim模型,但它并不支持直接操作语法与语义的要求。目前图形用户界面的构成多是基于多智能体模型的,典型范例有MVC和PAC模型。这些模型应用面向对象的思想,把界面看成是各类一般和可视对象及其操作关系的集合。

从界面的工程设计出发提出了基于陈述模型的界面开发方法和开发环境,成为了界面研究的热点。这些方法以界面的构成和设计过程为目标,能系统而有效的支持用户界面的工程设计,其最大的特点就是支持界面设计的自动化。

1.1用户界面开发研究的现状

计算机技术的进步使人们有可能与纷繁复杂、数量巨大的数据打交道。用户界面是人机交互的基础,用户控制和计算机响应都经过用户界面

传递。人机交互的本质就是人与计算机2_N图形、声音和触觉等形式的符号交换。早期人机交互仅使用简单而笨拙的文本输入和输出方式。现在的图形用户界面综合利用计算机强大的处理能力、新型输入输出设备以及先进的软件技术,使人机交互手段丰富多彩而高效。用户界面的目的是通过人机对话将计算机硬件、软件以及应用语义等细节隐藏起来,使用户和计算机之间的通讯更为直接和容易。人机对话隐藏了输入输出设备的结构、操作系统、网络与应用本身,使用户毫无困难地在不同任务之间迅速转换而丝毫不会受到技术实现方面的限制。

早在70年代,人们就已经开始了对用户界面开发的研究[39]。用户界面工具领域的研究对软件开发的发展产生了很大的影响。在70年代斯坦福研究协会(StanfordResearchInstitute)、XeroxPaloAltoResearchcenter(PARC)和MIT的研究内容是窗口管理器和GUI风格。界面创建工具则源自BBN的研究实验室、多伦多大学、XeroxPARC等。现在,界面创建工具被广泛应用于商业软件的开发中。在HyperTalk和VisualBasic中经常使用的事件语言也是出自于该研究实验室。下面所列的就是界面研究发展的成果【1l】:窗口管理器和工具包(WindowsManagersandToolkits)、事件语言(EventLanguages)、互操作图形工具(InteractiveGraphicTools)、组件系统(ComponentSystems)、脚本语言(ScriptingLanguages)、超文本(Hypertext)、面向对象编程(Object-OrientedProgramming)。

用户界面的开发工具在软件开发中发挥的作用是不可忽视的。开发人员使用这种工具可以设计和实现用户界面。现在几乎所有的应用开发都要使用用户界面开发工具。界面开发工具能减少开发人员在开发界面时的工作量,同时能够加速界面的开发。从而可以加速系统原型的开发,促使开

发人员不断改进设计,获得高质量的用户界面。另一个好处就是使得所开发出的软件具有相似的界面,让用户不必花费过多的力气去学习使用新系统。

到现在为止,人们已经开发出很多用户界面开发工具。使用这些界面开发工具人们可以方便快捷地创建出用户界面。根据所查阅的大量资料,它们大致可以分为以下几种【12]:

(1)简易工具(Easy—to—UseTools)

大多数工具需要几个星期的学习时间,并且不能够移植到不同的平台。而简易工具则与之不同,简单易学,而且可移植[42.44]。例如SUIT(theSimpleUserInterfaceToolkit)【41】是一个简单的用户界面工具包,它具有简易性和可移植性,利用这种工具,程序员可以快速构建GUI。SUIT是一种Pascal的用户界面工具包。

(2)示范工具(DemonstrationalTools)

这种工具基本上是使用示范技术(thetechniqueofdemonstration)来记录动作或者创建宏,例如Emacs、SmallStar等,或者使用示范技术而不需要编程来创建特定应用的图形对象,如Lapidary。而现在人们又开始尝试使用示范技术来开发完全的用户界面。

(3)基于模型的工具(Model-BasedTools)【40】

具有代表性的基于模型的工具有UIDE(theUser-InterfaceDesignEnvironment)f45】、HUMANOID[46】、TACTICS[47】和MASTERMIND[481。它们通过创建模型来分别从不同的角度描述用户界面。

UIDE为开发者提供了良好的界面,方便易用。在UIDE中应用的语言是用来定义应用的语法,而不是界面的语法,它包括操作的前后条件,系统使用这些操作可以自动生成界面。

HUMANOID的设计模型从5个方面来描述应用的功能和界面的特点,分别是应用的语义设计(applicationsemanticsdesign)、表示(presemation)、操作(manipulation)、序列(sequencing)、行为的副作用(actionsideeffect)。HUMANOID提供了一系列基于约束的设计选择,设计者可以自由选择其中的一种。

1'AcTJCS是另一种基于模型的工具,它所基于的应用模型约束类似于UIDE,设计控件转换模型也类似于HUMANOID。然而,它把应用模型扩展开来,添加上了附加的关系来连接不同的对象和它们的属性,以及行为参数之间的关系。它抓住了所有的有效用户界面的设计空间,将复合模型变成了转换模型,它支持更复杂的变化,而这是HUMANOID所不能支持的。而MASTERMIND[13]月.iJ支持三种模型,在后文将有详细介绍。

(4)智能工具(IntelligentTools)

智能工具[14113411351149]利用应用模型的一些表达方式生成界面,而不需要设计者特意去定义界面的确切分布。这些工具有的是利用应用命令中的规约创建表达方式和对话框,例如Uofa和Mickey,还有就是使用ER(EntityRelationship)数据模型创建与界面标准一致的界面,它使用基于知识的规则描述界面的属性,如GENIUS。

智能工具的缺点在于缺乏其他工具的灵活性。

(5)面向对象工具(Object.OrientedTools)[50]

对象可以很好地表示界面上的元素,并支持它们的直接操作。对象提供了一个很好的抽象机制,包含了状态和操作。实验表明使用面向对象语

言编写的用户界面更加易于开发和维护。对象以互操作的对象和抽象对象的形式,可以将应用代码和用户界面分离。互操作对象实现用户界面,而抽象对象实现界面之下的数据。

使用面向对象技术的另一个用处是易于获得组成用户界面的不同部件间的统一性,在用户界面的所有对象间保持同样的协议会带来应用和界面间的分离,因为应用不需要知道界面是如何实现的。例如,InterViews[51]是一种普遍使用的面向对象工具包,它将互操作对象和抽象对象分开,它也提供了组合对象机制来生成新的对象。其中所有的界面对象(菜单、按钮等)是从一个称为Glyph的基类继承而来。

随着面向对象技术的发展和对象通信标准(如CORBA)的提出,会有越来越多的商业应用用到分布式的用户界面。

由以上各种支持界面开发工具可以看出,有效简单的界面设计已经引起了人们的广泛关注。在上述所列的各种工具中有不少支持用户界面自动生成的,其中大部分设计思想围绕着界面模型展开。下面就详细地总结对比一下各种用户界面自动生成的设计思想。

1.2用户界面自动生成的相关研究

在关于用户界面开发工具的研究中,基本上可以分为两大类:一种是提供工具包,由设计人员通过选择工具包中的控件来设计用户界面。例如胡华提出的用户界面生成工具的设计和实现方法[7],以及武锐军、宁汝新提出的面向对象的用户界面生成工具BIT.UIEditor【8】,都是用户利用工具编辑定义界面(包括菜单和窗口)格式。另一种就是用工具所提供的某种表示方法来定义界面,然后由系统自动生成界面,这类工具已经列在上文举出的诸多界面开发工具之中,例如MASTERMIND等。

用户界面的自动生成是用户界面研究的一个很有发展前途的研究方向,然而还没有被广泛使用。用户界面的自动生成工具允许用户使用系统提供的工具从高层来定义用户界砸。这种自动生成工具可以帮助那些没有界面设计经验的软件开发者开发高质量的界面来实现相应的功能。

到现在为止,人们己经从多个角度提出了自动生成界面的思想。在此可以分为以下几类:

(1)基于形式化语法和规范语言自动生成用户界面[53—541128]

例如早在1988年,M.L.Scott和S..K.Yap就已经在研究以基于语法的方法来自动生成用户界面T[151。另外用户界面管理系统UIMS也是使用特殊的语言和形式化语法来定义用户界面的属性。但是这种方法一般比较复杂抽象。

形式化方法在软件工程中占有很重要的地位[16】,使用形式化方法描述计算机科学各个领域的逻辑说明理论,具有高度精确性、抽象性和概括性等特点[36】。然而,现阶段的人机界面的形式化方法仅仅是提出了不成熟的技术和设想,还不能解决现存的一些问题。

(2)基于模型自动生成用户界面[52】

早期的基于模型的工具包括Cousin和liP/Apollo的开放对话。它们都提供了可声明的语言,用户可以用来列出界面所需要的输入和输出。然后系统生成对话框来显示和要求输入数据。后来,又发展成了基于模型的系统,例如MIKE、JADE、UIDE、ITS以及HUMANOID。这些工具使用诸如启发式规则等技术来自动选择互操作的模块、规划和界面的其他细节。

使用模型来创建用户界面是一种很普遍的方法[171。与第一种方法相比,基于模型的方法有其独到之处。基于规范语言来定义界面的一个问题在于开发者必须定义界面上部件的放置、形式以及功能,而使用基于模型

山东大学硕士学位论文

的方法就可以解决这个问题,因为,它是一种更高层次的规范[18】。另外,这种方法还可以用于界面的自动生成,以及提供满足特殊约束的所有的设计,从而帮助用户选择所喜欢的界面。

比较有代表性的一种基于模型的用户界面自动生成系统是MASTERMIND[191,采用三种模型来支持用户界面的自动生成,这三种模型分别是表示模型(presentationmodels)、应用模型(applicationmodels)、对话模型(dialoguemodels)。表示模型使用控件及其控件行为来定义用户界面表现形式。应用模型定义的是应用的哪一部分(功能和数据)可以从用户界面上获得。而对话模型则定义了终端用户的操作、操作序列以及它们如何影响表示和应用。源代码可以从每一个模型利用特定的编译器来生成。

一个好的模型可以用来支持多界面,有助于分离界面和应用,以简单的方式描述输入序列,检查界面的一致性和完整性,评价界面应激性,创建特定文本帮助,并且有助于设计良好的界面。然而,模型的复杂性的增加会带来编程的难度。

(3)基于数据结构自动生成用户界面[55.56】

从数据组成结构的角度来映射用户界面也比较有代表性。Jo}lIlAKonglation[20]提出可以从应用程序代码中的数据结构入手,选择用户界面的要素,从而生成用户界面。另外作为辅助手段的就是可以使用程序模式来改进所生成的界面,比如在JavaBeans中所使用的模式。这种思想是基于面向对象方法的1211,利用所定义的类中的数据结构来映射数据输入界面。

使用这种方法所定义的界面,一般种类不多,只是简单的数据输入界面,因而使用范围不广,具有局限性。

山东大学硕士学位论文

很多情况下,可以将模型和形式化方法相结合来生成用户界面。例如后面将要提到的把数据流图DFD和BNF范式相结合的设计思想。我们所提出的用户界面自动生成的思想主要是一种基于模型的方法。另外,还有人提出了基于模式的用户界面设计方法[221,但是并不十分成熟,仍旧需要进一步的完善。

通过总结以上几种界面自动生成思想,我们认为基于模型设计的自动生成方法比形式化方法直观而且易于理解,比基于数据结构的方法全面,因而是一种成熟而且比较完善的方法。

1.3本研究的提出及其意义

目前基于模型方法存在的主要问题是缺乏从抽象界面描述到具体界面实现的转化支持。目前基于模型的方法和工具有十余种,较著名的有HUMANNOlD、nUDENT、MOBID、M_ASTERMIND等[63】。但是,它们只能提供一些设计描述和建议,不能对最终的界面生成和布局提供具体有效的支持。例如,TRIDENT的做法是先由AIO(abstractinteractiveobject)产生一个初级的CIO(concreteinteractiveobject)的输出,然后再在界面图形编辑环境中对输出进行编辑细化[641。PuertaA.R.在Mobi.D的以用户为中心的交互式开发循环中,把界面表示和对话设计作为一个开发循环阶段,用决策支持工具分析用户任务模型和领域模型以及界面原则,为界面构成的窗口部件和界面元素提供建议【65】。

针对以上问题,本文以界面的FMP模型为基础,提出了基于界面模型和界面模板的界面构造和生成方法。其指导思想是重用前界面设计的成熟经验和积累,这与参数化设计、软件设计模式和界面设计模式的思想不谋而合。

设计模式是对设计问题的大粒度成功解决方案的格式化描述,在多种设计领域中已经获得成功应用,成为了软件设计研究的一个热点。设计模式的应用具有容易理解,便于交流,易于标准化,提高开发效率和质量,实现系统组装,降低开发费用的优点。

用户界面设计模式【66】是设计模式在界面设计方面的应用和发展。它试图构建标准可复用的解决方案,来帮助解决常见、难度较大、带有普遍性的界面设计问题。它目前处在初级阶段,代表了对界面设计研究的新方法和新方向。参数化设计方法在机械和其他设计领域中获得了广泛应用,它以参数化的方式控制对设计模式的剪裁、组合和复用。

用户界面的FMP模型以面向对象的思想建立了界面的构成模型,形成了界面的内在抽象描述。进一步工作需要建立从该抽象描述向外在实现形式的转换方法。

本文提出和讨论了界面模板的概念。界面模板是与界面模型对应的界面的外在形式的一个抽象描述,侧重从界面的宏观构成反映界面的组成。界面模板是界面设计经验的归纳总结,是一种崭新的、更加抽象的、参数化的设计模式。为此,需要建立界面模板的结构和使用方法,并组织、构建界面模板库。界面模板库中存储者各种经过实践检验的成熟的界面模板,能够根据界面模型的组成提供可用的界面模板,供界面生成使用。

2.界面模板所依据的界面模型

2.1支持用户界面自动生成的陈述模型的基本理论

陈述模型是为了支持交互系统建模而提出的。这种模型能够描述界面开发者和应用开发者的合作,并且能够同时描述用户界面和应用。从界面开发者角度讲,这种模型应该能够适应在合适的抽象层次上的对界面的描述。因此,这个模型应该能够描述那些用户在使用应用系统达到某个目标时所执行的抽象的任务规范。于是,需要一个用户需求模型来描述这种抽象的任务。进一步讲,用户和界面开发者所描绘的界面梗概能够帮助抽取更多的用户需求。因此需要一个抽象的表示模型来描述这种界面梗概。在后来的系统设计工程中,界面开发者应该对抽象表示模型进行细化形成具体的表示模型,这时界面上的控件的种类、位置、大小应该确定的了。

从应用系统开发者角度看,整合了界面设计和应用设计的陈述模型也应该是应用中对象和行为的建模。实际上,描述用户和应用行为如何与一个结构化的任务相关以及这个任务如何支持应用对象以及如何被应用对象支持对应用设计者来讲是一个非常富有挑战性的任务。因此,需要一个任务模型来描述那些结构化的任务。任务模型可以看作是用户需求模型的结构化和想细化。

应用对象,或者至少它们的接口,提供给了界面设计。这些接口是界面和应用的连接点。因此,应用对象接口组成了应用模型。在一个完整的用户界面和应用的开发环境中,应用模型作为应用设计的结果很自然的就得到了。

.嚣龆

图1陈述模型

经过简化和规范化的陈述模型如图2所示。其中用户需求模型和任务模型合并成了任务对话模型。

ApplicationModel

Task_DialogModel

AbstractionPresetationModel

ConcretePresetationModel

图2陈述模型体系结构图

2.2支持用户界面自动生成的FliP模型以及和界面模板的关系

FMP模型是我们经过对界面模型和界面开发所基于的陈述模型做了大量的研究之后提出来的。和原来的模型相比,FMP模型结合了界面模型和陈述模型两方面的优点,既对界面的结构提出了清晰的模型,又对界面的开发提供了强有力的支持。

FMP模型中的内在模型就是整个系统业务逻辑一个调用借口。而表示模型则是PU(用户界面表示单元)的集合。单纯的界面模型所缺乏的是对

3.界面模板的的理论基础:界面设计模式

模式描述了某个上下文中的共同问题的解决办法,其大多用在面向对象编程领域和数据分析领域。HCI模式的目标是构建一系列的解决方案来帮助UI设计者(和使用工程师)解决一些UI开发中常见的、难度比较大的、带有普遍性的问题(adaptedfromLoureiro&Plummer,1999)。

模式是针对一个设计问题的解决方案的形式描述。模式起源于体系结构由ChristopherAlexander(Alexander,et.a1.,1977;Alexander,1979)于20世纪70年代中期引入。Alexander注意到特定的解决方案竟常用于解决反复出现的相同的问题,于是开发模式作为一个设计知识归档的方法。

软件工程(Gamma,Helm,Johnson&Vlissides,1995)应用模式推动软件复用。组件复用的早期尝试竞常失败,因为粒度太小,这些组件不能很好的组织在一起。软件模式的应用允许较大粒度的共享,并且详细定义了组件的交互方式。同样他们比用于体系结构的模式更能说明问题。

用户界面的设计者同样也注意到特定的设计问题也是一次次的反复出现。这些问题一般都有已知的好的解决方案。但是,存在一个沟通的问题。指导原则代表着一种可能的解决方案,但是一般来说,它们被认为很难理解并且需要额外的努力去寻找合适的材料(Mahemoff&Johnston,1998)。鉴于此,人们对用于归纳用户界面设计解决方案的模式越来越有兴趣。SIGCHI’97关于模式的专题讨论会(Bayle,et.a1.,1998)把模式作为解决日益复杂和多样的HCI设计的有效方法。

山东大学硕士学位论文

———————————————————————________-____。__。___。-__。_。__●。___。-__。。。。__●-_。。。。___-。。-__●___。●。____。。一Tidwell(1999)把模式描述为“针对在一个特定的环境中带有普遍性的设计问题的可能的好的解决方案,通过描述这些解决方案中不变的属性。”简单的说,模式能够以一致的易于阅读和理解的方式提供强有力的一般的设计指导一一它们是关于优良设计的知识的表述。

许多有经验的UI设计者下意识的使用模式,他们发现解决方案在过去已经在为他们工作了。然而,这些设计者很少注意对这些解决方案的形式化的描述。于是,不精确的模式和形式化的模式就并存了。形式化的模式能够作为收集并形式化这些知识的手段。使用HCI模式来捕捉并归档设计知识是一个很热的课题,这里面有很多原因(Erickson,1998):

●模式提供了一种能够被所有人阅读和理解的通用语言,不管他们的背景如何。

●现存的归纳UI设计知识的形式化的方法功能太弱。模式提供了一种很好的捕捉和转换这种知识的方法。他们以固定的格式来表达,非常容易理懈,并且提供了背景的推理。这种形式提供了关于即将解决的问题,上下文,解决方案以及这种解决方案的原理等。

●它们促进了复用性

●模式是信息的有价值的资源,支持新系统的分析、当前形式以及设计等。

然而,我们相信模式不能作为设计知识的单一的资源。它们必须由传统的信息资源作为补充。但是,它们表达了合理的信息和对于类似的项目来讲好的设计。既然这种描述形式提供了论证和和动机,模式对于当前项目的适用性能够被测试和验证。

模式必须作为相互联系的模式的语言的一部分,能够互相参与和支持,为了能够真正的有用。模式语言工作在不同的规模,并且促进了设计的迭代式的优化。

模式不同于设计指导原则。指导原则的目标是通过归纳某一种用户界面的所有的复杂性来找到用户界面中的一致性。然而,指导原则的重点大多放在窗口/小窗口等事情上,而忽视了对于适当的uI设计所需要的知识。实际上,影响设计的主要的因素:用户、上下文、任务,这些因素指导原则都忽略了。设计原理也忽略了。模式捕捉并归纳了所有重要的知识。它们是经得起时间考验的。

HCI模式和其他的模式也是不同的。软件工程模式经常详细说明不同组件描述之间的相互关系。重点是组件中接口的规范。然而,uI设计者认为那些模式太严格,太详细了。UI设计者除了关心功能还关心其美学和社会效应。他们也想自由的革新和表达自己。这些愿望和这样的一个事实在一起:HCI是一个年轻的学科,许多内容都是未知的,设计出一个纯工程的方法是不合适的。于是HCI模式更接近体系结构模式。但是,HCI模式经常和软件系统结合在一起并且同样考虑软件方面的事情。

虽然界面模板主要是为交互模型向具体界面转化提供宏观布局的支持,但是界面模板的支持应该是全方位的,不应该仅仅局限在宏观布局的支持,所以本文对界面模板的内涵和外延做了一定的拓展,使其更好的支持界面设计。可以这样说,只要是能够为生成具体界面提供支持的前人开发界面经验的描述都可以称之为晃面模板。可以这样说,界面模板的思想起源于界面设计模式,界面模板是一种更高层次的界面设计模式。它对界面设计的支持更加的具体而有效。

__————____--—-_--_——-_____——_____———_-_-_———_●^_———-●-—————————————

4.界面模板

4.1界面模板的内在基础:交互模型

界面模板实现对界面宏观布局的约束,为生成具体的界面提供宏观布局的指导。在面向对象的软件开发实践中发现对象之间的关系是多种多样的。从而,最后构建的对象模型也是种类繁多。对象模型的不同就决定了界面模板的不同。而且每一种对象模型可能对应若干种界面模板。软件行业经过了这么多年的发展,交互系统的开发也经历了很长的实践。所以成熟的界面设计不断的涌现。本文的界面模板就是从那些成功的界面设计实践中抽象出来的。本文的目标之一就是构造一种界面模板描述语言,把所有出现的模板都能够描述出来。

交互模型在对象模型和功能模型的基础上对界面构成做了更为详尽的描述,比功能模型对界面的描述更接近具体界面。交互模型由对象集合、查询条件对象、控制

参数对象、外部实

体、界面功能和界面

的导航关系等要素构

成,各个元素的图形

表示如图6所示。

百磊习厂忑1酬i磊习]岜口!俪Epl打文档||I时钟L————。图6交互模型的符号

汇集是数据对象、视图或者由多个对象构成的组合数据项。因为单个对象和对象集合的

习圃④害慕一

相关主题
相关文档
最新文档