CN112667202B - Mda与bpmn相结合的软件设计方法和装置 - Google Patents

Mda与bpmn相结合的软件设计方法和装置 Download PDF

Info

Publication number
CN112667202B
CN112667202B CN202011420412.2A CN202011420412A CN112667202B CN 112667202 B CN112667202 B CN 112667202B CN 202011420412 A CN202011420412 A CN 202011420412A CN 112667202 B CN112667202 B CN 112667202B
Authority
CN
China
Prior art keywords
model
platform
bpmn
code
module
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.)
Active
Application number
CN202011420412.2A
Other languages
English (en)
Other versions
CN112667202A (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.)
China Southern Power Grid Digital Platform Technology Guangdong Co ltd
Original Assignee
Southern Power Grid Digital Grid Research Institute 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 Southern Power Grid Digital Grid Research Institute Co Ltd filed Critical Southern Power Grid Digital Grid Research Institute Co Ltd
Priority to CN202011420412.2A priority Critical patent/CN112667202B/zh
Publication of CN112667202A publication Critical patent/CN112667202A/zh
Application granted granted Critical
Publication of CN112667202B publication Critical patent/CN112667202B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请涉及一种MDA与BPMN相结合的软件设计方法和装置。所述方法包括:获取BPMN标注建模所确定的在线配置数据信息;根据所述在线配置数据信息,确定差异内容;通过生成所述差异内容对应的差异内容代码,得到平台无关模型;通过将所述平台无关模型转换为平台相关模型,根据所述平台相关模型得到所述软件设计的源代码。采用本方法能够正确无误、且快速高质量地生成所需软件。

Description

MDA与BPMN相结合的软件设计方法和装置
技术领域
本申请涉及软件设计技术领域,特别是涉及一种MDA(Model DrivenArchitecture,模型驱动架构)与BPMN(Business Process Modeling Notation,业务流程建模与标注)相结合的软件设计方法、装置、计算机设备和存储介质。
背景技术
模型驱动架构是可从系统模型变换为实现代码的软件开发框架,核心技术包括统一建模语言(Uniform Modeling Language,UML)、元对象设施(Mete Object Facility,MOF)和基于XML(可扩展标记语言)的元数据交换(XML Metadata Interchange,XMI)。MDA能够创建出机器可读和高度抽象的模型,这些模型以独立于实现的技术开发,以标准化的方式储存。因此,这些模型可以被重复访问,并被自动转化为纲要(schema)、代码框架(code-skeleton)、测试工具(test-harness)、集成化代码以及各种部署描述。工程师们只需要建立表达业务逻辑的平台无关模型(Platform Independent Model,PIM),剩下的工作都可以由MDA引擎自动完成,PIM是抽象出与实现技术无关、完整描述业务功能的核心模型。
目前,微服务应用通常包括有微服务应用前端和微服务应用后端,设计前端和后端时需要花费大量的人力和物力进行代码生成,目前市面上鲜有基于MDA的微服务应用前后端代码生成方法。前端后端在开发的过程中需要开发联调,导致开发过程在联调环境中耗时耗力,而且实际应用中,会出现后端接口的变动,导致前端数据不对应,前端必须对数据进行二次处理。
因此,目前的软件设计技术存在代码生成精度、效率和质量不高的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够正确无误、且快速高质量地生成软件的MDA与BPMN相结合的软件设计方法、装置、计算机设备和存储介质。
一种MDA与BPMN相结合的软件设计方法,所述方法包括:
获取BPMN标注建模所确定的在线配置数据信息;
根据所述在线配置数据信息,确定差异内容;
通过生成所述差异内容对应的差异内容代码,得到平台无关模型;
通过将所述平台无关模型转换为平台相关模型,根据所述平台相关模型得到所述软件设计的源代码。
在其中一个实施例中,所述获取BPMN标注建模所确定的在线配置数据信息,包括:
读取数据库中的数据表、视图、表值函数,以及对应的字段、类、包的信息;
读取BPMN标注建模结果;所述BPMN标注建模结果包括BPMN标注设计文档、元模型中表示的工件和关联BPMN元素。
在其中一个实施例中,所述根据所述在线配置数据信息,确定差异内容,包括:
调用模板解析模块解析数据库表映射模块、实体类生成模块和注解生成模块,生成实体对像和映射文件;
根据所述实体对像和所述映射文件,得到BPMN模板代码;
根据所述BPMN模板代码,创建代码生成模板;所述代码生成模板中包含所述差异内容。
在其中一个实施例中,所述通过生成所述差异内容对应的差异内容代码,得到平台无关模型,包括:
建立初始平台无关模型;
根据所述差异内容,生成差异内容代码;
根据所述差异内容代码,更新所述初始平台无关模型,得到更新后平台无关模型。
在其中一个实施例中,所述将所述平台无关模型转换为平台相关模型,并根据所述平台相关模型得到所述软件设计的源代码,包括:
将所述更新后平台无关模型转换为所述平台相关模型;所述平台相关模型为与具体计算机平台和语言相关的模型;
将所述平台相关模型翻译成所述软件设计的源代码。
在其中一个实施例中,所述方法还包括:
以Visio图库的图形作为描述模型,通过Visio附件的自定义属性与数据库连接功能,建立或更新所述图形的自定义属性,并通过开放数据库互联与所述数据库中的属性表进行同步;
验证代码生成过程模型的正确性;
利用模板代码模型对生成的代码过程进行流程仿真对比,得到仿真测量值;
将所述仿真测量值输入到校正软件进行校正,得出校正值;
根据所述校正值与相应的仿真真值之间的偏差,确定所述校正软件的可靠程度。
一种MDA与BPMN相结合的软件设计装置,所述装置包括:
获取模块,用于获取BPMN标注建模所确定的在线配置数据信息;
差异内容确定模块,用于根据所述在线配置数据信息,确定差异内容;
平台无关模型生成模块,用于通过生成所述差异内容对应的差异内容代码,得到平台无关模型;
源代码生成模块,用于通过将所述平台无关模型转换为平台相关模型,根据所述平台相关模型得到所述软件设计的源代码。
在其中一个实施例中,所述装置还包括:
模型建立模块,用于以Visio图库的图形作为描述模型,通过Visio附件的自定义属性与数据库连接功能,建立或更新所述图形的自定义属性,并通过开放数据库互联与所述数据库中的属性表进行同步;
验证模块,用于验证代码生成过程模型的正确性;
仿真模块,用于利用模板代码模型对生成的代码过程进行流程仿真对比,得到仿真测量值;
校正模块,用于将所述仿真测量值输入到校正软件进行校正,得出校正值;
评测模块,用于根据所述校正值与相应的仿真真值之间的偏差,确定所述校正软件的可靠程度。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取BPMN标注建模所确定的在线配置数据信息;
根据所述在线配置数据信息,确定差异内容;
通过生成所述差异内容对应的差异内容代码,得到平台无关模型;
将所述平台无关模型转换为平台相关模型,并根据所述平台相关模型得到所述软件设计的源代码。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取BPMN标注建模所确定的在线配置数据信息;
根据所述在线配置数据信息,确定差异内容;
通过生成所述差异内容对应的差异内容代码,得到平台无关模型;
将所述平台无关模型转换为平台相关模型,并根据所述平台相关模型得到所述软件设计的源代码。
上述MDA与BPMN相结合的软件设计方法、装置、计算机设备和存储介质,通过获取BPMN标注建模所确定的在线配置数据信息,可以直接通过BPMN获取到软件开发所需的数据信息,提高软件生成速度,根据在线配置数据信息确定差异内容,通过生成差异内容对应的差异内容代码得到平台无关模型,可以准确确定平台无关模型,将平台无关模型转换为平台相关模型,根据平台相关模型得到软件设计的源代码,可以正确无误、且快速高质量地生成所需软件。
附图说明
图1为一个实施例中MDA与BPMN相结合的软件设计方法的应用环境图;
图2为一个实施例中MDA与BPMN相结合的软件设计方法的流程示意图;
图3为一个实施例中MDA与BPMN相结合的软件设计方法的框架图;
图4为一个实施例中BPMN标注建模中框架建模的框架图;
图5为一个实施例中BPMN标注建模中构建源码数据库的框架图;
图6为另一个实施例中MDA与BPMN相结合的软件设计方法的流程示意图;
图7为一个实施例中MDA与BPMN相结合的软件设计装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的MDA与BPMN相结合的软件设计方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。MDA与BPMN相结合的软件设计方法可以应用于终端102,也可以应用于服务器104。
在一个实施例中,如图2所示,提供了一种MDA与BPMN相结合的软件设计方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤S210,获取BPMN标注建模所确定的在线配置数据信息。
具体实现中,在MDA驱动建模过程中,可以获取软件开发所需BPMN标注建模在线配置数据信息,包括连接数据库,读取数据库中的数据表、视图、表值函数,及对应的字段、类、包的信息,读取BPMN标注建模结果,包括读取BPMN标注设计文档、元模型中表示的工件和关联BPMN元素,并采用XML方式存储用户配置的数据。
步骤S220,根据在线配置数据信息,确定差异内容。
具体实现中,可以分析模板差异内容和共用内容,包括调用模板解析模块依次解析数据库表映射模块、实体类生成模块、注解生成模块生成实体对像和映射文件,根据实体对像和映射文件来获取BPMN模板代码,并根据模板代码创建代码生成模板,其中,代码生成模板中包含差异内容和共用内容。
步骤S230,通过生成差异内容对应的差异内容代码,得到平台无关模型。
具体实现中,可以生成差异内容代码,插入并替换差异内容代码,完成MDA驱动建模,包括建立无关模型PIM,根据MDA方法,转换过程使用符合源元模型的模型作为输入,并生成一个或多个其他模型作为输出,其中,转换使用相同的转换规则,源模型和目标模型都必须符合MOF。将PIM变换成PSM(Platform Specific Model,平台相关模型)后,将PSM转换成代码,生成差异内容代码和替换后内容模型。在同一个上下文中,将CIM(公共信息模型)级别的业务流程模型转换为具有定义结构的XML(可扩展标记语言)模型。业务流程模型和XML都必须符合其相应的元模型,即BPMN元模型和XML元模型,这两个模型都符合MOF。为元模型建立CIM级别到PIM级别的转换,完成MDA驱动建模。
步骤S240,通过将平台无关模型转换为平台相关模型,根据平台相关模型得到软件设计的源代码。
具体实现中,可以将元数据转为为组件、模版、最佳实践封装,并把PSM翻译成源代码,包括建立PSM,将PIM转换为与具体的计算机平台、语言相关的模型,将元数据转为组件、模版、最佳实践封装,其中每一个服务经过服务注册、利用MVC(Model View Controller,视图,模型,控制器)设计模式实现微服务实例之间的开发,最后把PSM翻译成源代码。
上述MDA与BPMN相结合的软件设计方法,通过获取BPMN标注建模所确定的在线配置数据信息,可以直接通过BPMN获取到软件开发所需的数据信息,提高软件生成速度,根据在线配置数据信息确定差异内容,通过生成差异内容对应的差异内容代码得到平台无关模型,可以准确确定平台无关模型,将平台无关模型转换为平台相关模型,根据平台相关模型得到软件设计的源代码,可以正确无误、且快速高质量地生成所需软件。
在一个实施例中,如图3所示,提供了一个MDA与BPMN相结合的软件设计方法的框架图。MDA与BPMN相结合的软件设计方法包括在MDA软件设计过程中结合BPMN共同设计生成代码,其中共同设计生成代码由MDA驱动建模和BPMN标注建模共同结合完成。
其中,MDA驱动建模包括模型生成、模型转换和生成代码。
其中,MDA驱动建模的模型生成为PIM模型和EJB(Enterprise Java Beans,企业级JavaBean)模型,MDA驱动建模的模型转换为通过转换规则使得PIM模型和EJB模型符合MOF微软运营框且具有定义结构的XML模型,PIM模型、EJB模型和XML模型符合元模型,即PIM元模型、BPMN元模型、XML元模型;
其中,BPMN标注建模包括框架建模、获取代码、构建源码数据库和构建软件。
其中,框架建模可以为通过界面设置或者文本的输入方式,接收软件开发任务中待开发的功能。
其中,获取代码可以为在预建的源码数据库中,获取与待开发的功能对应的生成代码,根据源代码的运行结果或者标注,得到生成代码对应的功能,预建的源码数据库为通过建立得到的功能与生成代码之间的对应关系。
其中,构建软件可以为最后通过微软Visio附件绘制设计和业务建模,生成软件,也可以通过web界面绘制设计完成。
具体实现中,MDA驱动建模可以根据MDA方法,进行PIM模型和EJB模型的生成,之后进行转换,转换过程使用符合源元模型的模型作为输入,并生成一个或多个其他模型作为输出,后一种模型与目标元模型兼容,转换使用相同的转换规则,源模型和目标模型都必须符合MOF。
在同一个上下文中,将CIM级别的业务流程模型转换为具有定义结构的XML模型。业务流程模型和XML都必须符合其相应的元模型,即BPMN元模型和XML元模型,这两个模型都符合MOF。
为了使元模型满足percomm方法的需要,还可以建立CIM级别到PIM级别的转换,用来实现转换规则的语言可以为UMLX、MOLA和ATL,其中,ATL语言具备简单灵活、且允许混合规则表达式(声明性规则和祈使性规则)的优点,可以作为优选的语言,所有生成的元素都是由ATL语言转换规则生成。
例如,根据BPMN元模型从业务流程元素生成的businessproces XML元素由poolXML元素组成,需要使用其他规则来创建目标元素。因此,调用命令式规则是MDA与BPMN相结合的软件设计方法的一个重要要求。
在一个实施例中,如图4所示,提供了一个BPMN标注建模中框架建模的框架图。其中,框架建模中可以包括有通用组件和定制组件,通用组件可以包括BPMN消息流单元和BPMN业务流单元,BPMN消息流单元与BPMN业务流单元通过接口方式连接,定制组件可以包括逻辑控制单元和人机智能交互单元。
通用组件可以将BPMN消息流单元接口发送的感知层数据转换为网络层数据,并向BPMN业务流单元发送网络层数据,还可以接收BPMN业务流单元发送的用户指令,并向BPMN消息流单元接口发送用户指令;BPMN业务流单元可以通过网络向服务器发送BPMN消息流单元发送的网络层数据,还可以向BPMN消息流单元发送服务器发送的网络层数据。
定制组件的逻辑控制单元与BPMN消息流单元通过可通信方式连接,人机智能交互单元与BPMN业务流单元通过可通信方式连接;其中,逻辑控制单元可以对感知层数据进行预处理,人机智能交互单元可以显示智能交互界面以及收发人机交互指令。
在一个实施例中,如图5所示,提供了一个BPMN标注建模中构建源码数据库的框架图。
其中,预建的源码数据库中可以包括构建BPMN源码数据库,BPMN源码数据库可以包括逻辑关系提取器、逻辑图构造器、逻辑图转化器、依赖关系分析器、依赖图构造器和依赖图转化器。
其中,逻辑关系提取器可以根据建立得到的功能与生成代码之间的对应关系,提取关系中的逻辑关系,并构造出逻辑关系基本矩阵。逻辑图构造器可以根据逻辑关系基本矩阵构造出逻辑图。逻辑图转化器可以根据转换规则将逻辑图转换得到逻辑编制流程。依赖关系分析器可以根据建立得到的功能与生成代码之间的对应关系,提取关系中的依赖关系,并构造出依赖关系基本矩阵。依赖图构造器可以根据依赖关系基本矩阵构造出依赖图。依赖图转化器可以根据转换规则将依赖图转换得到依赖编制流程。
在一个实施例中,上述步骤S210,可以具体包括:读取数据库中的数据表、视图、表值函数,以及对应的字段、类、包的信息;读取BPMN标注建模结果;BPMN标注建模结果包括BPMN标注设计文档、元模型中表示的工件和关联BPMN元素。
具体实现中,在MDA驱动建模过程中,可以获取软件开发所需BPMN标注建模在线配置数据信息,包括连接数据库,读取数据库中的数据表、视图、表值函数,及对应的字段、类、包的信息,读取BPMN标注建模结果,包括读取BPMN标注设计文档、元模型中表示的工件和关联BPMN元素,并采用XML方式存储用户配置的数据。
本实施例中,通过读取数据库中的数据表、视图、表值函数,以及对应的字段、类、包的信息,读取BPMN标注建模结果,BPMN标注建模结果包括BPMN标注设计文档、元模型中表示的工件和关联BPMN元素,可以直接通过BPMN获取到软件开发所需的数据信息,提高软件生成速度。
在一个实施例中,上述步骤S220,可以具体包括:调用模板解析模块解析数据库表映射模块、实体类生成模块和注解生成模块,生成实体对像和映射文件;根据实体对像和映射文件,得到BPMN模板代码;根据BPMN模板代码,创建代码生成模板;代码生成模板中包含差异内容。
具体实现中,可以分析模板差异内容和共用内容,包括调用模板解析模块依次解析数据库表映射模块、实体类生成模块、注解生成模块生成实体对像和映射文件,根据实体对像和映射文件来获取BPMN模板代码,并根据模板代码创建代码生成模板,其中,代码生成模板中包含差异内容和共用内容。
本实施例中,通过调用模板解析模块解析数据库表映射模块、实体类生成模块和注解生成模块,生成实体对像和映射文件,根据实体对像和映射文件,得到BPMN模板代码,根据BPMN模板代码,创建代码生成模板,可以准确确定模板差异内容,以便能够正确无误地生成所需软件。
在一个实施例中,上述步骤S230,可以具体包括:建立初始平台无关模型;根据差异内容,生成差异内容代码;根据差异内容代码,更新初始平台无关模型,得到更新后平台无关模型。
具体实现中,可以生成差异内容代码,插入并替换差异内容代码,完成MDA驱动建模,包括建立无关模型PIM,根据MDA方法,转换过程使用符合源元模型的模型作为输入,并生成一个或多个其他模型作为输出,其中,转换使用相同的转换规则,源模型和目标模型都必须符合MOF。将PIM变换成PSM(Platform Specific Model,平台相关模型)后,将PSM转换成代码,生成差异内容代码和替换后内容模型。在同一个上下文中,将CIM(公共信息模型)级别的业务流程模型转换为具有定义结构的XML(可扩展标记语言)模型。业务流程模型和XML都必须符合其相应的元模型,即BPMN元模型和XML元模型,这两个模型都符合MOF。为元模型建立CIM级别到PIM级别的转换,完成MDA驱动建模。
本实施例中,建立初始平台无关模型;根据差异内容,生成差异内容代码;根据差异内容代码,更新初始平台无关模型,得到更新后平台无关模型,可以准确确定平台无关模型,以便能够正确无误地生成所需软件。
在一个实施例中,上述步骤S240,可以具体包括:将更新后平台无关模型转换为平台相关模型;平台相关模型为与具体计算机平台和语言相关的模型;将平台相关模型翻译成软件设计的源代码。
具体实现中,可以将元数据转为为组件、模版、最佳实践封装,并把PSM翻译成源代码,包括建立PSM,将PIM转换为与具体的计算机平台、语言相关的模型,将元数据转为组件、模版、最佳实践封装,其中每一个服务经过服务注册、利用MVC(Model View Controller,视图,模型,控制器)设计模式实现微服务实例之间的开发,最后把PSM翻译成源代码。
本实施例中,通过将更新后平台无关模型转换为平台相关模型;平台相关模型为与具体计算机平台和语言相关的模型;将平台相关模型翻译成软件设计的源代码,可以正确无误、且快速高质量地生成所需软件。
在一个实施例中,上述MDA与BPMN相结合的软件设计方法具体还可以包括:以Visio图库的图形作为描述模型,通过Visio附件的自定义属性与数据库连接功能,建立或更新图形的自定义属性,并通过开放数据库互联与数据库中的属性表进行同步;验证代码生成过程模型的正确性;利用模板代码模型对生成的代码过程进行流程仿真对比,得到仿真测量值;将仿真测量值输入到校正软件进行校正,得出校正值;根据校正值与相应的仿真真值之间的偏差,确定校正软件的可靠程度。
具体实现中,为了解决传统软件开发过程中需要不断进行开发联调,导致开发过程中代码生成的精度不高、工作效率低,且需不断地重复迭代修改代码等问题,在BPMN标注建模中,生成软件的方法可以包括以下步骤:
1、建立模型,运用Visio图库的图形作为描述模型,利用Visio附件的自定义属性与数据库连接功能,建立、更新图形的自定义属性并通过开放数据库互联与数据库中对应的属性表进行同步;
2、验证代码生成过程模型的正确性;
3、模拟仿真,利用模板代码模型对生成的代码过程进行流程仿真对比,得到仿真测量值;校正过程,将仿真测量值输入到校正软件进行校正,得出校正值;评测校正软件,根据校正值与对应的仿真真值之间的偏差,确定校正软件的可靠程度。
本实施例中,通过运用Visio附件的图形作为描述模型,利用Visio附件的自定义属性与数据库连接功能,建立、更新图形的自定义属性并通过开放数据库互联与数据库中对应的属性表进行同步,同时验证生产过程模型的正确性,进行模拟仿真,利用生产过程模型对生产过程进行流程仿真,得到仿真真值,再把误差引入,向仿真真值中引入误差,得到仿真测量值,增加校正过程,将仿真测量值输入到校正软件进行校正,得出校正值,再评测校正软件,根据校正值与对应的仿真真值之间的偏差,确定校正软件的可靠程度,可以通过对代码进行验证和校正,提高生成软件的准确性,正确无误、且快速高质量地完成一个软件的生成。
在一个实施例中,如图6所示,提供了一个MDA与BPMN相结合的软件设计方法的流程示意图,该方法可以包括以下步骤:
步骤S610,以Visio图库的图形作为描述模型,通过Visio附件的自定义属性与数据库连接功能,建立或更新所述图形的自定义属性,并通过开放数据库互联与所述数据库中的属性表进行同步;
步骤S620,验证代码生成过程模型的正确性;
步骤S630,利用模板代码模型对生成的代码过程进行流程仿真对比,得到仿真测量值;
步骤S640,将所述仿真测量值输入到校正软件进行校正,得出校正值;
步骤S650,根据所述校正值与相应的仿真真值之间的偏差,确定所述校正软件的可靠程度;
步骤S660,获取BPMN标注建模所确定的在线配置数据信息;
步骤S670,根据所述在线配置数据信息,确定差异内容;
步骤S680,通过生成所述差异内容对应的差异内容代码,得到平台无关模型;
步骤S690,通过将所述平台无关模型转换为平台相关模型,根据所述平台相关模型得到所述软件设计的源代码。
应该理解的是,虽然图2和6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种MDA与BPMN相结合的软件设计装置,包括:获取模块710、差异内容确定模块720、平台无关模型生成模块730和源代码生成模块740,其中:
获取模块710,用于获取BPMN标注建模所确定的在线配置数据信息;
差异内容确定模块720,用于根据所述在线配置数据信息,确定差异内容;
平台无关模型生成模块730,用于通过生成所述差异内容对应的差异内容代码,得到平台无关模型;
源代码生成模块740,用于通过将所述平台无关模型转换为平台相关模型,根据所述平台相关模型得到所述软件设计的源代码。
在一个实施例中,上述获取模块710,还用于读取数据库中的数据表、视图、表值函数,以及对应的字段、类、包的信息;读取BPMN标注建模结果;所述BPMN标注建模结果包括BPMN标注设计文档、元模型中表示的工件和关联BPMN元素。
在一个实施例中,上述差异内容确定模块720,还用于调用模板解析模块解析数据库表映射模块、实体类生成模块和注解生成模块,生成实体对像和映射文件;根据所述实体对像和所述映射文件,得到BPMN模板代码;根据所述BPMN模板代码,创建代码生成模板;所述代码生成模板中包含所述差异内容。
在一个实施例中,上述平台无关模型生成模块730,还用于建立初始平台无关模型;根据所述差异内容,生成差异内容代码;根据所述差异内容代码,更新所述初始平台无关模型,得到更新后平台无关模型。
在一个实施例中,上述源代码生成模块740,还用于将所述更新后平台无关模型转换为所述平台相关模型;所述平台相关模型为与具体计算机平台和语言相关的模型;将所述平台相关模型翻译成所述软件设计的源代码。
在一个实施例中,上述MDA与BPMN相结合的软件设计装置,还包括:
模型建立模块,用于以Visio图库的图形作为描述模型,通过Visio附件的自定义属性与数据库连接功能,建立或更新所述图形的自定义属性,并通过开放数据库互联与所述数据库中的属性表进行同步;
验证模块,用于验证代码生成过程模型的正确性;
仿真模块,用于利用模板代码模型对生成的代码过程进行流程仿真对比,得到仿真测量值;
校正模块,用于将所述仿真测量值输入到校正软件进行校正,得出校正值;
评测模块,用于根据所述校正值与相应的仿真真值之间的偏差,确定所述校正软件的可靠程度。
关于MDA与BPMN相结合的软件设计装置的具体限定可以参见上文中对于MDA与BPMN相结合的软件设计方法的限定,在此不再赘述。上述MDA与BPMN相结合的软件设计装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种MDA与BPMN相结合的软件设计方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述一种MDA与BPMN相结合的软件设计方法的步骤。此处一种MDA与BPMN相结合的软件设计方法的步骤可以是上述各个实施例的一种MDA与BPMN相结合的软件设计方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述一种MDA与BPMN相结合的软件设计方法的步骤。此处一种MDA与BPMN相结合的软件设计方法的步骤可以是上述各个实施例的一种MDA与BPMN相结合的软件设计方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种MDA与BPMN相结合的软件设计方法,其特征在于,所述方法包括:
读取数据库中的数据表、视图、表值函数,以及对应的字段、类、包的信息;读取BPMN标注建模结果;所述BPMN标注建模结果包括BPMN标注设计文档、元模型中表示的工件和关联BPMN元素;
调用模板解析模块解析数据库表映射模块、实体类生成模块和注解生成模块,生成实体对像和映射文件;根据所述实体对像和所述映射文件,得到BPMN模板代码;根据所述BPMN模板代码,创建代码生成模板;所述代码生成模板中包含差异内容;
通过生成所述差异内容对应的差异内容代码,得到平台无关模型;所述通过生成所述差异内容对应的差异内容代码,得到平台无关模型,包括:建立初始平台无关模型;根据所述差异内容,生成差异内容代码;根据所述差异内容代码,更新所述初始平台无关模型,得到更新后平台无关模型;
通过将所述平台无关模型转换为平台相关模型,根据所述平台相关模型得到所述软件设计的源代码。
2.根据权利要求1所述的方法,其特征在于,所述通过将所述平台无关模型转换为平台相关模型,根据所述平台相关模型得到所述软件设计的源代码,包括:
将所述更新后平台无关模型转换为所述平台相关模型;所述平台相关模型为与具体计算机平台和语言相关的模型;
将所述平台相关模型翻译成所述软件设计的源代码。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
以Visio图库的图形作为描述模型,通过Visio附件的自定义属性与数据库连接功能,建立或更新所述图形的自定义属性,并通过开放数据库互联与所述数据库中的属性表进行同步;
验证代码生成过程模型的正确性;
利用模板代码模型对生成的代码过程进行流程仿真对比,得到仿真测量值;
将所述仿真测量值输入到校正软件进行校正,得出校正值;
根据所述校正值与相应的仿真真值之间的偏差,确定所述校正软件的可靠程度。
4.根据权利要求1所述的方法,其特征在于,所述代码生成模板中还包含共用内容。
5.一种MDA与BPMN相结合的软件设计装置,其特征在于,所述装置包括:
获取模块,用于读取数据库中的数据表、视图、表值函数,以及对应的字段、类、包的信息;读取BPMN标注建模结果;所述BPMN标注建模结果包括BPMN标注设计文档、元模型中表示的工件和关联BPMN元素;
差异内容确定模块,用于调用模板解析模块解析数据库表映射模块、实体类生成模块和注解生成模块,生成实体对像和映射文件;根据所述实体对像和所述映射文件,得到BPMN模板代码;根据所述BPMN模板代码,创建代码生成模板;所述代码生成模板中包含差异内容;
平台无关模型生成模块,用于通过生成所述差异内容对应的差异内容代码,得到平台无关模型;所述通过生成所述差异内容对应的差异内容代码,得到平台无关模型,包括:建立初始平台无关模型;根据所述差异内容,生成差异内容代码;根据所述差异内容代码,更新所述初始平台无关模型,得到更新后平台无关模型;
源代码生成模块,用于通过将所述平台无关模型转换为平台相关模型,根据所述平台相关模型得到所述软件设计的源代码。
6.根据权利要求5所述的装置,其特征在于,所述源代码生成模块,还用于将所述更新后平台无关模型转换为所述平台相关模型;所述平台相关模型为与具体计算机平台和语言相关的模型;将所述平台相关模型翻译成所述软件设计的源代码。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
模型建立模块,用于以Visio图库的图形作为描述模型,通过Visio附件的自定义属性与数据库连接功能,建立或更新所述图形的自定义属性,并通过开放数据库互联与所述数据库中的属性表进行同步;
验证模块,用于验证代码生成过程模型的正确性;
仿真模块,用于利用模板代码模型对生成的代码过程进行流程仿真对比,得到仿真测量值;
校正模块,用于将所述仿真测量值输入到校正软件进行校正,得出校正值;
评测模块,用于根据所述校正值与相应的仿真真值之间的偏差,确定所述校正软件的可靠程度。
8.根据权利要求5所述的装置,其特征在于,所述代码生成模板中还包含共用内容。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
CN202011420412.2A 2020-12-07 2020-12-07 Mda与bpmn相结合的软件设计方法和装置 Active CN112667202B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011420412.2A CN112667202B (zh) 2020-12-07 2020-12-07 Mda与bpmn相结合的软件设计方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011420412.2A CN112667202B (zh) 2020-12-07 2020-12-07 Mda与bpmn相结合的软件设计方法和装置

Publications (2)

Publication Number Publication Date
CN112667202A CN112667202A (zh) 2021-04-16
CN112667202B true CN112667202B (zh) 2023-06-30

Family

ID=75401374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011420412.2A Active CN112667202B (zh) 2020-12-07 2020-12-07 Mda与bpmn相结合的软件设计方法和装置

Country Status (1)

Country Link
CN (1) CN112667202B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988124B (zh) * 2021-05-10 2021-07-30 湖南高至科技有限公司 多视图平台无关模型系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101668047A (zh) * 2009-09-30 2010-03-10 北京航空航天大学 组合服务描述语言自动生成方法及装置
CN101739259A (zh) * 2010-01-04 2010-06-16 北京航空航天大学 服务化软件生产方法和装置
CN106095404A (zh) * 2016-05-29 2016-11-09 淮阴师范学院 一种业务过程模型至服务组成模型的自动模型转换方法
CN106528165A (zh) * 2016-11-11 2017-03-22 深圳中兴网信科技有限公司 代码生成方法及代码生成系统
CN106528128A (zh) * 2016-10-26 2017-03-22 安徽扬远信息科技有限公司 一种基于mda的软件开发方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294710A1 (en) * 2006-06-19 2007-12-20 Alps Automotive Inc. Simple bluetooth software development kit
US8418125B2 (en) * 2007-05-03 2013-04-09 International Business Machines Corporation Incremental model refinement and transformation in generating commerce applications using a model driven architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101668047A (zh) * 2009-09-30 2010-03-10 北京航空航天大学 组合服务描述语言自动生成方法及装置
CN101739259A (zh) * 2010-01-04 2010-06-16 北京航空航天大学 服务化软件生产方法和装置
CN106095404A (zh) * 2016-05-29 2016-11-09 淮阴师范学院 一种业务过程模型至服务组成模型的自动模型转换方法
CN106528128A (zh) * 2016-10-26 2017-03-22 安徽扬远信息科技有限公司 一种基于mda的软件开发方法
CN106528165A (zh) * 2016-11-11 2017-03-22 深圳中兴网信科技有限公司 代码生成方法及代码生成系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
An Approach for Transforming CIM to PIM up To PSM in MDA;Mostapha Melouk;《Procedia Computer Science》;869-874 *
Towards MDA implementation based on a novel BPMN metamodel and ATL transformation rules;Jaouadi Imen;《2011 4th International Conference on Logistics》;1-7 *
从BPMN到OpenERP工作流和流程的模型转换;刘哲;《万方》;1-67 *
由MDA/PIM到Java代码的转换及验证;李凯宁;《计算机工程与设计》;1-7 *

Also Published As

Publication number Publication date
CN112667202A (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
US8055995B2 (en) System and method of defining a hierarchical datamodel and related computation and instruction rules using spreadsheet like user interface
US8516435B2 (en) System and method for generating implementation artifacts for contextually-aware business applications
US20100077386A1 (en) System and a method for cross-platform porting of business applications and making them contexually-aware on target platforms
CN111399853A (zh) 机器学习模型与自定义算子的模板化部署方法
CN110825431B (zh) 接口文档处理方法及装置、系统、存储介质和电子设备
CN108595171B (zh) 对象的模型生成方法、装置、设备及存储介质
CN103577168A (zh) 测试用例创建系统及方法
US20120266131A1 (en) Automatic program generation device, method, and computer program
KR101770292B1 (ko) 컴퓨터 수행 가능한 모델 역공학 방법 및 장치
US11902391B2 (en) Action flow fragment management
US20110197178A1 (en) Architecture, system, and method for providing hover help support for c++ application source code
US20230086854A1 (en) Dynamically controlling case model structure using case fragments
CN116755669A (zh) 一种基于dsl语言操作模型的低代码开发方法和工具
JPH10254689A (ja) クライアント・サーバシステムのアプリケーション構成設計支援方式
CN117648833B (zh) Simulink到SysML的模型生成方法和装置
Wurster et al. Tosca lightning: An integrated toolchain for transforming tosca light into production-ready deployment technologies
Qamar et al. Managing dependencies in mechatronic design: a case study on dependency management between mechanical design and system design
US12038940B2 (en) Architecture for data map converters
CN112667202B (zh) Mda与bpmn相结合的软件设计方法和装置
CN113238739A (zh) 一种插件开发和数据获取方法、装置、电子设备及介质
CN111126008B (zh) 基于xsd的代码生成方法、装置、计算机设备及存储介质
Savic et al. Use case specification at different levels of abstraction
US20190102148A1 (en) Development Environment for Real-Time Application Development
Cirilo et al. Model driven RichUbi: a model driven process for building rich interfaces of context-sensitive ubiquitous applications
CN114386374A (zh) 一种将CA签名用于数据整合生成odf文档的方法及其程序

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
TR01 Transfer of patent right

Effective date of registration: 20230811

Address after: 518000 building 501, 502, 601, 602, building D, wisdom Plaza, Qiaoxiang Road, Gaofa community, Shahe street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: China Southern Power Grid Digital Platform Technology (Guangdong) Co.,Ltd.

Address before: Room 86, room 406, No.1, Yichuang street, Zhongxin Guangzhou Knowledge City, Huangpu District, Guangzhou City, Guangdong Province

Patentee before: Southern Power Grid Digital Grid Research Institute Co.,Ltd.

TR01 Transfer of patent right