一种零编码生成应用软件的方法及生成平台的制作方法

文档序号:6611808阅读:116来源:国知局

专利名称::一种零编码生成应用软件的方法及生成平台的制作方法
技术领域
:本发明涉及计算机软件
技术领域
,特别涉及一种"零编码"生成应用软件的方法和生成平台。,
背景技术
:传统软件业,软件开发的速度缓慢、代价高昂而又容易出错,常常会生产出存在大量缺陷的产品,在可用性、可靠性、性能、安全以及其他服务质量方面造成严重的问题。软件开发是一项劳动密集型的产业,它创造每一美元的价值所消耗的人力资本超过了我们对于一个现代化行业的期望值。造成这种状况的主要原因有-项目开发周期长需经历调研、设计、编码、调试、测试、试运行、升级等漫长的周期。如果开发完的软件未达到预期的需求,可能面临推倒重来,甚至项目宣告失败的风险!软件开发成本高在传统的编程模式下,软件业对人的依赖程度相当高,软件的生产主要靠人的脑力劳动。开发、测试等人员的投入是企业比较大的运营成本之一。开发语言更新快软件产业的一个基本现象,就是开发工具的更迭和变革愈演愈烈,技术的迅速变化,超过人的预料,使得在这个行业中知识和经验的老化速度快,再学习成本和软件迁移成本高。软件与实际业务脱离软件工程师懂软件,但不懂实际业务,管理者懂实际业务,但不懂软件,他们之间因为难以沟通,容易导致开发出不符合实际应用需要的产品。软件难干修改以快速适应新的业务变化软件修改时间长,工作量大,不能适应用户对软件快速、频繁的变化需求。重复建设严重存在大量的重复劳动现象。为了大幅度提高软件开发效率,需要对软件开发的方法进行显著的改变。本发明的软件生成平台,是在所见即所得下,快速生成软件的平台。无需掌握编程技术和数据库知识;省却了编码过程,縮减了软件开发的时间周期,因此提高了软件开发效率。
发明内容本发明的目的是提供一种"零编码"生成应用软件的方法和生成平台。以解决上述传统编程模式的弊端,提高应用软件的开发效率。为解决上述问题,本发明提供一种"零编码"生成应用软件的方法和生成平台。是这样实现的,包括一种应用软件的开发平台,包括元件设计模块,用于设计和封装软件工厂的零配件。实现软件工厂是一种软件开发的目标,使得开发软件可以像流水线组装一样方便和快捷。那么这个目标如何实现,举生产汽车的例子组装汽车并不复杂,闲为是用标准的零部件组装,软件也是如此。因此,构成软件的标准零配件的丌发,是问题的关键。元件设计就是用于设计和封装软件工厂的零配件。元件设计分二步骤设计、封装和复用。其中封装是实现软件复用的关键。<table>tableseeoriginaldocumentpage5</column></row><table>复用__复用是实现快速制作软件的重要部分。平台通过元件封装、模板建立、复制引用等技术,使得软件制作人员可以按相同的操作,轻松、快捷的制作软件。实现软件即时复用。模板设计模块,用于提高软件复用性,加快软件制作过程。无需建模,以图形化方式设计模板;窗体设计模块,用于设计软件界面-以列表方式,快速批量添加元件列表。与数据库列关联时,可自动选择最优元件。支持自动或手工拖拉方式排版;可在保留元件信息(如参数和事件)的情况下,自由更换元件形态;可以元件组方式,统一管理元件组,设置元件组关联单据等;可复制、引用元件组;平台可识别和调用兀件,触发元件操作;对于特殊需要,可在窗体上绘制元件。操作设计模块,用于设计软件的执行功能,平台提供直观的流程图操作设计,框图填写需执行的内容,箭头代表执行方向,线条代表执行条件;表单建立,单据设计模块,按照业务逻辑全自动生成数据库;报表设计模块,无需编码,图形化设计多样式的报表。与平台联为一体,是平台的一部分。可将单元格与元件值、元件属性、单据列值等即时关联,可选择相关单据列自动设计报表明细等;智能分析模块,用于实现智能OLAP分析和数据挖掘设计。无需建立OLAP数据库服务器,通过图形化树表方式选择并扩展维度,维度关系可通过数据库结构自动获取;流程设计模块,用于业务流程设计。按流程图方式,以业务、操作、数据、操作员、流转条件为基本要素,完成业务流程和相关的操作员流程设计;权限设计模块,设计操作员权限,操作员可按从属和分组设置设置操作级权限;设置单据的读、写、改权限;设置操作员的数据浏览权限,包括全部数据、个人数据、归属数据、本属数据等。一种"零编码"生成应用软件的方法,包括基本原理基于软件形态特征,将软件提炼为基本元件;基于软件过程特征,将软件过程提炼为少数元过程。基本元件与元过程互绑定,统称为元件。元件之间具有松耦合性,元件之间经过复合,结合流程图操作和业务流程设计、动态资源绑定、动态事件驱动等技术,以构建复杂的软件系统。包括-形式化定义Software=〈Modal,Proc,Data,Resource,Event,s,"s,v>其中,Modal是软件形态的集合,包括软件的框架、界面、载体及模型等;Proc是软件执行过程的集合,包括函数、过程、执行脚本等处理功能;Data是软件存储数据的集合;Resource是计算机系统实体的集合(所有可见和不可见的实体),包括环境中的操作系统实体(Entity:文件系统、服务、注册表、进程等)、软件运行的内部状态(State:运行时间、可执行文件名等)。Event是软件和环境中各种交互事件的集合,包括用户操作软件产生的事件以及操作系统、其它软件或网络传递的事件。事件必须依附于实体,包括事件的发布者和事件的接收者,为了简化研究软件特征模型。s,A,c和v分别为Modal、Proc和Data、Resouce之间的映射S:ModalXData—Modal入ModalXResource—Modalc:ProcXData—Procv:ProcXResourc6—Resource基于形态特征的解析将软件基于形态特征抽象为若干基本形态,满足有限性的要求参数绑定,能够通过对参数的控制,调令所构成的元件的外观和功用;能够调用数据,表示基本数fe并反映数据;与环境交互,感知并对其产生影响;可通过绘制和复合构建新形态;所构成的元件可识别并调用形态的各部分。形式化表示为Modal=<Frame,LayOut,Skin,v>其中Frame是软件中载体的集合;LayOut是软件的布局;Skin是软件界面的皮肤;v别是Frame、LayOut和Skin之间的交互v:FrameXLayOutXSkin—FrameFrame表不为Frame—FormForm—SheetSheet—Grid+Chart+Button+ListBox+…推导出Frame=+〉Grid+Chart屮SelList+…基于过程特征的解析将软件基于过程特征,抽象出与资源无关、技术无关的元过程,满足通用性、有限性条件下的过程复用;与环境实时交互,并对其产生影响;参数绑定,能够通过对参数的控制,调整元过程的关联对象和行为;数据调用,完成数据的事务处理;元过程复合,合成复杂的过程处理;通过过程映射,调用不同元件的相关实现。元件的特性可独立配置,具有自包容性;严格封装,使用者不知道内部的细节;可以被复合使用;相互包容性,元件可以被另一个元件包含;多态性,在不同环境下,可展现为不同形态;经过封装,由元过程统一调用。软件运行模式-该方法以生成软件包的方式,软件包存储在数据库或分布式系统中,客户端软件解释器8通过INTERNET或INTRANET,连接到存储软件包的计算机(服务端),解释执行软件包定义的软件系统。通过解释器模式,平台无需生成中间代码,无需生成可执行软件,软件制作人员可通过远程修改软件包,修改软件系统。软件包以以多叉树存储结构存储在文件或数据库服务器。流程图解析根据直观的流程图方式,设计软件功能和业务流程。对软件功能设计,框图代码执行内容,可包含顺序操作、复合操作、自动义操作等,操作由元过程流程化组合构成。箭头代表执行路径,线条代表执行条件。对于业务流程设计,框图代表业务流程,箭头代表流转路径,线条代表流转条件。动态资源绑定资源大致可分为软件资源如软件的窗口、按钮、列表等可见元件,软件的数据源等不可见组件,软件的运行时间、大小等软件状态(STATE);.环境资源如操作系统的服务、线程等系统资源;其它资源如第三方软件运行的资源,以及其它可见的、不可见的资源。形式化表示为-Resource=<Env,State,Time>Env=<File,Process,Service,Registry,...>Stat=〈ExeName,RunTime,RunState,...>动态资源绑定技术,用于在图形化下,依据资源一致性规则,将各种资源与元件和过程参数绑定(资源无关性),完成复杂的处理功能。动态事件驱动自定义元件支持的事件,以触发机制和异步驱动模式,动态指派事件发生时执行的过程。使得无需建立消息平台,实现事件基于实体的自动化。9图1为运用本平台生成软件与传统编程模式的比较图图2为本发明生成平台的模块框3为本生成软件方法的技术框架4为运用本平台生成软件的运行框5为本发明生成平台的系统结构6为软件解析图具体实施例方式本发明的核心是提供一种"零编码"生成应用软件的方法和生成平台,本发明以元件设计为基础,采用图形绘制和复合方式构建元件,实现了以图形化方式进行界面设计、事务流程处理、系统分析等操作。传统的构件是基于功能的封装,因应用纷繁复杂,难以抽象出应用标准,难以得到实际应用。本发明提出的元件是基于形态和过程的提炼和封装,由若干元过程,统一调用不同元件的相关行为,消除元件的使用差异性。结合动态资源绑定和数据库自动生成,实现形态、过程、数据、资源的统一。使得软件制作人员可以按相同的操作过程,通过可视化动态参数调用,设计不同的软件功能。我们知道,自然界的物质千千万万,归根到底,仅由一百零几种元素组成;根据情景演算中的动作理论T=EUDssUDapUunaUDsO,环境中的各种行为可以看作基本动作的序列,物质千变万化的运动形式,可视为基本动作的复合。基于此类似原理,以点、线、面、文字等为基础,配合动作迭代和效果,PHOTOSHOP和FLASH可以设计出各种图片和动画效果,本发明的元件设计可以设计元件的各种形态和行为。为了使本
技术领域
的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的说明。首先介绍"零编码"生成应用软件的平台。软件开发人员知道,传统软件设计方法,包括需求调研、设计、编码、调试、测试、试运行、编制文档、部署等周期,开发过程是不可逆的。如果前面的环节出现错误,容易导致后期的工作返工。特别是需求、设计环节如果出现较大失误,整个软件开发过程可能推倒重来,从而导致软件开发失败或质量存在问题的风险比较高。本发明省却了编码和数据库设计过程,实现边整理需求、边设计软件、边试运行的效果,可根据需要即时调整软件,开发过程是可逆的。图1示出了本发明与传统软件设计方法的区别。10本发明的设计例中,以从零开始生成某领域的软件为例。首先设计此领域软件所需要使用到的特定元件(常用元件一般可多领域共用)和模板,针对特定领域,需使用到的元件数量一般几十个足够;模板按图形化或流程图方式设计,使用模板,可大幅度提高软件制作速度。以元件和模板为基础,软件制作人员按需求调研分析的业务流程,以流程图方式,将业务模块的单据、窗体、报表、数据分析设计等直观的串联起来,并以事件驱动方式,通过操作设计,设计软件的执行功能。以下介绍本发明的"零编码"应用软件生成平台。图2示出了本发明生成平台的模块框图。应用软件生成平台包括元件设计,模板设计,窗体设计,操作设计,报表设计,智能分析,流程设计,单据设计,权限设计,表单建立,系统设置等模块。元件设计用于设计和封装软件工厂的零配件;模板设计-用于加快软件制作过程,提高复用性;操作设计用于设计软件执行功能;流程设计用于设计业务流程;窗体设计用于设计软件界面;表单建立、单据设计用于实现数据库设计自动化;报表设计模块用于实现智能报表设计;智能分析模块用于实现智能OLAP设计和数据挖掘;系统设置用于设置软件架构、皮肤等系统参数;权限设计用于设计操作员的操作和数据权限。其中元件设计、模板设计由平台设计人员完成,窗体设计、操作设计、流程设计、报表设计、单据设计等由软件制作人员完成,权限设计、系统设置等由软件使用用户完成。图3示出了本软件生成平台的技术架构图。元件设计和模板设计是快速制作软件的基础模块。元件设计主要包括绘图技术、复合技术、过程封装、属性/事件设计等。表单建立、单据设计、报表设计、智能分析联同部分元过程,用于实现按业务逻辑自动生成数据库,实现数据库对软件制作人员透明(制作软件时,软件制作人员无需掌握数据库知识)。除此还包括智能査询统计、按査询需要自动建立索引、约束、关系等。窗体设计与单据设计紧密相联,单据可与多个窗体或元件组绑定,不同窗体或元件组也可引用同一单据。窗体设计与操作设计紧密相联,系统以动态事件驱动方式触发操作。操作以直观的流程图方式,由元过程流程组合而成。元过程通过动态参数绑定,统一调用所有元件,实现按相一过程设计不同的软件功能。简单的操作可以由单操作、顺序操作完成。支持用脚本实现自定义操作。流程设计用于设计业务流程,平台以窗体、操作、单据、操作员、流转条件为基本要素,以流程图方式设计业务流程。图4解释了本发明软件生成平台的运行方法。软件制作人员制作软件,生成软件包。软件包可以存在服务器数据库,或以文件方式分布式存储在服务器上。客户端软件解释器通过INTERNET或INTRANET访问软件包,解释执行软件包对应的软件。图5示出了本发明软件生成平台的系统结构图。下面介绍本发明中生成应用软件的方法。基本原理基于软件形态特征,将软件提炼为基本元件;基于软件过程特征,将软件过程提炼为少数元过程。基本元件与元过程互绑定,统称为元件。元件之间具有松耦合性,元件之间经过复合,结合流程图操作和业务流程设计、动态资源绑定、动态事件驱动等技术,以构建复杂的软件系统。图6(含图6-1,6-2,6-3,6-4)示出了本发明中应用软件生成方法的软件解析过程图。图6-l为软件总体构成图,软件总体构成的形式化定义Software=<Modal,Proc,Data,Resource,Event,<;,"5,v>其中,Modal是软件形态的集合,包括软件的框架、界面、载体及模型等;Proc是软件执行过程的集合,包括函数、过程、执行脚本等处理功能;Data是软件存储数据的集合;Resource是计算机系统实体的集合(所有可见和不可见的实体),包括环境中的操作系统实体(Entity:文件系统、服务、注册表、进程等)、软件运行的内部状态(State:运行时间、可执行文件名等)。Event是软件和环境中各种交互事件的集合,包括用户操作软件产生的事件以及操作系统、其它软件或网络传递的事件。事件必须依附于实体,包括事件的发布者和事件的接收者,为了简化研究软件特征模型,在软件构成中,我们将事件分离出来单独考虑,并研究了动态事件驱动技术,来专门解决事件的自动化问题)。s,a,c和v分别为Modal、Proc和Data、Resouce之间的映射s:ModalXData—Modal入ModalXResource—Modalc:ProcXData—Procv:ProcXResource一Resource图6-2为形态解析图,形态可以形式化表示为Modal二<Frame,LayOut,Skin,v>其中Frame是软件中载体的集合;LayOut是软件的布局;Skin是软件界面的皮肤;v别是Frame、LayOut和Skin之间的交互v:FrameXLayOutXSkin—FrameFrame可以表示为Frame—PormForm—SheetSheet—Grid+Chart+Button+ListBox+…推导出Frame=+>Grid+Chart+SelList+..-右边表示基本载体,基本载体可通过多种方式定义和实现(表件、中间件、多个对象和类、过程进行封装等)。图6-3为由过程框图,过程可以推导出有限元过程Proc=+〉Assign+Delete+Send+Find+Open+."(有P艮数量,一般领域不超过1000)分析数据的构成,是为构建数据库自动化(DatabaseAutomation)提供思路。数据库自动化就是根据业务需求,抽象出业务模型,自动完成数据的建立、维护、挖掘等,并可根据需要,展现为各种不同的表现形式。(数据的内在处理自动完成,对软件制作人员透明)。从业务角度,数据主要有四种类型Data=〈Dict,Tfee;Arehive;Fact>Dict是软件中字典的集合;Tree是软件中树型结构的数据表示集合,;Archive是存储档案的集合;Fact是事务信息的集合等从管理者角度,数据主要有四种表现形式DataView=〈Query,Chart,Stat,Decision〉Query是对数据组合查询的集合,包括了对所有数据的各种查询方法和数据査询的表现形式(如标准表格、卡片式、嵌套结构等);Chart是对数据进行分类统计,以图表方式显示结果的集合;Stat是对数据进行组合统计分析,以表格方式显示结果的集合;Decision是对大数据量进行挖掘,提供决策依据的集合。图6-4为资源解析框图Resource=<Env,State,Time>Env=<File,Process,Service,Registry,...>Stat=〈ExeName,RunTime,RunState,..>动态资源绑定技术,用于在图形化下,依据资源一致性规则,将各种资源与元件和过程参数绑定,消除资源调用的差异性,完成复杂的处理功能流程图解析根据直观的流程图方式,设计软件功能和业务流程。对软件功能设计,框图代码执行内容,可包含顺序操作、复合操作、自动义操作等,操作由元过程流程化组合构成。箭头代表执行路径,线条代表执行条件。对于业务流程设计,框图代表业务流程,箭头代表流转路径,线条代表流转条件。权利要求1、一种零编码生成应用软件的平台,其特征在于,包括元件设计模块用于设计和封装软件工厂的零配件;模板设计模块用于提高复用性,加快软件制作过程;操作设计模块用于设计软件执行功能;流程设计模块用于设计业务流程;窗体设计模块用于设计软件界面;表单建立、单据设计用于设计数据结构;报表设计模块用于实现智能报表设计;智能分析模块用于实现智能OLAP设计和数据挖掘。2、如权利要求l所述平台,其特征在于,基于业务逻辑,全自动生成所需的数据库。3、如权利要求l所述平台,其特征在于,元件设计包括设计、封装和复用三个步骤,其中设计用于设计兀件形态和功能。平台以图形化绘制和复合方式,"零编码"设计元件;封装封装用于实现软件制作人员按相同的操作,调用不同元件的相关行为;①通过过程映射,由元过程统一调用元件。消除了元件使用的差异性;②将软件基于过程特征,提炼为少数元过程。由元过程通过流程组合,搭建软件事务;③通过元件参数设计,由相同的参数控制同类元件的不同形态实现。4、如权利要求1所述平台,其特征在于,平台以观的流程图方式,构建软件功能和业务流程。中框图代表执行内容,箭头代表执行路径,线条代表执行条件。5、如权利要求l所述平台,其特征在于,支持所有符合SQL标准的数据库系统。6、如权利要求l所述平台,其特征在于,支持多种架构的软件生成,包括B/S、C/S和三层体系架构。7、一种零编码设计应用软件的方法,其特征在于,包括将软件基于形态特征,提炼为若千基本元件。通过基本元件的绘制和复合,以构建制作软件所需要的多种多样的元件;将软件基于过程特征,提炼为少数元过程,由元过程统一调用所有元件,以构建纷繁复杂的软件功能;通过动态资源绑定,使得软件制作人员在所见即所得下,使用相同的元过程,调用不同元件的相关行为;以解释器和软件包方式,通过不同的软件包,解释执行不同的软件。8、如权利要求9所述的方法,其特征在于,兀件通过图形化绘制和复合方式构建,组成元件的各部分可由软件识别和调用,元件属性可与数据库关联。9、如权利要求9或10所述的方法,其特征在于,在元件默认属性和事件的基础上,可增加、更改、删除元件的属性和事件。10、如权利要求9所述的方法,其特征在于,可设计元过程及其参数,可通过过程和参数映射,实现相同的元过程调用不同元件的相关行为。全文摘要本发明提供了一种“零编码”生成应用软件的平台。主要包括元件设计模块,用于设计和封装软件工厂的零配件;模板设计模块,用于提高复用性,加快软件制作过程;操作设计模块,用于设计软件执行功能;流程设计模块,用于设计业务流程;窗体设计模块,用于设计软件界面;表单建立、单据设计,用于设计数据结构;报表设计模块,用于实现智能报表设计;智能分析模块,用于实现智能OLAP设计和数据挖掘。本发明还提供“零编码”生成应用软件的方法。利用本发明,可以不依靠编程技术,快捷的生成多种架构的应用软件。文档编号G06F9/44GK101470601SQ200710144109公开日2009年7月1日申请日期2007年12月26日优先权日2007年12月26日发明者王振光申请人:福建正扬信息技术开发有限公司;王振光
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1