商务过程中的自动用户界面更新的制作方法

文档序号:6554285阅读:171来源:国知局
专利名称:商务过程中的自动用户界面更新的制作方法
技术领域
本发明涉及计算机用户界面。特别地,本发明针对在用户向过程添加步骤或将过程中的步骤重新排序时,在商务过程软件中自动更新并生成用户界面。
背景技术
用户界面是计算机用户与计算机交互的主要手段。用户界面一般包括一个或多个控件的显示,它们一般以可视形式向用户提供信息,并从用户接收向计算设备发出指令的信息。用户界面设计的主要目的之一是以简单、直观的形式向用户提供大量功能。
随着计算机软件和硬件提供越来越复杂的功能,提供允许用户以相对简单和直观的方式导航此类复杂功能的用户界面就变得越来越重要。提供越来越复杂的功能的一个领域是商务应用程序。此类软件一般被公司用来将公司的部分或所有功能自动化,或以电子方式帮助实现部分或所有功能。例如,计算机如今被用来跟踪存货,管理人事关系部门,以及执行会计功能以及大量其它功能。因为实际上每个公司对商务应用程序的要求都不同,所以为每个此类公司从头开始编写完整的商务解决方案是效率低下的。相反,此类应用程序一般是分两部分创建的。
首先,诸如华盛顿州雷蒙德市的微软公司等软件公司创建用于提供涉及商务的重要工具和软件类的开发框架。然后,诸如独立软件供应商(ISV)等开发商使用该框架应用程序来构建专属于某公司的定制的或自定义的商务应用程序。这一模式是高度成功的,因为它以能显著定制和自定义工具以匹配公司需要的方式提供极度强大和适应性强的工具。
开发此类软件的方式的一个潜在的缺点是,如果公司或ISV想要改变显示用户界面的方式或其中任何参数(诸如当用户改变过程的顺序,或将附加的步骤添加到过程中时),则需要修改应用程序的源代码。当源代码已被修改时,接下来还需要重新编译源代码以提供生效的经更改的应用程序。此过程是很麻烦的,因为它需要ISV的大量工作。因此,在这些类型的情况下,此类软件的用户和/或ISV对改变用户界面元素失去信心。
如果能响应于这些改变而更容易地更新用户界面,而无需重新编译源代码,则对本领域而言将是非常有利的。

发明内容
本发明在当用户改变相关联的商务过程时更新用户界面中提供显著的优势。
在本发明的一个实施例中,用户改变过程。这些改变可包括将步骤添加到过程中,将过程中的步骤重新排序,添加或移除自动步骤等等。当用户进行改变时,过程改变检测模块检测到对过程进行的改变。该模块确定哪些用户界面受到该改变的影响。在一些改变中,仅一个用户界面受到改变的影响。但是在其它改变中,可能有数个用户界面受到改变的影响。过程改变检测组件确定用户界面上的哪些元素受到影响,并将此信息提供给用户界面修改模块或资源。
用户界面修改模块使用来自过程改变检测组件的信息修改受到影响的用户界面。如果过程改变检测组件确定需要新的用户界面,则用户界面修改模块可从默认界面的数据库生成或汇编新的界面。因此,通过使用编码,用户界面修改资源就能够“理解”用户界面并基于此理解构建或修改用户界面。
一旦用户界面已被修改,它即被存储在对应于该应用程序的用户界面规范中。如果其它用户界面受到改变的影响,则根据与第一个受到影响的用户界面相同的过程对它们进行修改。


