一种配置式菜单的生成方法

文档序号:6550678阅读:281来源:国知局
一种配置式菜单的生成方法
【专利摘要】本发明公布了一种配置式菜单生成方法,按照功能需求—构件开发—构件库的建立——菜单设计——菜单可视化配置——菜单配置文件生成——配置文件加载——菜单生成的步骤进行软件系统菜单配置和生成,利用构件库实现菜单项多类型构件资源的集中管理,一方面可提高功能资源的重用程度,另一方面以配置式方式实现菜单项的可视化构建,提高了菜单项构建的灵活性及软件系统的开发效率和质量,节省软件系统菜单制作的人力、物力及财力资源。
【专利说明】一种配置式菜单的生成方法

【技术领域】
[0001]本发明涉及计算机软件【技术领域】,具体涉及一种配置式菜单的生成方法。

【背景技术】
[0002]随着信息技术的发展,计算机技术不断成熟,计算机软件应用不断涌现,其应用逐渐普及,不同的软件满足了用户多样化的应用需求,如文字处理软件、多媒体软件,办公自动化软件等。这些软件在企事业单位日常工作中发挥了重要的作用,大大提高了日常办公的自动化程度。可以说,软件成为现代人类生产、生活的强力工具。
[0003]基于构件的软件开发技术(Component-BasedSoftware Development,CBSD)是一种基于分布对象技术、强调通过可复用构件设计与构造软件系统的软件复用途径。CBSD通过提供系统的可扩展性和可维护性来减少软件开发的费用,更快的整合系统,并能有效的降低大型系统的维护和升级压力。
[0004]菜单是GUI应用程序开发设计当中不可或缺的重要元素,也是用户与软件系统交互的重要手段。为提高软件系统的易操作性,软件系统开发者提供了功能丰富、形式多样、风格独特的菜单。长期以来,软件都是为解决具体的问题而开发的,一般都要经历需求分析、设计、编码、测试、安装部署、运行维护等过程,相应地,软件系统的菜单也要进行不同的设计和实现,这不仅出现了大量的重复性开发,造成了大量的人力、物力浪费,而且软件的质量也难以保证。


【发明内容】

