一种表驱动的云模式软件自动构造方法及系统与流程

文档序号:15229600发布日期:2018-08-21 19:13阅读:123来源:国知局
本发明涉及软件工程
技术领域
,具体涉及到一种表驱动的云模式软件自动构造方法及系统。
背景技术
:随着互联网及云计算技术的高速发展,信息和数据收集、存储、查询等方面的需求日益成为信息社会的常态需求,无论是企业级应用开发者还是非企业级应用开发者,设计开发出针对特定需求的web软件系统是一个十分普遍的客观需求。传统模式下软件从设计到生产通常都要经历相对繁琐的开发过程,包括需求分析、软件设计、程序编写、测试验证与系统部署等环节。并且每个用户所给定的需求也是不同的,如果针对每种需求都要经历这样一个繁杂的软件开发流程显然是非常耗费时间和资源的。然而,一般信息系统软件围绕数据的采集、存储、增删改查等操作具有共性特征,并且软件即服务云模式也为软件即时部署提供了技术可行性。因此,本发明跨越传统web软件开发的编程和部署环节,通过抽取构造一般信息系统软件的共性特征,提供一种满足多种用户特定需求的web软件系统自动构造方法,以大大节省提高软件开发编程成本;并将这一发明方法嵌入云环境,以提高软件部署发布的时效性。技术实现要素:本发明的目的在于克服现有技术中的缺点与不足,提供一种表驱动的云模式软件自动构造方法,通过一个web软件自动构造框架(wsacf,简称web软件框架)自动读取、分析用户填写的软件系统需求表,然后根据读取的需求信息构造web软件系统,并注入相应的web软件框架所处云环境中,即可供用户使用,为用户省去耗时的编程开发与部署工作而只需专注于定义系统需求即可快速高效的构造出满足需求的web软件系统,大大提高软件生产效率。本发明的另一目的在于运用上述的表驱动的云模式软件自动构造方法,提供一种表驱动的云模式软件自动构造系统。为实现以上目的,本发明采取如下技术方案:一种表驱动的云模式软件自动构造方法,包括下述步骤:s1、用户根据web软件框架提供或约定的表单格式,填写软件系统需求信息,生成软件系统信息表;然后将填写完成的软件系统需求表在线或离线提交至web软件框架中;所述软件系统需求信息包括:系统管理员信息、用户组信息、用户信息、以及模型信息;所述web软件框架是一个部署在web服务器上的应用;s2、所述web软件框架通过数据获取服务器接收用户指定的所述软件系统需求表的存储路径,并根据存储路径,获取所述软件系统需求表,然后web软件框架对获取的软件系统需求表进行遍历,读取软件系统需求表所记载的各类信息,并将读取的各项软件系统需求信息传输至数据分析服务器;s3、所述web软件框架通过数据分析服务器对软件系统需求表中的各项软件系统需求信息进行数据类型及格式校验,判断是否满足软件系统需求表的格式填写要求;若校验不通过,则提示用户格式有误请重新上传软件系统需求表,即重复步骤s1、步骤s2和当前步骤;若校验通过,进行下一步操作;s4、web软件框架根据校验通过的软件系统需求表的各项信息构造web软件系统,并注入web软件框架所处云环境中,然后对所构造的web软件系统进行使用;s41、设计web软件框架的底层代码类,所述底层代码类用于实现web软件框架内部自动化构造web软件系统;s42、web软件框架通过底层代码类自动化构造web软件系统,其外部活动过程为:web软件框架根据校验通过的软件系统需求表的管理员信息注册创建一个软件系统,然后再依次判断软件系统需求表中是否存在用户组信息、用户信息、模型信息或模型内结构信息,若存在,则web软件框架读取软件系统需求表中对应存在的信息,并在创建的软件系统中生成用户组、用户、模型、或模型字段;对于软件系统需求表中存在多个模型情况,web软件框架重复读取模型信息,直到读取完所有数量的模型,生成最终的web软件系统;s43、通过软件注入服务器将步骤s42获得的web软件系统注入web软件框架,并通过web软件框架在云端自动部署和发布,供用户访问使用;s44、当用户要在所创建的web软件系统批量注入数据时,用户填写数据记录交换表,所述数据记录交换表包括模型字段信息和数据记录信息,然后提交至web软件框架,所述web软件框架对数据记录交换表的信息进行读取,然后对读取后的信息进行格式校验,对于检验通过的数据交换记录表,web软件框架读取其中的模型字段信息,并根据模型字段信息确定所要进行数据交换的模型,然后将数据记录信息注入该模型中,即完成数据注入操作。作为优选的技术方案,步骤s1中,所述软件系统需求信息包括:系统管理员信息、用户组信息、用户信息、以及模型信息,具体如下:所述系统管理员信息包括:系统管理员id、系统管理员密码、以及系统标题;所述用户组信息为用户组id,可根据需求自定义多个用户组;所述用户信息包括:用户id、用户名、用户密码、以及用户所属组id;所述模型信息,可根据需求自定义多个模型,所包括的信息具体有:用户所属组的组内用户读写权限、其他用户读写权限、模型名称、模型录入员id、所属组id、模型字段类型、模型字段名、字段值是否允许空、缺省值、以及备选值;其中所述用户所属组的组内用户读写权限和他用户读写权限包括:可读可写、可读不可写、以及不可读不可写;所述模型录入员id为用户信息中用户id所包含;所述所属组id为用户组中用户组id所包含;所述模型字段类型,其取值包括:text、float、integer、link、date、datetime、以及boolean;所述字段值是否允许空,其取值包括:true、false,其中true表示允许为空,false表示不允许为空;所述软件系统需求表的提交方式包括:在线提交和离线提交;所述在线提交:用户根据web软件框架提供的web表单格式,在线填写软件系统需求信息并提交到该web软件框架;所述离线提交:用户根据web软件框架约定的离线表单格式模版,离线填写软件系统需求信息并以文件上传方式提交到web软件框架。作为优选的技术方案,步骤s1中,所述web软件框架是一个部署在web服务器上的应用,带有系统显示界面;所述系统显示界面包括:系统管理员界面和用户界面;所述系统管理员界面包括用户管理、用户组管理、以及模型管理;所述用户管理用于对所要创建的web软件系统的用户信息进行管理,管理功能包括增加用户、删除用户、为用户增加用户组信息、以及为用户删除用户组信息;所述用户组管理用于对所要创建的web软件系统的用户组信息进行管理,管理功能包括增加用户组、删除用户组、为用户组增加用户信息、以及为用户组删除用户信息;所述模型管理用于对所要创建的web软件系统的模型信息进行管理,管理功能包括增加模型信息、删除模型信息、增加模型字段信息、删除模型字段信息、修改模型字段信息、以及针对模型对不同的用户组分配不同的访问权限;所述用户界面包括数据管理、数据统计、导入和导出excel表及其他格式表、以及高级搜索;所述数据管理用于对所要创建的web软件系统数据表的记录进行管理,管理功能包括增加数据记录、删除数据记录、修改数据记录、以及获取所有数据记录;所述数据统计用于对所要创建的web软件系统的数据表记录进行统计,统计功能包括可针对数据表整型字段进行记录数统计、最大值统计、最小值统计、以及平均值统计;所述导入和导出excel表及其他格式表用于将excel表及其他格式表中的数据导入至所创建的web软件系统的相应表中,并可将web软件系统的表中的数据导出至excel表及其他格式表中;所述高级搜索用于对excel表及其他格式表的多个字段进行多种逻辑组合搜索,查询出满足搜索条件的记录信息。作为优选的技术方案,步骤s2中,web软件框架自动读取软件系统需求表中的各项系统需求信息,其自动读取单元包括软件系统需求表遍历单元、系统管理员信息读取单元、用户组信息读取单元、用户信息读取单元、以及模型信息读取单元;所述软件系统需求表遍历单元用于对软件系统需求表进行遍历;所述系统管理员信息读取单元用于在遍历系统管理员信息时,读取系统管理员id、系统管理员密码、以及系统标题;所述用户组信息读取单元用于,用于在遍历用户组信息时,读取用户组id信息;所述用户信息读取单元,用于在遍历用户信息时,读取用户id、用户名、用户密码、以及用户所属组id,其中所述用户所属组id为用户组信息中包含的用户组id;所述模型信息读取单元,用于在遍历模型信息时,读取用户所属组的组内用户读写权限、其他用户读写权限、模型名称、模型录入员id、用户所属组id、字段类型、字段名、字段值是否允许为空、缺省值、以及备选值。作为优选的技术方案,步骤s3中,web软件框架对软件系统需求表中的各项软件系统需求信息进行数据类型及格式校验,具体是对模型信息中的用户所属组的组内用户读写权限、其他用户读写权限、模型字段类型、以及字段值是否允许空的取值是否满足填写要求;若用户所属组项不为空,则判断该项所填值是否包含于软件系统需求表中的用户组信息。作为优选的技术方案,步骤s41中,web软件框架通过底层代码类自动化构造web软件系统,所述底层代码类涉及5个类,4个接口,其中,5个类包括:需求表读取类read_demand、用户组管理类manage_group、用户管理类manage_user、模型管理类manage_schema、以及数据管理类manage_data;4个接口,包括:用户组管理接口gmanage_group、用户管理接口gmanage_user、模型管理接口gmanage_schema、以及数据管理接口gmanage_data;通过所述底层代码类自动化构造web软件系统,具体包括下述步骤:(1)、通过需求表读取类read_demand中用来处理系统管理员信息的api读取软件系统需求表中的系统管理员板块,遍历其单元格,根据系统管理员id、系统管理员密码和系统名称在web软件框架的超级管理员权限下注册软件系统,并在该web软件框架的底层数据库中创建软件系统相应的数据库实体,同时在该数据库下创建4个collection,分别为用户组group、用户user、模型schema、数据data;其中所述超级管理员是web软件框架的最高权限管理员,用于接收用户设定的管理员信息并在web框架中注册软件系统;所述web软件框架的底层数据库用于web软件框架存储数据;(2)、通过需求表读取类read_demand中用来处理用户组信息的api读取软件系统需求表中的用户组信息,遍历其填写的用户组id信息单元格,根据得到的用户组id信息生成json格式的字符串,并将其插入到步骤(1)创建的数据库实体的用户组group集合中;(3)、通过需求表读取类read_demand中用来处理用户信息的api读取软件系统需求表中的用户信息,遍历其填写的用户信息,按行读取并遍历每行的单元格,根据得到的所有用户信息生成json格式的字符串,并将其插入到步骤(1)创建的数据库实体的用户user集合中;(4)、通过需求表读取类read_demand中用来处理模型信息的api读取系统需求表的模型信息,遍历其填写的模型信息单元格,根据模型信息生成json格式的字符串,并将其插入到步骤(1)创建的数据库实体的模型schema集合中;(5)、通过用户组管理类manage_group对底层数据库中数据库实体的用户组group集合中的用户组数据进行操作,并将操作结果返回给web软件框架的系统显示界面,所述用户组管理类manage_group实现web软件框架中定义的用户组管理接口gmanage_group;(6)、通过用户管理类manage_user对底层数据库中数据库实体的用户user集合中的用户数据进行操作,并将操作结果返回给web软件框架的系统显示界面;(7)、通过模型管理类manage_schema对底层数据库中数据库实体的schema集合中的模型数据进行操作,并将结果返回给web软件框架的界面,所述模型管理类manage_schema实现web软件框架中定义的模型管理接口gmanage_schema;(8)、通过数据管理类manage_data对底层数据库中数据库实体的data集合中的数据记录进行操作,并将结果返回给web软件框架的系统显示界面,所述数据管理类manage_data实现了web软件框架中定义的数据管理接口gmanage_data。作为优选的技术方案,在步骤s42中,web软件框架通过底层代码类自动化构造web软件系统,其外部活动的具体过程如下:s421、web软件框架读取校验通过的软件系统需求表中的管理员信息,所述管理员信息包括系统管理员用户名、系统管理员密码、以及创建软件系统名称的信息;根据所读取的管理员信息,注册创建一个软件系统;s422、web软件框架判断软件系统需求表是否存在用户组信息,若软件系统需求表中存在用户组信息,所述用户组信息为用户组id,则根据所读取的用户组id在步骤s411创建的软件系统中生成用户组;若软件系统需求表中不存在用户组信息,则进行下一步操作;s423、web软件框架判断该软件系统需求表是否存在用户信息,若软件系统需求表中不存在用户信息,所述用户信息包括用户id、用户名、用户密码、以及用户所属组,根据所读取的用户信息在在步骤s411创建的软件系统中生成用户;若软件系统需求表中存在用户信息,则进行下一步操作;s424、web软件框架判断该软件系统需求表是否存在模型信息,若软件系统需求表存在模型信息,则读取软件系统需求表中的模型数量,并赋值当前计数值为0,然后读取模型信息,即模型名称、模型录入员、所属组id、以及用户所属组的组内用户读写权限信息,并根据所读取的模型信息在在步骤s411创建的软件系统中创建指定模型;然后再判断模型内是否存在结构信息,若模型内存在结构信息,则读取模型内结构信息,即模型内结构字段名称、字段类型、字段值是否允许为空、缺省值、以及备选值,并根据所读取的模型内结构信息在已创建的指定模型内创建字段,同时当前模型数量计数值+1,然后判断当前计数是否小于模型数量,若当前计数小于模型数量,则继续读取下一个模型信息,重复该步骤操作;若当前计数大于模型数量,则web软件框架完成软件系统的自构造,生成web软件系统。作为优选的技术方案,步骤s5中,所述用户填写数据记录交换表并提交至web软件框架,具体如下:所述数据交换记录表中的信息包括:模型字段信息和数据记录;所述模型字段信息是用户根据需求设置所要进行数据记录交换的模型的所有字段名;所述数据记录是用户根据需求添加需要注入到模型中的所有数据记录信息;所述数据交换记录表的提交方式包括:在线提交和离线提交;所述在线提交:当用户根据web软件框架构造出的web软件系统,通过所述web软件系统提供的数据录入web页面,在线录入数据交换记录表中的信息并提交到该web软件系统;所述离线提交:当用户根据web软件生成框架构造出的web软件系统,通过所述web软件系统提供的数据记录交换表模版格式,离线录入模型字段信息和数据记录信息并以文件上传方式提交到该web软件系统。一种表驱动的云模式软件自动构造方法的软件自动构造系统,包括客户端、数据获取模块、数据分析模块、软件构造模块、软件注入模块、以及web服务器;所述客户端用于用户填写软件系统需求表并提交至数据获取模块,所述数据获取模块通过数据获取服务器遍历软件系统需求表,并对软件系统需求表所记载的信息进行分类读取,然后将分类读取后的各项软件系统需求信息传输至数据分析模块;所述数据分析模块通过数据分析服务器对获取的各项软件系统需求信息进行格式分析校验,若格式校验错误,则提醒用户重新填写软件系统需求表,若格式校验正确,则将格式校验正确的各项软件系统需求信息传输至软件构造模块;所述软件构造模块根据格式校验正确的各项软件系统需求信息,并通过软件构建服务器,自动构造出与该信息匹配的web软件系统,然后将所述的web软件系统传输至软件注入模块;所述软件注入模块通过软件注入服务器将web软件系统注入web软件框架,并通过web软件框架将web软件系统部署在web服务器上,供用户访问使用;所述web软件框架是一个用于自动构造软件,并部署在web服务器上的应用,带有系统显示界面。作为优选的技术方案,所述客户端、数据获取服务器、数据分析服务器、软件构造服务器、软件注入服务器、以及web服务器均是采用pc电脑,所述客户端与web服务器之间采用http通信方式,通信协议采用tcp协议;其余服务器间均采用socket通信方式,通信协议采用tcp协议。本发明相对于现有技术具有如下的优点和效果:本发明所提出的一种表驱动的云模式软件系统自动构造方法,不仅简化传统模式下繁杂的软件开发流程,并支持多租户软件即服务云模式,为用户省去了耗时的编程开发工作,使得用户只需专注于定义系统需求即可快速高效的构造出满足需求的web软件系统,大大提高了软件开发效率,同时为企业级、非企业级用户定制满足自身需求的信息管理系统提供便利性。附图说明图1为实施例1的表驱动的云模式软件系统自动构造方法的流程图;图2为实施例1的表驱动的云模式软件系统自动构造方法的具体工作流程图;图3(a)-图3(c)分别为本应用实例的大学城汽车4s服务管理信息系统的系统管理员界面下的用户管理界面、用户组管理界面、以及模型管理界面;图4为本应用实例的大学城汽车4s服务管理信息系统的普通用户界面下的系统界面;图5为实施例1的表驱动的自动化注入数据记录的流程图;图6为实施例1的自动化生成的web软件系统的超级管理员模块用例图;图7为实施例1的自动化生成的web软件系统的系统管理员模块用例图;图8为实施例1的自动化生成的web软件系统的用户模块用例图;图9为实施例1的自动化构造流程的uml类图;图10为实施例1中利用表驱动的云模式软件系统自动构造方法构造的web软件系统应用实例活动图;图11为实施例1中利用表驱动的云模式软件系统自动构造方法构造的web软件系统应用实例状态图;图12为实施例2的表驱动的云模式软件系统自动构造系统。在上述附图的文字描述中,系统需求表即表示软件系统需求表。具体实施方式为了使本发明的目的、技术方案以及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不限于本发明。实施例1如图1所示,一种表驱动的云模式软件自动构造方法,包括下述步骤:s1、用户根据web软件框架提供或约定的表单格式,填写软件系统需求信息,生成软件系统信息表;然后将填写完成的软件系统需求表在线或离线提交至web软件框架中;所述软件系统需求信息包括:系统管理员信息、用户组信息、用户信息、以及模型信息;所述web软件框架是一个部署在web服务器上的应用;s2、所述web软件框架通过数据获取服务器接收用户指定的所述软件系统需求表的存储路径,并根据存储路径,获取所述软件系统需求表,然后web软件框架对获取的软件系统需求表进行遍历,读取软件系统需求表所记载的各类信息,并将读取的各项软件系统需求信息传输至数据分析服务器;s3、所述web软件框架通过数据分析服务器对软件系统需求表中的各项软件系统需求信息进行数据类型及格式校验,判断是否满足软件系统需求表的格式填写要求;若校验不通过,则提示用户格式有误请重新上传软件系统需求表,即重复步骤s1、步骤s2和当前步骤;若校验通过,进行下一步操作;s4、web软件框架自动化构造web软件系统并在云端部署和发布,以及web软件系统的更新;s41、设计web软件框架的底层代码类,所述底层代码类用于实现web软件框架内部自动化构造web软件系统;所述底层代码类涉及5个类,4个接口,其中,5个类包括:需求表读取类read_demand、用户组管理类manage_group、用户管理类manage_user、模型管理类manage_schema、以及数据管理类manage_data;4个接口,包括:用户组管理接口gmanage_group、用户管理接口gmanage_user、模型管理接口gmanage_schema、以及数据管理接口gmanage_data;通过read_demand类获取系统需求表中的各项需求信息,进行相应的生成数据库实体以及生成数据库实体集合操作;manage_group类实现了gmanage_group接口,对数据库实体的group集合中的用户组数据进行操作;manage_user实现了gmanage_user接口,对数据库实体的user集合中的用户数据进行操作;manage_schema实现了gmanage_schema接口,对数据库实体的schema集合中的模型数据进行操作;manage_data实现了gmanage_data接口,对数据库实体的data集合中的数据记录进行操作;manage_group、manage_user、manage_schema、manage_data四个类都依赖于read_demand类;s42、web软件框架通过底层代码类自动化构造web软件系统,其外部活动为:web软件框架根据校验通过的软件系统需求表的管理员信息注册创建一个软件系统,然后再依次判断软件系统需求表中是否存在用户组信息、用户信息、模型信息或模型内结构信息,若存在,则web软件框架读取软件系统需求表中对应存在的信息,并在创建的软件系统中生成用户组、用户、模型、或模型字段;对于软件系统需求表中存在多个模型情况,web软件框架重复读取模型信息,直到读取完所有数量的模型,生成最终的web软件系统;如图2所示,该步骤具体包括下述步骤:s421、web软件框架读取软件系统需求表中的管理员信息,所述管理员信息包括系统管理员用户名、系统管理员密码、以及创建软件系统名称的信息;根据所读取的管理员信息,创建一个软件系统;s422、web软件框架判断该软件系统需求表是否存在用户组信息,若软件系统需求表中存在用户组信息,所述用户组信息为用户组id,则根据所读取的用户组id在步骤s411创建的软件系统中生成用户组;若软件系统需求表中不存在用户组信息,则进行下一步操作;s423、web软件框架判断该软件系统需求表是否存在用户信息,若软件系统需求表中不存在用户信息,所述用户信息包括用户id、用户名、用户密码、以及用户所属组,根据所读取的用户信息在在步骤s411创建的软件系统中生成用户;若软件系统需求表中存在用户信息,则进行下一步操作;s424、web软件框架判断该软件系统需求表是否存在模型信息,若软件系统需求表存在模型信息,则读取软件系统需求表中的模型数量,并赋值当前计数值为0,然后读取模型信息,即模型名称、模型录入员、用户所属组id、以及用户所属组的组内用户权限信息,并根据所读取的模型信息在在步骤s411创建的软件系统中创建指定模型;然后再判断模型内是否存在结构信息,若模型内存在结构信息,则读取模型内结构信息,即模型内结构字段名称、字段类型、以及字段值是否允许为空,并根据所读取的模型内结构信息在已创建的指定模型内创建字段,同时当前模型数量计数值+1,然后判断当前计数是否小于模型数量,若当前计数小于模型数量,则继续读取下一个模型信息,重复该步骤操作;若当前计数大于模型数量,则web软件框架完成软件系统的自构造,生成web软件系统;s43、通过软件注入服务器将步骤s42获得的web软件系统注入web软件框架,并通过web软件框架在云端自动部署和发布,供用户访问使用;在本实施例中,所述web软件框架支持web软件系统即服务saas云模式,就是所述web软件框架生成的web软件系统在云端自动部署和发布。s44、当用户要在所创建的web软件系统批量注入数据时,用户填写数据记录交换表,所述数据记录交换表包括模型字段信息和数据记录信息,然后提交至web软件框架,所述web软件框架对数据记录交换表的信息进行读取,然后对读取后的信息进行格式校验,对于检验通过的数据交换记录表,web软件框架读取其中的模型字段信息,并根据模型字段信息确定所要进行数据交换的模型,然后将数据记录信息注入该模型中,即完成数据注入操作。表1在本实施例1中,如表1所示,所述软件系统需求表,具体包括如下:1)系统管理员信息部分,包括:a)系统管理员id;b)系统管理员密码;c)系统标题;2)用户组信息部分,包括:a)用户组id;可根据需求填写多个用户组,若无需用户组则不填;其中用户组id的信息需填入同一行,不同列;3)用户信息部分,包括:a)用户id;b)用户名;c)用户密码;d)用户所属组;其中的用户所属组,若某用户属于多个组,则用逗号分割;若某用户不属于任何组,则不填;4)模型信息部分,包括:a)用户所属组的组内用户读写权限,包括三种:可读可写、可读不可写、不可读不可写;b)其他用户读写权限,包括三种:可读可写、可读不可写、不可读不可写;c)模型名称;d)录入员id;e)所属组id;f)模型内结构信息,包括:①字段类型,取值包括:text、float、integer、link、date、datetime、boolean;②字段名;③字段值是否允许为空,取值可为:true、false;其中true表示允许为空,false表示不允许为空。以下为本实施例的表驱动的云模式软件自动构造方法及系统的具体应用实例,详细阐述了自动化生产web软件系统的过程。若利用现有技术的软件构造方法,实现一个具备常规功能的web软件系统需要经历系统需求分析、系统总体设计、系统详细设计、系统具体实现等常规化流程。以下将基于本实施例提出的一种表驱动的云模式软件系统自动构造方法详细叙述如何跨过传统的开发流程构造出一个大学城汽车4s服务管理信息系统;1)按照本实施例提供的软件系统需求表格式填写大学城汽车4s服务管理信息系统的相关需求信息,本实例中软件系统需求表以excel表为例。大学城汽车4s服务管理信息系统的软件系统需求表填写如表2所示:表2如表2可知:a)本系统的系统管理员id为“liuyu2018”,密码为“2018”,系统标题为“大学城汽车4s服务管理信息系统1.0newmedia.lab.2018.spring”。b)本系统存在三个用户组,分别为:group1,group2,group3。c)本系统存在三个用户,分别为:panshiying,其用户名为panshiying,用户密码为panshiying,所属组为group1;lirunmin,其用户名为lirunmin,用户密码为lirunmin,所属组为group2;liuyu,其用户名为liuyu,用户密码为liuyu,所属组为group1和group2。d)本系统存在三个模型。e)第一个模型:模型名称为车辆基本信息,所属组为group1,所属组成员的权限为可读可写,其他用户的权限为可读不可写,录入员为liuyu;模型内有八个字段:字段类型为integer的车辆类型编号,不允许为空;字段类型为text的车辆型号,允许为空;字段类型为text的汽车发动机型号,允许为空;字段类型为text的车体型号,允许为空;字段类型为text的车轮型号,允许为空;字段类型为float的销售价格,允许为空;字段类型为text的车辆颜色,允许为空;字段类型为text的车辆类型,允许为空。f)第二个模型:模型名称为客户信息,所属组为group1,所属组成员的权限为可读可写,其他用户的权限为可读不可写,录入员为liuyu;模型内有6个字段:字段类型为integer的客户编号,不允许为空;字段类型为text的客户名称,不允许为空;字段类型为text的身份证编号,允许为空;字段类型为text的服务机构,允许为空;字段类型为text的收入状况,允许为空;字段类型为integer的年龄,允许为空。g)第三个模型:模型名称为维修信息,所属组为group2,所属组成员的权限为可读可写,其他用户的权限为可读不可写,录入员为liuyu;模型内有7个字段:字段类型为integer的维修编号,允许为空;字段类型为text的客户名称,允许为空;字段类型为text的车辆名称,允许为空;字段类型为text的车辆编号,允许为空;字段类型为text的故障类型,允许为空;字段类型为text的维修记录,允许为空;字段类型为text的维修费用,允许为空。2)将该excel格式的软件系统需求表命名为与系统管理员id相同。本应用实例中该excel文件名为“liuyu2018.xls”。3)web软件框架的超级管理员读取软件系统需求表中的系统管理员id、系统管理员密码及系统标题,在web软件框架的后台注册系统管理员账号。4)用户使用注册的系统管理员账号登录相应的web软件框架中,将其定义的excel格式的软件系统需求表上传至web软件框架,将软件系统需求信息注入web软件框架中;点击提交excel文件后,即生成了满足需求定义的web软件系统;5)显示成功后刷新面板,可查看到生成的大学城汽车4s服务管理信息系统1.0newmedia.lab.2018.spring。在本应用实例的大学城汽车4s服务管理信息系统中,普通用户界面如图4所示,系统管理员界面可以查到如图3(a)所示的用户组管理界面、如图3(b)所示的用户管理界面、和如图3(c)所示的模型管理界面。表3字段名1字段名2字段名3字段名4字段名5字段名6........................在本应用实例中,如表3所示为数据记录交换表格式,对其描述如下:用户通过填写软件系统需求表生成web软件系统后,可填写数据记录交换表向web软件系统中批量注入数据。所述数据记录交换表包括以下两部分:1)字段信息部分:用户根据所要注入数据记录的模型字段填写。2)数据记录部分:用户根据需求添加需要注入到模型中的数据记录信息。如图5所示,自动化注入数据记录,具体包括下述步骤:1)客户根据需求填写由本发明提供格式的数据记录交换表。2)web软件框架获取1)中客户上传的数据记录交换表,并校验数据记录交换表格式是否符合要求,若不符合则提示用户格式有误请重新上传,若符合则转入3)。3)web软件框架读取数据记录交换表中的模型字段信息。4)web软件框架根据3)读取的模型字段信息确定所需进行数据交换的模型。5)web软件框架逐行读取数据记录交换表中的数据记录信息,并依次将其注入到步骤4)确定的模型中。在本应用实例中,如图6所示为自动化生成的web软件系统的超级管理员模块用例图,超级管理员(该参与者)关联的用例是系统管理,其中系统管理具体包含了新增系统、删除系统和获取系统列表三个用例。如图7所示为自动化生成的web软件系统的系统管理员用例图,系统管理员(该参与者)关联的用例有用户管理、用户组管理和模型管理三个用例,具体如下:1)所述用户管理,该用例又包含七个用例,即添加用户、删除用户、编辑用户、获取用户列表、获取用户所属组列表、添加用户到用户组、将用户从用户组中删除;其中,a)所述添加用户括两个用例,在系统内逐个添加用户和根据系统需求表批量添加用户;b)所述添加用户到用户组括两个用例,在系统内逐个添加用户到用户组和根据系统需求表批量添加用户到用户组;2)所述用户组管理,该用例包含了八个用例,即添加用户组、删除用户组、编辑用户组、获取用户组列表、获取用户组的用户列表、添加用户到用户组、从用户组中删除用户、获取用户组拥有权限的模型列表;其中,a)所述添加用户组包括两个用例,即在系统内逐个添加用户组和根据系统需求表批量添加用户组两个用例;b)所述添加用户到用户组包括两个用例,即在系统内逐个添加用户到用户组和根据系统需求表批量添加用户到用户组;3)所述模型管理,该用例包含了四个用例,即添加模型、删除模型、编辑模型、获取系统模型列表;a)所述添加模型包括两个用例,即在系统内逐个添加模型和根据系统需求表批量添加模型两个用例;b)所述编辑模型包括两个用例,即编辑模型信息和编辑模型内字段信息。如图8所示为自动化生成的web软件系统的用户界面用例图,具体描述如下:1)用户,该参与者关联五个用例,即数据管理、数据统计、导入数据记录、导出数据记录、高级搜索;其中,a)所述数据管理包括四个用例,即获取模型所有记录、添加数据记录、删除数据记录、修改数据记录;b)所述数据统计用例包括四个用例,即最大值统计、最小值统计、平均值统计、记录数统计四个用例;如图9所示为自动化构造软件系统流程的uml类图,具体描述如下:自动化构造web软件系统通过底层代码类实现,所述底层代码类主要涉及5个类,4个接口,其中,5个类包括:需求表读取类read_demand、用户组管理类manage_group、用户管理类manage_user、模型管理类manage_schema、以及数据管理类manage_data;4个接口,包括:用户组管理接口gmanage_group、用户管理接口gmanage_user、模型管理接口gmanage_schema、数据管理接口gmanage_data;通过所述底层代码类自动化构造web软件系统,具体包括下述步骤:(1)、通过需求表读取类read_demand中用来处理系统管理员信息的api读取软件系统需求表中的系统管理员板块,遍历其单元格,根据系统管理员id、系统管理员密码和系统名称在web软件框架的超级管理员权限下注册软件系统,并在该web软件框架的底层数据库中创建软件系统相应的数据库实体,同时在该数据库下创建4个collection,分别为用户组group、用户user、模型schema、数据data;其中所述超级管理员是web软件框架的最高权限管理员,用于接收用户设定的管理员信息并在web框架中注册软件系统;所述web软件框架的底层数据库用于web软件框架存储数据;(2)、通过需求表读取类read_demand中用来处理用户组信息的api读取软件系统需求表中的用户组信息,遍历其填写的用户组id信息单元格,根据得到的用户组id信息生成json格式的字符串,并将其插入到步骤(1)创建的数据库实体的用户组group集合中;(3)、通过需求表读取类read_demand中用来处理用户信息的api读取软件系统需求表中的用户信息,遍历其填写的用户信息,按行读取并遍历每行的单元格,根据得到的所有用户信息生成json格式的字符串,并将其插入到步骤(1)创建的数据库实体的用户user集合中;(4)、通过需求表读取类read_demand中用来处理模型信息的api读取系统需求表的模型信息,遍历其填写的模型信息单元格,根据模型信息生成json格式的字符串,并将其插入到步骤(1)创建的数据库实体的模型schema集合中;(5)、通过用户组管理类manage_group对底层数据库中数据库实体的用户组group集合中的用户组数据进行操作,并将操作结果返回给web软件框架的系统显示界面,所述用户组管理类manage_group实现web软件框架中定义的用户组管理接口gmanage_group;(6)、通过用户管理类manage_user对底层数据库中数据库实体的用户user集合中的用户数据进行操作,并将操作结果返回给web软件框架的系统显示界面;(7)、通过模型管理类manage_schema对底层数据库中数据库实体的schema集合中的模型数据进行操作,并将结果返回给web软件框架的界面,所述模型管理类manage_schema实现web软件框架中定义的模型管理接口gmanage_schema;(8)、通过数据管理类manage_data对底层数据库中数据库实体的data集合中的数据记录进行操作,并将结果返回给web软件框架的系统显示界面,所述数据管理类manage_data实现了web软件框架中定义的数据管理接口gmanage_data。如图10为利用本发明的软件自动构造方法构造的web软件系统应用实例活动图,具体描述如下:1)用户填写软件系统需求表并上传到web软件框架;2)web软件框架获取用户上传的系统需求表,判断用户上传的系统需求表格式是否正确,格式正确则进入读取系统需求表的活动,否则提示用户系统需求表的格式有误,让其重新上传。3)web软件框架读取系统管理员用户名、密码和系统标题等创建系统的信息,并由超级管理员在web软件框架中注册系统。4)进入判断,若存在用户组相关信息,则进入读取用户组相关信息并创建用户组的活动,随后进入判断是否存在用户相关信息的活动,若不存在用户组相关信息则不创建用户组,进入判断是否存在用户相关信息的活动。5)进入判断,若存在用户相关信息,则进入读取用户相关信息并创建用户的活动,随后进入判断是否存在模型相关信息的活动,若不存在用户组相关信息则不创建用户,进入判断是否存在模型相关信息的活动。6)进入判断,若存在模型相关信息,则进入读取系统需求表中模型数量并记当前数量为0的活动,随后进入读取模型相关信息并创建模型的活动,再进入判断是否存在模型内字段相关信息的活动,若不存在用户组相关信息则不创建模型,进入生成目标系统的活动。7)进入判断,若存在模型内字段相关信息,则进入读取模型内字段相关信息并创建模型内字段活动,随后进入将当前模型计数+1的活动,再进入判断当前模型计数是否小于模型数量的活动,若不存在模型内字段相关信息,则直接进入判断当前模型计数是否小于模型数量的活动。8)进入判断,若当前模型计数小于模型数量,则进入读取模型相关信息并创建模型的活动,若当前模型计数不小于模型数量,进入生成目标web软件系统的活动。如图11为利用本发明的软件自动构造方法构造的web软件系统应用实例状态图,具体描述如下:1)当用户将系统需求表上传至web软件框架后,进入判断,若格式校验正确则进入系统需求表格式正确状态,否则状态终止,无法创建系统。2)若进入系统需求表格式正确状态,web软件框架的超级系统管理员根据需求表中的系统需求信息在web软件框架中注册系统,进入注册系统成功状态。3)进入判断,web软件框架判断系统需求表中是否存在用户组信息。若存在,则创建用户组,进入用户组创建成功状态;若不存在,则不创建用户组,进入未创建用户组状态。4)进入判断,web软件框架判断系统需求表中是否存在用户信息。若存在,则创建用户,进入用户创建成功状态;若不存在,则不创建用户,进入未创建用户状态。5)进入判断,web软件框架判断系统需求表中是否存在模型信息。若存在,则创建模型,进入模型创建成功状态;若不存在,则不创建模型,进入未创建模型状态。6)若5)中进入未创建模型状态,则状态终止,系统创建成功。否则跳入7)7)进入判断,web软件框架判断系统需求表中是否存在模型字段等信息。若存在,则创建模型字段等,进入模型字段创建成功状态;若不存在,则不创建模型字段,进入未创建模型字段状态。8)状态终止,系统创建成功。实施例2如图12所示,一种表驱动的云模式软件自动构造方法的软件自动构造系统,包括客户端、数据获取模块、数据分析模块、软件构造模块、软件注入模块、以及web服务器;所述客户端用于用户填写软件系统需求表并提交至数据获取模块,所述数据获取模块通过数据获取服务器遍历软件系统需求表,并对软件系统需求表所记载的信息进行分类读取,然后将分类读取后的各项软件系统需求信息传输至数据分析模块;所述数据分析模块通过数据分析服务器对获取的各项软件系统需求信息进行格式分析校验,若格式校验错误,则提醒用户重新填写软件系统需求表,若格式校验正确,则将格式校验正确的各项软件系统需求信息传输至软件构造模块;所述软件构造模块根据格式校验正确的各项软件系统需求信息,并通过软件构建服务器,自动构造出与该信息匹配的web软件系统,然后将所述的web软件系统传输至软件注入模块;所述软件注入模块通过软件注入服务器将web软件系统注入web软件框架,并通过web软件框架将web软件系统部署在web服务器上,供用户访问使用;所述web软件框架是一个用于自动构造软件,并部署在web服务器上的应用,带有系统显示界面。在本实施例2中,所述客户端、数据获取服务器、数据分析服务器、软件构造服务器、软件注入服务器、以及web服务器均是采用pc电脑,所述客户端与web服务器之间采用http通信方式,通信协议采用tcp协议;其余服务器间均采用socket通信方式,通信协议采用tcp协议。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以权利要求所述为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1