人机交互界面自动生成方法及系统技术方案

技术编号:10565203 阅读:238 留言:0更新日期:2014-10-22 16:49
本发明专利技术公开了一种人机交互界面自动生成方法及系统。所述方法包括:根据人机交互界面所需展现的内容定义模型对象,所述模型对象包括至少一个模型成员;所述模型成员与数据库中的元数据有一对一映射关系;构建与模型对象对应的模型视图,所述模型视图包括至少一个模型视图元素,所述模型视图元素至少与一个模型成员有一对一映射关系;根据既定语法规则解析模型对象和模型视图,生成模型对象配置文件以及人机交互界面配置文件,所述模型对象配置文件用于提供模型对象与数据库的映射,所述人际交互界面配置文件用于以对应的模型视图展现模型对象。本发明专利技术能有效减少视图层的程序开发量,提供的视图层更贴合用户需求,通用性和可扩展性高。

【技术实现步骤摘要】
人机交互界面自动生成方法及系统
本专利技术涉及计算机软件领域,尤其涉及一种人机交互界面自动生成方法及系统。
技术介绍
目前,MVC(模型-视图-控制器,Model-View-Controller)软件设计模式由于部署快、生命周期成本低而被广泛应用于各种企业级应用中。MVC模式实现了功能模块和显示模块的分离,使得程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。如图1所示,MVC模式中的模型层(Model)实现系统中的业务逻辑,表示企业数据和业务规则。模型层处理数据库,并为多个视图提供数据。视图层(View)向用户提供视图界面,在界面中展现模型中的业务数据并提供用户交互能力。控制层(Controller)是模型层(Model)与视图层(View)之间沟通的桥梁,它接收用户的请求并决定调用哪个模型去处理请求,然后再确定用哪个视图来显示返回的数据。就视图层而言,典型的企业级应用中存在大量的数据录入操作,这些操作需要复杂的人机交互界面来辅助完成。因此,即便使用了MVC模式来开发企业级应用系统,开发人员仍不得不耗费大量的精力来开发这些交互界面。并且,通过这种方式开发的人机交互界面还存在重复劳动多、纠错性差、可重用程度低、后期维护成本高等缺陷。因此,开发人员寻求MVC模式下可有效减少视图层开发工作量的方法,使开发人员能集中精力于业务逻辑上。现有技术MetaWidget提供了一种用户界面自动生成框架。它从各种配置文件(XML)、对象关系映射(ORM)、Java类间关系中收集与用户界面生成相关的信息,并结合用户辅助输入的模型信息,反向推导出最适合的用户界面。然而,在实现本专利技术的过程中,专利技术人发现MetaWidget至少存在如下问题:1)MetaWidget从模型层反向推导出视图层,其最终实际展现的视图与用户的需求可能存在较大差异。2)MetaWidget中模型层和视图层之间通过字段耦合,即:视图层依赖模型层上的具体字段实现视图展现,因此MetaWidget生成的控件通用性与可扩展性仍然较差,在使用MetaWidget开发大量企业级应用中的人机交互界面时,可发挥作用的空间有限。
技术实现思路
本专利技术所要解决的技术问题是提供一种方法及系统,可有效减少视图层的程序开发工作量,并且提供的视图层更贴合用户需求,通用性和可扩展性高。为了解决上述问题,根据本专利技术的一个方面,提供了一种人机交互界面自动生成方法,包括:根据所述人机交互界面所需展现的内容定义模型对象,所述模型对象包括至少一个模型成员;所述模型成员与数据库中的元数据存在一对一映射关系;构建与所述模型对象对应的模型视图,所述模型视图包括至少一个模型视图元素;其中,所述模型视图元素至少与一个模型成员存储在一对一映射关系;根据既定语法规则解析所述模型对象和模型视图,生成模型对象配置文件以及人机交互界面配置文件;其中,所述模型对象配置文件用于提供所述模型对象与数据库的映射,所述人际交互界面配置文件用于以对应的模型视图展现所述模型对象。在一个实施例中,所述模型视图元素包括显示视图、创建视图、更新视图、查询视图、列举视图、条列视图中的一个或多个。在一个实施例中,所述定义模式对象还包括:定义模型成员之间的关联关系;所述模型成员在人机交互界面的展现方式与所述关联关系相适应,所述关联关系经解析后在所述人机交互界面配置文件中体现。在一个实施例中,所述模型成员之间的关联关系包括:聚合关系、组合关系、多重性关系中的一种或多种。在一个实施例中,所述人机交互界面的展现方式至少包括:链接、下拉列表、数据表、嵌套表格、表格中的一种或多种。在一个实施例中,还包括:定义操作控件,所述操作控件对应于对模型成员的特定操作,所述特定操作与所述模型视图元素相适应;以及解析所述操作控件,在所述人机交互界面配置文件中体现所述操作控件与模型成员、模型视图元素的关系。在一个实施例中,所述特定操作包括:显示、创建、更新、删除、查询中的一种或多种。在一个实施例中,所述构建与所述模型对象对应的模型视图还包括:描述所述模型视图元素的属性,所述模型视图元素在人机交互界面的展现方式与所述属性相适应;所述属性经解析后在所述人机交互界面配置文件中体现。在一个实施例中,所述属性至少包括:控件布局、控件分组、组嵌套、控件样式、只读、数据格式、事件表达式中的一种或多种。在一个实施例中,所述定义模型对象以及构建与所述模型对象对应的模型视图以编辑自然表达语言脚本的方式实现。在一个实施例中,在所述定义模型对象和构建与所述模型对象对应的模型视图之前,还包括:确定所述自然表达语言的语法规则;所述既定语法规则包括所述自然表达语言的语法规则。在一个实施例中,所述人机交互界面配置文件至少包括:JAVA类代码、对象关系映射文件、JAVA文档中的一种或多种。根据本专利技术的另一个方面,还提供了一种人机交互界面自动生成系统,包括:模型对象单元,根据所述人机交互界面所需展现的内容定义模型对象,所述模型对象包括至少一个模型成员;所述模型成员与数据库中的元数据有一对一映射关系;模型视图单元,构建与所述模型对象对应的模型视图,所述模型视图包括至少一个模型视图元素;其中,所述模型视图元素至少与一个模型成员有一对一映射关系;解析配置单元,根据既定语法规则解析所述模型对象和模型视图,生成模型对象配置文件以及人机交互界面配置文件;其中,所述模型对象配置文件用于提供所述模型对象与数据库的映射,所述人际交互界面配置文件用于以对应的模型视图展现所述模型对象。在一个实施例中,所述模型视图元素包括显示视图、创建视图、更新视图、查询视图、列举视图、条列视图中的一个或多个。在一个实施例中,所述模型对象单元还包括:关联关系单元,用于定义模型对象之间的关联关系,所述模型成员在人机交互界面的展现方式与所述关联关系相适应;所述解析配置单元,还用于解析所述关联关系,所述关联关系经解析后在所述人机交互界面配置文件中体现。在一个实施例中,所述系统还包括:操作控件单元,用于定义操作控件,所述操作控件对应于对模型成员的特定操作,所述特定操作与所述模型视图元素相适应;所述解析配置单元,还用于解析所述操作控件,在所述人机交互界面配置文件中体现所述操作控件与模型成员、模型视图元素的关系。在一个实施例中,所述模型视图单元还包括:属性描述单元,用于描述所述模型视图元素的属性,所述模型视图元素在人机交互界面的展现方式与所述属性相适应;所述解析配置单元,还用于解析所述属性,所述属性经解析后在所述人机交互界面配置文件中体现。与现有技术相比,本专利技术的技术方案具有以下优点:本专利技术基于用户在人机交互界面上需要展现的内容确定模型层,即:从视图层推导出模型层,使得视图层展现的内容更符合用户的需要。本专利技术通过定义模型对象、构建对应的模型视图,经解析自动生成用于展现所述模型对象对应的视图的配置文件,有效减少了开发人员手工编写代码量。本专利技术在传统的模型层(Model)与视图层(View)中引入了模型视图层(ModelView),使得模型层与视图层的耦合程度从字段级(视图层依赖模型上的具体字段)降低到模型视图级(视图层仅仅依赖模型视图),生成的控件通用性和可扩展性大大提高。在可选方案中,通本文档来自技高网
...
人机交互界面自动生成方法及系统

【技术保护点】
一种人机交互界面自动生成方法,其特征在于,包括:根据所述人机交互界面所需展现的内容定义模型对象,所述模型对象包括至少一个模型成员;所述模型成员与数据库中的元数据有一对一映射关系;构建与所述模型对象对应的模型视图,所述模型视图包括至少一个模型视图元素;其中,所述模型视图元素至少与一个模型成员存在一对一映射关系;根据既定语法规则解析所述模型对象和模型视图,生成模型对象配置文件以及人机交互界面配置文件;其中,所述模型对象配置文件用于提供所述模型对象与数据库的映射,所述人际交互界面配置文件用于以对应的模型视图展现所述模型对象。

【技术特征摘要】
1.一种人机交互界面自动生成方法,其特征在于,包括:根据所述人机交互界面所需展现的内容定义模型对象,所述模型对象包括至少一个模型成员;所述模型成员与数据库中的元数据有一对一映射关系;构建与所述模型对象对应的模型视图,所述模型视图包括至少一个模型视图元素;其中,所述模型视图元素至少与一个模型成员存在一对一映射关系;根据既定语法规则解析所述模型对象和模型视图,生成模型对象配置文件以及人机交互界面配置文件;其中,所述模型对象配置文件用于提供所述模型对象与数据库的映射,所述人机交互界面配置文件用于以对应的模型视图展现所述模型对象;所述构建与所述模型对象对应的模型视图还包括:描述所述模型视图元素的属性,所述模型视图元素在人机交互界面的展现方式与所述属性相适应;所述属性经解析后在所述人机交互界面配置文件中体现。2.根据权利要求1所述的人机交互界面自动生成方法,其特征在于,所述模型视图元素包括显示视图、创建视图、更新视图、查询视图、列举视图、条列视图中的一个或多个。3.根据权利要求1所述的人机交互界面自动生成方法,其特征在于,所述定义模型对象还包括:定义模型成员之间的关联关系;所述模型成员在人机交互界面的展现方式与所述关联关系相适应,所述关联关系经解析后在所述人机交互界面配置文件中体现。4.根据权利要求3所述的人机交互界面自动生成方法,其特征在于,所述模型成员之间的关联关系包括:聚合关系、组合关系、多重性关系中的一种或多种。5.根据权利要求3所述的人机交互界面自动生成方法,其特征在于,所述人机交互界面的展现方式至少包括:链接、下拉列表、数据表、嵌套表格、表格中的一种或多种。6.根据权利要求1所述的人机交互界面自动生成方法,其特征在于,还包括:定义操作控件,所述操作控件对应于对模型成员的特定操作,所述特定操作与所述模型视图元素相适应;以及解析所述操作控件,在所述人机交互界面配置文件中体现所述操作控件与模型成员、模型视图元素的关系。7.根据权利要求6所述的人机交互界面自动生成方法,其特征在于,所述特定操作包括:显示、创建、更新、删除、查询中的一种或多种。8.根据权利要求1所述的人机交互界面自动生成方法,其特征在于,所述属性至少包括:控件布局、控件分组、组嵌套、控件样式、只读、数据格式、事件表达式中的一种或多种。9.根据权利要求1所述的人机交互界面自动生成方法,其特征在于,所述定义...

【专利技术属性】
技术研发人员:贺凯良周毓杰熊务真马瞿俊
申请(专利权)人:易保网络技术上海有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1