CN111736820A - 一种可视化程序开发方法及装置 - Google Patents
一种可视化程序开发方法及装置 Download PDFInfo
- Publication number
- CN111736820A CN111736820A CN202010591935.7A CN202010591935A CN111736820A CN 111736820 A CN111736820 A CN 111736820A CN 202010591935 A CN202010591935 A CN 202010591935A CN 111736820 A CN111736820 A CN 111736820A
- Authority
- CN
- China
- Prior art keywords
- interactive
- interaction
- program
- link
- interactive element
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本说明书实施例公开了一种可视化程序开发方法及装置,在该方法中,先显示交互元素集,这里交互元素集中的每一交互元素具有对应的程序代码片段和相应的交互语法类型,并且可视化交互操作是由预设数量个交互语法类型来定义的,然后获取用户操作以从交互元素集中确定至少一个目标交互元素组,并且每一目标交互元素组中的交互元素所对应的交互语法类型用于定义相应的可视化交互操作,之后基于各个目标交互元素组中的交互元素所对应的程序代码片段,生成用于完成相应的可视化交互操作的可视化程序,操作便捷且无需开发用户编辑代码。
Description
技术领域
本说明书实施例涉及计算机技术领域,尤其涉及一种可视化程序开发方法及装置。
背景技术
随着办公智能化技术的不断发展,数据可视化应用程序因可以将数据转换为相应的图形,更加直观,得到了广泛应用。
目前,可视化程序中的可视化功能(例如,生成饼图、直方图等)一般是固定配置的,并可以根据用户交互操作来实现相应的可视化功能。然而,当用户存在一些个性化功能需求(例如,需求一些定制的交互功能)时,需要用户对可视化程序的代码进行二次开发,具有较高的专业开发门槛。
发明内容
有鉴于此,本说明书实施例提供了一种可视化程序开发方法及装置,用于至少解决现有技术中可视化程序无法满足用户个性化需求,并要求较高的专业开发门槛的问题。
本说明书实施例采用下述技术方案:
本说明书实施例提供一种可视化程序开发方法,包括:显示交互元素集,其中交互元素集中的每一交互元素具有对应的程序代码片段和相应的交互语法类型,所述交互语法类型用于定义相应的可视化交互操作;获取用户操作以从所述交互元素集中确定至少一个目标交互元素组,每一所述目标交互元素组中的交互元素所对应的交互语法类型用于定义相应的可视化交互操作;基于各个所述目标交互元素组中的交互元素所对应的程序代码片段,生成可视化程序,所述可视化程序用于完成所述目标交互元素组中的各交互元素对应的交互语法类型所定义的可视化交互操作。
本说明书实施例还提供一种可视化程序开发方法,包括:获取待更新的可视化程序,所述待更新的可视化程序包括至少一个原始交互元素组,每一交互元素分别具有对应的程序代码片段和相应的交互语法类型,所述交互语法类型用于定义相应的可视化交互操作;获取用户操作以从所述至少一个原始交互元素组中确定待修正的原始交互元素组;显示交互元素集,并获取用户操作以从所述交互元素集中确定期望交互元素;基于所述期望交互元素所对应的程序代码片段,替换所述待修正的原始交互元素组中与所述期望交互元素具有相同交互语法类型的交互元素所对应的程序代码片段;根据替换了程序代码片段之后的待更新的可视化程序生成可视化程序。
本说明书实施例提供一种可视化程序开发装置,包括:元素集显示单元,显示交互元素集,其中交互元素集中的每一交互元素具有对应的程序代码片段和相应的交互语法类型,所述交互语法类型用于定义相应的可视化交互操作;目标元素组确定单元,获取用户操作以从所述交互元素集中确定至少一个目标交互元素组;程序生成单元,基于各个所述目标交互元素组中的交互元素所对应的程序代码片段,生成可视化程序,所述可视化程序用于完成所述目标交互元素组中的各交互元素对应的交互语法类型所定义的可视化交互操作。
本说明书实施例还提供一种可视化程序开发装置,包括:原始程序获取单元,获取待更新的可视化程序,所述待更新的可视化程序包括至少一个原始交互元素组,每一交互元素分别具有对应的程序代码片段和相应的交互语法类型,所述交互语法类型用于定义相应的可视化交互操作;修正元素组确定单元,获取用户操作以从所述至少一个原始交互元素组中确定待修正的原始交互元素组;期望元素确定单元,显示交互元素集,并获取用户操作以从所述交互元素集中确定期望交互元素;元素代码替换单元,基于所述期望交互元素所对应的程序代码片段,替换所述待修正的原始交互元素组中与所述期望交互元素具有相同交互语法类型的交互元素所对应的程序代码片段;交互程序生成单元,根据替换了程序代码片段之后的待更新的可视化程序生成可视化程序。
本说明书实施例还提供一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上述的方法。
本说明书实施例还提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上述的方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
显示交互元素集,并通过获取用户操作来从交互元素集中确定相应的至少一个目标交互元素组,交互语法类型用于定义相应的可视化交互操作,进而基于各个目标交互元素组中的交互元素所对应的程序代码片段,生成用于完成对应的可视化交互操作的可视化程序。由此,将交互操作分割成原子粒度,将自然语言映射到交互语法,使得用户可以依据各种不同的交互语法类型来构建可视化交互操作中的触发过程和反馈过程,并自动生成相应的可视化程序,而不需要用户具有较高的专业开发知识,降低了可视化程序的开发门槛。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1示出了根据本说明书实施例的可视化程序开发方法的一示例的流程图;
图2示出了根据本说明书实施例的确定目标交互元素组的一示例的流程图;
图3示出了根据本说明书实施例的可视化程序开发方法的一示例的流程图;
图4示出了根据本说明书实施例的针对交互进行拆分的一示例的示意图;
图5示出了根据本说明书实施例的交互组合过程的示意图;
图6示出了根据本说明书实施例的可视化程序开发方法的一示例的流程图;
图7示出了根据本说明书实施例的可视化程序开发装置的一示例的结构框图;
图8示出了根据本说明书实施例的可视化程序开发装置的一示例的结构框图。
具体实施方式
在可视化过程中,数据通过图形的方式展示出来后,需要去看一些详情信息,需要在图表上进行交互。但是,这些交互往往在图表内部实现,仅仅能够通过配置项来更改触发的方式,而不能随意地进行更改。
目前,一般存在两种用于实现可视化的工作方式,其一,可视化程序中的交互都是内置在代码中的,预设了各种可能,可以通过修改配置项或者代码的形式来更改交互行为,其二,通过以vega为代表的图表库,使用数据映射的方案来实现各种交互。
然而,上述两种方案都存在各自一些的缺点。针对第一种方案,可以使用内置的交互代码,提供配置项的方式让用户来实现交互,仅仅能够满足内置的场景,无法扩展,无法改造交互的细节,例如,一个拖拽框选过滤的场景,仅仅能够框选过滤,而框选完成后不能拖拽出现的遮罩层。针对第二种方案,利用vega为代表的图表库的产品来实现交互,这类产品的交互思路是使用数据映射的方案来进行交互,例如框选的时候计算出框选的数据,改变数据映射的方案来实现交互。然而,此方案仅能够实现绘图区域的图形的交互,一些跟绘图无关的交互无法实现,导致所实现出来的交互质量,例如进入画布时改变鼠标的形状,移出画布时恢复正常,拖拽一个图形跟另外一个图形合并等,均无法实现。
为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书实施的范围。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
在本文中,术语“可视化”可以表示使用图表来表示数据的方式,以让用户更容易且直观地看懂数据。术语“交互”可以表示可视化程序的用户交流互动功能,完整的交互操作功能可以包括接收用户操作而触发交互的过程(即,交互触发过程)和反馈给用户的可视化展示的过程(即,交互反馈过程)。
图1示出了根据本说明书实施例的可视化程序开发方法的一示例的流程图。
如图1所示,在步骤110中,显示交互元素集。这里,每一交互元素具有对应的程序代码片段和相应的交互语法类型。另外,可视化交互操作是由预设数量个交互语法类型来定义的,例如可以将交互操作分割为交互触发过程和交互反馈过程,并分别具有对应的交互语法类型。
在步骤120中,获取用户操作以从交互元素集中确定至少一个目标交互元素组。这里,交互语法类型用于定义相应的可视化交互操作,例如目标交互元素组中的各个交互元素的交互语法类型覆盖了交互触发过程和交互反馈过程中所需求的语法类型。
在步骤130中,基于与各个目标交互元素组中的交互元素所对应的程序代码片段,生成可视化程序。这里,可视化程序可以完成目标交互元素组中的各交互元素对应的交互语法类型所定义的可视化交互操作。示例性地,可以将各个目标交互元素所对应的程序代码段分别进行组合,以自动生成相应的可视化程序。
在本说明书实施例的一些示例中,交互语法类型可以包括交互触发对象、交互触发事件、交互反馈对象和交互反馈行为。示例性地,交互触发对象和交互触发事件可以用来定义交互触发过程,以及交互反馈对象和交互反馈行为可以用来定义交互反馈过程。此外,各个目标交互元素组所涉及的交互语法类型均涵盖交互触发对象、交互触发事件、交互反馈对象和交互反馈行为。
在本说明书实施例的一些示例中,在可视化交互操作中的交互触发对象、交互触发事件、交互反馈对象和交互反馈行为可以是由用户通过操作来选定并进行搭配的。此外,目标交互元素组中的各种交互语法类型的交互元素的数量也可以是多个,例如针对一个交互触发对象可以存在多个交互触发事件。
通过本说明书实施例,将交互操作分割成原子粒度的触发和反馈,将自然语言映射到交互语法,使得用户可以依据各种不同的交互语法类型来构建交互操作中的触发过程和反馈过程,并自动生成相应的可视化程序,而不需要用户具有较高的专业开发知识,降低了可视化程序的开发门槛。
图2示出了根据本说明书实施例的确定目标交互元素组的一示例的流程图。
如图2所示的流程200,在步骤210中,获取第一用户操作以将交互元素集中对应交互触发对象和交互触发事件的交互元素进行组合,从而确定至少一个触发交互元素组合。示例性地,在显示交互元素集的同时,也会展示各个交互元素所对应的交互语法类型和交互语义,这样用户可以根据交互语法类型和相应的交互语义来对期望的交互元素进行选择,从而确定相应的触发交互元素组合。
在一些应用场景下,用户可以选择对应多个交互触发对象的交互元素或对应多个交互触发事件的交互元素来组成一个触发交互元素组合,从而可以实现具有多触发事件的触发条件,能满足多样化的开发需求。
在步骤220中,获取第二用户操作以将交互元素集中对应交互反馈对象和交互反馈行为的交互元素进行组合,从而确定至少一个反馈交互元素组合。
如上面所描述的一样,在显示交互元素集的同时,也会展示各个交互元素所对应的交互语法类型和交互语义,这样用户可以根据交互语法类型和相应的交互语义来对期望的交互元素进行选择,从而确定相应的反馈交互元素组合。
在一些应用场景下,用户可以选择对应多个交互反馈对象的交互元素或对应多个交互反馈行为的交互元素来组成一个反馈交互元素组合,从而可以实现在具有多反馈行为下的反馈操作,能满足多样化的开发需求。在一些情况下,反馈交互元素组合中的交互反馈对象和触发交互元素组合中的交互触发对象还可以是同一个对象。
在步骤230中,基于所确定的至少一个触发交互元素组合和至少一个反馈交互元素组合,确定相应的目标交互元素组。示例性地,可以将由用户操作所确定的多个触发交互元素组合和多个反馈交互元素组合,共同确定为目标交互元素组。
通过本说明书实施例,用户可以自主定义在一个可视化交互操作中的触发条件和反馈行为,能满足用户针对可视化交互操作的个性化需求。
需说明的是,在本说明书实施例的一个示例中,对象与事件或行为之间可以任意组合,例如针对交互触发对象可以组合或搭配所有类型的触发交互元素。在本说明书实施例的另一示例中,对象只能与有限的或关联的事件或行为之间进行组合。
在一些实施方式中,交互元素集中的各个交互触发对象分别与至少一个交互触发事件相关联,以及交互元素集中的各个交互反馈对象分别与至少一个交互反馈行为相关联。这里,触发交互元素组合可以是从相关联的交互触发对象和交互触发事件中确定的,以及反馈交互元素组合可以是从相关联的交互反馈对象和交互反馈行为中确定的。
示例性地,可以先显示交互元素集中的各个对象类元素(例如交互触发对象),并在用户选择了第一交互触发对象之后,显示第一交互触发对象所关联的各个交互触发事件以供用户组合,从而确定相应的触发交互元素组合。
图3示出了根据本说明书实施例的可视化程序开发方法的一示例的流程图。
如图3所示的流程300,在步骤310中,显示各个待开发的交互环节。这里,各个待开发的交互环节包括顺序进行的交互开始环节、交互持续环节和交互结束环节。
在步骤320中,针对各个待开发的交互环节,获取用户操作以从交互元素集中确定在该待开发的交互环节中所适用的一个或多个目标交互元素组。
在步骤330中,基于与各个待开发的交互环节所适用的目标交互元素组中的交互元素所对应的程序代码片段,生成可视化程序。
在本说明书实施例中,将可视化程序所对应的交互操作分解为多个交互环节,可以引导开发用户定义在不同环节中的各个可视化操作,有效解决了可视化程序中遗漏某一交互环节的问题。
在本说明书实施例的一个示例中,各个待开发的交互环节还包括在交互开始环节之前的用于指示满***互进行条件的交互示能环节。这样,可以提醒开发用户定义交互开始阶段的可视化操作。
在本说明书实施例的一个示例中,所述各个待开发的交互环节还包括在交互结束环节之后的用于指示取消目标交互元素组的交互回滚环节。这样,可以提醒开发用户定义交互回滚阶段的可视化操作。
在一些实施方式中,可以将交互拆分为如图4所示的5个环节(或阶段):1)交互示能(showEnable)环节,其表示交互能够进行;2)交互开始(start)环节,其表示交互能够开始;3)交互持续(processing)环节,其表示交互持续进行;4)交互结束(end)环节,其表示交互结束;5)交互回滚(rollback)环节,其表示恢复交互。此外,每个交互环节可以包含至少一个交互操作,每个交互操作可以是由交互触发和交互反馈所组成的。
下面,以实现“框选高亮图形”的完整交互示例来进行描述。
1)交互示能环节:
触发对象—画布,触发事件—移动或移出进画布绘图区域,反馈对象—鼠标,反馈行为—进入时鼠标形状变成十字、离开时鼠标形状恢复。
2)交互开始环节:
触发对象—画布,触发事件—按下鼠标并滑动鼠标,反馈对象—画布,反馈对象—画布,反馈行为—出现遮罩层(mask)。
3)交互持续环节:
持续操作a:触发对象—画布,触发事件—持续滑动鼠标,反馈对象—画布,反馈行为—遮罩层随着鼠标变化。
持续操作b:触发对象—遮罩层,触发事件—遮罩层的大小变化,反馈对象—被遮罩层遮挡的图形,反馈行为—被遮罩层遮挡的图形高亮。
4)交互结束环节:
触发对象—画布,触发事件—鼠标抬起,反馈对象1—遮罩层,反馈行为1—遮罩层依然显示,反馈对象2—遮挡的图形,反馈行为2—遮挡的图形继续高亮。
5)交互回滚环节:
触发对象—画布,触发事件—鼠标双击,反馈对象1—遮罩层,反馈行为1—遮罩层隐藏,反馈对象2—鼠标,反馈行为2—选中效果取消。
需说明的是,一些开发用户在编写交互的过程中往往会忽略一些环节,例如示能环节(告诉用户可以进行交互)。此外,一些开发用户忽视一些特殊情况而导致交互的中断,例如拖拽过程中鼠标移到了画布外面等,而忽视了回滚环节的设计,导致交互无法回滚。通过本说明书实施例,将交互划分成多个环节,保证了交互的完备性。
图5示出了根据本说明书实施例的交互组合过程的示意图。
如图5所示,可以将图表中的所有的触发和反馈整理出来,就可以通过语法的来拼装交互,触发通过组合触发对象和触发事件,反馈行为通过组合反馈对象和反馈方法来实现。
在一些应用场景下,反馈的行为同反馈对象相关,就是每个反馈对象可以支持的响应可能是不一样的。示例性地,鼠标可以支持:十字(crosshair)、指针(pointer)、默认(default)以及文本(text)等各种形状,每个形状的转换就是一个反馈的行为。数据源操作可以支持:过滤(filter),增删改(add,update,remove)等。图表容器的变化可以支持:画布大小变化、视图的位置变化。图表组件的变化可以支持:高亮(highlight)、选中(selected)、激活(active)、勾选(checked)等状态变化,以及组件位置的变化等。
此外,反馈对象和行为也可以在一个交互中进行组合,但是由于一个反馈的对象可以有非常多的行为,而共同的行为有需要多个方式来实现,例如反馈行为“图形的高亮”包括“设置元素高亮”、“取消元素的高亮”和“取消所有元素的高亮”。
通过本说明书实施例,将交互中触发的对象和反馈的对象和行为全部整理出来,用户可以进行自由的拼装来实现交互,将自然的语言映射成交互语法,已经通过验证可行性,实现了大量高质量、可复用的交互。此外,将交互过程分拆,将自然语言翻译成交互语法,使得用户可以通过拼装来实现各种交互,既提升了交互开发的效率,又提升了交互的质量,还满足了各种场景下交互的需求。
图6示出了根据本说明书实施例的可视化程序开发方法的一示例的流程图。
如图6所示,在步骤610中,获取待更新的可视化程序。这里,待更新的可视化程序包括至少一个原始交互元素组,每一交互元素分别具有对应的程序代码片段和相应的交互语法类型。此外,交互语法类型用于定义相应的可视化交互操作,例如原始交互元素组所涉及的交互语法类型涵盖交互触发对象、交互触发事件、交互反馈对象和交互反馈行为。
示例性地,待更新的可视化程序可以是通过如图1所示的流程来构建的,并在需要对原始创建的可视化程序进行修改或升级时发生如步骤610中的操作。
在步骤620中,获取用户操作以从至少一个原始交互元素组中确定待修正的原始交互元素组。这里,可以是与期望进行修正的交互操作所对应的交互元素组。
在步骤630中,显示交互元素集,并获取用户操作以从交互元素集中确定期望交互元素。
在步骤640中,基于期望交互元素所对应的程序代码片段,替换待修正的原始交互元素组中与期望交互元素具有相同交互语法类型的交互元素所对应的程序代码片段。示例性地,当期望交互元素所对应的交互语法类型是交互触发对象时,则利用期望交互元素所对应的程序代码片段将原始交互元素组中对应交互触发对象的元素所对应的程序代码片段替换掉。
在步骤650中,根据替换了程序代码片段之后的待更新的可视化程序生成可视化程序。
通过本说明书实施例,在需要对所创建的待更新的可视化程序进行修改时,可以直接针对对应待修正(或待升级)的可视化交互操作的待修正的原始交互元素组直接利用期望交互元素进行替换,以由后台自动执行相应的代码替换操作,而无需开发人员进行二次代码开发,可以节约开发资源和成本。
图7示出了根据本说明书实施例的可视化程序开发装置的一示例的结构框图。
如图7所示,可视化程序开发装置700包括元素集显示单元710、目标元素组确定单元720、程序生成单元730和交互环节显示单元740。
元素集显示单元710被配置为显示交互元素集,其中交互元素集中的每一交互元素具有对应的程序代码片段和相应的交互语法类型,所述交互语法类型用于定义相应的可视化交互操作。关于元素集显示单元710的细节,可以参照上面图1中参考步骤110的描述。
目标元素组确定单元720被配置为获取用户操作以从所述交互元素集中确定至少一个目标交互元素组。关于目标元素组确定单元720的细节,可以参照上面图1中参考步骤120的描述。
程序生成单元730被配置为基于各个所述目标交互元素组中的交互元素所对应的程序代码片段,生成可视化程序,所述可视化程序用于完成所述目标交互元素组中的各交互元素对应的交互语法类型所定义的可视化交互操作。关于程序生成单元730的细节,可以参照上面图1中参考步骤130的描述。
在本说明书实施例的一些示例中,目标元素组确定单元720包括触发元素确定模块(未示出)、反馈元素确定模块(未示出)和目标元素确定模块(未示出)。具体地,触发元素确定模块被配置为获取第一用户操作以将所述交互元素集中对应交互触发对象和交互触发事件的交互元素进行组合,从而确定至少一个触发交互元素组合。反馈元素确定模块被配置为获取第二用户操作以将所述交互元素集中对应交互反馈对象和交互反馈行为的交互元素进行组合,从而确定至少一个触发交互元素组合。目标元素确定模块被配置为基于所确定的至少一个触发交互元素组合和所述至少一个触发交互元素组合,确定相应的目标交互元素组。
在本说明书实施例的一些示例中,所述交互元素集中的各个交互触发对象分别与至少一个交互触发事件相关联,以及所述交互元素集中的各个交互反馈对象分别与至少一个交互反馈行为相关联,其中,所述触发交互元素组合是从相关联的交互触发对象和交互触发事件中确定的,以及所述反馈交互元素组合是从相关联的交互反馈对象和交互反馈行为中确定的。
交互环节显示单元740被配置为显示各个待开发的交互环节,所述各个待开发的交互环节包括顺序进行的交互开始环节、交互持续环节和交互结束环节。这里,目标元素组确定单元720针对各个所确定的待开发的交互环节,获取用户操作以从所述交互元素集中确定在该待开发的交互环节中所适用的一个或多个目标交互元素组;以及程序生成单元730被配置为基于与所述各个待开发的交互环节所适用的目标交互元素组中的交互元素所对应的程序代码片段,生成可视化程序。
在本说明书实施例的一些示例中,所述各个待开发的交互环节还包括在所述交互开始环节之前的用于指示满***互进行条件的交互示能环节。
在本说明书实施例的一些示例中,所述各个待开发的交互环节还包括在所述交互结束环节之后的用于指示取消所述目标交互元素组的交互回滚环节。
需说明的是,如上所描述的装置700中的部分单元在一些应用场景下是非必需的或可选的。示例性地,在一些实施方式中,交互环节显示单元740可以不被保留。
图8示出了根据本说明书实施例的可视化程序开发装置的一示例的结构框图。
如图8所示,可视化程序开发装置800包括待更新程序获取单元810、修正元素组确定单元820、期望元素确定单元830、元素代码替换单元840和交互程序生成单元850。
待更新程序获取单元810被配置为获取待更新的可视化程序,所述待更新的可视化程序包括至少一个原始交互元素组,每一交互元素分别具有对应的程序代码片段和相应的交互语法类型,所述交互语法类型用于定义相应的可视化交互操作。关于待更新程序获取单元810的细节,可以参照上面图6中参考步骤610的描述。
修正元素组确定单元820被配置为获取用户操作以从所述至少一个原始交互元素组中确定待修正的原始交互元素组。关于修正元素组确定单元820的细节,可以参照上面图6中参考步骤620的描述。
期望元素确定单元830被配置为显示交互元素集,并获取用户操作以从所述交互元素集中确定期望交互元素。关于期望元素确定单元830的细节,可以参照上面图6中参考步骤630的描述。
元素代码替换单元840被配置为基于所述期望交互元素所对应的程序代码片段,替换所述待修正的原始交互元素组中与所述期望交互元素具有相同交互语法类型的交互元素所对应的程序代码片段。关于元素代码替换单元840的细节,可以参照上面图6中参考步骤640的描述。
交互程序生成单元850被配置为根据替换了程序代码片段之后的待更新的可视化程序生成可视化程序。关于交互程序生成单元850的细节,可以参照上面图6中参考步骤650的描述。
如上参照图1到图8,对根据本说明书实施例的可视化程序开发方法及装置的实施例进行了描述。在以上对方法实施例的描述中所提及的细节,同样适用于本说明书装置的实施例。上面的可视化程序开发装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、***、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例是参照根据本说明书实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (18)
1.一种可视化程序开发方法,包括:
显示交互元素集,其中交互元素集中的每一交互元素具有对应的程序代码片段和相应的交互语法类型,所述交互语法类型用于定义相应的可视化交互操作;
获取用户操作以从所述交互元素集中确定至少一个目标交互元素组;
基于各个所述目标交互元素组中的交互元素所对应的程序代码片段,生成可视化程序,所述可视化程序用于完成所述目标交互元素组中的各交互元素对应的交互语法类型所定义的可视化交互操作。
2.如权利要求1所述的可视化程序开发方法,其中,所述交互语法类型包括交互触发对象、交互触发事件、交互反馈对象和交互反馈行为。
3.如权利要求2所述的可视化程序开发方法,其中,获取用户操作以从所述交互元素集中确定至少一个目标交互元素组,具体包括:
获取第一用户操作以将所述交互元素集中对应交互触发对象和交互触发事件的交互元素进行组合,从而确定至少一个触发交互元素组合;
获取第二用户操作以将所述交互元素集中对应交互反馈对象和交互反馈行为的交互元素进行组合,从而确定至少一个反馈交互元素组合;
基于所确定的至少一个触发交互元素组合和所述至少一个反馈交互元素组合,确定相应的目标交互元素组。
4.如权利要求3所述的可视化程序开发方法,其中,所述交互元素集中的各个交互触发对象分别与至少一个交互触发事件相关联,以及所述交互元素集中的各个交互反馈对象分别与至少一个交互反馈行为相关联,
其中,所述触发交互元素组合是从相关联的交互触发对象和交互触发事件中确定的,以及所述反馈交互元素组合是从相关联的交互反馈对象和交互反馈行为中确定的。
5.如权利要求1所述的可视化程序开发方法,还包括:
显示各个待开发的交互环节,所述各个待开发的交互环节包括顺序进行的交互开始环节、交互持续环节和交互结束环节;
其中,获取用户操作以从所述交互元素集中确定至少一个目标交互元素组,具体包括:
针对各个待开发的交互环节,获取用户操作以从所述交互元素集中确定在该待开发的交互环节中所适用的一个或多个目标交互元素组;
其中,基于各个所述目标交互元素组中的交互元素所对应的程序代码片段,生成用于完成可视化交互操作的可视化程序,具体包括:
基于与所述各个待开发的交互环节所适用的目标交互元素组中的交互元素所对应的程序代码片段,生成可视化程序。
6.如权利要求5所述的可视化程序开发方法,其中,所述各个待开发的交互环节还包括在所述交互开始环节之前的用于指示满***互进行条件的交互示能环节。
7.如权利要求5所述的可视化程序开发方法,其中,所述各个待开发的交互环节还包括在所述交互结束环节之后的用于指示取消所述目标交互元素组的交互回滚环节。
8.一种可视化程序开发方法,包括:
获取待更新的可视化程序,所述待更新的可视化程序包括至少一个原始交互元素组,每一交互元素分别具有对应的程序代码片段和相应的交互语法类型,所述交互语法类型用于定义相应的可视化交互操作;
获取用户操作以从所述至少一个原始交互元素组中确定待修正的原始交互元素组;
显示交互元素集,并获取用户操作以从所述交互元素集中确定期望交互元素;
基于所述期望交互元素所对应的程序代码片段,替换所述待修正的原始交互元素组中与所述期望交互元素具有相同交互语法类型的交互元素所对应的程序代码片段;
根据替换了程序代码片段之后的待更新的可视化程序生成可视化程序。
9.一种可视化程序开发装置,包括:
元素集显示单元,显示交互元素集,其中交互元素集中的每一交互元素具有对应的程序代码片段和相应的交互语法类型,所述交互语法类型用于定义相应的可视化交互操作;
目标元素组确定单元,获取用户操作以从所述交互元素集中确定至少一个目标交互元素组;
程序生成单元,基于各个所述目标交互元素组中的交互元素所对应的程序代码片段,生成可视化程序,所述可视化程序用于完成所述目标交互元素组中的各交互元素对应的交互语法类型所定义的可视化交互操作。
10.如权利要求9所述的可视化程序开发装置,其中,所述交互语法类型包括交互触发对象、交互触发事件、交互反馈对象和交互反馈行为。
11.如权利要求10所述的可视化程序开发装置,其中,目标元素组确定单元包括:
触发元素确定模块,获取第一用户操作以将所述交互元素集中对应交互触发对象和交互触发事件的交互元素进行组合,从而确定至少一个触发交互元素组合;
反馈元素确定模块,获取第二用户操作以将所述交互元素集中对应交互反馈对象和交互反馈行为的交互元素进行组合,从而确定至少一个触发交互元素组合;
目标元素确定模块,基于所确定的至少一个触发交互元素组合和所述至少一个触发交互元素组合,确定相应的目标交互元素组。
12.如权利要求10所述的可视化程序开发装置,其中,所述交互元素集中的各个交互触发对象分别与至少一个交互触发事件相关联,以及所述交互元素集中的各个交互反馈对象分别与至少一个交互反馈行为相关联,
其中,所述触发交互元素组合是从相关联的交互触发对象和交互触发事件中确定的,以及所述反馈交互元素组合是从相关联的交互反馈对象和交互反馈行为中确定的。
13.如权利要求9所述的可视化程序开发装置,还包括:
交互环节显示单元,显示各个待开发的交互环节,所述各个待开发的交互环节包括顺序进行的交互开始环节、交互持续环节和交互结束环节;
其中,所述目标元素组确定单元针对各个所确定的待开发的交互环节,获取用户操作以从所述交互元素集中确定在该待开发的交互环节中所适用的一个或多个目标交互元素组;以及
所述程序生成单元基于与所述各个待开发的交互环节所适用的目标交互元素组中的交互元素所对应的程序代码片段,生成可视化程序。
14.如权利要求13所述的可视化程序开发装置,其中,所述各个待开发的交互环节还包括在所述交互开始环节之前的用于指示满***互进行条件的交互示能环节。
15.如权利要求13所述的可视化程序开发装置,其中,所述各个待开发的交互环节还包括在所述交互结束环节之后的用于指示取消所述目标交互元素组的交互回滚环节。
16.一种可视化程序开发装置,包括:
待更新程序获取单元,获取待更新的可视化程序,所述待更新的可视化程序包括至少一个原始交互元素组,每一交互元素分别具有对应的程序代码片段和相应的交互语法类型,所述交互语法类型用于定义相应的可视化交互操作;
修正元素组确定单元,获取用户操作以从所述至少一个原始交互元素组中确定待修正的原始交互元素组;
期望元素确定单元,显示交互元素集,并获取用户操作以从所述交互元素集中确定期望交互元素;
元素代码替换单元,基于所述期望交互元素所对应的程序代码片段,替换所述待修正的原始交互元素组中与所述期望交互元素具有相同交互语法类型的交互元素所对应的程序代码片段;
交互程序生成单元,根据替换了程序代码片段之后的待更新的可视化程序生成可视化程序。
17.一种电子设备,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到8中任一所述的方法。
18.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010591935.7A CN111736820A (zh) | 2020-06-24 | 2020-06-24 | 一种可视化程序开发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010591935.7A CN111736820A (zh) | 2020-06-24 | 2020-06-24 | 一种可视化程序开发方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111736820A true CN111736820A (zh) | 2020-10-02 |
Family
ID=72651081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010591935.7A Pending CN111736820A (zh) | 2020-06-24 | 2020-06-24 | 一种可视化程序开发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111736820A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112711687A (zh) * | 2020-12-30 | 2021-04-27 | 北京光启元数字科技有限公司 | 一种数据可视化转换方法、装置、设备及介质 |
CN113467369A (zh) * | 2021-07-19 | 2021-10-01 | 中航沈飞民用飞机有限责任公司 | 一种自动钻铆数控代码可视化交互修正方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446725A (zh) * | 2014-09-25 | 2016-03-30 | 国际商业机器公司 | 用于模型驱动开发的方法和*** |
CN106648705A (zh) * | 2017-01-06 | 2017-05-10 | 吴晓栋 | 基于视觉元素的应用程序开发与运行***及其方法 |
CN107957868A (zh) * | 2017-12-04 | 2018-04-24 | 山东浪潮通软信息科技有限公司 | 一种html用户界面可视化编辑方法及装置 |
CN109032599A (zh) * | 2018-07-17 | 2018-12-18 | 北京新唐思创教育科技有限公司 | 基于xml表示生成可交互流程图的方法、装置、设备、介质 |
CN109783750A (zh) * | 2018-12-13 | 2019-05-21 | 北京字节跳动网络技术有限公司 | 事件机制定义网页交互行为的方法、装置及电子设备 |
CN110597506A (zh) * | 2019-11-14 | 2019-12-20 | 南京百敖软件有限公司 | 一种前端应用可视化开发工具和使用方法 |
-
2020
- 2020-06-24 CN CN202010591935.7A patent/CN111736820A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446725A (zh) * | 2014-09-25 | 2016-03-30 | 国际商业机器公司 | 用于模型驱动开发的方法和*** |
CN106648705A (zh) * | 2017-01-06 | 2017-05-10 | 吴晓栋 | 基于视觉元素的应用程序开发与运行***及其方法 |
CN107957868A (zh) * | 2017-12-04 | 2018-04-24 | 山东浪潮通软信息科技有限公司 | 一种html用户界面可视化编辑方法及装置 |
CN109032599A (zh) * | 2018-07-17 | 2018-12-18 | 北京新唐思创教育科技有限公司 | 基于xml表示生成可交互流程图的方法、装置、设备、介质 |
CN109783750A (zh) * | 2018-12-13 | 2019-05-21 | 北京字节跳动网络技术有限公司 | 事件机制定义网页交互行为的方法、装置及电子设备 |
CN110597506A (zh) * | 2019-11-14 | 2019-12-20 | 南京百敖软件有限公司 | 一种前端应用可视化开发工具和使用方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112711687A (zh) * | 2020-12-30 | 2021-04-27 | 北京光启元数字科技有限公司 | 一种数据可视化转换方法、装置、设备及介质 |
CN113467369A (zh) * | 2021-07-19 | 2021-10-01 | 中航沈飞民用飞机有限责任公司 | 一种自动钻铆数控代码可视化交互修正方法 |
CN113467369B (zh) * | 2021-07-19 | 2022-05-13 | 中航沈飞民用飞机有限责任公司 | 一种自动钻铆数控代码可视化交互修正方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6446038B2 (ja) | パンニング可能なキャンバス方向に沿って拡張可能なブレード・シーケンス | |
US9785416B2 (en) | Presenting a custom view in an integrated development environment based on a variable selection | |
US20140047409A1 (en) | Enterprise application development tool | |
CN111796821A (zh) | 一种页面更新的方法及装置 | |
CN108614693B (zh) | 一种针对页面组件的处理方法、装置及设备 | |
CN111736820A (zh) | 一种可视化程序开发方法及装置 | |
US9304838B1 (en) | Scheduling and executing model components in response to un-modeled events detected during an execution of the model | |
US10489167B2 (en) | Dynamically binding data in an application | |
CN111273965B (zh) | 一种容器应用启动方法、***、装置及电子设备 | |
CN107391099B (zh) | 一种资源预处理方法及装置 | |
CN112000329B (zh) | 一种数据展示方法、装置、设备及介质 | |
CN116501312B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN112328347A (zh) | 应用规则配置方法、装置和页面处理方法 | |
CN111797387A (zh) | 拦截外挂插件的方法及装置 | |
CN113360154A (zh) | 一种页面构建方法、装置、设备和可读介质 | |
CN114398034A (zh) | 一种可视化数据显示方法、装置和可读介质 | |
US11526366B2 (en) | Dynamically binding data in an application | |
CN113590490B (zh) | 一种自动化测试方法、装置以及设备 | |
CN113590110A (zh) | 一种框架搭建方法、装置以及设备 | |
CN117111918A (zh) | 一种用于任务结构设计的数据处理*** | |
CN113821229A (zh) | 一种程序安装方法、装置、设备及介质 | |
CN113467858A (zh) | 一种程序启动方法、装置、设备及介质 | |
CN115033815A (zh) | 一种基于组件的动态主题生成方法、装置以及设备 | |
Valente | Mobile application development process analysis and proposal of a specific UML extension for Android applications | |
CN114296846A (zh) | 一种页面引导的配置方法、***及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |