CN108563431A - 软件开发方法、装置、计算机可读存储介质以及电子设备 - Google Patents

软件开发方法、装置、计算机可读存储介质以及电子设备 Download PDF

Info

Publication number
CN108563431A
CN108563431A CN201810364776.XA CN201810364776A CN108563431A CN 108563431 A CN108563431 A CN 108563431A CN 201810364776 A CN201810364776 A CN 201810364776A CN 108563431 A CN108563431 A CN 108563431A
Authority
CN
China
Prior art keywords
data
business
developer
node
submodule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810364776.XA
Other languages
English (en)
Other versions
CN108563431B (zh
Inventor
陈铭泳
张国强
涂华奇
陈剑鸣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aerospace Cloud Macro Technology Guizhou Co Ltd
GUANGZHOU WINHONG INFORMATION TECHNOLOGY Co Ltd
Original Assignee
Aerospace Cloud Macro Technology Guizhou Co Ltd
GUANGZHOU WINHONG INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aerospace Cloud Macro Technology Guizhou Co Ltd, GUANGZHOU WINHONG INFORMATION TECHNOLOGY Co Ltd filed Critical Aerospace Cloud Macro Technology Guizhou Co Ltd
Priority to CN201810364776.XA priority Critical patent/CN108563431B/zh
Publication of CN108563431A publication Critical patent/CN108563431A/zh
Application granted granted Critical
Publication of CN108563431B publication Critical patent/CN108563431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供一种软件开发方法及装置,该框架可以接收开发人员输入的分类框架数据,并根据开发人员输入的分类框架数据以及业务对象树,生成软件前端界面。随后,接收由开发人员编写的至少一个配置文件,实现至少一个配置文件与软件前端界面的关联,所述至少一个配置文件包括实现软件前端界面的功能的业务逻辑代码。对于开发人员来说,开发人员只需要对待开发页面的各类功能进行分类,然后按照分类在框架的数据库中分别填入分类框架数据,框架便可以根据开发人员的填写以及框架内部封装的业务对象树来生成待开发页面的软件前端界面,然后开发人员可以在后台编写待开发页面欲实现功能的业务逻辑代码,从而实现待开发页面欲实现的功能。

Description

软件开发方法、装置、计算机可读存储介质以及电子设备
技术领域
本发明涉及软件技术领域,具体而言,涉及一种软件开发方法、装置、计算机可读存储介质以及电子设备。
背景技术
现有的页面开发的流程中,若要开发一个页面,开发人员通常根据欲开发的页面的需求把该页面需要具有的组件(例如文本输入框、下拉框、按钮等)先定义出来,例如,先定义一个下拉框,然后开发人员在页面编写该下拉框要实现的功能所对应的代码,然后再通过异步JavaScript和XML(Asynchronous Javascript And XML,简称Ajax)请求后台获得该下拉框的数据。
在现有的这种开发过程中,前端的页面会引入大量的JavaScript业务逻辑代码,如页面属性生成校验、输入框值的业务控制以及属性层级联动等,导致当一个页面功能复杂时,JavaScript业务代码会逐渐庞大,导致***后期难维护,且页面响应速度也会变慢。
发明内容
有鉴于此,本发明实施例的目的在于提供一种软件开发方法、装置、计算机可读存储介质以及电子设备。
第一方面,本发明实施例提供了一种软件开发方法,所述方法包括:接收开发人员输入的分类框架数据;根据所述分类框架数据以及业务对象树,生成软件前端界面;接收由开发人员编写的至少一个配置文件,实现所述至少一个配置文件与所述软件前端界面的关联,所述至少一个配置文件包括实现所述软件前端界面的功能的业务逻辑代码。
进一步地,所述业务对象树的构建方法包括:构建根节点;构建角色节点;根据所述根节点以及所述角色节点,构建所述业务对象树。
进一步地,所述构建根节点,包括:创建第一业务数据;创建第一根业务数据管理器;通过补充数据和数量限制处理,完善所述第一业务数据,生成第一业务数据子树;遍历第一业务数据子树,完善所述第一根业务数据管理器;递归调用所述第一业务数据子树以及所述第一根业务数据管理器,从而完成所述根节点的构建。
进一步地,所述构建角色节点,包括:增加子业务数据;通过递归的方式,调用所述子业务数据的上级对象的预处理;完善所述子业务数据的状态数据;完善所述子业务数据的下级的属性、动作以及下级的角色实例;完成以所述子业务数据为根的组件树的建立,从而完成所述角色节点的构建。
第二方面,本发明实施例提供了一种软件开发装置,所述装置包括:数据接收模块,用于接收开发人员输入的分类框架数据;界面生成模块,用于根据所述分类框架数据以及业务对象树,生成软件前端界面;关联建立模块,用于接收由开发人员编写的至少一个配置文件,实现所述至少一个配置文件与所述软件前端界面的关联。
进一步地,所述装置还包括:根节点构建模块,用于构建根节点;角色节点构建模块,用于构建角色节点;对象树构建模块,用于根据所述根节点以及所述角色节点,构建所述业务对象树。
进一步地,所述根节点构建模块包括:第一业务创建子模块,用于创建第一业务数据;第一业务管理器子模块,用于创建第一根业务数据管理器;第一业务子树生成子模块,用于通过补充数据和数量限制处理,完善所述第一业务数据,生成第一业务数据子树;数据子树遍历子模块,用于遍历所述第一业务数据子树,完善所述第一根业务数据管理器;递归调用子模块,用于递归调用所述第一业务数据子树以及所述第一根业务数据管理器,从而完成所述根节点的构建。
进一步地,所述角色节点构建模块包括:子业务数据子模块,用于增加子业务数据;预处理调用子模块,用于通过递归的方式,调用所述子业务数据的上级对象的预处理;状态数据子模块,用于完善所述子业务数据的状态数据;实例完善子模块,用于完善所述子业务数据的下级的属性、动作以及下级的角色实例;组件树建立子模块,用于完成以所述子业务数据为根的组件树的建立,从而完成所述角色节点的构建。
第三方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令在被运行时,执行上述的方法。
第四方面,本发明实施例提供了一种一种电子设备,包括:处理器,计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令在被所述处理器读取并被运行时,执行上述的方法。
本发明实施例的有益效果是:
本发明实施例提供一种软件开发方法及装置,该框架可以接收开发人员输入的分类框架数据,并根据开发人员输入的分类框架数据以及业务对象树,生成软件前端界面。随后,接收由开发人员编写的至少一个配置文件,实现至少一个配置文件与软件前端界面的关联,所述至少一个配置文件包括实现软件前端界面的功能的业务逻辑代码。对于开发人员来说,开发人员只需要对待开发页面的各类功能进行分类,然后按照分类在框架的数据库中分别填入分类框架数据,框架便可以根据开发人员的填写以及框架内部封装的业务对象树来生成待开发页面的软件前端界面,然后开发人员可以在后台编写待开发页面欲实现功能的业务逻辑代码,从而完成软件前端界面与后台的关联,实现待开发页面欲实现的功能,从而完成该软件的开发。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了一种前端软件界面的示意图;
图2为本发明实施例提供的一种软件开发方法的流程图;
图3为本发明实施例提供的业务对象树构建方法的流程图;
图4为图3中步骤S210的具体步骤示意图;
图5为图3中步骤S220的具体步骤示意图;
图6为本发明实施例提供的一种软件开发装置的示意性结构框图;
图7为运用本发明实施例提供的软件开发方法进行开发的软件前端界面的示意图;
图8为业务对象树的一种具体结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
现有的开发人员通常会利用计算机来开发软件,计算机通常会安装有Java开发管理信息***(Management Information System,简称MIS),该***的后端大多数采用SSH(Struts2+Spring+Hibernate)或SSM(Struts2+Spring+Mybatis),前端则大多数采用JavaScript、Jquery Easy UI。
现有的页面开发的流程中,若要开发一个页面,开发人员通常根据欲开发的页面的需求把该页面需要具有的组件(例如文本输入框、下拉框、按钮等)先定义出来,例如,先定义一个按钮,然后开发人员在页面编写该按钮要实现的功能所对应的代码,然后再通过异步JavaScript和XML(Asynchronous Javascript And XML,简称Ajax)请求后台获得该按钮的数据。
请参见图1,例如,若开发人员要开发如图1示出的页面时,需要把页面中“物理主机IP”输入框、“用户名”输入框、“密码”输入框以及“发现主机”按钮等组件先在页面一一定义出来,然后在页面编写上述输入框组件以及按钮组件要实现的功能对应的代码,例如用JavaScript限制“用户名”输入框内只能填写汉字、“密码”输入框内只能填写数字和英文字母等功能要求。
由于各组件要实现的功能对应的代码都是在页面上进行编写,使得前端的页面会引入大量的代码,从而导致***后期难维护,页面响应速度也会变慢。
为解决上述技术问题,本申请实施例提供了如下的软件开发方法和***,下面将结合附图,对本申请实施例中的软件开发方法和***进行详细介绍。
请参照图2,图2为本发明实施例提供的一种软件开发方法的流程图,所述方法包括如下步骤:
步骤S110,接收开发人员输入的分类框架数据。
开发人员在开发欲实现的页面时,可以将欲实现的页面分类,然后再将分类后的分类框架数据依次填写在框架的数据库中。请参见图7,若开发人员欲开发如图7示出的页面时,开发人员可以先对欲实现的组件进行分类,例如可以将“发现物理主机”这一页面作为规格组件,将“虚拟化平台”输入框、“物理主机”输入框、“用户名”输入框以及“密码”输入框作为属性组件;将“发现主机”按钮作为动作组件,被分类出来的规格组件、属性组件以及动作组件可以称为分类框架数据。
其中,分类的类型包括:组件(Cmp)、节点(Node)、角色(Role)、规格(Spec)、属性(Attr)、动作(Action)、事件(Event)、全局唯一标识(full_id)、应用级对象(IApp)、会话级对象(Isession)以及事件处理对象(EventMng)。
组件(Cmp):组件是框架中的核心概念,所有业务对象都源于组件(Cmp),规格是组件、属性是组件、按钮是组件、一个对象的描述也是组件,业务规则本身也被组件化。
节点(Node):节点是对象树中的重要组成部分,对象树上的节点类模板,包括规格、角色、组合规格和组合角色等。节点可以有属性、动作和下级节点等。
角色(Role):角色在对象树中,主要充当功能划分的作用,当业务对象中具有多个功能点,可以定义多个角色。
规格(Spec):在角色节点下,通常会具有多个规格节点,业务数据(VO,即库表的映射对象)需要通过规格进行实例化,对于不同的业务数据定义不同的规格数据,在规格类中编写个性化代码。
属性(Attr):在规格节点下,模型对象会转化成多个属性,字段的获取,变更,校验,都需要通过属性来完成。
动作(Action):除了属性的自有的动作外,如新增一行记录,删除一行记录,通常由动作来完成。
事件(Event):除了提供属性、动作来处理模型数据的变化外,还提供了事件监听机制。如VO的新增前、新增后,属性变更,都允许编写事件处理器,介入处理模型数据。
全局唯一标识(full_id):在组件、组件实例中,都会有一个全局唯一标识,用于方便定位所需要的对象。
应用级对象(IApp):IApp为一个单例对象,在JVM实例中只会存在一个,用于存放组件(规格)数据,减少重复加载次数。
会话级对象(Isession):与WEB容器的SESSION对象一一对应,一个会话只启动一个对应的ISession,用于存在组件(实例)数据。
事件处理对象(EventMng):事件的相应,以及触发对应的处理器,都通过此对象进行,同时,EventMng还具备一个本地化类处理对象,EventMng_LOCAl,约定放在同一包路径。
开发人员可以根据需要,将待开发页面的功能分成上述组件中的一种或几种。
然后开发人员分别将分类后获得的分类框架数据填写到框架预先设置的表格内。例如,对于“发现物理主机”这一规格组件,开发人员可以将其填写在下表中:
对于“虚拟化平台”输入框、“物理主机”输入框、“用户名”输入框以及“密码”输入框这四个属性组件,开发人员可以将其填写在下表中:
ATTR_ID ROLE_ID ATTR_TYPE TABLE_NAME FIELE_NAME ATTR_NAME
100 1000 Input Ws_host user 用户名
101 1000 Password Ws_host password 密码
102 1000 ip Ws_host ip 主机IP
即表格是框架预先设置好并给出的,开发人员需要将欲开发的页面的组件先进行分类,然后根据分类,将相应的组件填写到框架预先设置好的表格中。
步骤S120,根据所述分类框架数据以及业务对象树,生成软件前端界面。
框架接收到开发人员输入的分类框架数据以后,可以根据业务对象树以及分类框架数据,来生成软件前端界面,如图7所示,开发人员在框架预先设置的表格中填写上述表格所填写的内容,便可以在业务对象树的作用下生成出如图7示出的软件前端界面。
与现有的需要一个个定义和绘制前端界面的组件的方式相比,本申请实施例可以快捷的生成软件前端界面,提高了开发效率。
请参见图3,图3示出了业务对象树的构建方法,该方法包括:
步骤S210,构建根节点。
请参见图4,图4示出了步骤S210的具体步骤示意图,构建根节点的具体步骤如下:
步骤S211,创建第一业务数据。
步骤S212,创建第一根业务数据管理器。
第一根业务数据管理器可以操纵第一业务数据。
步骤S213,通过补充数据和数量限制处理,完善所述第一业务数据,生成第一业务数据子树。
创建出的第一业务数据不够完整,因此,需要通过补充数据和数量限制处理的方式,来使第一业务数据完整,从而生成第一业务数据子树。
步骤S214,遍历所述第一业务数据子树,完善所述第一根业务数据管理器。
在生成第一业务数据子树以后,通过遍历第一业务数据子树的方式,来使第一根业务数据管理器完整。
步骤S215,递归调用所述第一业务数据子树以及所述第一根业务数据管理器,从而完成所述根节点的构建。
第一业务数据的数量可以为多个,可以先创建一个第一业务数据,然后对第一业务数据进行补充数据和数量限制处理,从而使该第一业务数据完整,生成第一业务数据子树,然后遍历该第一业务数据子树,使得第一根业务数据管理器完整。随后,可以通过递归调用第一业务数据子树的方式来构建其他的第一业务数据,而第一根业务数据管理器也随着第一业务数据子树的递归调用来逐渐完成自身的构建,从而完成根节点的构建。
例如可以先创建A业务数据,并将A业务数据补充完整,生成A业务数据子树,再遍历A业务数据子树,生成A’根业务数据管理器。再通过递归调用A业务数据子树的方式,完成B业务数据子树、C业务数据子树、D业务数据子树以及E业务数据子树的构建,随之生成B’根业务数据管理器、C’根业务数据管理器、D’根业务数据管理器、E’根业务数据管理器,从而便完成了根节点的构建。
根节点建立方式的源代码如下:
步骤S220,构建角色节点。
请参见图5,图5示出了步骤S220的具体步骤示意图,具体包括如下步骤:
步骤S221,增加子业务数据。
步骤S222,通过递归的方式,调用所述子业务数据的上级对象的预处理。
步骤S223,完善所述子业务数据的状态数据。
步骤S224,完善所述子业务数据的下级的属性、动作以及下级的角色实例。
步骤S225,完成以所述子业务数据为根的组件树的建立,从而完成所述角色节点的构建。
角色节点建立方式的源代码如下:
步骤S230,根据所述根节点以及所述角色节点,构建所述业务对象树。
根节点构成的业务树可以直接与角色节点构成的业务树相连,请参见图8,图8示出了业务对象树的一种具体结构,具体地,图8中的A可以为根节点,B可以为角色节点,F有可能是属性节点、规格节点。根节点、角色节点以及属性节点可以是相同的结构体,唯一不同的可能是每个结构体有相应的字段标识来标明该结构体是角色或属性。
步骤S130,接收由开发人员编写的至少一个配置文件,实现所述至少一个配置文件与所述软件前端界面的关联,所述至少一个配置文件包括实现所述软件前端界面的功能的业务逻辑代码。
该框架生成的软件前端界面还不具有相应的功能,还需要由开发人员在配置文件中编写与软件前端界面欲实现的功能相对应的业务逻辑代码,从而实现配置文件与软件前端界面的关联。例如,对于用户名输入框这个选项,可以编写检验输入的值的格式是否是汉字,若不是,则弹出“输入格式有误”对话框等。开发人员无需在软件前端界面编写和修改任何代码,只需要在后台进行编写和修改,使得整个业务的逻辑后移。
本申请实施例提供的软件开发方法可以实现软件前端界面的配置,具体地,开发人员在相应类型的组件对应的表格填写完成内容后,框架便可以自动生成相应的界面;开发人员只需在后台编写组件实现的功能对应的业务逻辑代码即可,实现了业务逻辑的后移。基于该框架,可以以模块化的方式对不同的身份逻辑和界面要求之间存在的差异进行统一的支撑和管理,减少开发量,控制成本。并且基于本申请实施例提供的软件开发方法提供的框架,可以减少界面上的数据,提升界面打开和响应的速度。
请参见图6,图6示出了本申请实施例提供的软件开发装置,该装置300包括:
数据接收模块310,用于接收开发人员输入的分类框架数据。
界面生成模块320,用于根据所述分类框架数据以及业务对象树,生成软件前端界面。
关联建立模块330,用于接收由开发人员编写的至少一个配置文件,实现所述至少一个配置文件与所述软件前端界面的关联。
所述装置还包括:根节点构建模块,用于构建根节点;角色节点构建模块,用于构建角色节点;对象树构建模块,用于根据所述根节点以及所述角色节点,构建所述业务对象树。
所述根节点构建模块包括:第一业务创建子模块,用于创建第一业务数据;第一业务管理器子模块,用于创建第一根业务数据管理器;第一业务子树生成子模块,用于通过补充数据和数量限制处理,完善所述第一业务数据,生成第一业务数据子树;数据子树遍历子模块,用于遍历所述第一业务数据子树,完善所述第一根业务数据管理器;递归调用子模块,用于递归调用所述第一业务数据子树以及所述第一根业务数据管理器,从而完成所述根节点的构建。
所述角色节点构建模块包括:子业务数据子模块,用于增加子业务数据;预处理调用子模块,用于通过递归的方式,调用所述子业务数据的上级对象的预处理;状态数据子模块,用于完善所述子业务数据的状态数据;实例完善子模块,用于完善所述子业务数据的下级的属性、动作以及下级的角色实例;组件树建立子模块,用于完成以所述子业务数据为根的组件树的建立,从而完成所述角色节点的构建。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本发明实施例提供一种软件开发方法及装置,该框架可以接收开发人员输入的分类框架数据,并根据开发人员输入的分类框架数据以及业务对象树,生成软件前端界面。随后,接收由开发人员编写的至少一个配置文件,实现至少一个配置文件与软件前端界面的关联,所述至少一个配置文件包括实现软件前端界面的功能的业务逻辑代码。对于开发人员来说,开发人员只需要对待开发页面的各类功能进行分类,然后按照分类在框架的数据库中分别填入分类框架数据,框架便可以根据开发人员的填写以及框架内部封装的业务对象树来生成待开发页面的软件前端界面,然后开发人员可以在后台编写待开发页面欲实现功能的业务逻辑代码,从而完成软件前端界面与后台的关联,实现待开发页面欲实现的功能,从而完成该软件的开发。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

Claims (10)

1.一种软件开发方法,其特征在于,应用于软件开发装置,所述方法包括:
接收开发人员输入的分类框架数据;
根据所述分类框架数据以及业务对象树,生成软件前端界面;
接收由开发人员编写的至少一个配置文件,实现所述至少一个配置文件与所述软件前端界面的关联,所述至少一个配置文件包括实现所述软件前端界面的功能的业务逻辑代码。
2.根据权利要求1所述的方法,其特征在于,所述业务对象树的构建方法包括:
构建根节点;
构建角色节点;
根据所述根节点以及所述角色节点,构建所述业务对象树。
3.根据权利要求2所述的方法,其特征在于,所述构建根节点,包括:
创建第一业务数据;
创建第一根业务数据管理器;
通过补充数据和数量限制处理,完善所述第一业务数据,生成第一业务数据子树;
遍历所述第一业务数据子树,完善所述第一根业务数据管理器;
递归调用所述第一业务数据子树以及所述第一根业务数据管理器,从而完成所述根节点的构建。
4.根据权利要求2所述的方法,其特征在于,所述构建角色节点,包括:
增加子业务数据;
通过递归的方式,调用所述子业务数据的上级对象的预处理;
完善所述子业务数据的状态数据;
完善所述子业务数据的下级的属性、动作以及下级的角色实例;
完成以所述子业务数据为根的组件树的建立,从而完成所述角色节点的构建。
5.一种软件开发装置,其特征在于,所述装置包括:
数据接收模块,用于接收开发人员输入的分类框架数据;
界面生成模块,用于根据所述分类框架数据以及业务对象树,生成软件前端界面;
关联建立模块,用于接收由开发人员编写的至少一个配置文件,实现所述至少一个配置文件与所述软件前端界面的关联。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
根节点构建模块,用于构建根节点;
角色节点构建模块,用于构建角色节点;
对象树构建模块,用于根据所述根节点以及所述角色节点,构建所述业务对象树。
7.根据权利要求6所述的装置,其特征在于,所述根节点构建模块包括:
第一业务创建子模块,用于创建第一业务数据;
第一业务管理器子模块,用于创建第一根业务数据管理器;
第一业务子树生成子模块,用于通过补充数据和数量限制处理,完善所述第一业务数据,生成第一业务数据子树;
数据子树遍历子模块,用于遍历所述第一业务数据子树,完善所述第一根业务数据管理器;
递归调用子模块,用于递归调用所述第一业务数据子树以及所述第一根业务数据管理器,从而完成所述根节点的构建。
8.根据权利要求6所述的装置,其特征在于,所述角色节点构建模块包括:
子业务数据子模块,用于增加子业务数据;
预处理调用子模块,用于通过递归的方式,调用所述子业务数据的上级对象的预处理;
状态数据子模块,用于完善所述子业务数据的状态数据;
实例完善子模块,用于完善所述子业务数据的下级的属性、动作以及下级的角色实例;
组件树建立子模块,用于完成以所述子业务数据为根的组件树的建立,从而完成所述角色节点的构建。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,所述计算机指令在被运行时,执行如权利要求1-4中任一权项所述的方法。
10.一种电子设备,其特征在于,包括:处理器,计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令在被所述处理器读取并被运行时,执行如权利要求1-4中任一权项所述的方法。
CN201810364776.XA 2018-04-20 2018-04-20 软件开发方法、装置、计算机可读存储介质以及电子设备 Active CN108563431B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810364776.XA CN108563431B (zh) 2018-04-20 2018-04-20 软件开发方法、装置、计算机可读存储介质以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810364776.XA CN108563431B (zh) 2018-04-20 2018-04-20 软件开发方法、装置、计算机可读存储介质以及电子设备

Publications (2)

Publication Number Publication Date
CN108563431A true CN108563431A (zh) 2018-09-21
CN108563431B CN108563431B (zh) 2021-09-10

Family

ID=63536303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810364776.XA Active CN108563431B (zh) 2018-04-20 2018-04-20 软件开发方法、装置、计算机可读存储介质以及电子设备

Country Status (1)

Country Link
CN (1) CN108563431B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110275701A (zh) * 2019-06-19 2019-09-24 网易传媒科技(北京)有限公司 数据处理方法、装置、介质和计算设备
CN110308904A (zh) * 2019-05-30 2019-10-08 重庆金融资产交易所有限责任公司 多类型前端框架的聚合方法、装置和计算机设备
CN111045675A (zh) * 2019-12-20 2020-04-21 深圳乐信软件技术有限公司 一种基于Flutter的页面生成方法、装置、设备和存储介质
CN111427560A (zh) * 2020-02-27 2020-07-17 平安医疗健康管理股份有限公司 规则代码的可视化创建方法、装置和计算机设备
CN113495839A (zh) * 2020-04-08 2021-10-12 百度在线网络技术(北京)有限公司 测试页面的生成方法、装置、电子设备和存储介质
CN116931889A (zh) * 2023-09-18 2023-10-24 浙江工企信息技术股份有限公司 一种基于对象树的软件建模方法及***
CN117270825A (zh) * 2023-10-25 2023-12-22 苏州工业职业技术学院 一种面向工业复杂业务需求的柔性软件开发方法及套件

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101699393A (zh) * 2009-10-09 2010-04-28 中国电子科技集团公司第二十八研究所 一种面向网络的智能化软件界面动态生成方法
CN102541561A (zh) * 2011-12-29 2012-07-04 广州杰赛科技股份有限公司 配置式软件开发方法及装置
CN103488479A (zh) * 2013-09-04 2014-01-01 用友软件股份有限公司 客户端界面动态生成装置和客户端界面动态生成方法
CN104267941A (zh) * 2014-09-18 2015-01-07 用友优普信息技术有限公司 动态生成响应式网页的方法及装置
US20150355889A1 (en) * 2013-04-23 2015-12-10 Kofax, Inc. Smart mobile application development platform
CN107908390A (zh) * 2017-10-12 2018-04-13 武汉中地数码科技有限公司 一种WebGIS应用的扩展方法及***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101699393A (zh) * 2009-10-09 2010-04-28 中国电子科技集团公司第二十八研究所 一种面向网络的智能化软件界面动态生成方法
CN102541561A (zh) * 2011-12-29 2012-07-04 广州杰赛科技股份有限公司 配置式软件开发方法及装置
US20150355889A1 (en) * 2013-04-23 2015-12-10 Kofax, Inc. Smart mobile application development platform
CN103488479A (zh) * 2013-09-04 2014-01-01 用友软件股份有限公司 客户端界面动态生成装置和客户端界面动态生成方法
CN104267941A (zh) * 2014-09-18 2015-01-07 用友优普信息技术有限公司 动态生成响应式网页的方法及装置
CN107908390A (zh) * 2017-10-12 2018-04-13 武汉中地数码科技有限公司 一种WebGIS应用的扩展方法及***

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110308904A (zh) * 2019-05-30 2019-10-08 重庆金融资产交易所有限责任公司 多类型前端框架的聚合方法、装置和计算机设备
CN110308904B (zh) * 2019-05-30 2024-02-02 杭州微时信息技术有限公司 多类型前端框架的聚合方法、装置和计算机设备
CN110275701A (zh) * 2019-06-19 2019-09-24 网易传媒科技(北京)有限公司 数据处理方法、装置、介质和计算设备
CN111045675A (zh) * 2019-12-20 2020-04-21 深圳乐信软件技术有限公司 一种基于Flutter的页面生成方法、装置、设备和存储介质
CN111045675B (zh) * 2019-12-20 2023-06-06 深圳乐信软件技术有限公司 一种基于Flutter的页面生成方法、装置、设备和存储介质
CN111427560A (zh) * 2020-02-27 2020-07-17 平安医疗健康管理股份有限公司 规则代码的可视化创建方法、装置和计算机设备
CN111427560B (zh) * 2020-02-27 2022-05-20 平安医疗健康管理股份有限公司 规则代码的可视化创建方法、装置和计算机设备
CN113495839A (zh) * 2020-04-08 2021-10-12 百度在线网络技术(北京)有限公司 测试页面的生成方法、装置、电子设备和存储介质
CN116931889A (zh) * 2023-09-18 2023-10-24 浙江工企信息技术股份有限公司 一种基于对象树的软件建模方法及***
CN116931889B (zh) * 2023-09-18 2023-12-12 浙江工企信息技术股份有限公司 一种基于对象树的软件建模方法及***
CN117270825A (zh) * 2023-10-25 2023-12-22 苏州工业职业技术学院 一种面向工业复杂业务需求的柔性软件开发方法及套件

Also Published As

Publication number Publication date
CN108563431B (zh) 2021-09-10

Similar Documents

Publication Publication Date Title
CN108563431A (zh) 软件开发方法、装置、计算机可读存储介质以及电子设备
CN110309071B (zh) 测试代码的生成方法及模块、测试方法及***
US8392873B2 (en) Methods and apparatus for implementing model-based software solution development and integrated change management
CN102341781B (zh) 软件测试台生成
US10713306B2 (en) Content pattern based automatic document classification
CN103617047A (zh) 一种业务流程开发方法、装置及处理器
US20200356607A1 (en) Case leaf nodes pointing to business objects or document types
CN107315771A (zh) 一种基于扩展库表数据字典的数据汇交***定制化方法
CN101714078A (zh) 代码生成方法及装置
Pérez-Castillo et al. Business process model refactoring applying IBUPROFEN. An industrial evaluation
CN111145011B (zh) 一种银行业务***搭建方法及装置
CN113961584A (zh) 字段血缘分析方法、装置、电子设备及存储介质
CN108363684A (zh) 表单创建方法、装置及服务器
Ghanam et al. Linking feature models to code artifacts using executable acceptance tests
CN115293124A (zh) 软件工程化文档自动生成方法及装置
Choi et al. A systematic methodology for developing component frameworks
CN110633084B (zh) 基于单个样例的代码转换推导方法和装置
CN109976719A (zh) 一种管理***的设计方法、电子设备、存储介质及平台
CN109582411A (zh) 图形用户界面生成方法、装置、计算机设备及存储介质
US11068468B2 (en) Extensible validation framework
Dhar et al. Learning from prototypes
CN113918576B (zh) 一种元数据管理平台及管理方法
Shidaganti et al. A Comprehensive Framework for Big Data Analytics in Education
CN117850764B (zh) 基于集成式模型驱动架构的设计建模方法及装置
JP7497664B2 (ja) 機械学習プログラム、機械学習装置、及び、機械学習方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant