一种基于模板的软件自动生成方法

文档序号:6466103阅读:165来源:国知局
专利名称:一种基于模板的软件自动生成方法
技术领域
本发明涉及软件代码生成的信息处理技术,尤其是涉及一种基于模板上添置自定义控 件和设置Xml文件来实现对处理表单或数据列表的模板进行自动功能软件生成的方法。
背景技术
从目前的情况来看,软件开发的速度緩慢、代价高昂而又极易出错,常常会生产出存 在大量缺陷的产品,在可用性、可靠性、性能、安全以及其他服务质量方面造成严重的问题。根据Standish Group [Sta9引的统计,美国公司每年投资约175,000个软件开发项目, 投资额约为2,500亿美元。这些项目中只有16%能够在预算内按计划完成。另有31% 的项目主要由于质量问题而被取消,经济损失约为810亿美元。另外53%的项目平均 超出预算189%,经济损失约为590亿美元。完成的项目平均只实现了原来规划的功能 的42%。这些数字客观地印证了我们根据经验所做出的判断,那就是软件开发是一项劳动密集 型的产业,它创造每一美元的价值所消耗的人力资本超过了我们对于一个现代化行业的期 望值。因此,如何提高软件的开发效率,节约软件开发成本,成为当前软件行业热烈讨论且 急需解决的问题之一。发明内容本发明的目的是提出一种基于模板上添置自定义控件和设置Xml文件来实现对处理 表单或数据列表的模板进行自动功能软件生成的方法,以实现软件常M^功能的自动生成, 使软件开发人员从编写代码的工作中得以解脱,从而提高软件开发效率和降低软件开发成 本。为解决本发明的技术问题,本发明公开一种基于模板的软件自动生成方法,其包括步骤a、 新增一个处理表单或数据列表的模板;b、 在模板上设置需要进行操作处理的数据源的信息;c、 模板检索其上设置的各种信息,根据检索获得的信息自动组合生成对表单或数据列 表进行处理的SQL语句,并通过生成自动调用SQL语句的代码来自动生成处理表单或数 据列表的功能软件。较优的,步骤c之前还包括在模板上添置与模板对数据源进行操作的自定义控件,
并设置自定义控件与数据源相关联的属性信息。较优的,所述模板为对表单进行处理的表单模板;步骤b包括 bl、在表单模板上添置的数据源自定义控件; b2、设置该数据源自定义控件的属性信息;其中,步骤b2中的属性信息包括用于指定数据源的关键字的名称的关键名称属性, 以及用于确定数据源自定义控件具体对哪个表或视图进行操作的数据源属性。 较优的,所述模板为处理数据列表的数据列表模板;步骤b包括 bl、新增用于记录数据列表信息且与数据列表模板映射的Xml文件; b2、在Xml文件中设置数据源的单元格属性信息。较优的,所述单元格属性信息包括表示单元格的标题的属性信息、表示对应数据源 的字段名称的属性信息、表示单元格是否可见的属性信息、表示单元格是否为只读的属性 信息、表示单元格的显示模式为文本框或复选框或下拉列表或图像或按钮的属性信息、表 示数据类型的属性信息、表示单元格长度的属性信息或表示文本框内容的正则表达式规则 的属性信息。较优的,所述模4反为处理多个相互关联的数据表的多表操作模板;步骤b包括在多表操作模板上添置2个分别用于决定每个数据源是表单表达方式还是数据列表表达方式的自定义控件,并设置该2个自定义控件的属性来设置多个数据表的关联性;且步骤b之前还包括判断多表操作模板是否采用TabControl选项卡控件来组织页面, 若是,则需要进一步获取当前的Tabltem选项卡控件的信息。 与现有技术相比,本发明具有如下有益效果本发明的技术关键是模板技术,通过拖拉自定义控件和设置自定义控件的属性和Xml 文件信息来实现软件开发中常用功能(比如新增、删除、修改、查询、翻页等)的自动 软件生成。因此,本发明主要用于协助软件开发,可以大大降低软件开发成本和开发风险, 提高软件开发速度和产品的品质;且使软件开发工作简单化,在一定程度上降低了对软件 开发人员的技术知识的要求,从而有利于软件开发工作大众化,节约人力成本。


图1是本发明第一实施例的流程示意图 图2是本发明第二实施例的流程示意图 图3是本发明第三实施例的流程示意图具体实施方式
本发明的技术关键是模板技术,通过拖拉自定义控件和设置自定义控件的属性和Xml 文件信息来实现软件开发中常用功能(比如新增、删除、修改、查询和翻页等)的自动 软件生成。如图1所示。本实施例为利用表单模板(FormTemplate)实现软件自动生成,无需软
件开发人员写任何代码,可实现对数据源的新增、修改、删除、查询、翻页等软件操作功能。其中,FormTemplate用来对表单(Form)进行处理。本实施例的工作原理是检索表单 模板上的自定义控件信息,并通过这些信息进行关联设置之后来完成一些特定的功能。本 实施例包括如下步骤步骤S110、在软件的编程环境下,新增一个表单模板。步骤S120、从工具箱选择需要的数据源自定义控件并拖到FormTemplate上,并设置该 数据源自定义控件的属性,该属性包括用于确定对哪个表格(Table)或视图(View)进 行操作的数据源属性(DataSource)和用于指定数据源的关键字的名称的关键名称属性 (DatakeyNames )。步骤S130、根据数据源在表单上的表现方式,根据实际需要拖其它的自定义控件到表 单模板,并设置其与数据源对应的字段名称和数据类型等相关的信息。比如,如果数据源在表单上的表现方式为文本框组件(TextBox),则拖至表单模板上 的其他自定义控件可以设置Datafield属性(用于表示其与数据源对应的字段名称)、DbType 属性(用于表示字段的数据类型)、Regex属性(用于表示文本框组件中文本的正则表达式 规则)。如果数据源在表单上的表现方式为下拉列表(ComboBox或DropDownlist ),拖至表单 模板上的其他自定义控件可以设置Datafield属性、DbType属性、TableOrView属性(用于 表示要绑定到ComboBox的数据源名称)等。步骤S140、表单模板检索上面的自定义控件的信息,并获取每个自定义控件的相关信 息,包括数据源、数据源字段、数据源数据类型等等。步骤Sl50、表单模板根据检索到的每个自定义控件的相关信息,自动生成完成对数据 源的新增、修改、删除、查询、翻页等功能的SQL语句,并通过生成自动调用SQL语句 的代码来自动生成处理表单的功能软件。因此,本实施例不需要写任何代码,帮助软开发人员从表单的维护中解脱出来,而把 注意力放到程序业务领域中。如图2所示。本实施例为利用数据列表模板(ListTempkte)实现软件自动生成。其中, 数据列表模板用来处理数据列表。本实施例的工作原理是通过Xml文件的信息记录数据列 表的表现方式,通过检索Xml文件的信息来自动生成软件代码以实现指定的软件功能。本 实施例包括如下步骤步骤S210、新增一个数据列表模板。步骤S220、新增数据列表模板的映射Xml文件,以记录数据列表的相关信息。 步骤S230、在Xml文件里设置数据源的单元格属性。单元格属性包括Text属性(表 示单元格的标题)、Name属性(表示对应数据源的字段名称)、Visible属性(表示单元格 是否可见)、Readonly属性(表示单元格是否为只读)、DisplayMode属性(表示单元格的 显示模式,显示模式可以为文本框(TextBox )、复选框(CheckBox )、下拉列表(ComboBox )、 图像(Image)或按钮(Button))、 Type属性(表示数据类型)、Length属性(表示单元格
长度)或Regex属性(表示文本框内容的正则表达式规则),甚至还可以设置一些相关的 进程操作的属性信息。步骤S240、数据列表模板检索Xml文件的相关信息,由检索获得的信息来决定数据 列表的表现方式、数据类型、是否为只读等,并根据这些信息自动生成用于实现删除、新 增、修改、查询或翻页等功能理的SQL语句,并通过生成自动调用SQL语句的代码来自 动生成用于实现删除、新增、修改、查询或翻页等处理的功能软件。如图3所示。本实施例为利用多表操作模板(MultiTableTemplate)实现软件自动生成。 多表操作模板用来处理多个相互关联的数据表。本实施例的工作原理是通过 R印ositoryFormPanel和RepositoryListPanel自定义控件来决定每个数据源是表单 (FormTemplate )的表达方式还是数据列表(ListTemplat )的表达方式。通过设置 RepositoryDataSource属性、RepositoryDataSourceDatafield属性、RepositoryToTables属性、 RepositoryToTableDataField属性来决定多表的关联方式,再通过冲全索RepositoryFormPanel 和RepositoryListPane控件上的其它自定义控件信息来完成指定的操作。本实施例包括如下 步骤步骤S310、新增一个多表操作模板。步骤S320、将RepositoryFormPanel自定义控件和RepositoryListPanel自定义控件拖至 多表操作模板,以确定每个数据源是表单(FormTemplate)的表达方式还是数据列表 (ListTemplat)的表达方式或表现形式。步骤S330、设置相互关联的数据源的名称以及相互关联字段,以确定数据源的关联方式。步骤S340、根据需要将其他自定义控件拖至多表操作模板,并设置数据源对应的字段 以及数据类型等相关信息。因为多表操作模板是基于表单模板和数据列表模板的,所以可 以像表单模板和数据列表模板一样拖拉设置自定义控件和设置Xml文件信息,以确定多表 操作模板所需要的信息。步骤S350 、判断多表4喿作冲莫4反是否采用TabControl选项卡控件来组织页面。 步骤S360、如果是采用选项卡控件组织页面,则需要获取当前的Tabltem选项卡控件 的信息。步骤S370、多表操作模板检索当前的自定义控件,获取相关信息。步骤S380、多表操作模板根据检索到的相关信息,自动组合生成对多个数据表进行多表的关联、删除、修改、查询、翻页等处理功能的的SQL语句,并通过生成自动调用SQL语句的代码来自动生成相应的功能软件。
权利要求
1、一种基于模板的软件自动生成方法,其特征在于,包括步骤a、新增一个处理表单或数据列表的模板;b、在模板上设置需要进行操作处理的数据源的信息;c、模板检索其上设置的各种信息,根据检索获得的信息自动组合生成对表单或数据列表进行处理的SQL语句,并通过生成自动调用SQL语句的代码来自动生成处理表单或数据列表的功能软件。
2、 根据权利要求1所述的基于模板的软件自动生成方法,其特征在于,步骤c之前还 包括在模板上添置与模板对数据源进行操作的自定义控件,并设置自定义控件与数据源 相关联的属性信息。
3、 根据权利要求1所述的基于模板的软件自动生成方法,其特征在于,所述模板为 对表单进行处理的表单模板;步骤b包括bl 、在表单模板上添置的数据源自定义控件; b2、设置该数据源自定义控件的属性信息;其中,步骤b2中的属性信息包括用于指定数据源的关键字的名称的关键名称属性, 以及用于确定数据源自定义控件具体对哪个表或视图进行操作的数据源属性。
4、 根据权利要求1所述的基于模板的软件自动生成方法,其特征在于,所述模板为 处理数据列表的数据列表模板;步骤b包括bl、新增用于记录数据列表信息且与数据列表模板映射的Xml文件; b2、在Xml文件中设置数据源的单元格属性信息。
5、 根据权利要求4所述的基于模板的软件自动生成方法,其特征在于,所述单元格 属性信息包括表示单元格的标题的属性信息、表示对应数据源的字段名称的属性信息、 表示单元格是否可见的属性信息、表示单元格是否为只读的属性信息、表示单元格的显示 模式为文本框或复选框或下拉列表或图像或按钮的属性信息、表示数据类型的属性信息、 表示单元格长度的属性信息或表示文本框内容的正则表达式规则的属性信息。
6、 根据权利要求1所述的基于模板的软件自动生成方法,其特征在于,所述模板为 处理多个相互关联的数据表的多表操作模板;步骤b包括在多表操作模板上添置2个分别用于决定每个数据源是表单表达方式还 是数据列表表达方式的自定义控件,并设置该2个自定义控件的属性来设置多个数据表的 关联性。
7、 根据权利要求6所述的基于模板的软件自动生成方法,其特征在于,步骤b之前 还包括判断多表操作模板是否采用TabControl选项卡控件来组织页面,若是,则需要进 一步获取当前的Tabltem选项卡控件的信息。
全文摘要
本发明公开一种基于模板的软件自动生成方法,其包括步骤a.新增一个处理表单或数据列表的模板;b.在模板上设置需要进行操作处理的数据源的信息;c.模板检索其上设置的各种信息,并根据检索获得的信息来自动组合实现软件常用功能的SQL语句,并生成自动调用这些SQL语句的代码,从而实现自动生成处理表单或数据列表的功能软件。本发明采用模板技术通过拖拉自定义控件和设置自定义控件的属性和Xml文件信息来实现软件开发中常用功能的自动软件生成,可以大大降低软件开发成本和开发风险,提高软件开发速度和产品的品质。
文档编号G06F9/44GK101398755SQ20081014202
公开日2009年4月1日 申请日期2008年8月22日 优先权日2008年8月22日
发明者满延平 申请人:满延平
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1