CN117873478A - 一种基于模块化组件的应用程序界面自定义方法 - Google Patents
一种基于模块化组件的应用程序界面自定义方法 Download PDFInfo
- Publication number
- CN117873478A CN117873478A CN202410271283.7A CN202410271283A CN117873478A CN 117873478 A CN117873478 A CN 117873478A CN 202410271283 A CN202410271283 A CN 202410271283A CN 117873478 A CN117873478 A CN 117873478A
- Authority
- CN
- China
- Prior art keywords
- component
- data
- confidence
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000006399 behavior Effects 0.000 claims abstract description 46
- 230000003993 interaction Effects 0.000 claims abstract description 45
- 238000013461 design Methods 0.000 claims abstract description 29
- 238000011161 development Methods 0.000 claims abstract description 19
- 238000005457 optimization Methods 0.000 claims abstract description 13
- 230000000007 visual effect Effects 0.000 claims abstract description 13
- 238000012360 testing method Methods 0.000 claims abstract description 11
- 238000010801 machine learning Methods 0.000 claims abstract description 9
- 238000004458 analytical method Methods 0.000 claims abstract description 5
- 239000002131 composite material Substances 0.000 claims abstract description 5
- 230000005540 biological transmission Effects 0.000 claims abstract description 4
- 230000008859 change Effects 0.000 claims description 26
- 230000006870 function Effects 0.000 claims description 19
- 238000005065 mining Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 15
- 238000012216 screening Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 230000002452 interceptive effect Effects 0.000 claims description 11
- 238000012549 training Methods 0.000 claims description 10
- 238000007726 management method Methods 0.000 claims description 8
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 5
- 230000002829 reductive effect Effects 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000005538 encapsulation Methods 0.000 claims description 3
- 238000002474 experimental method Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 150000001875 compounds Chemical class 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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
-
- 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/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于模块化组件的应用程序界面自定义方法,涉及应用程序界面自定义技术领域,包括提供基础和复合UI组件,支持组件间数据共享和事件传递;建立一个组件库,提供组件拖拽布局,支持多人协同实时编辑,支持灵活的大小和位置调整;实现可视化的交互流程编辑器,支持多人协同实时编辑自动遍历测试交互流程;添加一个脚本编辑器,允许用户通过代码的方式定制组件的样式和行为;使用模块化和面向组件的设计模式,所有组件通过统一的接口进行通信和交互;支持通过机器学习分析提升界面和交互优化;本发明集成了前沿的模块化、智能化和自动化理念,能够有效解决现有界面开发中的痛点,对提升设计效率和质量具有重要意义。
Description
技术领域
本发明涉及应用程序界面自定义技术领域,特别是一种基于模块化组件的应用程序界面自定义方法。
背景技术
随着信息技术的快速发展,应用程序界面设计日益注重可定制性和可重用性,模块化组件技术逐渐被广泛应用于界面开发,以提高开发效率,早期的界面设计多采用代码级别的编程方式,界面与业务逻辑高度耦合,不利于定制化。到1990年代,随着面向对象设计思想的推广,一些基于类库和框架的界面开发技术被广泛使用,如MFC、VB等,实现了界面代码的部分重用。但这类技术仍然存在着只能在设计时确定界面,不能灵活调整的问题。
21世纪以来,组件化设计理念被引入界面开发,使得界面进行模块化拆分成可重用的组件,极大提升了定制效率,如Web前端的Vue、React框架都采用了组件化模式。但这类技术主要应用于传统PC端界面,移动端应用定制仍较弱,目前基于组件的应用程序界面定制技术在可扩展性、重用性上还存在缺陷。预设的组件类型较为有限,支持新组件开发的能力较弱;组件之间数据传递形成依赖关系的机制不完善;版本控制和协同开发方面也需加强。
发明内容
鉴于上述组件化设计中存在的问题,提出了本发明。
因此,本发明所要解决的问题在于如何提供一种集成了前沿的模块化、智能化和自动化理念,能够有效解决现有界面开发中的痛点的方法。
为解决上述技术问题,本发明提供如下技术方案:
第一方面,本发明实施例提供了一种基于模块化组件的应用程序界面自定义方法,其包括,提供基础和复合UI组件,支持组件间数据共享和事件传递,组件支持版本控制和保存修改历史;建立一个组件库,提供组件拖拽布局,支持多人协同实时编辑,实现组件管理功能,支持灵活的大小和位置调整,包含基于用户行为的数据驱动的组件推荐系统;实现可视化的交互流程编辑器,支持多人协同实时编辑,集成界面自动测试模块,自动遍历测试交互流程;添加一个脚本编辑器,允许用户通过代码的方式定制组件的样式和行为,应用类型系统,通过类型检查提升代码健壮性;使用模块化和面向组件的设计模式,所有组件通过统一的接口进行通信和交互;支持通过机器学习分析提升界面和交互优化。
作为本发明所述基于模块化组件的应用程序界面自定义方法的一种优选方案,其中:每个组件封装数据和交互逻辑,通过统一接口进行数据绑定,具体包括以下步骤:为每个组件设计一个组件类,包含数据属性和方法;所述数据属性用于存储组件的状态数据,所述方法用于实现组件的交互逻辑;在组件类中定义data属性,用于存储该组件内部的状态数据,通过封装避免外部直接修改组件内部状态;在组件类中编写自定义方法,响应用户交互,实现组件的交互逻辑;在使用组件时,通过接口绑定外部数据源与组件的数据属性,通过统一接口对组件内部数据进行访问和同步;当外部数据源变化时,自动同步到组件的数据属性中,或组件通过接口主动推送数据变化到外部,实现双向的数据绑定和同步。
作为本发明所述基于模块化组件的应用程序界面自定义方法的一种优选方案,其中:所述基于用户行为的数据驱动的组件推荐系统的实现过程如下:记录用户在组件库中的浏览、搜索和选择行为,采集用户构建界面的交互流程和组件使用情况,追踪用户的组件属性设置情况;对不同用户行为进行区分和建模,识别具有区分度的行为,使用关联规则发现用户行为模式,构建用户兴趣和组件使用偏好的计算模型;构建组件推荐系统。
作为本发明所述基于模块化组件的应用程序界面自定义方法的一种优选方案,其中:所述使用关联规则发现用户行为模式,构建用户兴趣和组件使用偏好的计算模型的过程如下:采集大量用户的组件库使用数据作为训练数据,包括用户ID和该用户选择使用的组件ID列表;将用户选择的所有组件合并成一个项集,将数据转换为关联规则算法输入格式;找出所有频繁1项集,再递归合并找到频繁2项集,以此类推,使用支持度和置信度作为频繁项集判断阈值;从频繁项集中生成关联规则,将置信度高于设定值的规则保存为最终结果;从选择的组件中匹配关联规则的前件,使用规则后件中没有选择的组件作为推荐;根据规则推荐文本框,返回推荐结果,并将推荐结果展示给用户。
作为本发明所述基于模块化组件的应用程序界面自定义方法的一种优选方案,其中:所述频繁项集判断阈值的设置过程包括以下步骤:采集大量训练数据,统计各项集和关联规则的支持度和置信度;对支持度数据进行分析,得到支持度分布并确定多个候选支持度阈值,对每个候选支持度阈值,进行关联规则挖掘,统计规则数量和置信度;对置信度数据进行分析,绘制置信度分布并确定多个候选置信度阈值,对每个候选置信度阈值进行关联规则挖掘,统计规则数量和支持度;将支持度筛选结果和置信度筛选结果进行综合判断:当选择支持度阈值时,综合考虑规则数量和置信度;当选择置信度阈值时,综合考虑规则数量和支持度,综合两项指标的变化趋势,使用确定的支持度阈值和置信度阈值进行联合筛选,得到频繁项集和关联规则。
作为本发明所述基于模块化组件的应用程序界面自定义方法的一种优选方案,其中:根据支持度的数据分布,确定多个候选支持度阈值,对每个候选支持度阈值进行关联规则挖掘实验,统计生成的规则数量以及规则的平均置信度,绘制支持度阈值与规则数量和平均置信度的关系曲线,选择当曲线上规则数量减少趋缓并维持稳定时的支持度对应的点;分析平均置信度随支持度阈值的变化情况,在某个支持度阈值点处达到峰值之后置信度下降,根据规则数量的趋势点和置信度的峰值点确定一个支持度阈值;重复上述选择过程,根据置信度的数据分布确定多个候选置信度阈值,对每个置信度阈值进行关联规则挖掘,统计规则数量和平均支持度,分析确定最终的置信度阈值。
作为本发明所述基于模块化组件的应用程序界面自定义方法的一种优选方案,其中:所述对每个置信度阈值进行关联规则挖掘,统计规则数量和平均支持度,分析确定最终的置信度阈值包括以下步骤:遍历多个候选支持度阈值,并设置时间间隔;对每个候选支持度阈值进行关联规则挖掘,统计生成规则数量和平均置信度;将支持度阈值和规则数量绘制在坐标轴上,观察规则数量随支持度的变化趋势,使用曲线拟合方法,对规则数量的变化趋势进行模型拟合;求出拟合曲线的导数,找到导数值从正转负的转折点,作为规则数量变化趋势的拐点,确定为拐点支持度值A;观察置信度随支持度的变化,找到置信度达到峰值的支持度点,确定为置信度峰值点的支持度值B,将规则数量的拐点和置信度峰值点进行比较,若拐点支持度值A小于等于置信度峰值点的支持度值B,则选择A作为阈值;否则选择B作为阈值。
第二方面,本发明为进一步解决组件化设计中存在的问题,实施例提供了基于模块化组件的应用程序界面自定义系统,其包括:组件开发模块,用于提供基础和复合UI组件,实现组件间的数据共享和事件传递机制,以及组件版本控制功能;组件库管理模块,用于建立组件库,提供组件的拖拽布局功能,支持多人协同实时编辑布局,以及实现组件的管理功能,支持组件大小和位置的灵活调整;交互流程编辑模块,用于实现可视化的交互流程设计,支持多人协同实时编辑交互流程,以及集成界面自动测试功能;脚本编辑模块,用于提供脚本编辑器,允许通过编程方式自定义组件的样式和行为,实现个性化定制,并使用类型系统提升代码健壮性;组件服务模块,用于采用模块化和面向服务的设计模式,实现所有组件通过统一接口进行解耦合和服务访问;智能优化模块,用于通过收集和分析用户界面交互数据,构建机器学习模型,实现界面和交互方式的智能优化。
第三方面,本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中:所述计算机程序被处理器执行时实现如本发明第一方面所述的基于模块化组件的应用程序界面自定义方法的任一步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中:所述计算机程序被处理器执行时实现如本发明第一方面所述的基于模块化组件的应用程序界面自定义方法的任一步骤。
本发明有益效果为,本发明通过组件的模块化设计和统一接口,实现组件的重复利用,大大缩短界面开发周期;通过组件的可视化拖拽和组合,可实现对界面样式、布局、交互的灵活定制,能够完全按照用户需求快速生成界面;利用机器学习技术分析用户行为数据,实现对界面元素的智能优化,使界面更符合使用习惯;组件化和可视化的开发方式,以及交互自动生成等功能降低了界面设计的难度和学习成本,同时组件松耦合设计和面向服务架构,使得系统具备良好的扩展性和兼容性;本发明集成了前沿的模块化、智能化和自动化理念,能够有效解决现有界面开发中的痛点,对提升设计效率和质量具有重要意义。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。其中:
图1为实施例1中基于模块化组件的应用程序界面自定义方法的流程图。
图2为实施例1中频繁项集判断阈值的设置过程的流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
实施例1
参照图1和图2,为本发明第一个实施例,该实施例提供了一种基于模块化组件的应用程序界面自定义方法,包括以下步骤:
S1:提供基础和复合UI组件,支持组件间数据共享和事件传递,组件支持版本控制和保存修改历史。
定义各种可重用的UI组件模块,比如按钮、文本框和下拉菜单等基础模块,以及一些更复杂的组合模块,如搜索条、过滤器或图表等,每个UI组件模块都封装数据和交互逻辑。
优选的,每个组件封装数据和交互逻辑,通过统一接口进行数据绑定,具体包括以下步骤:为每个组件设计一个组件类(Component),包含数据属性(data)和方法(methods),其中,数据属性用于存储组件的状态数据,如文本、图片源等;方法用于实现组件的交互逻辑,如点击事件处理函数;在组件类中定义data属性,用于存储该组件内部的状态数据,数据可以包括属性值、用户输入内容或网络请求结果等需要组件内部使用的变量,通过封装可避免外部直接修改组件内部状态,提高稳定性;在组件类中编写自定义方法,用于响应用户交互,实现组件的交互逻辑,如输入文本后处理输入数据、点击按钮后发送网络请求等,通过封装可重用交互逻辑,避免外部代码影响组件行为;在使用组件时,通过接口绑定外部数据源与组件的数据属性,如将表单输入框的value与变量userName绑定,这样就可以通过统一接口对组件内部数据进行访问和同步;当外部数据源变化时,自动同步到组件的数据属性中,组件也可以通过接口主动推送数据变化到外部,实现双向的数据绑定和同步。
S2:建立一个组件库,提供组件拖拽布局,支持多人协同实时编辑,实现组件搜索、分类、标记等管理功能,支持灵活的大小和位置调整,实现基于用户行为的数据驱动的组件推荐系统。
同时,准备各种皮肤和模板,用于快速构建常见页面样式。
进一步的,基于用户行为的数据驱动的组件推荐系统的实现过程如下:
S2.1:记录用户在组件库中的浏览、搜索、选择等行为,采集用户构建界面的交互流程、组件使用情况,追踪用户的组件属性设置情况。
S2.2:对不同用户行为进行区分和建模,识别具有区分度的行为,使用关联规则发现用户行为模式,构建用户兴趣和组件使用偏好的计算模型。
进一步的,使用关联规则发现用户行为模式,构建用户兴趣和组件使用偏好的计算模型的过程如下:采集大量用户的组件库使用数据作为训练数据,内容包括用户ID和该用户选择使用的组件ID列表(项集);将用户选择的所有组件合并成一个项集,过滤掉频率过低的组件,将数据转换为关联规则算法输入格式;先找出所有频繁1项集,再递归合并找到频繁2项集,以此类推,使用支持度和置信度作为频繁项集判断阈值,例如{按钮,文本框}的支持度超过阈值,则将其确定为频繁项集;从频繁项集中生成关联规则:例如从{按钮,文本框}可以生成规则:“包含按钮的界面,也包含文本框”,将置信度高的规则保存为最终结果;从U选择的组件中匹配关联规则的前件,使用规则后件中U没有选择的组件作为推荐,例如U选择了按钮,根据规则推荐文本框,返回推荐结果,完成一次判断交互,将推荐结果展示给用户U。
优选的,频繁项集判断阈值的设置过程如下:收集大量训练数据,统计各项集的支持度和置信度,对支持度数据进行分析,得到支持度分布并确定多个候选支持度阈值,对每个候选支持度阈值,进行关联规则挖掘,统计规则数量和置信度;对置信度数据进行分析,绘制置信度分布并确定多个候选置信度阈值,对每个候选置信度阈值,进行关联规则挖掘,统计规则数量和支持度,将支持度筛选结果和置信度筛选结果进行综合判断:当选择支持度阈值时,需综合考虑规则数量和置信度;当选择置信度阈值时,需综合考虑规则数量和支持度,综合两项指标的变化趋势,找到最终的支持度阈值和置信度阈值,使用确定的支持度阈值和置信度阈值进行联合筛选,得到频繁项集和关联规则。
进一步的,根据支持度的数据分布,确定多个候选支持度阈值,如0.1、0.2、0.25等,对每个候选支持度阈值,进行关联规则挖掘实验,统计生成的规则数量以及规则的平均置信度,绘制支持度阈值与规则数量、平均置信度的关系曲线,分析支持度阈值越高,规则数量呈下降趋势;当支持度达到一个点后,规则数量减少趋缓并维持稳定,分析平均置信度随支持度阈值的变化情况,在某个支持度阈值点处达到峰值,之后置信度下降,根据规则数量的趋势点和置信度的峰值点,确定一个合适的支持度阈值,例如0.2,重复上述过程,根据置信度的数据分布确定多个候选置信度阈值,对每个置信度阈值进行关联规则挖掘,统计规则数量和平均支持度,分析确定置信度阈值,例如0.6,最终综合考量支持度阈值0.2和置信度阈值0.6,作为频繁项集生成的双重阈值判断条件。
优选的,遍历多个候选支持度阈值,之间间隔设置为0.05,如0.05、0.1、0.15等,对每个候选支持度阈值,进行关联规则挖掘,统计生成规则数量和平均置信度,将支持度阈值和规则数量绘制在坐标轴上,观察规则数量随支持度的变化趋势,使用曲线拟合方法,对规则数量的变化趋势进行模型拟合,例如指数衰减模型,求出拟合曲线的导数,找到导数值从正转负的点,作为规则数量变化趋势的拐点,同时,观察置信度随支持度的变化,找到置信度达到峰值的支持度点,将规则数量的拐点和置信度峰值点进行比较,选择特定的一个支持度值点,作为最终的支持度阈值。
更进一步的,特定的含义为:绘制规则数量随支持度变化的曲线图,并进行曲线拟合,确定拐点支持度值A,绘制置信度随支持度变化的曲线图,并找到置信度峰值点的支持度值B。
定义判定条件为:如果 A<= B,则选择A作为最终支持度阈值,如果 A>B,则选择B作为最终支持度阈值,也就是比较数值大小,如果规则数量拐点对应的支持度A小于等于置信度峰值点B,则选择A作为阈值;否则选择B作为阈值。
即对每个阈值,进行关联规则发现:使用不同的最小支持度,进行Apriori算法以发现规则,统计结果规则的质量,比如规则总数、平均置信度等,绘制规则质量随支持度阈值的变化曲线,在质量指标变化平缓的支撑度阈值点选取最终阈值。
更进一步的,综合两项指标的变化趋势,使用确定的支持度阈值和置信度阈值进行联合筛选,得到频繁项集和关联规则的操作步骤为:对训练数据进行关联规则挖掘,统计每一个项集的支持度,保留支持度大于等于支持度阈值的项集作为频繁项集;从频繁项集中生成关联规则;计算每个关联规则的支持度和置信度,保留支持度大于等于支持度阈值且置信度大于等于置信度阈值的关联规则,将满足支持度和置信度双重筛选条件的关联规则保存为结果,得到筛选后的频繁项集和关联规则;将结果进行存储和应用,作为组件的推荐依据,当有新的用户行为数据时,重复上述过程更新规则。
S2.3:构建组件推荐系统。
使用协同过滤推荐算法,根据相似用户偏好推荐,基于内容的推荐,根据用户查询词推荐相关组件,结合组件属性,提供符合用户偏好的个性化组件配置推荐。
进一步的,记录用户在组件库的浏览、搜索和选择行为,收集用户构建界面的组件使用数据,追踪用户对组件属性设置的情况;计算不同用户的行为数据相似度,为目标用户找到行为相似的用户群,根据相似用户喜好推荐可能感兴趣的组件;对组件内容进行特征提取,如文本、样式等,根据用户搜索词与组件内容匹配,返回最相关的组件。
进一步的,计算不同用户的行为数据相似度的过程如下:构建用户行为特征向量:为每个用户提取使用组件库的行为序列数据,对行为序列进行标记,如浏览、停留、选择等行为,构建用户行为特征向量,表示不同行为的统计信息;计算用户向量相似度:使用皮尔逊相关系数向量相似度算法,比较两个用户的行为特征向量间的向量相似度,相似度高的用户行为模式较为接近;对所有用户行为特征向量建立索引,使用K最近邻搜索算法根据相似度找到目标用户的最近邻,最近邻用户行为模式与目标用户较为接近;统计近邻用户选择和使用的组件情况,根据使用频率和时间衰减函数评分推荐组件,为目标用户推荐得分较高的组件。
S3:实现可视化的交互流程编辑器,包含可视化流程设计,支持多人协同实时编辑,集成界面自动测试模块,自动遍历测试交互流程。
优选的,用户可以通过连线的方式定义组件之间的交互逻辑和数据流向,构建复杂的多级判断和操作流程,实现自定义的业务逻辑,编辑器还可实时预览和调试。
S4:添加一个脚本编辑器,允许用户通过代码的方式定制组件的样式和行为,实现更细粒度的个性化定制,应用类型系统,通过类型检查提升代码健壮性。
S5:使用模块化和面向组件的设计模式,所有组件通过统一的接口进行通信和交互。
S6:支持通过机器学习分析提升界面和交互优化。
包括以下步骤:跟踪记录用户的操作流数据,如点击、滚动或选择等交互行为;使用深度学习模型分析用户交互序列,预测用户意图;应用监督学习方法评估界面元素对用户目标的影响程度;根据用户意图,提升相关元素的大小、颜色或位置等视觉权重,引导用户完成交互目标的界面调整建议;A/B测试对比优化前后界面设计的用户转化率、完成任务时间等,将新的用户交互数据反馈进模型,持续迭代优化界面设计;其中用户行为模型可以用条件概率表示:
P(action_t | context_t)
其中,action_t为用户在时刻t的交互操作,如点击、滑动等;context_t为时刻t的用户界面内容和状态,包括页面、操作历史等信息;P()为条件概率函数。
元素重要性可以采用GBDT模型进行评估,树集成的加权和表示其对目标的影响程度。
系统具备良好的扩展性,我们也封装了常用的界面交互模板和自动生成代码的功能,帮助用户快速高效地定制界面。
本实施例还提供一种基于模块化组件的应用程序界面自定义系统,包括组件开发模块,用于提供基础和复合UI组件,实现组件间的数据共享和事件传递机制,以及组件版本控制功能;组件库管理模块,用于建立组件库,提供组件的拖拽布局功能,支持多人协同实时编辑布局,以及实现组件的管理功能,支持组件大小和位置的灵活调整;交互流程编辑模块,用于实现可视化的交互流程设计,支持多人协同实时编辑交互流程,以及集成界面自动测试功能;脚本编辑模块,用于提供脚本编辑器,允许通过编程方式自定义组件的样式和行为,实现个性化定制,并使用类型系统提升代码健壮性;组件服务模块,用于采用模块化和面向服务的设计模式,实现所有组件通过统一接口进行解耦合和服务访问;智能优化模块,用于通过收集和分析用户界面交互数据,构建机器学习模型,实现界面和交互方式的智能优化。
本实施例还提供一种计算机设备,适用于基于模块化组件的应用程序界面自定义方法的情况,包括:存储器和处理器;存储器用于存储计算机可执行指令,处理器用于执行计算机可执行指令,实现如上述实施例提出的基于模块化组件的应用程序界面自定义方法。
该计算机设备可以是终端,该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本实施例还提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例提出的实现基于模块化组件的应用程序界面自定义方法;存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory, 简称SRAM),电可擦除可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory, 简称EEPROM),可擦除可编程只读存储器(ErasableProgrammable Read Only Memory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory, 简称PROM),只读存储器(Read-Only Memory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。
综上,本发明通过组件的模块化设计和统一接口,实现组件的重复利用,大大缩短界面开发周期;通过组件的可视化拖拽和组合,可实现对界面样式、布局、交互的灵活定制,能够完全按照用户需求快速生成界面;利用机器学习技术分析用户行为数据,实现对界面元素的智能优化,使界面更符合使用习惯;组件化和可视化的开发方式,以及交互自动生成等功能降低了界面设计的难度和学习成本,同时组件松耦合设计和面向服务架构,使得系统具备良好的扩展性和兼容性;本发明集成了前沿的模块化、智能化和自动化理念,能够有效解决现有界面开发中的痛点,对提升设计效率和质量具有重要意义。
实施例2
本发明第二个实施例,在第一个实施例的基础之上,为了验证其有益效果,提供了本发明基于模块化组件的应用程序界面自定义方法的实验仿真数据。
收集了500个用户在组件库的使用数据作为训练数据,每个样本包含用户ID和该用户选择使用的组件ID列表。
将所有用户选择的组件合并为一个项集,统计各个组件的选择频次,设置最小支持度为0.05,获得频繁1项集{A:0.2, B:0.3, C:0.25, D:0.1, E:0.15}。
递归合并频繁1项集,获得频繁2项集:{A,B:0.18, B,C:0.2, C,E:0.12},其中项集{A,B}表示同时选择A和B的用户占总用户的0.18。
设置最小置信度为0.6,从频繁2项集生成关联规则:
{A,B} ->B (置信度 0.6);{B,C} ->C (置信度 0.67);{C,E} ->E (置信度0.8)。
对用户选择的组件{A,C,D}进行推荐,匹配到关联规则{C,E} ->E,因此推荐未选择的组件E。
为了寻找最优的支持度和置信度阈值,遍历设置不同的支持度阈值,统计各支持度下的规则数量和平均置信度,绘制关系曲线,分析确定最佳支持度阈值为0.05,同理遍历不同的置信度阈值,分析确定最佳置信度阈值为0.6。
使用支持度0.05和置信度0.6进行组合筛选,得到最后的频繁项集和关联规则。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种基于模块化组件的应用程序界面自定义方法,其特征在于:包括:
提供基础和复合UI组件,支持组件间数据共享和事件传递,组件支持版本控制和保存修改历史;
建立一个组件库,提供组件拖拽布局,支持多人协同实时编辑,支持灵活的大小和位置调整,包含基于用户行为的数据驱动的组件推荐系统;
实现可视化的交互流程编辑器,支持多人协同实时编辑,集成界面自动测试模块,自动遍历测试交互流程;
添加一个脚本编辑器,允许用户通过代码的方式定制组件的样式和行为,应用类型系统;
使用模块化和面向组件的设计模式,所有组件通过统一的接口进行通信和交互;
支持通过机器学习分析提升界面和交互优化。
2.如权利要求1所述的基于模块化组件的应用程序界面自定义方法,其特征在于:每个组件封装数据和交互逻辑,通过统一接口进行数据绑定,具体包括以下步骤:
为每个组件设计一个组件类,包含数据属性和方法;
所述数据属性用于存储组件的状态数据,所述方法用于实现组件的交互逻辑;
在组件类中定义data属性,用于存储该组件内部的状态数据,通过封装避免外部直接修改组件内部状态;
在组件类中编写自定义方法,响应用户交互,实现组件的交互逻辑;
在使用组件时,通过接口绑定外部数据源与组件的数据属性,通过统一接口对组件内部数据进行访问和同步;当外部数据源变化时,自动同步到组件的数据属性中,或组件通过接口主动推送数据变化到外部,实现双向的数据绑定和同步。
3.如权利要求2所述的基于模块化组件的应用程序界面自定义方法,其特征在于:所述基于用户行为的数据驱动的组件推荐系统的实现过程如下:
记录用户在组件库中的浏览、搜索和选择行为,采集用户构建界面的交互流程和组件使用情况,追踪用户的组件属性设置情况;
对不同用户行为进行区分和建模,识别具有区分度的行为,使用关联规则发现用户行为模式,构建用户兴趣和组件使用偏好的计算模型;
构建组件推荐系统。
4.如权利要求3所述的基于模块化组件的应用程序界面自定义方法,其特征在于:所述使用关联规则发现用户行为模式,构建用户兴趣和组件使用偏好的计算模型的过程如下:
采集大量用户的组件库使用数据作为训练数据,包括用户ID和该用户选择使用的组件ID列表;
将用户选择的所有组件合并成一个项集,将数据转换为关联规则算法输入格式;
找出所有频繁1项集,再递归合并找到频繁2项集,以此类推,使用支持度和置信度作为频繁项集判断阈值;
从频繁项集中生成关联规则,将置信度高于设定值的规则保存为最终结果;
从选择的组件中匹配关联规则的前件,使用规则后件中没有选择的组件作为推荐;
根据规则推荐文本框,返回推荐结果,并将推荐结果展示给用户。
5.如权利要求4所述的基于模块化组件的应用程序界面自定义方法,其特征在于:所述频繁项集判断阈值的设置过程包括以下步骤:
采集大量训练数据,统计各项集和关联规则的支持度和置信度;
对支持度数据进行分析,得到支持度分布并确定多个候选支持度阈值,对每个候选支持度阈值,进行关联规则挖掘,统计规则数量和置信度;
对置信度数据进行分析,绘制置信度分布并确定多个候选置信度阈值,对每个候选置信度阈值进行关联规则挖掘,统计规则数量和支持度;
将支持度筛选结果和置信度筛选结果进行综合判断:当选择支持度阈值时,综合考虑规则数量和置信度;当选择置信度阈值时,综合考虑规则数量和支持度,综合两项指标的变化趋势,使用确定的支持度阈值和置信度阈值进行联合筛选,得到频繁项集和关联规则。
6.如权利要求5所述的基于模块化组件的应用程序界面自定义方法,其特征在于:根据支持度的数据分布,确定多个候选支持度阈值,对每个候选支持度阈值进行关联规则挖掘实验,统计生成的规则数量以及规则的平均置信度,绘制支持度阈值与规则数量和平均置信度的关系曲线,选择当曲线上规则数量减少趋缓并维持稳定时的支持度对应的点;
分析平均置信度随支持度阈值的变化情况,在某个支持度阈值点处达到峰值之后置信度下降,根据规则数量的趋势点和置信度的峰值点确定一个支持度阈值,重复选择过程,根据置信度的数据分布确定多个候选置信度阈值,对每个置信度阈值进行关联规则挖掘,统计规则数量和平均支持度,分析确定最终的置信度阈值。
7.如权利要求6所述的基于模块化组件的应用程序界面自定义方法,其特征在于:所述对每个置信度阈值进行关联规则挖掘,统计规则数量和平均支持度,分析确定最终的置信度阈值包括以下步骤:
遍历多个候选支持度阈值,并设置时间间隔;
对每个候选支持度阈值进行关联规则挖掘,统计生成规则数量和平均置信度;
将支持度阈值和规则数量绘制在坐标轴上,观察规则数量随支持度的变化趋势,使用曲线拟合方法,对规则数量的变化趋势进行模型拟合;
求出拟合曲线的导数,找到导数值从正转负的转折点,作为规则数量变化趋势的拐点,确定为拐点支持度值A;
观察置信度随支持度的变化,找到置信度达到峰值的支持度点,确定为置信度峰值点的支持度值B,将规则数量的拐点和置信度峰值点进行比较,若拐点支持度值A小于等于置信度峰值点的支持度值B,则选择A作为阈值;否则选择B作为阈值。
8.一种基于模块化组件的应用程序界面自定义系统,基于权利要求1~7任一所述的基于模块化组件的应用程序界面自定义方法,其特征在于:包括:
组件开发模块,用于提供基础和复合UI组件,实现组件间的数据共享和事件传递机制,以及组件版本控制功能;
组件库管理模块,用于建立组件库,提供组件的拖拽布局功能,支持多人协同实时编辑布局,以及实现组件的管理功能,支持组件大小和位置的灵活调整;
交互流程编辑模块,用于实现可视化的交互流程设计,支持多人协同实时编辑交互流程,以及集成界面自动测试功能;
脚本编辑模块,用于提供脚本编辑器,允许通过编程方式自定义组件的样式和行为,实现个性化定制,并使用类型系统提升代码健壮性;
组件服务模块,用于采用模块化和面向服务的设计模式,实现所有组件通过统一接口进行解耦合和服务访问;
智能优化模块,用于通过收集和分析用户界面交互数据,构建机器学习模型,实现界面和交互方式的智能优化。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1~7任一所述的基于模块化组件的应用程序界面自定义方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1~7任一所述的基于模块化组件的应用程序界面自定义方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410271283.7A CN117873478B (zh) | 2024-03-11 | 2024-03-11 | 一种基于模块化组件的应用程序界面自定义方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410271283.7A CN117873478B (zh) | 2024-03-11 | 2024-03-11 | 一种基于模块化组件的应用程序界面自定义方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117873478A true CN117873478A (zh) | 2024-04-12 |
CN117873478B CN117873478B (zh) | 2024-05-14 |
Family
ID=90579660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410271283.7A Active CN117873478B (zh) | 2024-03-11 | 2024-03-11 | 一种基于模块化组件的应用程序界面自定义方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117873478B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118069119A (zh) * | 2024-04-22 | 2024-05-24 | 贵州惠智电子技术有限责任公司 | 一种用于低代码平台的规则编辑系统 |
CN118536482A (zh) * | 2024-07-22 | 2024-08-23 | 沈阳慧筑云科技有限公司 | 基于自定义的表单流程方法、装置、系统和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170083290A1 (en) * | 2015-09-21 | 2017-03-23 | Shridhar V. Bharthulwar | Integrated System for Software Application Development |
KR20170130821A (ko) * | 2016-05-19 | 2017-11-29 | 충북대학교 산학협력단 | 컴포넌트 상호연관성 추출 기반 소프트웨어 컴포넌트 추천 방법 및 이를 기록한 기록 매체 |
CN112817584A (zh) * | 2021-01-29 | 2021-05-18 | 北京华如科技股份有限公司 | 一种基于脚本的非编程、可视化兵棋规则设计编辑系统 |
CN116225429A (zh) * | 2022-12-29 | 2023-06-06 | 浙江华云信息科技有限公司 | 基于拖拽式组件框架的ipage网页式低代码开发平台 |
CN116846987A (zh) * | 2023-09-01 | 2023-10-03 | 山东省信息技术产业发展研究院(中国赛宝(山东)实验室) | 一种工业互联网的交互界面生成方法及系统 |
CN117215555A (zh) * | 2023-09-13 | 2023-12-12 | 上海鸣啸信息科技股份有限公司 | 一种基于轨道交通的低代码开发平台 |
CN117235362A (zh) * | 2023-09-15 | 2023-12-15 | 中科国力电子技术有限公司 | 一种基于智慧文旅大数据的分析系统 |
CN117539458A (zh) * | 2023-10-16 | 2024-02-09 | 上海鸣啸信息科技股份有限公司 | 一种可视化、可拖拽的低代码开发工具 |
-
2024
- 2024-03-11 CN CN202410271283.7A patent/CN117873478B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170083290A1 (en) * | 2015-09-21 | 2017-03-23 | Shridhar V. Bharthulwar | Integrated System for Software Application Development |
KR20170130821A (ko) * | 2016-05-19 | 2017-11-29 | 충북대학교 산학협력단 | 컴포넌트 상호연관성 추출 기반 소프트웨어 컴포넌트 추천 방법 및 이를 기록한 기록 매체 |
CN112817584A (zh) * | 2021-01-29 | 2021-05-18 | 北京华如科技股份有限公司 | 一种基于脚本的非编程、可视化兵棋规则设计编辑系统 |
CN116225429A (zh) * | 2022-12-29 | 2023-06-06 | 浙江华云信息科技有限公司 | 基于拖拽式组件框架的ipage网页式低代码开发平台 |
CN116846987A (zh) * | 2023-09-01 | 2023-10-03 | 山东省信息技术产业发展研究院(中国赛宝(山东)实验室) | 一种工业互联网的交互界面生成方法及系统 |
CN117215555A (zh) * | 2023-09-13 | 2023-12-12 | 上海鸣啸信息科技股份有限公司 | 一种基于轨道交通的低代码开发平台 |
CN117235362A (zh) * | 2023-09-15 | 2023-12-15 | 中科国力电子技术有限公司 | 一种基于智慧文旅大数据的分析系统 |
CN117539458A (zh) * | 2023-10-16 | 2024-02-09 | 上海鸣啸信息科技股份有限公司 | 一种可视化、可拖拽的低代码开发工具 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118069119A (zh) * | 2024-04-22 | 2024-05-24 | 贵州惠智电子技术有限责任公司 | 一种用于低代码平台的规则编辑系统 |
CN118069119B (zh) * | 2024-04-22 | 2024-06-18 | 贵州惠智电子技术有限责任公司 | 一种用于低代码平台的规则编辑系统 |
CN118536482A (zh) * | 2024-07-22 | 2024-08-23 | 沈阳慧筑云科技有限公司 | 基于自定义的表单流程方法、装置、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117873478B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117873478B (zh) | 一种基于模块化组件的应用程序界面自定义方法 | |
Zhao et al. | Guigan: Learning to generate gui designs using generative adversarial networks | |
López et al. | ModelSet: a dataset for machine learning in model-driven engineering | |
US12079568B2 (en) | Domain-specific language interpreter and interactive visual interface for rapid screening | |
US9946514B1 (en) | Systems and methods for generating functional application designs | |
US8271541B2 (en) | Method and apparatus for developing composite applications | |
US10579632B2 (en) | Personalized content authoring driven by recommendations | |
CN116127203B (zh) | 结合页面信息的rpa业务组件推荐方法及系统 | |
KR20150058237A (ko) | 간략화된 지식공학 방법 및 시스템 | |
US20210034339A1 (en) | System and method for employing constraint based authoring | |
CN112417133A (zh) | 排序模型的训练方法和装置 | |
Zhao et al. | Icon2Code: Recommending code implementations for Android GUI components | |
Arondi et al. | Supporting co-evolution of users and systems by the recognition of Interaction Patterns | |
Bako et al. | Streamlining Visualization Authoring in D3 Through User-Driven Templates | |
WO2021240370A1 (en) | Domain-specific language interpreter and interactive visual interface for rapid screening | |
US20220229970A1 (en) | Multi-faceted site evaluator integrating user defined evaluation engines | |
Wang et al. | Missing standard features compared with similar apps? A feature recommendation method based on the knowledge from user interface | |
CN115248891A (zh) | 一种页面展示方法、装置、电子设备和存储介质 | |
Ran et al. | Foundation Model Engineering: Engineering Foundation Models Just as Engineering Software | |
Reinhartz-Berger et al. | A Variability-driven analysis method for automatic extraction of domain behaviors | |
Hess et al. | Generating automatically class comments in Pharo | |
US20240281218A1 (en) | Intelligent and predictive modules for software development and coding using artificial intelligence and machine learning | |
Linaje et al. | Multi-device context-aware RIAs using a model-driven approach | |
Umuhoza | Domain-specific modeling and code generation for cross-platform mobile and IoT-based applications | |
Rodas Silva | On the selection and analysis of software product line implementation components using intelligent techniques |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |