CN102566916B - 图表的创建、编辑和导航 - Google Patents

图表的创建、编辑和导航 Download PDF

Info

Publication number
CN102566916B
CN102566916B CN201110427832.8A CN201110427832A CN102566916B CN 102566916 B CN102566916 B CN 102566916B CN 201110427832 A CN201110427832 A CN 201110427832A CN 102566916 B CN102566916 B CN 102566916B
Authority
CN
China
Prior art keywords
user
domain
data
user command
user interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110427832.8A
Other languages
English (en)
Other versions
CN102566916A (zh
Inventor
J·K·雅各布森
S·卡恩
G·A·琼斯
T·E·吉布森
马尔 S·D·德
A·J·伯恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102566916A publication Critical patent/CN102566916A/zh
Application granted granted Critical
Publication of CN102566916B publication Critical patent/CN102566916B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明涉及图表的创建、编辑和导航。组织具有空间意义的数据。一种方法包括在用户界面上向用户显示空间结构化数据的表示。用户输入是通过一个或多个硬件用户接口设备在计算机实现的用户界面上接收的。用户输入是域不可知的,但是具有空间内涵。基于显示在用户界面上的预先存在的结构化数据,确定该用户输入的域。基于所确定的域,用户输入被解释为域专用的响应。域专用的响应与跨多个域的空间内涵是一致的。

Description

图表的创建、编辑和导航
技术领域
本发明涉及数据处理的技术,尤其涉及图表的处理技术。
背景技术
背景和相关技术
计算机和计算系统已经影响到了现代生活的几乎每个方面。计算机通常在工作、消遣、保健、运输、娱乐、家政管理等中都有涉猎。
许多计算机意在通过与计算机的直接用户交互来使用。这样,计算机具有输入硬件和软件用户接口以促成用户交互。例如,现代通用计算机可包括用于允许用户向计算机输入数据的键盘、鼠标、触摸垫、相机等。另外,有各种软件用户接口可用。
软件用户接口的示例包括图形用户界面、基于文本命令行的用户界面、功能键或热键用户界面等等。
使用现存或当前工具创建系统体系结构图表常常是缓慢而繁琐的。为了创建内容,用户必须不断地在鼠标(例如,用于创建节点和链接等)、键盘(例如,用于为节点和链接命名、用于向节点添加成员等)和再次回到鼠标(例如,以寻找节点和链接相对于图表中其他节点和链接的微调位置或重新安排多个节点和链接以适应新节点和/或链接的添加)间进行切换。对于开发者而言,这可能在开发者力求探究设计时导致思维流的持续中断。
为了解决这种持续的模式切换,系统可包括用于创建节点和链接的键盘快捷键。然而,传统系统使得这不切实际。首先,在诸如UML之类的复杂域中,所涉及到的大量类型使得它难以创建,更不用说是记住所有类型的有意义键盘快捷键。其次,布局在体系结构图表中是很要紧的,所以全自动布局常常是不切实际的。传统系统通过给予用户对节点和链接的定位的非常精细粒度的控制来解决这一点。然而,在大多数情况下用户希望在宽泛意义上考虑布局,使用诸如“上方/下方”、“与…同组”和“与…相邻”来表达意图。用户微调具体布局的功能对此仅有最低限度的帮助并且这也是当前系统中持续的模式切换的缘由之一。此外,有证据显示这被看作希望从手绘白色书写板移换到更复杂的计算机实现的图表化解决方案的人们的接纳障碍。
在此要求保护的主题不限于解决任何缺点或仅在诸如上述环境中操作的各个实施例。相反,提供该背景仅用以示出在其中可实践在此描述的部分实施例的一个示例性技术领域。
发明内容
此处解说的一个实施例包括在计算环境中实践的方法。该方法包括用于组织数据的动作,其中该数据具有空间意义。该方法包括在用户界面上向用户显示空间结构化数据的表示。用户输入是通过一个或多个硬件用户接口设备在计算机实现的用户界面上接收的。用户输入是域不可知的,但是具有空间内涵。基于用户界面上显示的预先存在的结构化数据或者在先用户动作,确定该用户输入的域。基于所确定的域,用户输入被解释为域专用响应。域专用响应与跨多个域的空间内涵是一致的。
提供本发明内容以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
另外的特征和优点将在以下的描述中阐述,并且部分可从该描述中显而易见,或者可以从此处的教示实践中习得。本发明的各特征和优点可以通过在所附的权利要求书中特别指出的手段和组合来实现和获得。本发明的特征将从以下描述和所附权利要求书中变得完全显而易见,或者可通过如下所述对本发明的实践而获知。
附图说明
为了描述可获得本主题的上述和其它优点和特征的方式,将通过参考附图中示出的本主题的具体实施方式来呈现以上简要描述的本主题的更具体描述。应该理解,这些附图仅描绘了各典型实施例,因此其不应被认为是对范围的限制,各实施例将通过使用附图用附加特征和细节来描述并解释,在附图中:
图1解说各种姿势、命令、和图表域的表格;
图2A解说类(class)图表;
图2B解说向类图表添加继承类;
图3A解说活动图表;
图3B解说向活动图表添加动作;
图4A解说活动图表;
图4B解说改变活动图表中的元素类型的部分;
图4C解说改变活动图表中的元素类型的部分;
图4D解说改变活动图表中的元素类型的部分;
图4E解说改变活动图表中的元素类型的部分;
图5A解说在活动图表中创建链接的部分;
图5B解说在活动图表中创建链接的部分;
图5C解说在活动图表中创建链接的部分;
图5D解说在活动图表中创建链接的部分;
图6解说导航活动图表;以及
图7解说组织数据的方法,其中该数据具有空间意义。
具体实施方式
一些实施例可基于域和/或上下文使用更智能的键盘快捷键、半自动布局和自动约束的向导提示,以允许用户保持在创建图表的流中而不必中断工作来处理具体的布局。一个实施例系统可实现命令的组合以使用户以一致方式在诸如当前节点的上方、下方、或内部之类在语义上具有意义的位置上放置新节点,而不会为用户增添管理逐像素布局的负担。这与定向的上下文和/或域专用的受约束向导(诸如IntelliSense)相组合以在输入名称或标记时设置元素类型,从而得到让用户保持在创建图表的流中而不必中断他们的工作以处置具体布局的系统。另选地或另外地,实施例可包括经由其链接来容易地导航图表的能力。
一些实施例实现这样的功能性,其中可通过各种姿势访问的标准方向性命令可被用于在图表或其他空间结构化数据中创建当前元素上方、下方、左方、右方或内部的元素。不论域如何,方向性命令都保持不变,因为与命令相关联的方向具有普适意义,并且可与域知识相组合以确定例如默认创建哪类元素。
一些实施例可应用于图表和/或其他空间结构化数据。如所述的,实施例可用于例如使用UML图表来创建系统体系结构蓝图。实施例可用于流程图图表。具体而言,实施例可用于在图表中放置节点和连接符。实施例可用于物理对象空间布局。例如,实施例可用于参考其他现有物理对象说明物理对象。实施例可用于数据库或其他表格。例如,实施例可被用于定义数据库对象相关性或关系。
如所述的,实施例可使用各种姿势,其中无论域如何诸姿势都是不变的。例如,一些姿势可使用键盘姿势来实现。示例键盘姿势可包括用于在焦点实体下方创建新节点或对象的“Enter”;用于在焦点实体左方创建新对象的“Ctrl-L”;用于在焦点实体的右方创建新对象的“Ctrl-R”;用于在焦点实体上方创建新对象的“Ctrl-U”;以及用于在焦点实体内部创建新对象的“Ctrl-N”。显然,键盘姿势(或如下文所述的其他姿势)在不同的域中将生成不同的结果,但是具有类似的“方向”意义。例如,在设计汽车的电路布局的情形下,Ctrl+U可在汽车的前头灯的正交布局中添加电路,而Ctrl+U在UML类图表的情形下则可添加基类。在这两种情况下,图表元素都将被恰当地对齐。一个共性在于这些实施例都采用方向暗示、将其应用于特定的域、并使用户免于必须作出逐像素的改变。
在替换实施例中,可使用鼠标姿势,其中无论域如何诸姿势都是一样的。示例鼠标姿势可包括用于在焦点实体下方创建新节点或对象的在下鼠标轻击;用于在焦点实体左方创建新对象的在左鼠标轻击;用于在焦点实体的右方创建新对象的在右鼠标轻击;用于在焦点实体上方创建新对象的在上鼠标轻击;以及用于在焦点实体内部创建新对象的绕着该实体的近似圆周运动。
在替换实施例中,可使用触摸垫或从屏幕姿势,其中无论域如何诸姿势都是一样的。示例触摸垫或触摸屏姿势可包括用于在焦点实体下方创建新节点或对象的下触摸垫或触摸屏轻击;用于在焦点实体左方创建新对象的左触摸垫或触摸屏轻击;用于在焦点实体的右方创建新对象的右触摸垫或触摸屏轻击;用于在焦点实体上方创建新对象的上触摸垫或触摸屏轻击;以及用于在焦点实体内部创建新对象的绕着该实体的近似圆周运动。
在替换实施例中,可使用所跟踪的姿势人类身体的姿势,其中无论类如何诸姿势都是一样的。例如,存在用于跟踪手臂运动的各种工具,诸如使用可被计算系统跟踪的手持式控制器。诸姿势可基于由加速计和/或控制器跟踪设备(诸如红外运动跟踪器)所感测到的控制器的运动。
替换地,其他计算系统可使用相机来识别人类的肢体和手足并跟踪它们的运动。示例肢体或手足移动姿势可包括用于在焦点实体下方创建新节点或对象的下肢体或手足运动轻击;用于在焦点实体左方创建新对象的左肢体或手足运动轻击;用于在焦点实体的右方创建新对象的右肢体或手足运动轻击;用于在焦点实体上方创建新对象的上肢体或手足运动轻击;以及用于在焦点实体内部创建新对象的绕着该实体的近似圆周肢体或手足运动。
姿势可基于计算设备中的加速计所感测到的该计算设备的运动。例如,许多平板计算设备包括用于测量绕着两个或更多个轴的运动的速度和方向的加速计。平板顶端突然向上倾斜随后倾斜平板回到水平位置可被用于在焦点实体的下方创建新节点或对象;突然左倾随后变平可被用于在焦点实体左方创建新对象;突然右倾随后变平可被用于在焦点实体右方创建新对象;平板顶端突然向下倾斜随后变平可被用于在焦点实体上方创建对象;以及平板的摇动或某种圆周运动可被用于在焦点实体内部创建对象。
另外其他实施例可使用语音命令用于对象创建。例如,在一个非限制性示例中,示例语音命令可包括用于在焦点实体下方创建新节点或对象的“下”;用于在焦点实体左方创建新对象的“左”;用于在焦点实体的右方创建新对象的“右”;用于在焦点实体上方创建新对象的“上”;以及用于在焦点实体内部创建新对象的“添加”。
如先前所述的,可以以多种方式来调用命令。由于命令以位置和方向为中心,允许鼠标、笔、触摸、多点触摸或命令能容易地映射到恰适姿势的其他命令模式的系统,这些命令模式很好地帮助创建可以跨域的自然姿势。例如,用户可以使用手指关于一形状作出上轻击以在其上方创建相关形状,或者作出实际的精确姿势以在活动节点的大致上方位置画出节点。
如先前所述的,实施例可使用与域无关的命令或者姿势并以因域而异的方式应用它们。例如,参照图1,示出了表格100,其解说了不同类型的图表、可在图表内选择的实体、独立于域的键盘姿势、以及在给定特定的图表和选择的情况下使用给定键盘姿势的结果。
实施例还可包括半自动布局的功能,其在元素被创建时微调它们的对齐和间距,从而解决可能引起的任何冲突。用户随后可手动地自由改变布局,但是该系统可极大地降低这么做的需要。现在参考图2,解说了此功能性的示例。图2A解说“Animal”类202。继承的“Cat”类204通过“IS-A”关系与Animal类202相关。用户可能希望在Animal类202之下创建“Dog”继承类。为此,用户可选择Animal类202,从而使Animal类202成为焦点。如图2B中解说的,用户随后可执行姿势以在Animal类202下方创建新的类206,诸如通过按下“Enter”键,这可被解释为在所选对象下方放置新对象的命令。因此,由于是类图表的域并且是在已经选择了Animal类202的上下文中,可在Animal类202下方创建新的继承类206。如在图2B中解说的,Cat类204可被自动地转移以为该新的继承类206腾出空间。
实施例可执行边的智能布线以确保如果某些形状不能移动——或者如果姿势本身不是简单的碰击而是需要添加的复杂形状集合,那么可以各种式样用各种方式对连接该形状集合的边进行布线。例如,实施例可实现槽状布线、正交布线等。
另外,一些实施例可被实现成执行递增布局。具体而言,改变将递增地发生,并且将对图表作出最小的改变集合。在一些实施例中可以这样以使得用户感觉布局相当稳定。
图2B示出这样的示例,其中仅有的用户输入是使用与上下文无关的命令(即,按下Enter键)而没有指定对象应该移动、放置或连接到何处的任何附加输入。如果用户这么希望的话,实施例可允许稍后关于该自动移动的移动。
如在上例中解说的,新创建的元素可基于上下文自动被给予类型。例如,在图2A和2B中所示的示例中,由于选择了Animal类204,所以系统知道姿势应在类的上下文中在类图表的域中解释姿势。因此,按下Enter导致在所选Animal类202下方创建继承类206。这解说了,基于域,新元素将为“类型”“类”。此外,实施例可推断原始元素与该新元素之间的关系,以及添加链接以说明关系是附加的一个。
如将在下文更详细地解说的,可在各种实施例中实现各种其他特征。然而此类特征的部分枚举包括:允许用户通过在从键盘输入名称时向名称添加类型来改变元素的类型;诸如IntelliSense或记忆术之类的用于帮助用户在输入名称的同时选择类型的引导及有界的输入提示;使用诸如IntelliSense之类的引导及有界的输入提示进行链接创建;以及,使用类似于创建节点的一致方案从键盘经由图表的链接来导航图表。实施例可包括使用代码专用的域的自定义数据库后端来使得能对代码的域中的姿势进行智能使用的功能。例如,可在类的所指示的继承中、方法之间的多态等等中使用姿势。
现在将解说各种示例。第一示例解说使用具有空间上下文的域不可知的命令来创建受自动类型系统和递增布局支持的元素。在此示例中,上下文包括用户创建的含节点和链接的图表。在此特定示例中,解说了UML活动图表,然而此示例可被推广至任何节点和链接图表。
实施例可包括可通过键盘、鼠标来访问和/或通过其他姿势来访问的标准命令集合以在关于当前选择具有语义意义的位置上创建元素。作为示例,具有语义意义的位置可包括但不限于当前元素的上方、下方、左方、右方或内部。实施例可包括用于布局新元素的功能,其中通过使用相对于源元素(例如,所选元素或焦点元素)和其他现有元素的姿势进行命令调用导致该新元素的创建。在域和特定上下文的驱动下,实施例可自动地向该元素分配类型。
可以实现实施例,其中无论域如何用户命令都保持不变,因为方向具有普适意义,尽管不一定在每个域中都总是一样。这样,用户具有跨大量的域执行类似任务的一致方式。如上文所解说的图1解说了可使用命令和姿势的标准集合来跨不同的域执行类似的任务。
图3A解说一个示例情景的部分。在图3A中,用户可使用常规工具箱创建节点302。在这里所解说的示例中,节点可以是单个节点、节点集合、具有子节点集合的容器、诸如作为类形状(具有关于其内部每一方法的行)的隔间形状之类的复合形状、或以上的组合等等。工具箱可包括呈现给用户的用户界面元素,其中用户可与诸如鼠标和键盘之类的硬件设备交互以便与用户界面交互。用户可以能够例如为节点302选择图表类型和元素类型。用户现在可能希望在流中紧邻原始节点302的下方创建下一节点。图3A解说用户可能能够与之交互的一个用户界面视图。在所解说的示例中,用户看到围绕该节点的四个控件304-1、304-2、304-3和304-4,每个控件指向一个方向。在所解说的示例中,用户将鼠标指针306悬浮在指向下的控件304-4上。工具提示308告诉用户该用户可使用Enter键来替代点击该控件。在本示例中,悬浮在控件304-1之上可使工具提示向用户指示可通过按下“Ctrl-R”来创建新动作。悬浮在控件304-2之上可使工具提示向用户指示可通过按下“Ctrl-U”来创建新动作。悬浮在控件304-3之上可使工具提示向用户指示可通过按下“Ctrl-L”来创建新动作。用户可能并不需要悬浮在这些控件之上,但是可能已经知道将采取什么姿势。此外,在使用诸如触摸屏、鼠标、动作感测系统等其他接口的情况下,工具提示可指示取决于该接口环境的不同姿势。
在本示例中,用户按下Enter,并且带有或不带有如图3B中所解说的连接关系的新的节点310被创建。创建什么类型的元素和关系是从图表的类型、姿势所始于的位置、姿势所始于的节点、命令的方向、和/或用户偏好和/或近期活动来推导出的。在此示例中,域是活动图表,所以新节点310的默认元素是动作。由于动作常常是通过控制流来连接的,所以控制流被自动创建。该控制流正指向该新元素,因为活动图表中最常见的流方向是向下的。在替换实施例中,在这种情况下一种决定方向的方式可以这样,即流总是从现有节点行进到新创建的节点。因此,可以实现实施例,其中也通过域、选择、姿势等来确定默认链接方向。
在一些实施例中,一旦放置了节点或链接,用户就可以非常容易的方式来改变该链接的方向或类型。例如,用户可以能够使用或改变智能标签等等。
在各种实施例中,元素节点310的布置的自动位置可以通过各种因素来指定。例如,可以通过命令的方向来指定布置。对于自动对齐和间距的附加考虑可以基于布局引擎中的约束,这些约束可基于图表类型及其域和/或用户偏好。用户偏好可以在用户设置中预先指定。替换地,用户偏好可以基于以往的用户交互而推断出来。自动布局可使用户免于必须手动定义布局。然而,实施例可包括允许用户进一步修改或“调整”使用自动布局放置的元素的布置的功能。
实施例可具有使之区别于先前系统的各种新颖特征。具体而言,实施例可以跨内容和图表类型实现一致的命令及姿势的集合。实施例可包括用于基于域、目标、方向、用户偏好等来确定要创建哪些元素及其类型的自动系统,从而允许该系统跨多个域是一致而有用的。实施例可包括由域专用约束所驱动的自动递增布局,这允许诸命令取决于图表的类型而给出相似但域专用的结果。
现在解说示出其他功能性的另一示例,实施例可实现使用受当前域约束的提示来快速设置元素的类型的系统。例如,用户可能正在设计图表。当用户使用命令和姿势时,在一些情况下用户希望改变或进一步指定元素的类型。替换地,作为设计过程的一部分,用户可能发现用户最初创建的类型需要被更改。
实施例可包括执行命令以基于当前上下文和该命令的新进入点集合来设置元素的类型的功能。一些实施例可实现允许用户在键入元素的名称的同时使用诸如IntelliSense之类的记忆术或受约束提示模块来指定该元素的类型的系统。可实现实施例,其中可使用其他姿势来调用此功能,诸如鼠标滚轮或上下文菜单。
现在参考图4A,示出了一示例。图4A中解说的示例显示用户已经通过与输入硬件交互以使用创建下方命令在当前节点402下方创建了新的动作节点404。用户希望此节点是decision(决策)形状。如图4B中解说的,用户在该新动作节点被选择和/或成为焦点时开始键入。出现下拉406以提供一个或多个域约束的提示或建议。由于用户键入的第一个字母是‘d’,所以列表被过滤为此域中始于‘d’的那些可用类型。如所述的,建议列表可以基于域进行约束。因此,在此示例中,将仅提供适于图4A和4B中所示的特定域的建议。
如所述的,用户可能希望将元素的类型改为decision,并因此敲击Tab键从而如图4C中所解说的那样自动完成该单词。用户随后添加该形状的名称(在此示例中为如图4D中所示的Fuu),并敲击Return或Enter。此时,该形状被转换成如图4E中所解说的decision形状。
可使用替换姿势进行类型选择。例如,如果用户偏好使用鼠标,则用户可通过点击该形状并使用鼠标滚轮以滚过对于此上下文可用的类型的集合来调用类型选择命令。
还可实现具有甚至更简单的功能的实施例。例如,可能像在文字处理器中一样使用自动完成系统来构造系统,其中输入记忆术(诸如,针对Decision的d、针对Action的a等等)将允许用户通过键入“d<名称>”来改变元素的类型,并随后使其自动被解释为“Decision<名称>”并相应地使类型改变。一些这样的实施例还可包括显示关于新元素在图表上看起来将什么样的预览的功能。例如,当用户键入“d”并且在使对“d”的选择持久之前,可以在图表中恰当的地方显示对decision元素的预览以帮助用户判断该decision元素是否是恰当所需的类型。
当前工具中的鼠标常常很好地支持链接创建。然而,涉及在需要跨较大距离创建链接或用户正处在使用键盘来编辑图表的流中时,许多当前实现的系统具有缺陷。
一些实施例允许用户调用链接创建工具,并随后仅使用键盘来定义新链接。系统使用有约束的建议系统(诸如IntelliSense)在用户键入时向用户提供关于上下文的域专用的类型、方向和目标的列表,从而允许用户快速地指定如何定义链接。
现在参考图5A,示出了一示例。在图5A中,用户使用源自键盘或其他输入设备的姿势来调用关于节点502的“添加链接”命令。出现控件504,带有已经展开的受域约束的下拉506。如图5B中所解说的,在用户键入(在此情形中键入字母L)时,列表被过滤并照常带有受域约束的建议,并通过按下Tab,用户可自动完成所选元素,如图5C中所解说的。用户现在可以键入链接的类型、方向以及其他节点正链接至哪个节点/自哪个节点链接至该其他节点。当语句完成并且用户敲击Enter时,该链接如图5D所解说的被创建。
实施例还可包括使用搜索和链接导航进行图表的快速导航。随着通过代码来推翻工程师图表并用于进行代码的设计和分析的系统变得更好和更普遍,软件体系结构图表愈趋变得更大并带有更多数目的元素。使用现有系统创建的图表在它们较大时变得难以导航。导航常常基于传统键盘方案来导航列表或表。这在导航至较小图表中的相邻节点时可能是足够的,但是用户常常需要或者从其当前位置进行较大跳跃、或者他们希望顺着链接从一个节点到另一节点即使这些节点在这方面不是邻居或者甚至彼此并不靠近。
一些实施例可通过实现一系统以使用来自该系统的创建上述节点的原理来导航链接从而克服这些挑战。例如,实施例可包括用于顺着链接导航向上、导航向下、导航向作、导航向右的命令集合。该系统随后将选择在该方向上行进的连接到该节点的第一个链接。通过再一次发出相同命令,该链接的另一端的节点将被选择。
如果该节点在命令的方向上连接有多个链接,将显示下拉从而允许用户选择这些链接中的另一个链接或其所希望的目标节点。现在参考图6,示出了一示例。在图6中所解说的示例中,用户可能希望从决策形状602导航至动作3 604。用户可诸如通过使用姿势来调用向右导航链接的命令。在本示例中,用户可使用“Ctrl-->”键盘姿势指示向右导航。当用户调用向右导航链接的命令时,至动作1 606的链接恰巧是被选择的第一个链接。但是由于动作3 604也从决策形状602的同一侧连出,所以它也被显示在下拉606中。用户随后可使用键盘或其他姿势来选择动作3 604并完成对它的选择。
实施例可包括使用键盘或其他硬件输入设备通过名称或其他内容(诸如类形状内的操作或属性的名称)直接导航至节点的功能。实施例可使用在图表中使用的递增搜索以作为快速去往指定元素的方式。例如,用户调用递增搜索命令。出现搜索控件。随着用户的键入,包含当前字符串的节点被突出显示。随着用户键入越多,用户可收缩至用户正在寻找的那个节点,并随后敲击return。现在该节点被选择。类似功能性也可适用于链接标签和容器。
以下讨论现涉及可以执行的多种方法以及方法动作。虽然用特定次序讨论或用以特定次序发生的流程图示出了各个方法动作,但除非明确规定否则不需要特定次序,或因为一动作依赖于另一动作在执行该动作之前完成而需要特定次序。
现在参考图7,示出了方法700。方法700可在计算环境中实践并包括用于组织数据的动作,其中这些数据具有空间意义。例如,图和图表是具有空间意义的数据的一个示例。各节点相对于彼此的位置和/或连接各节点的连接符帮助定义这些节点所表示的数据的意义。具有空间意义的其他数据可包括其中空间定位指示层级中的位置的分级数据。此类分级数据可以包括在数据库、表等等中。尽管未在此处枚举,但是另外其他类型的数据也可具有空间意义,并且这里的示例并不全面详尽。
方法700包括在用户界面上向用户显示空间结构化数据的表示(动作702)。例如,图2A解说显示具有类节点202和204的类图表的用户界面显示,其中节点202和204表示空间结构化数据。图3B解说具有活动图表的用户界面,该活动图表具有通过流连接符连接的动作节点302和动作节点310,其中空间意义指示动作顺序。
方法700还包括通过一个或多个硬件用户接口设备在计算机实现的用户界面上接收用户输入(动作704)。用户输入是域不可知的,但是具有空间内涵。例如,如上所解说的,空间内涵可以是上方、下方、右方、左方、和内部。这些具有空间内涵但是在特定域和/或上下文之间可能略有不同。如上文所解说的,用户输入可以是多种不同类型的输入中的一种或多种。本文所解说的示例并非是限制性的,而是包括鼠标、笔、触摸、多点触摸、姿势、相机或手持式控制器所跟踪的人类肢体或手足姿势、由控制器或计算系统中的加速计所跟踪的控制器或计算系统移动轻击姿势、或某种其他用户输入。
方法700还包括基于显示在用户界面上的预先存在的结构化数据或先前用户交互来确定用户输入的域(动作706)。例如,在图2A中,类节点202的存在可指示该域是类图表。在图3A中,动作节点302的存在可指示该域是活动图表。替换地,可使用先前输入的用户偏好或用户的先前图表构造动作来确定用户输入的域。
方法700还包括基于所确定的域将用户输入解释为域专用的响应(动作708),但是其中域专用的响应与跨多个域的空间内涵是一致的。例如,在图2B中,按下Enter键导致在Animal类节点202下方放置新的继承类206。而在图3B中,按下Enter键导致在动作节点302的下方放置新动作节点310。因此,尽管在任一域中空间内涵都是下方创建,但是就在下方创建何物而言每一个都是因域而异的响应。
可实践方法700的实施例,其中接收用户输入包括接收在用于提供一个或多个有约束提示的提示模块的辅助下生成的用户输入。例如,图5A-5D解说其中姿势被使用并且提示模块提供有约束提示的示例。提示可以是基于域和/或上下文来进行约束的。例如,提示可以基于正在创建什么类型的图表和图表中什么实体处于焦点来进行约束。
可实践方法700的实施例,其中接收用户输入包括接收在用于提供一个或多个有约束提示的记忆术模块的辅助下生成的用户输入。图4A和4B解说可如何使用记忆术模块来确定块的类型。
方法700还包括由于将用户输入解释为域专用的响应而自动向空间结构化数据添加新数据类型的对象。例如在图3A和3B中,由于图表是活动图表,所以自动添加动作块。一些实施例可包括使用鼠标按钮或滚动功能中的至少一者来改变所添加的新数据类型的类型。例如,用户可选中新添加的数据类型并滚经各种可用数据类型。例如,用户可以能够将自动添加的动作数据类型改为决策数据类型。在一些实施例中,改变所添加的新数据类型的类型可以使用在用于提供一个或多个有约束提示的记忆术模块的辅助下生成的用户输入来执行。在另外其他替换实施例中,改变所添加的新数据类型的类型可以使用在用于提供一个或多个有约束提示的提示模块(诸如IntelliSense)的辅助下生成的用户输入来完成。
方法700的实施例还可包括使用在用于提供一个或多个有约束提示的提示模块的辅助下生成的用户输入在结构化数据对象之间创建链接。例如,图5A-5D具体解说了使用提示模块创建链接的示例。这些链接可能实际是相当复杂的。例如,实施例可拣选一个类A并使用键盘姿势将其连接到类B。这可能导致一系列需要被生成以正确地标识类A和类B如何相关的中间类和链接。例如,这两个类可能需要通过中间类C、D和E来连接。尽管如此,实施例可提供恰适的提示和作出恰适的链接。
可实践方法700的实施例,其中空间结构化数据包括具有视觉可观测的且有意义的空间布局的数据。例如,流程图、活动图表等等具有可以被用户视觉地观察到的布局。
方法700的实施例可接收用于导航空间结构化数据的表示中的数据对象之间的链接的用户输入。例如,如图6中解说的示例所示,可使用用户姿势来导航整个图表。在一些实施例中,诸如图6中所解说的实施例,可向用户提供基于域的可能的导航目的地的约束列表。
此外,该方法可以由包括一个或多个处理器和诸如计算机存储器等计算机可读介质的计算机系统来实施。具体而言,计算机存储器可以存储计算机可执行指令,计算机可执行指令在由一个或多个处理器执行时使得执行各种功能,如在各实施方式中所述的那些动作。
本发明的各实施例可以包括或利用含有计算机硬件的专用或通用计算机,这将在以下做出进一步讨论。本发明范围内的各实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理介质和其他计算机可读介质。这些计算机可读介质可以是通用或专用计算机系统能够访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。携带计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种完全不同类型的计算机可读介质:物理计算机可读存储介质和传输计算机可读介质。
物理计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储(如CD、DVD等)、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。
“网络”被定义为允许在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置且通用或专用计算机可访问的网络和/或数据链路。以上介质的组合也被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件时,以计算机可执行的指令或数据结构的形式存在的程序代码装置可以自动地从传输计算机可读介质传输到物理计算机可读存储介质(或者反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传送到计算机系统RAM和/或计算机系统处的较不易失性的计算机可读物理存储介质。因此,计算机可读物理存储介质可被包括在同样(或甚至主要)利用传输介质的计算机系统组件中。
计算机可执行指令包括,例如使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。
本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。
本发明可具体化为其他具体形式而不背离其精神或特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变被权利要求书的范围所涵盖。

Claims (13)

1.一种在计算环境中组织具有空间意义的数据的方法:
在用户界面上向用户显示空间结构化数据的表示(702);
通过一个或多个硬件用户接口设备在计算机实现的用户界面上接收用户命令,其中所述用户命令是域不可知的但是具有空间内涵(704),并且所述用户命令在不同的域中具有相同的“方向”意义,并能与域知识相组合来确定创建哪种类型的元素,从而使得所述用户命令能跨不同的域保持不变;
基于显示在所述用户界面上的预先存在的结构化数据或先前用户交互中的至少一者来确定所述用户命令的域(706);以及
基于所确定的域将所述用户命令解释为因域而异的响应,但是其中所述因域而异的响应与跨多个域的空间内涵是一致的(708)。
2.如权利要求1所述的方法,其特征在于,还包括接收在提供一个或多个有约束提示的提示模块的辅助下生成的用户命令。
3.如权利要求2所述的方法,其特征在于,所述提示是基于所述域来约束的。
4.如权利要求2所述的方法,其特征在于,所述提示是基于上下文来约束的。
5.如权利要求1所述的方法,其特征在于,还包括由于将所述用户命令解释为因域而异的响应而自动向所述空间结构化数据添加新数据类型的对象。
6.如权利要求5所述的方法,其特征在于,还包括使用鼠标按钮或滚动功能中的至少一者来改变所添加的新数据类型的类型。
7.如权利要求5所述的方法,其特征在于,还包括使用在提供一个或多个有约束提示的提示模块的辅助下生成的用户命令来改变所添加的新数据类型的类型。
8.如权利要求1所述的方法,其特征在于,还包括使用在提供一个或多个有约束提示的提示模块的辅助下生成的用户命令在结构化数据对象之间创建链接。
9.如权利要求1所述的方法,其特征在于,所述空间结构化数据包括具有视觉上可观测的空间布局的数据。
10.如权利要求1所述的方法,其特征在于,接收用于导航空间结构化数据的所述表示中的各数据对象之间的链接的附加用户命令。
11.如权利要求10所述的方法,其特征在于,还包括为用户提供基于所述域的可能导航目的地的有约束列表。
12.一种组织具有空间意义的数据的系统:
用于在用户界面上向用户显示空间结构化数据的表示的装置;
用于通过一个或多个硬件用户接口设备在计算机实现的用户界面上接收用户命令的装置,其中所述用户命令是域不可知的但是具有空间内涵,并且所述用户命令在不同的域中具有相同的“方向”意义,并能与域知识相组合来确定创建哪种类型的元素,从而使得所述用户命令能跨不同的域保持不变;
用于基于显示在所述用户界面上的预先存在的结构化数据或先前用户交互中的至少一者来确定所述用户命令的域的装置;以及
用于基于所确定的域将所述用户命令解释为因域而异的响应的装置,但是其中所述因域而异的响应与跨多个域的空间内涵是一致的(708)。
13.如权利要求12所述的系统,其特征在于,用于接收用户命令的装置包括用于接收在提供一个或多个有约束提示的提示模块的辅助下生成的用户命令的装置。
CN201110427832.8A 2010-12-17 2011-12-19 图表的创建、编辑和导航 Active CN102566916B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/972,060 2010-12-17
US12/972,060 US9436437B2 (en) 2010-12-17 2010-12-17 Creation, editing and navigation of diagrams

Publications (2)

Publication Number Publication Date
CN102566916A CN102566916A (zh) 2012-07-11
CN102566916B true CN102566916B (zh) 2018-04-27

Family

ID=46233714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110427832.8A Active CN102566916B (zh) 2010-12-17 2011-12-19 图表的创建、编辑和导航

Country Status (8)

Country Link
US (1) US9436437B2 (zh)
EP (1) EP2652576A4 (zh)
JP (1) JP6027541B2 (zh)
KR (1) KR101831476B1 (zh)
CN (1) CN102566916B (zh)
AU (1) AU2011343428B2 (zh)
CA (1) CA2820923A1 (zh)
WO (1) WO2012083268A2 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104969186A (zh) * 2013-02-28 2015-10-07 惠普发展公司,有限责任合伙企业 用于创建方案制品的界面
US10929008B2 (en) * 2015-06-05 2021-02-23 Apple Inc. Touch-based interactive learning environment
CN108319577B (zh) * 2017-01-18 2021-09-28 阿里巴巴集团控股有限公司 一种图表的处理方法、装置及电子设备
CN108229016A (zh) * 2017-12-29 2018-06-29 杭州杉石科技有限公司 基于顺序图模型的电子系统排布方法和装置
CN114153536B (zh) * 2021-11-12 2024-04-09 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 兼容触摸屏的物理按键的web页面焦点控制方法及系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4656603A (en) 1984-03-01 1987-04-07 The Cadware Group, Ltd. Schematic diagram generating system using library of general purpose interactively selectable graphic primitives to create special applications icons
US6556878B1 (en) 1999-04-07 2003-04-29 Randall Jon Fielding Method and user interface for representing architectural plan diagrams
US6970844B1 (en) 1999-08-27 2005-11-29 Computer Sciences Corporation Flow designer for establishing and maintaining assignment and strategy process maps
US7420573B1 (en) * 2001-11-09 2008-09-02 The Mathworks, Inc. System and method for merging electronic diagrams
US7231395B2 (en) 2002-05-24 2007-06-12 Overture Services, Inc. Method and apparatus for categorizing and presenting documents of a distributed database
US7765529B1 (en) * 2003-10-31 2010-07-27 The Mathworks, Inc. Transforming graphical objects in a graphical modeling environment
CN100390791C (zh) 2004-05-31 2008-05-28 国际商业机器公司 流程图的编辑、重组验证、创建和转换的方法和装置
US7770148B2 (en) 2005-05-25 2010-08-03 Microsoft Corporation Methods and apparatus enabling diagram customization retention
US7934194B2 (en) 2006-10-17 2011-04-26 The Mathworks, Inc. User-defined hierarchies of user-defined classes of graphical objects in a graphical modeling environment
US20080109235A1 (en) * 2006-11-03 2008-05-08 Business Objects, S.A. Apparatus and method for creating business process workflows within business intelligence systems
CN101281522B (zh) 2007-04-06 2010-11-03 阿里巴巴集团控股有限公司 一种处理相关关键词的方法及系统
JP5056138B2 (ja) 2007-04-20 2012-10-24 株式会社明電舎 ソフトウェア開発支援システム、開発支援方法およびプログラム
US8225278B2 (en) 2007-05-14 2012-07-17 International Business Machines Corporation Method of visualizing modifications of a hierarchical state diagram
CN100507845C (zh) 2007-09-24 2009-07-01 北大方正集团有限公司 一种可设置多值域区间的编辑控件的创建方法
US8762871B2 (en) 2008-02-03 2014-06-24 Microsoft Corporation Dynamic preview of diagram elements to be inserted into a diagram
US8717383B2 (en) 2008-08-27 2014-05-06 International Business Machines Corporation Automatic management of diagram elements
US20100251211A1 (en) 2009-03-26 2010-09-30 Microsoft Corporation Generating and using code-based diagrams

Also Published As

Publication number Publication date
US20120154283A1 (en) 2012-06-21
CN102566916A (zh) 2012-07-11
AU2011343428B2 (en) 2016-07-14
EP2652576A4 (en) 2014-07-09
US9436437B2 (en) 2016-09-06
WO2012083268A2 (en) 2012-06-21
KR20140005180A (ko) 2014-01-14
JP2013546109A (ja) 2013-12-26
CA2820923A1 (en) 2012-06-21
JP6027541B2 (ja) 2016-11-16
AU2011343428A1 (en) 2013-07-18
WO2012083268A3 (en) 2013-01-17
EP2652576A2 (en) 2013-10-23
KR101831476B1 (ko) 2018-02-22

Similar Documents

Publication Publication Date Title
US20230324196A1 (en) Device, Method, and Graphical User Interface for Synchronizing Two or More Displays
Kim Human-computer interaction: fundamentals and practice
CN106227344B (zh) 电子设备及其控制方法
EP3087456B1 (en) Remote multi-touch control
TWI459281B (zh) 在使用者介面顯示上顯現教學動畫
US20170199631A1 (en) Devices, Methods, and Graphical User Interfaces for Enabling Display Management of Participant Devices
US10860788B2 (en) Device, method, and graphical user interface for annotating text
JP5779842B2 (ja) ゲーム運営を制御するためのユーザインターフェース提供方法
US20140365913A1 (en) Device, method, and graphical user interface for synchronizing two or more displays
CN104471521A (zh) 用于针对改变用户界面对象的激活状态来提供反馈的设备、方法和图形用户界面
CN104508618A (zh) 用于针对在用户界面中执行的操作提供触觉反馈的设备、方法和图形用户界面
US8386927B1 (en) Gravity-based link assist
CN102566916B (zh) 图表的创建、编辑和导航
CN106201316A (zh) 用于选择用户界面对象的设备、方法和图形用户界面
CN103229141A (zh) 管理用户界面中的工作空间
JP2008250374A (ja) 筆跡判定装置、方法およびプログラム
US9552671B2 (en) Method for operating three-dimensional handler and terminal supporting the same
WO2016109463A1 (en) Contextual browser frame and entry box placement
CN110268375A (zh) 配置跨不同应用使用的数字笔
CN102023805A (zh) 一种软件界面文本信息的辅助浏览方法
JP2002304340A (ja) データ処理装置及びデータ処理方法
Huot 'Designeering Interaction': A Missing Link in the Evolution of Human-Computer Interaction
KR20150012010A (ko) 사용자 단말에 표시되는 아이콘 그룹핑 수행장치, 수행방법 및 그 기록매체
KR20140092459A (ko) 메모 레이어와 어플리케이션 사이에 데이터를 주고 받는 방법 및 이를 구비한 전자장치
JP2008027120A (ja) マウスパッドとマウスパッド用プログラムと記録媒体とマウスパッド制御方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1171100

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150730

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150730

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1171100

Country of ref document: HK