[0005]为解决上述现有技术中软件系统菜单因重复开发而造成大量的人力物力浪费而软件质量也难以保证等问题,本发明提供一种配置式菜单的生成方法,将构件式软件开发技术运用到软件系统菜单生成中,利用构件库实现菜单项多类型构件资源的集中管理,系统菜单功能资源可重用,由此实现配置式生成软件系统的菜单并可灵活调整,从而节省软件系统菜单制作的人力、物力及财力资源,提高软件系统的开发效率和质量。
[0006]本发明中,配置式指的是当软件系统的功能需求发生变化时,不需要重新编写程序,仅通过界面配置而得到新的软件系统来满足需求变化。构件指的是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口。
[0007]配置式菜单的生成方法是根据计算机技术、软件工程技术以及软件集成原理,按照功能需求一构件开发一构件库的建立——菜单设计——菜单可视化配置——菜单配置文件生成——配置文件加载——菜单生成的步骤进行软件系统菜单配置和生成。
[0008]本发明的技术方案为:
[0009]一种配置式菜单的生成方法,该方法通过建立菜单项构件库与构件元数据库,菜单项构件库中的每个菜单项构件对应一个菜单项,由此创建菜单配置信息XML文件,解析后生成菜单,包括如下步骤:
[0010]S1:建立菜单项构件库和菜单项构件元数据库
[0011]通过业务领域分析和设计,建立菜单项构件库和菜单项构件元数据库,其中,菜单项构件库包括多个菜单项构件,每个菜单项构件对应一个菜单项;
[0012]S2:创建菜单
[0013]在创建菜单时,根据菜单设计需要,菜单由一个或多个菜单项组成;
[0014]S3:对应每个菜单项,通过构件元数据库对菜单项构件库进行检索,获得相应的菜单项构件
[0015]若从菜单项构件库中检索到所需的菜单项构件,则选取所需的菜单项构件;若检索不到所需的菜单项构件,则建立新的菜单项构件,并保存在菜单项构件库中,同时更新菜单项构件元数据库;
[0016]S4:将检索获得或新建的菜单项构件,与相应菜单项的基本信息进行关联,生成菜单配置信息XML文件;
[0017]S5:对上述菜单配置信息XML文件进行解析,客户端通过参数调用菜单项构件,通过反射技术生成对应的菜单。
[0018]上述配置式菜单的生成方法中,进一步地,步骤SI建立菜单项构件库和构件元数据库具体包括如下步骤:
[0019]S11,通过对菜单功能需求进行分析,形成多个菜单项的功能设计说明书;
[0020]S12,根据业务领域分析和功能设计说明书,确定应用系统的各个操作单功能,通过编程语言(如JAVA),复用或新开发各个操作单功能构件(子程序),对这些功能构件进行封装,构成功能构件集。
[0021]S13,根据数据库表设计原理和方法设计菜单项描述表和菜单项基本信息表,确定表字段名称、类型以及描述,其中菜单项描述表字段包括:菜单代码、名称、菜单级别、对应的URL地址(即单功能构件所在的目录和程序文件名称)、有子菜单,其菜单代码为主键,作为唯一标识,当某一菜单项无子菜单时,其URL字段值为相应功能程序名称及其所在的子目录;当有子菜单时,其URL字段为空,根据菜单级别调用下一级菜单选择。菜单项基本信息表字段包括菜单的名称、图标、类型、级别、ID、位置、形状、对应的快捷键。
[0022]S14,设计和实现菜单项功能构件,其方法是对S13中设计的菜单项描述表进行组织菜单数据,通过编程语言(如JAVA),以Menu类为中心,其它相关类作为辅助类,调用类里相关方法配置菜单项所要实现功能操作的功能构件(即找到相对应的功能构件所在目录和程序文件名称),生成计算机能够识别和调用的构件(如JAR),然后将所有开发封装的各菜单项功能构件组织集中到一起,形成菜单项构件库。构件开发是需要遵循一定的开发规范和接口调用规范的,在本发明的实施例中,菜单功能构件遵循的标准规范是JAVA应用程序开发规范;
[0023]S15,依据菜单项描述表组织的数据以及菜单项相对应的单功能构件,填写菜单项对应的单功能构件元数据信息,包括构件名称、关键词、ID、接口等信息,并将元数据信息保存在构件元数据库中,建立菜单功能项元数据库,以备后期构件查询检索时使用;
[0024]S16,检查构件是否符合构件开发标准和规范,不符合规范的构件将需要返工重新修改,符合规范的构件保存在构件库中,建立菜单项构件库。
[0025]步骤S3进行菜单项构件的检索方法,包括树状层次浏览方法和术语关联比对方法,树状层次浏览方法是基于构件枚举分类的结果,采用树状层次浏览的方式,一层一层展开,获取相应的构件;术语关联比对方法是通过菜单项功能构件名称或关键词或关联术语进行查询,具体查询过程是用户输入某一关键词,查询检索系统根据该关键词对构件元数据库中的数据信息进行比对分析,然后将相关的或近似的构件资源罗列出来。
[0026]步骤S3通过对菜单项功能构件的检索,若检索到相应的菜单项功能构件,则选取所需的菜单项功能构件,并与菜单项的基本信息进行关联,生成菜单配置信息XML文件;若检索不到所需的菜单项功能构件,建立新的菜单项功能构件,包括通过步骤SI中方法新建菜单项构件和通过工作流管理系统对菜单项构件进行聚合和重构得到新的菜单项功能构件。通过工作流管理系统对菜单项功能构件进行聚合和重构得到新的菜单项功能构件具体为:
[0027]利用工作流管理系统,确定工作流程的起始点和终止点,对检索到的构件进行聚合,即向菜单描述表里添加一个新的菜单项,并确定该菜单项的名称以及菜单级别等信息,每一个菜单级别绑定一个功能构件,对于每一个菜单级别都基于用户权限访问功能构件集的一个子集,获取到该子集的元数据信息、基本信息以及相应功能程序名称及其所在的子目录,得到新的菜单项功能构件,存入到菜单构件库中。
[0028]步骤S5对S4中生成的菜单配置信息XML文件进行解析,客户端通过参数调用菜单项功能构件,并利用反射技术实现对应的菜单,具体包括如下步骤:
[0029]S51,设置客户端菜单配置界面,用户通过界面设置菜单配置参数进行菜单的配置,通过参数匹配进行相应的数据操作,如通过SQL语句里“select菜单代码、菜单名称、菜单级别、URL、有子菜单from菜单项描述表where菜单级别=’ O’”,执行并得到查询结果,通过菜单代码和URL匹配调用菜单项构件库里相对应的菜单项功能构件;
[0030]S52,对菜单配置信息XML文件进行解析并结合相对应的菜单项功能构件,利用反射技术自动生成菜单程序。
[0031]本发明的有益效果为:
[0032]本发明的技术方案为配置式菜单生成方法,将构件式软件开发技术运用到软件系统菜单生成中,利用构件库实现菜单项多类型构件资源的集中管理,一方面可以提高功能资源的重用程度,另一方面提高了菜单项构建的灵活性,以配置式方式实现菜单项的可视化构建,提高了软件系统的开发效率和质量,节省软件系统菜单制作的人力、物力及财力资源。基于本发明所提供的配置式的菜单生成方法,用户可以按照自己的管理风格和流程去搭建个性化的信息系统,实现信息的集成,提高软件的生产效率和质量。

