图形用户界面设计方法和设备的制作方法

文档序号:6561991阅读:209来源:国知局
专利名称:图形用户界面设计方法和设备的制作方法
技术领域
本发明涉及软件开发,更具体地说,涉及设计供计算机程序和/或图形用户界面使用的菜单。
背景技术
除使用定点装置之外,用户与计算机程序交互作用的主要手段是通过菜单的使用。为了使使用变得容易,按照逻辑方式并且以允许用户易于发现程序内可用的各种功能的方法设计菜单。一般来说,菜单包括一组顶级的菜单项或者节点,同时子菜单节点被组织在每个相应的顶级菜单节点之下。按照这种方式,另外的各级细节被设置和嵌入菜单结构内。尽管如此,程序正在变得日益复杂,提供日益增长的大批功能。正如所料,访问这些功能所需的菜单已增长,以匹配菜单复杂性。通常,菜单往往会以几个层级在显示屏幕内不规则地展开。
目前,相对于计算机程序的产生,菜单设计是一项独立的工作,因为设计员首先设计菜单。设计员编写文本文档或菜单说明,所述文本文档或菜单说明规定将用于程序的菜单结构。除了实际的菜单结构之外,菜单说明相对于程序的对应操作状态规定菜单的状态。程序的操作状态(在一些情况下也称为使用情况(use case))指示程序在给定时刻的语境。例如,使用情况可指示保存在计算机程序的不同变量中的值。使用情况还能够反映已被提供给程序,并且使程序处于该特定操作状态的各种用户输入。总之,和程序本身一样,用于描述程序菜单的菜单说明往往大而复杂。结果,菜单说明通常难以管理,并且难以理解。
但是,程序设计员用作蓝图的正是该菜单说明,程序菜单实际编码自所述蓝图。另外,一旦被编码,质量工程师随后利用程序菜单验证程序内的菜单实现,因为针对程序的不同操作状态(由不同的使用情况反映)规定菜单的状态的正是该菜单说明。如上所述,菜单说明文档的费解性使得程序设计员和质量工程师都难以收集编码和/或验证菜单实现所必需的信息。
因此,提供一种能够按照克服上述局限性的方式呈现菜单状态信息的技术和/或工具应是有益的。

发明内容
本发明提供与计算机程序的菜单设计和验证有关的方法和制造产品。本发明的一个实施例可包括一种验证计算机程序的菜单设计的方法。所述方法可包括识别多个菜单节点,每个节点与至少一种属性相关联,按照使用情况比较不同的菜单节点的属性,并指示对于该使用情况,在不同菜单节点的属性之间是否存在冲突。
本发明的另一实施例可包括一种验证程序的菜单设计的方法,包括按照选择的使用情况确定菜单节点的分层结构的子集,并给出所述子集的直观表示(visual representation)。所述直观表示可按照选择的使用情况,指示所述子集中的每个菜单节点的状态。
本发明的另一实施例可包括一种保存有计算机程序的机器可读存储器,所述计算机程序具有可由机器执行的,使机器执行这里公开的各个步骤和方法的多个代码段。


附图中表示了目前优选的实施例;但是要明白本发明并不局限于所示的具体安排和手段。
图1是供根据本发明的一个实施例的菜单设计工具之用的图形用户界面(GUI)的示图。
图2是供根据本发明的另一实施例的菜单设计工具之用的GUI的示图。
图3是供根据本发明的另一实施例的菜单设计工具之用的GUI的示图。
图4是图解说明根据本发明的另一实施例设计菜单的方法的流程图。
具体实施例方式
虽然说明书以定义本发明的新颖特征的权利要求来结束,不过结合附图根据下面的说明将更好地理解本发明。根据需要,这里公开了本发明的详细实施例;但是,要明白公开的实施例只是本发明的举例说明,本发明可具体体现为各种形式。于是,这里公开的具体结构和功能细节不应被理解为对本发明的限制,相反只是作为权利要求的基础,以及作为用于教导本领域的技术人员不同地把本发明用在几乎任何适当详细的结构中的典型基础。此外,这里使用的术语和短语并不打算是限制性的,而是用来提供本发明的可理解的描述。
这里描述的实施例涉及计算机程序菜单的设计和/或验证。根据这里描述的实施例,菜单项可和菜单项的各种属性一起被指定。通过属性,能够规定菜单项的行为,以及菜单项的层次。此外,本发明能够为与程序相关的不同使用情况,创建菜单及其各个部分的状态的直观表示。
图1是供根据本发明的一个实施例的菜单设计工具之用的图形用户界面(GUI)100的示图。GUI100可用于规定菜单的菜单节点以及这些菜单节点的各种属性,用作与菜单设计工具的接口。GUI100的顶部是一系列的可选图标105。在一个实施例中,可选图标105可以是超链接文本,不过可以使用任何各种可选用户界面元素。可选图标105可包括“File Menu”,“Edit Menu”,“View Menu”和“Tools Menu”图标。每个可选图标可对应于在为其创建菜单的程序中可用的顶级菜单项。这些按钮可动态生成,如下进一步详细所述。顶级菜单节点指的是一般在计算机程序的任务栏中可用的,并且当被选择时,使下拉菜单从其伸出的菜单标题或对象。选择任意可选图标105导致专用于所选顶级菜单节点的深一层的GUI被显示,即File Menu结构,ViewMenu结构等。
列首部110行图解说明可利用GUI100规定的各项信息和/或属性。如图所示,列首部110包括“Top Menu”,“Menu Level1”,“MenuLevel2”,“Mnemonic”,“Shortcut Key”,“Checkmark?”和“Description”。如果需要的话,可以包括其它首部,比如“AdditionalConditions”列和“Special Cases”列。菜单设计人员能够把信息直接输入GUI100的字段中,以指定各个菜单节点和对应的属性。例如,一旦设计人员输入了顶级菜单节点,那么对于每个这样的顶级菜单节点,菜单设计工具可在GUI100的顶部动态生成对应的可选图标105。
列首部“Top Menu”,“Menu Level1”和“Menu Level2”指示菜单节点位于菜单分层结构内的特定位置。每个菜单节点的布置还指示所述分层结构内菜单节点的布置,即,指定该菜单节点的父和/或子菜单节点。如图所示,顶级菜单节点可包括“File”。其它顶级菜单节点可包括在顶部列举的那些菜单节点,即,可选图标105,并且可通过恰当地访问滚动条120来查看。列“Menu Level1”指示在选择的顶级节点之下伸出的下拉菜单内列举的菜单节点的子集。列“Menu Level2”指示通过选择1级菜单项之一,可在弹出式菜单内列举的那些菜单节点。就举例说明来说,在图1中图解说明的菜单结构指示菜单结构包括顶级菜单节点“File”。当选择“File”时,1级菜单节点“New”可用。1级菜单节点“New”的选择允许用户分别通过2级菜单节点“Message”或“Chat”的选择,选择创建新的消息或者新的聊天会话。
下一列“Mnemonic”列举与每个菜单节点相关联的助记符(mnemonic),如果分配了一个助记符的话。助记符是选择的便于人们记住给定的菜单节点的缩写。在计算机程序菜单的语境中,助记符通常是分配给菜单节点的单键或字符,并且当下拉菜单被激活时可被输入。称为“Shortcut Key”的下一列指示除了通过菜单节点激活各种功能之外,可用于激活所述各种功能的快捷键组合。虽然当菜单已被激活或选择时使用助记符,不过快捷键一般调用某一功能,而根本不要求用户访问菜单结构。
称为“Checkmark?”的下一列指示在选择菜单节点之后,是否将直观地显示出该菜单节点被选择或者已被选择,例如,通过使用在菜单中布置在菜单节点附近的复选标记或者其它直观指示符。列“Description”可用于设计人员注释或者其它补充信息。行115包括允许设计人员按照升序或降序对列内的菜单节点重新排序的一批过滤器,以及用于特定属性值的过滤器等。
图2是供根据本发明的另一实施例的菜单设计工具之用的GUI200的示图。GUI200图解说明菜单设计工具的助记符验证功能。根据这里公开的实施例,可分析分配给不同的菜单节点的助记符,以确定是否存在或者可能存在冲突。类似于GUI100,GUI200可包括具有列首部,比如“Top Menu”,“Menu Level1”和“Menu Level2”的列首部行205。根据所设计的特定菜单分层结构,如果需要的话,可包括用于另外的菜单级别的其它各列,即“Menu Level3”,“MenuLevel,4”等。从而,如图2中所示,顶级菜单节点“Action”具有1级菜单子菜单节点“Add to Group”,“Calendar”,“Forward”,可能还具有未示出但是可通过垂直滚动条210访问的其它子菜单节点。
列首部“Mnemonic”215指示已被分配给各个菜单节点的特殊助记符。字段中的“1”指示位于该列顶部的助记符已被分配给对应的菜单节点。从而,例如,2级菜单节点“Accept with Comments”和“Add toCalendar”都已被分配助记符“W”。具有助记符首部“W”,“y”和“z”的各列只代表已被分配的一些助记符。通过利用水平滚动条220左右滚动,可查看其它的助记符。但是,列“Total”225以及列“Top Menu”,“Menu Level1”和“Menu Level2”可以是固定的。“Total”列225计算每行中的指示符的总数,另外对于给定的1级菜单节点的所有2级子菜单节点计算总数。
就举例说明来说,“Total”列225可被检查,并指示对于所示的全部2级菜单节点,每个2级菜单节点已被分配一个助记符,由在每个合计框中“1”的存在示出。每个1级菜单节点可具有一个“Total”行230,即,“ADD TO GROUP>TOTAL”,“CALENDAR>TOTAL”和“FORWARD>TOTAL”。行“ADD TO GROUP>TOTAL”中的“Total”列225的检查表示2个助记符已被分配给“Add to Group”1级菜单项,该菜单项具有2个2级子菜单节点(menu node children)。如果总数小于在“Add to Group”之下的2级菜单节点的数目,那么一个或更多的2级菜单节点会缺少助记符。如果总数大于在“Add to Group”之下的2级菜单节点的数目,那么一个或更多的2级菜单节点被分配一个以上的助记符。
在“TOTAL”行230,即,“ADD TO GROUP>TOTAL”,“CALENDAR>TOTAL”和“FORWARD>TOTAL”中,可以指示可能的助记符冲突。更具体地说,“CALENDAR>TOTAL”行中数字为2的阴影框235指示1级菜单节点“Calendar”之下的2个2级菜单节点已被分配相同的助记符,这种情况下“W”。阴影框235,以及其内的数字指示潜在的冲突。即,如果这两个菜单项将同时用于给定的使用情况,那么它们均需要一个唯一的助记符,至少就“Calendar”之下的其它2级菜单节点来说唯一的助记符。
但是,情况可能是菜单节点的使用情况阻止菜单节点“Acceptwith Comments”和“Add to Calendar”同时可用。即,如果一个菜单节点可用,那么另一菜单节点可被禁用和变灰。如果情况就是这样,那么这两个菜单项可共用公共或相同的助记符。
这里使用的使用情况指的是为其设计菜单的计算机程序的特定操作状态。对于每种给定的使用情况,菜单具有特定的状态。换句话说,对于计算机程序的每种操作状态,菜单具有特定的状态。菜单状态定义形成菜单的菜单节点的属性值。例如,在给定的操作状态内,某些菜单节点可用,其它菜单节点不可用。如在菜单节点的属性中反映的那样,每个菜单节点的状态可与给定的应用状态关联起来。
就举例来说,简单的使用情况可以是当没有文档被装入应用程序内时,应用程序内顶级菜单节点“File”的用户选择。响应“File”的用户选择,应使菜单处于定义的状态。例如,情况可能是只应启用“File”下的特定1级菜单节点。例如,就字处理器来说,可用的1级菜单节点可能局限于创建新文档的“New”或者打开现有文档的“open”。在文档被创建或打开之前,与在字处理应用程序内打开的文档相关的其它菜单节点理应不可用。
应认识到可根据菜单设计人员输入的,即在GUI100中输入的数据自动填充在图2中表示的各个数据字段。因此,可按照自动方式实现这里就识别缺少的助记符,缺少的快捷键,冲突的助记符和/或快捷键而论公开的各种功能。
图3是供根据本发明的另一实施例的菜单设计工具之用的GUI300的图示。如图所示,GUI300对应于“File Menu”顶级菜单项。每个顶级菜单节点可具有专用GUI视图,例如GUI300,它允许设计人员处理特定的顶级菜单节点。GUI300是当选择参考图1讨论的可选图标105之一时,可呈现的那类GUI的一个例子。这种情况下,响应选择图1的“File Menu”图标105,可呈现GUI300。
GUI300允许设计人员针对一组使用情况指定菜单节点的状态,因为这些使用情况与特定的顶级菜单项(这种情况下“File”)相关。如图所示,指定下列的使用情况305“Nothing selected in mail view”,“Calendar w/nothing selected”,“Calendar with entry selected”和“Side calendar with entry selected”。所示的使用情况305对应于具有电子邮件和日历功能的个人信息管理器。如上所述,每种使用情况305描述为其设计菜单的计算机程序的特定操作状态。
根据本发明的另一实施例,每种使用情况305可以是可选图标或者其它直观元素。一旦被选择,就能够显示计算机程序的操作状态的视图。即,菜单设计人员能够保存图解说明与该使用情况对应的计算机程序的操作状态的屏幕快照。响应选择使用情况305之一,可显示相关的屏幕快照情况。GUI300还允许菜单设计人员基于每种使用情况,指定每个菜单节点的特定状态。例如,在一个实施例中,设计人员能够指示对于每种使用情况,给定的菜单节点是被启用还是被禁用。如上参考图1所述那样设置过滤器310。
应认识到这里公开的GUI只是出于举例说明的目的而提供的,因而并不意图限制本发明。例如,一个或多个直观元素和/或GUI的控制可被改变或变更,而不会脱离这里公开的实施例的精神。可以使用如同这里所述的能够接收和/或提供信息的任何适当GUI。
图4是图解说明根据本发明的另一实施例设计菜单的方法400的流程图。可利用这里参考图1-3说明的菜单设计工具执行方法400。因此,方法400可始于步骤405,在步骤405中,利用设计工具的设计人员能够指定菜单节点。设计人员能够输入将用于构建程序的菜单结构的每个菜单节点。
在步骤410,设计人员能够输入每种使用情况,对于每种使用情况,菜单将必须具有对应的状态。在步骤415,设计人员能够可选地输入或装入与在步骤410中输入的各种使用情况对应的屏幕快照。在步骤420,设计工具能够创建每个屏幕快照和对应于该屏幕快照的使用情况之间的关联。因此,当稍后选择该使用情况时,可把设计人员带到与选择的使用情况关联的屏幕快照的视图。
在步骤425,设计人员能够指定菜单节点的属性。所述属性可包括(但不限于)助记符,快捷键,描述,特殊情况,菜单级别分配,菜单节点是否被复选,以及基于每种使用情况菜单节点是被启用还是被禁用。尽管没有参考图3进行讨论,不过菜单项的其它可能状态可包括(但不限于)菜单节点不可见的隐藏状态,和允许设计人员指定菜单项的特殊非常规行为的特殊情况。
在步骤430,设计工具可以评估不同菜单项的属性。设计工具随后能够识别缺少助记符的任何菜单项。应认识到对于相同菜单级别内的菜单项,对于在相同菜单级别内并且具有相同父菜单节点的菜单项等,可在全局的层面上执行对缺少的助记符的搜索和/或过滤。在步骤435,设计工具能够评估和/或比较属性,从而识别具有冲突的助记符的任何菜单节点。例如,在一个实施例中,设计工具能够分析具有公共父菜单节点的菜单项,即具有相同的菜单级别属性并且通过上面的菜单级别内的相同菜单节点访问的那些菜单项。具有相同助记符的那些菜单节点可被识别和直观地指出。
在步骤440,设计工具能够评估菜单节点和对应的属性,从而识别缺少快捷键的那些菜单节点。例如当设计人员要求时,任何这样的菜单节点可被直观地指出。在步骤445,设计工具能够评估和/或比较菜单节点和对应的属性,从而检查冲突的快捷键。由于快捷键本质上是全局的,因此在正在开发的菜单的所有菜单节点内都能够进行菜单节点的快捷键的比较。
只是出于举例说明的目的,提供了参考图4说明的各个步骤。因而,方法400并不意图以任何方式限制本发明。例如,可按照和给出的顺序不同的顺序执行参考图4说明的一个或多个步骤。此外,可包括另外的步骤,比如按照用户选择的属性过滤菜单节点,响应用户请求执行这里描述的任意一个或多个功能等。
例如,在本发明的另一实施例中,设计工具能够给出报告。在一个方面,所述报告可以是指示这里讨论的任意一项或多项信息的文本报告。例如,可以清单、表格和/或文本形式等提供这样的报告,从而有效地替换迄今为止一直由菜单设计人员手动创建的菜单的文本文档说明。在另一实施例中,所述报告可以是对于指定的使用情况,菜单或其任意部分的状态的图形或直观说明。例如,这样的图形说明可从GUI300生成。所述图形说明可以是菜单或其一部分的实际状态的直观表示,同时根据选择的使用情况,选择的菜单节点被恰当地禁用、隐藏等。总之,这里描述的各种报告和功能允许开发人员更好地理解菜单结构的各种状态,从而便于菜单的更快编码和验证。
本发明可用硬件、软件或者硬件和软件的组合来实现。本发明可集中地在一个计算机系统中实现,或者可分布式地实现,不同的组件分散在几个互连的计算机系统上。适合于执行这里描述的方法的任意类型的计算机系统或其它设备都是合适的。硬件和软件的一种典型组合可以是具有计算机程序的通用计算机系统,当被装入和执行时,所述计算机程序控制计算机系统,以致计算机系统执行这里描述的方法。还可用计算机程序产品具体体现本发明,所述计算机程序产品包含使这里描述的方法的实现成为可能的所有特征,并且当被装入计算机系统时,能够执行这些方法。
在本语境中,术语“计算机程序”、“软件”、“应用程序”、其变体和/或组合意味着用来使具有信息处理能力的系统直接地或者在下述两者之一或者这两者之后,执行特定功能的一组指令的任意语言、代码或符号的任意表述a)转换成另一语言、代码或符号;b)用不同材料形式的再现。例如,计算机程序可包括(但不限于)子例程、函数、过程、对象方法、对象实现、可执行的应用程序、小应用程序、小服务程序、源代码、目标代码、共享程序库/动态负载库和/或为在计算机系统上执行而设计的其它指令序列。
这里使用的术语“一个”被定义为一个或一个以上。这里使用的术语“多个”被定义为两个或两个以上。这里使用的术语“另一个”被定义为至少第二个或者更多。这里使用的术语“包括”和/或“具有”被定义为包含(即,开放式语言)。这里使用的术语“耦接”被定义为连接,不过不一定直接连接,并且不一定机械连接,即,通过通信信道或通道通信链接。
本发明可被具体体现成其它形式,而不脱离其精神或本质属性。因此,本发明的范围由下面的权利要求限定,而不是前面的说明书限定。
权利要求
1.一种验证计算机程序的菜单设计的方法,所述方法包括识别多个菜单节点,其中每个节点与至少一种属性相关联;按照使用情况比较不同的菜单节点的属性;和指示对于该使用情况,在不同菜单节点的属性之间是否存在冲突。
2.按照权利要求1所述的方法,其中所述属性包括菜单级别属性,所述比较步骤还包括按照使用情况,检测具有冲突的菜单级别属性的至少两个菜单节点。
3.按照权利要求1所述的方法,其中所述属性包括助记符属性,所述比较步骤还包括按照使用情况,检测具有相同并且冲突的助记符属性的至少两个菜单节点。
4.按照权利要求1所述的方法,其中所述属性包括快捷键属性,所述比较步骤还包括检测具有相同并且冲突的快捷键属性的至少两个菜单节点。
5.按照权利要求1所述的方法,还包括按照指定的属性过滤菜单节点。
6.按照权利要求5所述的方法,其中指定的属性选自包括助记符、快捷键和菜单级别的组。
7.按照权利要求5所述的方法,其中指定的属性选自包括菜单项状态和条件的组。
8.按照权利要求5所述的方法,还包括按照指定的使用情况过滤菜单节点。
9.按照权利要求1所述的方法,还包括识别缺少助记符的菜单节点。
10.一种验证计算机程序的菜单设计的方法,包括按照选择的使用情况确定菜单节点的分层结构的子集;和呈现所述子集的直观表示,其中所述直观表示按照选择的使用情况,指示所述子集中的每个菜单节点的状态。
11.按照权利要求10所述的方法,所述呈现直观表示的步骤还包括指示所述子集中的每个菜单节点是否被启用。
12.按照权利要求10所述的方法,所述呈现直观表示的步骤还包括指示所述子集中的菜单节点是否缺少助记符属性。
13.按照权利要求10所述的方法,所述呈现直观表示的步骤还包括指示所述子集中的至少两个菜单节点是否具有冲突的助记符属性。
14.按照权利要求10所述的方法,所述呈现直观表示的步骤还包括指示至少两个菜单节点是否具有冲突的快捷键属性。
15.一种验证计算机程序的菜单设计的设备,包括按照选择的使用情况确定图形用户界面的菜单节点的分层结构的子集的装置;和呈现所述子集的直观表示的装置,其中所述直观表示按照选择的使用情况,指示所述子集中的每个菜单节点的状态。
16.按照权利要求15所述的设备,所述呈现直观表示的装置还包括指示所述子集中的每个菜单节点是否被启用的装置。
17.按照权利要求15所述的设备,所述呈现直观表示的装置还包括指示所述子集中的菜单节点是否缺少助记符属性的装置。
18.按照权利要求15所述的设备,所述呈现直观表示的装置还包括指示所述子集中的至少两个菜单节点是否具有冲突的助记符属性的装置。
19.按照权利要求15所述的设备,所述呈现直观表示的装置还包括指示至少两个菜单节点是否具有冲突的快捷键属性的装置。
20.按照权利要求15所述的设备,其中每个菜单节点与至少一种属性相关联,所述设备还包括按照指定的属性过滤菜单节点的装置。
全文摘要
一种验证计算机程序的菜单设计的方法,所述方法可包括识别多个菜单节点,其中每个节点与至少一种属性相关联,按照使用情况比较不同的菜单节点的属性,和指示对于该使用情况,在不同菜单节点的属性之间是否存在冲突。
文档编号G06F9/44GK1983173SQ200610136140
公开日2007年6月20日 申请日期2006年10月13日 优先权日2005年12月13日
发明者约汉·莫甘·兰斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1