图1是可在其中实施本发明的一种计算环境的框图。
图2是可在其中实施本发明的替换计算环境的框图。
图3是示出商务过程的示例的流程图。
图3A-3D是图3中所使用的示例性用户界面的图示。
图3E是根据一个实施例在应用程序中示例性用户界面的全面呈现的图示。
图4是根据本发明的一个实施例的用户界面修改的图示。
图5是根据本发明的实施例的一种修改用户界面的方法的流程图。
图6是将一个步骤插入到商务过程中的图示。
图7是将商务过程中的步骤重新排序的图示。
图8是根据本发明的一个实施例的一种用于将修改应用于现有用户界面元素的方法的流程图。
具体实施例方式
图1示出可在其上实现本发明的合适的计算系统环境100的示例。计算系统环境100只是合适的计算环境的一个例子,它并不试图对本发明的使用范围或功能提出任何限制。也不应将计算环境100解释为具有涉及示例性操作环境100中所示的任一组件或其组合的任何依赖性或要求。
本发明可配合许多其它通用或专用计算系统环境或配置而操作。适用于本发明的公知的计算系统、环境和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型计算机、大型计算机、电话系统、包括以上任何系统或设备的分布式计算环境、等等。
可在由计算机执行的诸如程序模块等计算机可执行指令的通用上下文中描述本发明。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本发明被设计成在分布式计算环境中实施,其中任务是由通过通信网络链接的远程处理设备执行的。在分布式计算环境中,程序模块可位于包括记忆存储设备在内的本地和远程计算机存储介质中。
参考图1,用于实现本发明的示例性系统包括计算机110形式的通用计算设备。计算机110的组件可包括,但不限于,处理单元120、系统存储器130、以及将包括系统存储器在内的各个系统组件耦合到处理单元120的系统总线121。系统总线121可以是数种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线、使用各种总线体系结构中的任何一种的局部总线。作为示例,而非限制,此类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线、以及也称为Mezzanine总线的外围组件互连(PCI)总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110访问的任何可用介质,并包括易失性和非易失性、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术,CD-ROM、数字多功能盘(DVD)或其它光盘存储,磁带盒、磁带、磁盘存储或其它磁存储设备,或任何其它可被用来存储所需信息并可由计算机110访问的介质。通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任何信息传递介质。术语“已调制数据信号”是指以在信号中将信息编码的方式设置或改变其一个或多个特性的信号。作为示例,而非限制,通信介质包括诸如有线网络或直接连线连接等有线介质,以及诸如声学、RF、红外及其它无线介质等无线介质。以上任何组合也应被包括在计算机可读介质的范畴之内。
系统存储器130包括诸如只读存储器(ROM)131和随机存取存储器(RAM)132等易失性和/或非易失性存储器形式的计算机存储介质。包含诸如在启动期间帮助在计算机110内诸元件之间传递信息的基本例程的基本输入/输出系统(BIOS)133通常被存储在ROM 131中。RAM 132通常包含可由处理单元120立即访问和/或现在正由其操作的数据和/或程序模块。作为示例,而非限制,图1示出操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图1示出读或写不可移动、非易失性磁介质的硬盘驱动器141,读或写可移动、非易失性磁盘152的磁盘驱动器151,以及读或写诸如CD ROM或其它光介质等可移动、非易失性光盘156的光盘驱动器155。可在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,磁带盒、闪存卡、数字多功能盘(DVD)、数码录像带、固态RAM、固态ROM、等等。硬盘驱动器141通常通过诸如接口140等不可移动存储器接口连接到系统总线121,而磁盘驱动器151和光盘驱动器155通常由诸如接口150等可移动存储器接口连接到系统总线121。
以上所讨论并在图1中示出的各驱动器及其相关联的计算机存储介质为计算机110提供计算机可读指令、数据结构、程序模块和其它数据的存储。在图1中,例如,硬盘驱动器141被示为存储了操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可与操作系统134、应用程序135、其它程序136和程序数据137相同或不同。此处操作系统144、应用程序145、其它程序模块146和程序数据147被赋予不同的附图标记以说明至少它们是不同的副本。
用户可通过诸如键盘162、话筒163和定位设备161(诸如鼠标、轨迹球或触摸垫)等输入设备将命令和信息输入到计算机110中。其它输入设备(未示出)可包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等。这些及其它输入设备通常通过被耦合到系统总线的用户输入接口160连接到处理单元120,但也可由诸如并行端口、游戏端口或通用串行总线(USB)等其它接口和总线结构连接。监视器191或其它类型的显示设备也经由诸如视频接口190等接口连接到系统总线121。除了监视器以外,计算机还可包括诸如扬声器197和打印机196等其它外围输出设备,它们可通过输出外围接口195连接。
计算机110使用到诸如远程计算机180等一个或多个远程计算机的逻辑连接在联网环境中被操作。远程计算机180可以是个人计算机、手持式设备、服务器、路由器、网络PC、对等设备或其它公共网络节点,并通常包括以上相对于计算机110所描述的许多或全部元件。图1中所示的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但还可包括其它网络。此类网络环境常见于办公室、企业范围的计算机网络、内联网以及因特网中。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接到LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或其它用于通过WAN 173(诸如因特网)建立通信的装置。可内置或外置的调制解调器172可经由用户输入接口接口160或其它适当机制连接到系统总线121。在联网环境中,相对于计算机110所描述的程序模块或其部分可被存储在远程记忆存储设备中。作为示例,而非限制,图1示出远程应用程序185驻留在记忆设备180上。可以认识到,所示的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其它装置。
图2是移动设备200的框图,它是另一个示例性计算环境。移动设备200包括微处理器202、存储器204、输入/输出(I/O)组件206、以及用于与远程计算机或其它移动设备通信的通信接口208。在一个实施例中,前述组件被耦合以通过适当的总线210相互通信。
存储器204被实现为带有电池备份模块(未示出)的随机存取存储器(RAM)等非易失性电子存储器,以使到移动设备200的一般电源被关断时存储在存储器204中的信息不会丢失。存储器204的一部分可被分配为用于程序执行的可寻址存储器,而较佳的是存储器204的另一部分被用于存储,诸如模拟盘驱动器上的存储。
存储器204包括操作系统212、应用程序214以及对象存储216。较佳的是,在操作期间,操作系统212由处理器204从存储器204执行。在一个优选的实施例中,操作系统212是可从微软公司购买的WINDOWS CE操作系统。可针对移动设备设计操作系统212,它还实现可由应用程序214通过一组给出的应用程序编程接口和方法来使用的数据库特征。至少部分是响应于对所给出的应用程序编程接口和方法的调用,对象存储216中的对象由应用程序214和操作系统212维护。
通信接口208表示允许移动设备200发送和接收信息的许多设备和技术。这些设备包括有线和无线调制解调器、卫星接收器和广播调谐器、等等。移动设备200还可被直接连接到计算机以与其交换数据。在此类情形中,通信接口208可以是红外收发器或者是串行或并行通信连接,所有这些都能够发送流式信息。
输入/输出组件206包括诸如触敏屏、按钮、滚动键和话筒等各种输入设备,以及包括音频生成器、振动设备和显示器等各种输出设备。以上所列出的设备只是示例,而无需全部存在于移动设备200上。此外,其它输入/输出设备可被连接到移动设备200,或可在移动设备200中找到,这都落入本发明的范围之内。
图3是示出向供应商付款的示例性商务过程的流程图。此商务过程仅用于说明目的,本领域技术人员将能很容易地认识到,可配合本发明使用其它过程。此外,提供对商务过程300的描述是为了更好地理解本发明。
商务过程300包括一系列步骤。在其中若干步骤,向用户呈现用户界面,这允许用户在过程中对该步骤执行动作。仅为此讨论的目的,将示出一些用户接口。但是,提供这些用户界面是为使读者可更好地理解使用本发明实现的对用户界面的修改。
在开始对图3的详细讨论以前,对支付过程的基本概述将是有帮助的。各种规模的公司具有在实际向供应商或甚至雇员付款之前它们必须执行的不同过程。由于会计行业和税务当局的要求,每次公司进行支付时都生成数个文档或文件。例如,在一些公司里,用户将选择要向哪个供应商付款。这常被称为选择支付。接下来用户通常将通过起动向供应商付款的过程来创建支付。支付一经创建,就可被应用于供应商的发票。以此方式,公司知道已从一个源分配了资金来抵债。
接下来用户生成支付。支付的生成更像是向供应商开支票。但是,在如今复杂的商务环境中,支付通常是以电子方式完成的,或甚至可被以抵偿供应商欠供应者的债的方式执行。支付过程中最后一个步骤是邮寄支付。在此步骤中,例如,支付被邮寄给总帐或邮寄给供应商,并且所有帐户一般都被更新以反映该事务。
在步骤305,用户选择或是选择发票或是创建新的支付。在步骤310如果用户决定选择发票来支付,则向用户呈现诸如图3A中所示的用户界面312等用户界面。用户界面312包含用户可用来选择项目进行支付的信息。在此例中,用户界面312允许用户在应付款文档313、顾客偿还款314和可收回款项315之间选择。但是还可向用户呈现诸如雇员工资总额和顾客偿还款等其它需要支付的事务。
用户界面312还允许用户选择相关任务317。这些相关任务可将用户引领至另一个商务过程,或可允许用户在当前过程中向前或向后移动以纠正文档或其它活动中的错误。
无论在哪种情况中,一旦用户决定选择项目进行支付,该用户即突出显示要支付的事务,并选择提交支付按钮316。这在框310中示出,并令该过程前进至创建支付的步骤320。
在商务过程300中,步骤320或是从步骤305,或是从步骤310被访问的。当从步骤305访问时,用户能够创建支付而无需有先前所选择的进行支付的项目。当从步骤310访问步骤320时,用户时从先前所选择的进行支付的项目的列表创建支付。为了进行这一选择,向用户呈现诸如图3B中所示的用户界面321等用户界面。用户界面321允许用户从所选择的进行支付的项目的列表创建支付322。在此步骤,用户可选择银行帐户来支付所选择的项目324。同样,用户界面向用户提供对相关任务323的访问,在此用户可执行创建支付可能需要的任何其它任务。应当注意,在步骤320,该文档尚未被支付,而是被转送来进一步处理以生成用户实现支付所需的所有必须的商务文档和文件。
一旦在步骤320创建了支付,随即在步骤325向用户呈现决策。用户必须决定更新支付,删除支付,或在所创建的支付中应用特定的文档。如果用户决定更新支付(诸如发现他们漏掉了一个支付),则在步骤326他们被返回到步骤320或310。如果他们选择删除一个支付,则在步骤327他们可在支付中选择要删除的文档。但是,如果他们决定对支付应用文档,则他们前进至步骤328。应用文档的过程是可由该过程自动完成的简单直接的过程。步骤328实质上匹配对应于每个支付的发票事务。支付过程随即前进至步骤330。
在步骤330,过程300生成并分发支付。向用户呈现允许用户确定支付方法的用户界面331。图3C中示出此用户界面。在此版本中,用户界面331允许用户或者经由电子资金转移(EFT)332或者经由支票333支付。这些按钮332、333被示为下拉菜单按钮,并可允许用户就要打印的支票类型或是要添加到EFT的记录进行特定选择。用户界面331上还提供一组相关任务334。其中一些任务将使用户返回过程300中较早的步骤,或可将用户引领至另一个过程。一旦完成步骤330,该过程即前进至步骤340。
在步骤340,用户实际上邮寄支付,并由此更新系统所维护的资产负债表。向用户呈现诸如图3D中所示的用户界面341等用户界面。通过用户界面元素341,用户可查看等待邮寄的支付342,并通过操纵邮寄按钮343来邮寄这些支付。用户界面341允许用户选择一系列相关任务344。如上文所讨论,这些相关任务可将用户引领至其它过程、或是过程300中的不同点处。
支付一经邮寄,过程300即允许用户纠正任何错误。用户可决定使该支付无效,或进行任何纠正。支付一经更新、无效,或者其时不需要任何改变,则对应于特定支付的过程在步骤350结束。
图3E根据本发明的一个实施例示出图3A-3D的用户界面的全面呈现。当开发诸如过程300等过程时,开发者从使用诸如图3的流程图等流程图来开发流程。但是,用户仅与用户界面交互。因此,在计算机屏幕371或其它显示设备上向用户呈现用户界面312、321、331、341。如果除那些可容易地放进屏幕上的用户界面以外,系统还要求其它用户界面,则可使用滚动条或其它滚动技术来访问或查看这些界面。
因为许多商务过程程序(诸如实现以上过程300的程序)是由除了使用这些程序的公司以外的公司所开发,则这些程序可能不包括用户所需的所有特征,或者它们可能具有用户不希望有的无关特征。在过去的系统里,为了改变过程以包括或排除步骤或特征,就要求程序员输入该应用程序的代码来自定义用户界面甚至过程界面。
图4是根据本发明的一个实施例的用户界面生成/修改系统的图示。在以往,应用程序甚至是自定义的应用程序将通过经由一个或多个应用程序编程接口403对操作系统134进行适当的调用而在诸如监视器191(图1)等适合的显示设备上生成用户界面407。由应用程序400生成的用户界面407可包括一个或多个窗口406,其中每一个窗口都具有一个或多个控件408、410、412和414。对于诸如按钮408等控件,具有标签文本416来向用户提供按钮408的功能的指示是很常见的。在应用程序400的生命期间,如果(一个或多个)底层商务过程401被改变,则相关联的用户界面也被修改以反映此改变。但是,在以往,通常必须重新编译应用程序400才能令此改变生效。
为此讨论目的,假定应用程序400包括至少一个相关联的商务过程401,还包括或被配备了用户界面规范402。规范402可表现为被硬编码到应用程序400的编程指令中的用户界面的形式。但是,规范402无需被包含在应用程序400内。用户界面规范402可以是完全定义用户界面406的任何一组指令或数据。
如图所示,应用程序400可经由一个或多个应用程序编程接口403使用操作系统134或212来生成用户界面406。根据本发明的一个实施例,当用户改变商务过程时,该改变被过程改变检测组件420检测到。检测组件420确定对过程所进行的改变,并确定哪些用户界面和用户界面元素应被修改、创建或汇编作为改变的结果。
过程改变检测组件420访问用户界面修改资源430。资源430可采取任何合适的形式,包括可扩展标记语言(XML)文件、数据库条目、或任何其它合适的数据结构。资源430包括相对于因为改变的原因而对原始用户界面规范402进行的一个或多个修改的信息。资源430示意地包括相对于个体用户界面元素及其相关联的属性和那些属性的值的具体信息。一般在资源430中只指定那些可修改的或被汇编的用户界面元素。由此,组件420所检测到的修改将应用于在资源430中被指定、并被用户界面资源430修改的具体用户界面元素。由此,这些改变是在运行时进行的,而不要求重新编译应用程序400。此外,可通过将此类修改放在资源430中来修改用户界面406的任何元素的任何属性或值。
图5时示出当在商务过程中进行修改时由本发明执行以修改或生成用户界面的步骤的流程图。在框504,用户对应用程序的过程进行一个或数个改变。为此讨论的目的,该过程将参考以上在图3中讨论的过程。这些改变可包括,作为示例,将新的步骤添加到过程中,或将过程中的一些步骤重新排序。参考图6和7示出改变过程的顺序以及添加新步骤的示例。
图6示出在图3的步骤310和320之间添加新步骤的示例。在此例中,添加一同意步骤。同意步骤被示为步骤610。同意步骤要求为该过程生成新的用户界面,以使用户可查看并理解那些等待同意的项目。此外在图6中,由元素620示出所生成的这一新的用户界面。
图7示出将图3的步骤330和340重新排序的示例。为商务想要将过程中的步骤重新排序的任何原因,可进行此重新排序。因为诸步骤被重新排序,所以需要改变对应于其中每个步骤的用户界面,还可能需要改变之前和之后步骤的用户界面以反映在该过程中进行的改变。元素710和720示出已修改的用户界面。为理解用户界面中的差异,需要对在331和341示出的用户界面进行比较。特别地,用户界面710和720中的数个元素和原始用户界面有所不同。特别地,响应于过程中的改变,相关任务集已经改变。
在框506,对商务过程的改变被检测到。在一个实施例中,这些改变被图4的过程改变检测组件420检测到。但是,此检测可根据任何已知的用于检测改变的方法发生。同样,在此步骤,程序确定所进行的改变的具体类型(例如,步骤被添加、删除、重新排序等等),以及是否需要新的界面还是将修改现有的用户界面。在步骤508,该程序收集生成被修改的或新的用户界面所需的信息。该程序确定从改变步骤以前的步骤提供的信息,以及该商务过程中下一个步骤所期望的信息。此外,在步骤508该程序确定在步骤重新排序的情形中,被重新排序的步骤本来是如何与彼此交互的。此数据被存储在诸如散列表或元数据表等数据结构中,稍后在该过程中该数据结构被用来生成或修改用户界面。
在步骤510,该程序基于在步骤506获得的信息确定是否需要新的用户界面还是要修改现有的用户界面。如果需要新的用户界面,则该程序在步骤512为被添加的步骤生成新的用户界面。在替换实施例中,可从界面数据库450获得用户界面。为了生成新的用户界面,程序首先访问诸如数据库450等包含至少一个默认用户界面元素的数据存储。但是,该数据库可包含多个默认用户界面,其中可被添加到过程中的每一类步骤都具有其自己独特的用户界面。如果该程序确定响应于过程中的修改而有一个或多个现有用户界面要被修改,则该程序在步骤514修改用户界面。这在以下更加详细地讨论。
当生成新的用户界面时,在步骤512,该程序访问诸如图4中的资源430等用户界面生成资源。但是,可使用其它资源来生成用户界面。该程序随即使用在步骤508获得的数据来确定应在该新的用户界面中呈现的元素。此外,该程序可访问包含涉及相邻用户界面的信息的元数据来帮助为新的用户界面生成适当的信息或表示。此元数据可包括诸如用户界面元素的名称、用户界面的属性、属性的值、任何嵌套用户界面、要用该用户界面显示的图形等关于用户界面的信息。用户界面生成资源随即使用此元数据来构造新的用户界面。取决于从用户界面生成组件选择的默认用户界面的配置,可提示用户配置该用户界面上诸元素的布置。但是,在一个实施例中,默认用户界面被预编码或组织,以使该程序将知道将用户界面每一个元素放在何处而无需用户干涉。
一旦为新步骤生成了用户界面,它即被存储在用户界面资源中。然后该程序检查过程中其余的用户界面以确定其中是否有任何用户界面因为过程中新近被添加的步骤的原因而需要被修改。这在步骤513示出。如果其中任何用户界面要被改变,则该程序顺着流程图的路径前进至步骤514。但是,在前进至步骤514以前,该程序将新近生成的用户界面存储在用户界面规范402中。这在步骤515示出。如果其它用户界面不需要任何修改,则该程序在步骤515存储该用户界面。
在步骤514,过程改变检测组件420试图访问诸如资源430等用户界面修改资源。在步骤514内,重要的是过程改变检测组件420要知道资源430的位置。在一个实施例中,无论资源430是位于本地机器上还是在网络上,它的位置都被硬编码到过程改变检测组件420或应用程序400中。但是,本发明的其它实施例包括向用户呈现可能的位置的选择,或甚至允许用户输入位置信息。
被加载的修改资源430被语法分析以生成允许查找用户界面元素及其相关联的元数据的散列表。一旦生成了散列表,该程序即移到资源430中的第一个或最顶上的元素。在一个实施例中,资源430以分层结构方式列出用户界面修改,以使资源430内的第一个元素也是其中所有元素的父元素。但是,可使用资源430内存储格式的许多其它变体、以及许多其它处理模式。接下来,咨询散列表以在散列表中的任何元数据中查找链顶部的元素。示意性地,一数据结构为该特定用户界面元素提供相关信息。接下来,该程序基于在步骤508获得的信息确定要基于对该过程进行的修改而对用户界面中哪些元素进行修改。
一旦已从查找表获得了信息,即对适当的用户界面元素应用自定义。以下将参考图8对自定义的应用进行更加详细的描述。一旦应用了自定义,就确定了刚被自定义的元素是否包含任何嵌套的用户界面元素。如果有嵌套的元素,则重复以上过程直至所有嵌套的元素已被按需修改。此递归是相对简单和容易的实现修改的方法。
图8是根据本发明的一个实施例示出在图5的步骤514发生的过程的流程图。用户界面的修改在步骤800开始,在此在步骤508收集的信息被编译并被用来确定要修改用户界面中哪些元素。接下来在步骤810,查询应用程序400内的用户界面代码本身、或用户界面规范402。一般而言,这是通过使用一个或多个元数据应用程序编程接口(API)确定关于用户界面代码的信息来实现的。例如,在微软的.NET编程框架内,此能力被称为“反射”。
查询代码的能力为本发明的实施例提供了一个重要的优点。具体而言,它允许应用程序理解用户界面代码本身的特性。用户界面修改资源430使用元数据API来查询用户界面代码,以确定例如正被商务过程中的改变或新用户界面修改的用户界面元素的数据类型。然后,相关联的修改信息可被强制类型转换为适当的形式以在不产生错误的情况下直接修改用户界面元素。因此,在适当情况下,当用户界面元素被修改时,完全以文本数据编写的用户界面修改规范430可用被强制类型转换的文本数据修改任何适当类型的用户界面元素。因此,在步骤820,根据步骤810的用户界面代码查询的结果,相对于用户界面元素的修改信息被调整。
在步骤830,被调整的修改信息被应用于用户界面代码。在一些实施例中,用户界面元素的自定义可改变特定用户界面元素的布局或大小。然后此布局改变可能干扰该用户界面中的一个或多个其它元素。
根据本发明的实施例,一旦如参考步骤830所描述地应用了被调整的修改信息,即如可任选步骤840中所示地,修改的效果被实际地测量或者获得。例如,如果诸如按钮或相关任务等控件的文本被添加或者修改,则文本的实际长度很可能要求诸如相关任务部分等物理控件也变成较大。变大的按钮因此可能不再与其它控件正确地对齐,或者它甚至可能与其它控件重叠。
如果修改不会影响用户界面元素布局,则控制沿路线850且步骤514结束。但是如果会影响布局,则控制沿855前进至步骤860,在此用户界面的实际布局被调整以容纳大小被调整的修改UI元素。此容纳可采取简单地移动会干扰被调整的UI元素的一个或多个元素的形式。但是,调整布局以容纳大小被调整的用户界面元素还可包括调整其它元素来将它们与大小被调整的元素对齐。此外,用户界面元素修改的另一个方面包括允许资源430在用户界面上为被修改的元素指定全新的位置的能力。
一旦完成了步骤514的过程,在步骤516被修改的用户界面元素即被存储在用户界面规范中。在此步骤,在新的用户界面里发现其它困难的情况下,原来的用户界面也可作为备份版本被保存,或者在该过程稍后被返回到原始状态的情况下返回到原来的用户界面。
尽管参考特定实施例描述了本发明,但是本领于技术人员将会认识到,可在形式和细节上进行改变而不会偏离本发明的精神和范围。
权利要求
1.一种用于修改表示具有多个步骤的商务过程的应用程序中的用户界面的系统,所述系统包括数据,它指示对应于所述多个步骤中的至少一个步骤的用户界面;过程改变检测模块,它被配置成确定所述商务过程中的改变;以及用户界面修改资源,它包括相对于所述至少一个用户界面元素的修改信息,且被配置成接收由所述过程改变检测模块确定的信息,并基于由所述过程改变检测模块所确定的信息修改所述用户界面。
2.如权利要求1所述的系统,其特征在于,所述用户界面修改资源还被配置成在所检测到的过程改变是步骤的添加时生成新的用户界面。
3.如权利要求1所述的系统,其特征在于,所述用户界面修改资源是XML的形式。
4.如权利要求1所述的系统,其特征在于,所述用户界面修改资源是结构化数据格式的形式。
5.如权利要求1所述的系统,其特征在于,所述用户界面是数据库的形式。
6.如权利要求1所述的系统,其特征在于,所述过程改变检测模块还被配置成确定所检测到的改变影响了所述商务过程中至少一个用户界面中的哪一个;以及其中,所述用户界面修改资源修改每一个受到影响的用户界面。
7.一种自动修改具有多个步骤的商务过程的用户界面的方法,所述方法包括改变所述商务过程的一部分;用过程改变检测模块检测所述商务过程中的改变;确定所述改变对至少一个用户界面的影响;以及基于所确定的所述商务过程中的改变的影响,以用户界面修改资源修改所述至少一个用户界面。
8.如权利要求7所述的方法,其特征在于,改变所述商务过程的一部分还包括将额外的步骤添加到所述商务过程中。
9.如权利要求7所述的方法,其特征在于,改变所述商务过程的一部分还包括将所述商务过程中的步骤重新排序。
10.如权利要求7所述的方法,其特征在于,改变所述商务过程的一部分还包括移除所述过程中的自动前进。
11.如权利要求7所述的方法,其特征在于,确定所述改变的影响还包括确定所述改变是否需要新的用户界面;以及响应于所述改变生成新的用户界面。
12.如权利要求7所述的方法,其特征在于,确定所述改变的影响还包括标识所述过程中受到所述过程改变影响的所有用户界面;以及确定所述过程的改变对每一个被标识的用户界面的影响。
13.如权利要求7所述的方法,其特征在于,确定所述改变的影响还包括获得相对于所述用户界面的至少一个用户界面元素的修改信息;响应于所获得的修改信息调整所述用户界面的布局。
14.如权利要求13所述的方法,其特征在于,所述用户界面的布局是基于至少一个定制的用户界面元素的大小来调整的。
15.如权利要求14所述的方法,其特征在于,调整所述布局包括修改至少一个其它用户界面元素的布局参数。
16.如权利要求13所述的方法,其特征在于,修改所述用户界面包括将修改信息应用于由所述用户界面修改资源指定的每一个用户界面元素。
17.如权利要求7所述的方法,其特征在于,还包括在单个界面中与多个其它用户界面一起显示所述至少一个经修改的用户界面。
全文摘要
用于响应于商务过程中由用户发起的改变而更新该商务过程的用户界面的一种方法和装置。改变被应用程序检测到,在无需重新编译应用程序的情况下受影响的用户界面被更新以反映经改变的过程。对用户界面的改变是从现有用户界面的已知部分以及在该过程中的新的或被重新排序的步骤期间所添加的信息生成的。
文档编号G06F9/44GK1828526SQ20061000378
公开日2006年9月6日 申请日期2006年2月10日 优先权日2005年3月4日
发明者B·R·格拉斯克, E·D·艾弗森, K·A·纳尔逊 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1