【专利附图】

【附图说明】
[0033]图1是本发明的方法流程图;
[0034]图2是本发明一实施例的系统结构框图;
[0035]图3是本发明一实施例配置式菜单制作的流程图;
[0036]图4是本发明一实施例系统菜单配置式生成流程图。

【具体实施方式】
[0037]下面结合附图和【具体实施方式】,对本发明进行进一步详细描述,但不以任何方式限制本发明的范围。
[0038]配置式菜单生成方法的流程如图1所示,具体步骤包括:
[0039]S1:建立构件库和构件元数据库;
[0040]S2:根据构件元数据库中的信息,进行构件的查询检索;
[0041]S3:利用工作流管理系统对构件资源进行聚合和重构,生成新的功能构件,并将生成的新的功能构件保存在构件库中,同时更新构件元数据库,增加与新的功能构件相对应的构件元数据信息;
[0042]S4:根据菜单设计需要,从构件库中选取功能构件,生成菜单配置信息XML文件;
[0043]S5:客户端通过参数调用菜单项功能构件,并利用反射技术实现对应的菜单;
[0044]进一步地,步骤SI建立构件库和构件元数据库具体包括如下步骤:
[0045]S11,通过对菜单功能需求进行分析,形成多个菜单项的功能设计说明书;
[0046]S12,根据业务领域分析和功能设计说明书,确定应用系统的各个单功能,通过编程语言(如JAVA),复用或新开发各个单功能构件(子程序),对这些功能构件进行封装,构成功能构件集。
[0047]S13,根据数据库表设计原理和方法设计菜单项描述表和菜单项基本信息表,确定表字段名称、类型以及描述,其中菜单项描述表字段包括:菜单代码、名称、菜单级别、对应的URL地址(即单功能构件所在的目录和程序文件名称)、有子菜单,其菜单代码为主键,作为唯一标识,当某一菜单项无子菜单时,其URL字段值为相应功能程序名称及其所在的子目录;当有子菜单时,其URL字段为空,根据菜单级别调用下一级菜单选择。菜单项基本信息表字段包括菜单的名称、图标、类型、级别、ID、位置、形状、对应的快捷键。
[0048]S14,设计和实现菜单项功能构件,其方法是对S13中设计的菜单项描述表进行组织菜单数据,通过编程语言(如JAVA),以Menu类为中心,其它相关类作为辅助类,调用类里相关方法配置菜单项所要实现功能操作的功能构件(即找到相对应的功能构件所在目录和程序文件名称),生成计算机能够识别和调用的构件(如JAR),然后将所有开发封装的各菜单项功能构件组织集中到一起,形成菜单项构件库。构件开发是需要遵循一定的开发规范和接口调用规范的,在这里菜单功能构件遵循的标准规范是JAVA应用程序开发规范;
[0049]S15,依据菜单项描述表组织的数据以及菜单项相对应的单功能构件,填写菜单项对应的单功能构件元数据信息,包括构件名称、关键词、ID、接口等信息,并将元数据信息保存在构件元数据库中,建立菜单功能项元数据库,以备后期构件查询检索时使用;
[0050]S16,检查构件是否符合构件开发标准和规范,不符合规范的构件将需要返工重新修改,符合规范的构件保存在构件库中,建立菜单项构件库;
[0051]步骤S2进行菜单项功能构件的查询检索,具体包括如下步骤:
[0052]S21,依据菜单项的用途或用户要求进行构件查询检索,本发明方法提供两种构件查询检索方式;
[0053]S22,一种是基于构件枚举分类的结果,采用树状层次浏览的方式,一层一层展开,获取相应的构件;
[0054]S23,一种是通过菜单项功能构件名称或关键词或关联术语进行查询,具体查询过程是用户输入某一关键词,查询检索系统根据该关键词对构件元数据库中的数据信息进行比对分析,然后将相关的或近似的构件资源罗列出来;
[0055]步骤S3利用工作流管理系统对构件资源进行聚合和重构,具体包括如下步骤:
[0056]利用工作流管理系统,确定工作流程的起始点和终止点,对检索到的构件进行聚合,即向菜单描述表里添加一个新的菜单项,并确定该菜单项的名称以及菜单级别等信息,每一个菜单级别绑定一个功能构件,对于每一个菜单级别都基于用户权限访问功能构件集的一个子集,获取到该子集的元数据信息、基本信息以及相应功能程序名称及其所在的子目录,得到新的菜单项功能构件,存入到菜单构件库中;将聚合后的新的功能构件保存在构件库中,并完善构件元数据信息,以备后期调用。
[0057]在步骤S4中,若进行系统菜单配置,则具体包括如下步骤:
[0058]S41,定义菜单项属性信息
[0059]定义菜单项,确定菜单的名称、类型、级别、ID、位置、形状、对应的快捷键等属性信息;
[0060]S42,选择功能项
[0061]利用构件查询检索系统,从构件库中检索对应的功能构件,并将其与菜单功能关联起来;
[0062]S43,保存系统菜单配置信息
[0063]将系统菜单的配置信息保存在XML文件中,以备后期系统执行式调用;
[0064]在步骤S4中,若进行弹出菜单配置,具体包括如下步骤:
[0065]S401,定义弹出菜单的基本信息
[0066]定义弹出菜单的基本信息,如弹出菜单的位置,弹出菜单对应的图标、功能项、级别等基本彳目息;
[0067]S402,选择功能项
[0068]利用构件查询检索系统,从构件库中检索对应的功能构件,并将其与菜单功能关联起来;
[0069]S403,保存系统菜单配置信息
[0070]将弹出菜单的配置信息保存在XML文件中,以备后期系统执行式调用;
[0071]菜单配置信息XML文件的结构如下,通过菜单级别来区分菜单的层次,其中URL的内容是菜单项所关联的功能构件所在的目录:
[0072]〈Menue name = ” 文件"Icon = "wenjian.jpg^class = Vtype =
[0073]〈Menueltem name = ” 打开"Icon = "open, jpg^class = ^I^type =
[0074]〈Module name = 〃 打开文件 〃URL = ""/>
[0075]〈/Menueltem〉
[0076]〈Menueltem name = ” 保存"Icon = "save, jpg^class = Hype =
[0077]〈Module name = 〃 保存文件 〃URL = ""/>
[0078]</MenueItem>
[0079]〈/Menue〉
[0080]〈Menue name ="合同管理"Icon = "a.jpg"class = "0"type =
[0081]〈Menueltem name = ” 合同资料"Icon = "a.jpg^class = Hype =
[0082]〈Module name = 〃 添加"URL = ""/>
[0083]〈Module name = 〃 修改"URL = ""/>
[0084]〈/Menueltem〉
[0085]〈Menueltem name = ” 合同审核"Icon = "b.jpg^class = Hype =
[0086]〈Module name = 〃 合同打印"URL = ""/>
[0087]〈/Menueltem〉
[0088]〈/Menue〉
[0089]步骤S5解析菜单配置文件,生成菜单项,具体步骤包括:
[0090]S51.加载菜单配置文件;
[00 91]在软件系统启动时,将菜单配置文件加载到系统中;
[0092]S52解析菜单配置文件,生成菜单项
[0093]分别对系统菜单和弹出菜单配置XML文件进行解析,生成对应的菜单项。
[0094]本实施例采用上述配置式菜单生成方法实现一个配置式菜单生成系统,图2为该配置式菜单生成系统的结构框图,该系统包括构件层、聚合层和菜单配置层,其中:
[0095]构件层包括构件数据库和构件元数据库,构件数据库实现对类型菜单构件功能资源的存储和管理,构件元数据库实现对类型菜单构件资源的元数据信息的存储和管理,构件层是配置式菜单生成系统的基础支撑模块。
[0096]聚合层主要包括工作流管理系统和构件查询检索系统,主要用来对构件层的构件资源进行加工和操作,其中工作流管理系统提供了方便的构件聚合功能,基于此系统,可以实现多个小粒度构件功能资源的聚合和重构,以生成具有更大、更复杂功能的构件资源,还可将新生成的构件资源保存在构件库中,以备后期的系统调用。构件查询检索系统主要负责满足特定条件的构件资源的查询和获取,提供了关键词检索、分层目录检索等多种检索方式,帮助用户方便快捷地查询到所需要的构件资源。
[0097]菜单配置层主要包括系统菜单设计器和弹出菜单设计器,其中系统菜单设计器主要实现系统菜单的属性信息、功能信息的可视化配置;弹出菜单设计器主要实现弹出菜单的属性信息、功能信息的可视化配置。这两种菜单配置方式生成的菜单配置信息,都以XML文件的形式进行保存,以备后期系统运行时调用和解析。
[0098]图3是通过配置式菜单生成系统制作配置式菜单的流程图,具体步骤如下:
[0099]S1:分析菜单需求,形成菜单需求分析书;
[0100]S2:根据菜单需求分析书,从构件库中查询检索特定的菜单功能构件;
[0101]S3:在系统菜单设计器和弹出菜单设计器中,进行菜单功能属性的可视化配置;
[0102]S4:将菜单功能属性的可视化配置信息,保存为XML文件。
[0103]S5:系统客户端加载XML文件并进行解析,生成对应的菜单项。
[0104]本实施例通过配置式菜单生成系统进行系统菜单配置,如图4所示,包括如下过程:
[0105]首先定义菜单项,具体是根据系统用途或用户要求,确定软件系统菜单,定义菜单项,包括菜单名称、级别、位置等基本信息;
[0106]其次从构件库中选取相应的菜单功能项,如从构件库中选取与文件相关的功能项,文件打开、新建、保存和另存为等;
[0107]然后进行菜单项功能配置,对具体菜单项的属性信息进行可视化配置,具体包括菜单项的类型、描述信息、ID号、关联功能和功能参数等,如新建文件菜单项的类型为:系统菜单,描述为:新建文件,ID为:8889,关联功能为:构件库中视图构件类下面的新建文件构件;
[0108]将菜单项的配置信息保存在XML文件中,系统客户端加载XML文件并解析,即可生成对应的菜单项。
【权利要求】
1.一种配置式菜单的生成方法,其特征是,所述方法通过创建菜单配置信息XML文件,再对菜单配置信息XML文件进行解析来生成菜单,具体包括如下步骤: 51:建立菜单项构件库和菜单项构件元数据库,所述菜单项构件库包括多个菜单项构件,每个菜单项构件对应一个菜单项的功能; 52:创建菜单,所述菜单由一个或多个菜单项组成; 53:对应S2中每个菜单项,通过SI所述菜单项构件元数据库对菜单项构件库进行检索,若检索不到所需的菜单项构件,则建立新的菜单项构件,并保存在菜单项构件库中,同时更新菜单项构件元数据库; 54:将步骤S3检索获得或新建的菜单项构件,与相应菜单项的基本信息进行关联,生成菜单配置信息XML文件; 55:对步骤S4所述菜单配置信息XML文件进行解析,客户端通过参数调用相应的菜单项构件,通过反射技术生成对应的菜单。
2.如权利要求1所述配置式菜单的生成方法,其特征是,步骤SI建立菜单项构件库和菜单项构件元数据库具体包括如下过程: S11,通过对菜单功能需求进行分析,确定应用系统的各个操作单功能,获得操作单功能设计说明书; S12,建立菜单项描述表和菜单项基本信息表; S13,对应Sll所述操作单功能设计说明,编程实现各个操作单功能构件,通过封装构成操作单功能构件集,并通过与S12所述菜单项描述表进行关联,形成菜单项构件,从而建立菜单项构件库; S14,将菜单项描述表和菜单项功能构件的基本信息与S12所述菜单项基本信息表进行关联,建立菜单项构件元数据库。
3.如权利要求2所述配置式菜单的生成方法,其特征是,步骤S12所述菜单项描述表的字段包括菜单项代码、菜单项名称、菜单项级别和对应的URL地址;菜单项代码字段为主键;若一菜单项有子菜单,则对应的URL地址字段为空;若一菜单项无子菜单,则对应的URL地址字段值为步骤S13所述菜单项功能构件子程序的名称和子程序所在的子目录;步骤S12所述菜单项基本信息表的字段包括菜单项名称、菜单项图标、菜单项类型、菜单项级别、菜单项ID、菜单项位置、菜单项形状和菜单项对应快捷键。
4.如权利要求2所述配置式菜单的生成方法,其特征是,步骤S13所述菜单项功能构件的编程实现是采用JAVA编程语言,通过调用Menu类和相关辅助类的方法来配置菜单项功能的操作,得到的菜单项功能构件为JAR格式。
5.如权利要求1所述配置式菜单的生成方法,其特征是,步骤S3对菜单项构件库进行检索的方法,包括树状层次浏览方法和术语关联比对方法。
6.如权利要求1所述配置式菜单的生成方法,其特征是,步骤S3若检索不到所需的菜单项功能构件时,需建立新的菜单项功能构件,所述建立新的菜单项功能构件的方法包括通过步骤Si中新建菜单项构件的方法和通过工作流管理系统对菜单项构件进行聚合和重构的方法。
7.如权利要求1所述配置式菜单的生成方法,其特征是,步骤S5所述的客户端通过参数调用相应的菜单项构件,具体过程是首先设置客户端的菜单配置界面,通过菜单配置界面设置菜单配置参数,通过菜单配置参数匹配操作,得到匹配的菜单项;再通过菜单项代码和对应的URL地 址进行匹配,调用菜单项构件库里相对应的菜单项功能构件。
【文档编号】G06F9/44GK104077133SQ201410286094
【公开日】2014年10月1日 申请日期:2014年6月24日 优先权日:2014年6月24日
【发明者】邢廷炎, 郑春梅, 聂箫, 梁梅, 毕晓庆 申请人:中国地质大学(北京)
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1