CN116243914A - 国际化软件开发的方法、国际化软件开发系统及服务器 - Google Patents

国际化软件开发的方法、国际化软件开发系统及服务器 Download PDF

Info

Publication number
CN116243914A
CN116243914A CN202211542278.2A CN202211542278A CN116243914A CN 116243914 A CN116243914 A CN 116243914A CN 202211542278 A CN202211542278 A CN 202211542278A CN 116243914 A CN116243914 A CN 116243914A
Authority
CN
China
Prior art keywords
model
internationalized
page
service
business
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.)
Pending
Application number
CN202211542278.2A
Other languages
English (en)
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.)
Zhongke Yungu Technology Co Ltd
Original Assignee
Zhongke Yungu 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 Zhongke Yungu Technology Co Ltd filed Critical Zhongke Yungu Technology Co Ltd
Priority to CN202211542278.2A priority Critical patent/CN116243914A/zh
Publication of CN116243914A publication Critical patent/CN116243914A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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

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

Abstract

本申请公开了一种国际化软件开发的方法、国际化软件开发系统及服务器。该方法包括:抽取数据库的表结构以建立数据模型;对数据模型进行业务建模以生成业务模型;通过可视化表单设计器在业务模型的基础上结合数据模型进行页面建模以生成页面模型;获取国际化资源;通过规则引擎结合业务模型、页面模型和国际化资源以生成国际化软件工程代码。本申请通过业务模型驱动可视化建模和页面设计,使得国际化资源的收集和注入可以自动进行,同时结合规则引擎为不同技术架构生成满足国际化需求的软件工程代码。

Description

国际化软件开发的方法、国际化软件开发系统及服务器
技术领域
本申请涉及国际化软件开发技术领域,具体地涉及一种国际化软件开发的方法、国际化软件开发系统及服务器。
背景技术
随着国内具有跨国业务的公司越来越多,为了使产品或者软件能更好的进入国际市场,支持多语言软件开发已成为主流,提供多语言支持的软件,极大方便了用户的使用,提高了用户满意度,降低了软件成本,有利于产品走向国际市场。
现实的软件开发过程中,产品经理理解的业务逻辑大多是场景、流程、功能、规则,而研发人员的逻辑则是:系统模块、类和对象、类属性、方法、数据库表和字段,这两者之间的差异导致了产品和开发之间沟通的效率低,领域建模就是应用最为广泛的提炼业务逻辑并结构化表达的方法。在领域建模的基础上,现有的国际化软件的开发,是由研发人员在软件代码开发时通过编写国际化语言文件,然后将语言文件中的国际化键嵌入前端和后端代码中实现的。现有技术中的方法,需要研发人员在完成建模后,需要依据领域模型编写代码,领域建模的最终输出和代码建设脱节,同时国际化信息的收集和嵌入都由研发人员手动一个一个的添加,这个过程费时且容易出错,缺少系统化的国际化资源的归集和管理能力。
发明内容
本申请实施例的目的是提供一种国际化软件开发的方法,用以解决现有技术中生成国际化软件代码时,国际化信息的收集和嵌入效率低的问题。
为了实现上述目的,本申请第一方面提供一种国际化软件开发的方法,应用于国际化软件开发系统,国际化软件开发系统与数据库通信,包括:
抽取数据库的表结构以建立数据模型;
对数据模型进行业务建模以生成业务模型;
通过可视化表单设计器在业务模型的基础上结合数据模型进行页面建模以生成页面模型;
获取国际化资源;
通过规则引擎结合业务模型、页面模型和国际化资源以生成国际化软件工程代码。
在本申请实施例中,通过可视化表单设计器在业务模型的基础上结合数据模型进行页面建模以生成页面模型包括:
通过可视化表单设计器,根据数据模型进行表单定义;
在业务模型的基础上结合数据模型进行业务查询。
在本申请实施例中,通过可视化表单设计器,根据数据模型进行表单定义包括:
获取数据模型中的字段属性和页面属性;
通过可视化的表单设计器,根据字段属性和页面属性进行表单定义。
在本申请实施例中,业务查询包括列查询、行内操作和全局操作,在业务模型的基础上结合数据模型进行业务查询包括:
获取数据模型的字段属性和页面属性;
根据字段属性和页面模型进行列查询;
获取业务模型中的业务关系和业务操作;
根据业务关系和业务操作进行行内操作和全局操作。
在本申请实施例中,获取国际化资源包括:
基于业务模型驱动,收集在建立数据模型过程中的第一国际化资源和生成业务模型过程中的第二国际化资源;
将第一国际化资源和第二国际化资源存储于国际化组件中;
从国际化组件中获取第一国际化资源和第二国际化资源。
在本申请实施例中,第一国际化资源包括标签、引用、字典;
第二国际化资源包括提示信息和按钮。
在本申请实施例中,通过规则引擎结合业务模型、页面模型和国际化资源以生成国际化软件工程代码包括:
获取上下文和开发配置以运行规则引擎;
通过规则引擎结合后端代码、前端代码和国际化资源以生成国际化软件工程代码;
其中,上下文包括代码生成规则、国际化注入规则和语言包生成规则,开发配置包括服务和模块配置、系统字段配置、界面组件配置、验证规则配置、操作模板配置和生成规则配置。
本申请第二方面提供一种服务器,包括:
存储器,被配置成存储指令;以及
处理器,被配置成从所述存储器调用所述指令以及在执行所述指令时能够实现上述的国际化软件开发的方法。
本申请第三方面提供一种国际化软件开发系统,包括:
上述的服务器;
模型组件,与服务器通信,被配置成生成代码及国际化资源;
规则引擎组件,与服务器通信,被配置成提供代码生成规则;
开发配置组件,与服务器通信,被配置成辅助建模和运行规则引擎;
国际化组件,与服务器通信,被配置成存储和提供国际化资源管理。
在本申请实施例中,国际化组件包括:
语言管理模块,被配置成存储标签资源;
翻译管理模块,被配置成存储引用资源、字典资源和提示信息资源;
词库管理模块,被配置成存储按钮资源。
通过上述技术方案,首先抽取数据库的表结构以建立数据模型,再对数据模型进行业务建模以生成业务模型。然后通过可视化表单设计器在业务模型的基础上结合数据模型进行页面建模以生成页面模型。最后获取国际化资源,通过规则引擎结合业务模型、页面模型和国际化资源以生成国际化软件工程代码。本申请通过业务模型驱动可视化建模和页面设计,使得国际化资源的收集和注入可以自动进行,同时结合规则引擎为不同技术架构生成满足国际化需求的软件工程代码。
本申请实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本申请实施例,但并不构成对本申请实施例的限制。在附图中:
图1示意性示出了根据本申请实施例的一种国际化软件开发的方法的流程图;
图2示意性示出了根据本申请一具体实施例的一种领域建模和代码生成流程图;
图3示意性示出了根据本申请实施例的一种获取国际化资源的流程图;
图4示意性示出了根据本申请实施例的一种服务器的结构框图;
图5示意性示出了根据本申请实施例的一种国际化软件开发系统架构图。
附图标记说明
510 模型组件 520 规则引擎组件
530 开发配置组件 540 国际化组件
541 语言管理模块 542 翻译管理模块
543 词库管理模块
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解的是,此处所描述的具体实施方式仅用于说明和解释本申请实施例,并不用于限制本申请实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明,若本申请实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若本申请实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
图1示意性示出了根据本申请实施例的一种国际化软件开发的方法的流程图。如图1所示,本申请实施例提供一种国际化软件开发的方法,该方法可以包括下列步骤。
步骤101、抽取数据库的表结构以建立数据模型。
在本申请实施例中,在软件开发过程中,领域建模是应用最为广泛的提炼业务逻辑并结构化表达的方法。其中,领域模型是对领域内的概念类或现实世界中对象的可视化表示。领域模型专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。在本申请实施例中,领域模型为业务模型,在完成数据库表设计后,开始业务模型建模,这一过程从建立数据模型开始。数据模型包含字段属性,页面属性,其中字段属性和数据库字段对应,页面属性则描述字段在具体表单或者查询列表中的默认表现形式。因此,首先可以抽取数据库表结构,将其抽象成数据模型,并完善数据模型关系。
步骤102、对数据模型进行业务建模以生成业务模型。
在本申请实施例中,业务模型是在数据模型的基础上创建出来的,因此,对数据模型进行业务建模就是对数据模型的进一步抽象以生成业务模型。业务模型一方面对接数据模型,另一方面对接具体的业务逻辑。完善的业务模型可以驱动生成完善的业务逻辑代码即后端代码。由于业务模型是用于描述业务关系和业务操作,而大部分情况下复杂的业务场景是由诸多的业务关系和业务操作构成。因此,基于业务模型驱动代码生成,可以准确表达业务逻辑,生成高可用的业务逻辑代码。
步骤103、通过可视化表单设计器在业务模型的基础上结合数据模型进行页面建模以生成页面模型。
在本申请实施例中,前端代码即前端页面,而前端页面可以由页面模型生成。因此,首先可以在业务模型的基础上结合数据模型进行页面建模以生成页面模型。具体地,页面建模包括两部分:表单定义和业务查询。生成完善的前端页面的关键是完善表单定义和查询列表,完善表单定义和查询列表就是完善业务场景最终的展现给用户的形式。通过完善表单定义可以提供满足用户个性化的前端业务,例如新增、修改、查看表单模型配置等。完善后的查询列表可以提供满足用户个性化的前端业务。业务查询和表单定义是在业务模型的基础上结合数据模型通过可视化的表单设计器来完成的,基于可视化的页面建模,只需懂业务就可以设计个性十足的业务表单和查询列表。通过业务查询和表单定义可以生成个性化的能满足各种业务场景的前端代码。
步骤104、获取国际化资源。
在本申请实施例中,在建立数据模型和生成业务模型的过程中涵盖了所有的页面元素即国际化资源,同时,基于业务模型驱动,可以将这些资源归集起来,存储于国际化组件中以进行统一的管理。这样,在生成代码的过程中,可以从国际化组件中自动获取国际化资源。在本申请实施例中,基于业务模型驱动使得国际化资源的收集和注入可以自动进行,不需要由研发人员一条一条写入软件代码,同时可以提供系统国际化资源的归集和管理功能,通过语言文件结合系统缓存的方式满足页面标签,及表中数据的国际化需求,保证了开发过程的可靠和高效。
步骤105、通过规则引擎结合业务模型、页面模型和国际化资源以生成国际化软件工程代码。
在本申请实施例中,基于业务模型驱动,结合页面模型可以生成前端代码和后端代码。通过规则引擎可以将后端代码、前端代码和国际化资源结合以形成具有国际化信息的代码即国际化软件工程代码。具体地,为了可以归集和获取国际化资源,首先为规则引擎添加了国际化注入规则和语言包生成规则。同时,为了生成国际化软件工程代码,还为规则引擎添加了代码生成规则,以保证生成的代码可以适应不同的技术架构。完善的规则引擎可以分离生成代码和具体框架,因此根据规则引擎可以为不同的技术框架生成满足国际化需求的软件工程代码,学习成本低且易扩展。
通过上述技术方案,首先抽取数据库的表结构以建立数据模型,再对数据模型进行业务建模以生成业务模型。然后通过可视化表单设计器在业务模型的基础上结合数据模型进行页面建模以生成页面模型。最后获取国际化资源,通过规则引擎结合业务模型、页面模型和国际化资源以生成国际化软件工程代码。本申请通过业务模型驱动可视化建模和页面设计,使得国际化资源的收集和注入可以自动进行,同时结合规则引擎为不同技术架构生成满足国际化需求的软件工程代码。
在本申请实施例中,通过可视化表单设计器在业务模型的基础上结合数据模型进行页面建模以生成页面模型可以包括:
通过可视化表单设计器,根据数据模型进行表单定义;
在业务模型的基础上结合数据模型进行业务查询。
具体地,页面建模包括两部分:表单定义和业务查询。前端代码即前端页面,生成完善的前端页面的关键是完善表单定义和查询列表,完善表单定义和查询列表就是完善业务场景最终的展现给用户的形式。在本申请实施例中,表单定义是通过可视化表单设计器,在数据模型的基础上完成的。通过完善表单定义可以提供满足用户个性化的前端业务,例如新增、修改、查看表单模型配置等。在本申请实施例中,业务查询是在业务模型的基础上结合数据模型完成的,通过业务查询可以完善查询列表,完善后的查询列表可以提供满足用户个性化的前端业务。
在本申请实施例中,通过可视化表单设计器,根据所述数据模型进行表单定义可以包括:
获取数据模型中的字段属性和页面属性;
通过可视化的表单设计器,根据字段属性和页面属性进行表单定义。
在本申请实施例中,可视化表单设计器可以通过可视化的操作,快速完成表单页面的创建。因此,可以通过可视化表单设计器在业务模型的基础上结合数据模型进行表单定义。具体地,由于数据模型包含字段属性和页面属性,其中字段属性和数据库字段对应,页面属性用于描述字段在具体表单中的默认表现形式。因此,服务器首先可以获取数据模型中的字段属性和页面属性,再通过可视化的表单设计器,根据字段属性和页面属性进行表单定义。
在本申请实施例中,业务查询包括列查询、行内操作和全局操作,在业务模型的基础上结合数据模型进行业务查询可以包括:
获取数据模型的字段属性和页面属性;
根据字段属性和页面模型进行列查询;
获取业务模型中的业务关系和业务操作;
根据业务关系和业务操作进行行内操作和全局操作。
在本申请实施例中,业务查询可以包括列查询、行内操作和全局操作。具体地,由于数据模型包含字段属性和页面属性,其中字段属性和数据库字段对应,页面属性用于描述字段在查询列表中的默认表现形式。因此,服务器首先可以获取数据模型中的字段属性和页面属性,根据字段属性和页面模型进行列查询。在本申请实施例中,业务模型用于描述业务关系和业务操作,大部分情况下复杂的业务场景是由诸多的业务关系和业务操作构成的,在这一步可以利用可视化配置的手段来直观的构建业务场景,因此服务器可以获取业务模型中的业务关系和业务操作,根据业务关系和业务操作可以进行行内操作和全局操作。
图2示意性示出了根据本申请一具体实施例的一种领域建模和代码生成流程图。如图2所示,在一具体实施例中,领域建模和代码生成流程可以包括下列步骤:
S1、抽取数据库表建立数据模型。
S2、对数据模型进行抽象以生成业务模型。
S3、获取数据模型中的字段属性和页面属性,通过可视化的表单设计器,根据字段属性和页面属性建立页面模型进行表单定义。
S4、获取数据模型的字段属性和页面属性,根据字段属性和页面模型进行列查询;获取业务模型中的业务关系和业务操作,根据业务关系和业务操作进行行内操作和全局操作。
具体地,领域建模包括建立数据模型和生成业务模型。通过业务模型可以生成完整的业务逻辑代码即后端代码,通过页面模型可以生成前端页面,前端页面即前端代码。其中,数据模型是通过抽取数据库的表结构建立的,在数据模型的基础上,进一步地进行抽象可以生成业务模型。在本申请实施例中,业务模型就是领域模型,页面模型是在数据模型和业务模型的基础上建立的。具体地,页面建模包括表单定义和业务查询。对于表单定义,服务器首先可以获取数据模型中的字段属性和页面属性,再通过可视化的表单设计器,根据字段属性和页面属性建立页面模型进行表单定义。业务查询包括列查询、行内操作和全局操作,通过获取数据模型中的字段属性和页面属性,可以进行列查询。通过获取业务模型中的业务关系和业务操作,可以进行行内操作和全局操作。基于领域模型驱动和通过可视化表单设计器进行可视化的操作,可以快速完成表单页面的创建和设计个性十足的业务表单和查询列表。
图3示意性示出了根据本申请实施例的一种获取国际化资源的流程图。如图3所示,在本申请实施例中,获取国际化资源可以包括:
基于业务模型驱动,收集在建立数据模型过程中的第一国际化资源和生成业务模型过程中的第二国际化资源;
将第一国际化资源和第二国际化资源存储于国际化组件中;
从国际化组件中获取第一国际化资源和第二国际化资源。
在本申请实施例中,在领域建模过程中,也就是建立数据模型和生成业务模型的过程中涵盖了所有的页面元素,即国际化资源,基于业务模型驱动,可以将这些资源归集起来,存储于国际化组件中以进行统一的管理。这样,在生成代码的过程中,可以从国际化组件中自动获取国际化资源。具体地,国际化资源包括第一国际化资源和第二国际化资源。其中,第一国际化资源为在建立数据模型过程中的国际化资源,第二国际化资源为生成业务模型过程中的国际化资源。
如图3所示,在本申请实施例中,第一国际化资源可以包括标签、引用、字典;
第二国际化资源可以包括提示信息和按钮。
在本申请实施例中,在领域建模过程中,也就是建立数据模型和生成业务模型的过程中收集的页面元素即国际化资源包括第一国际化资源和第二国际化资源。其中,第一国际化为在建立数据模型过程中的收集的标签、引用和字典;第二国际化资源为生成业务模型过程中收集的提示信息和按钮。
在本申请实施例中,通过规则引擎结合业务模型、页面模型和国际化资源以生成国际化软件工程代码可以包括:
获取上下文和开发配置以运行规则引擎;
通过规则引擎结合业务模型、页面模型和国际化资源以生成国际化软件工程代码;
其中,上下文包括代码生成规则、国际化注入规则和语言包生成规则,开发配置包括服务和模块配置、系统字段配置、界面组件配置、验证规则配置、操作模板配置和生成规则配置。
在本申请实施例中,基于业务模型驱动,结合页面模型可以生成前端代码和后端代码。通过规则引擎可以结合后端代码、前端代码和国际化资源以生成国际化软件工程代码。具体地,国际化组件中还存储有业务系统支持语言和标准翻译数据,结合业务系统支持的语言和标准的翻译数据,对所获取的国际化资源进行对应语言的翻译,可以生成国际化代码。在本申请实施例中,规则引擎运行的时候需要两部分,即上下文和数据。其中,上下文是指生成国际化软件代码所需要的规则,包括代码生成规则、国际化注入规则和语言包生成规则。数据是指建模过程中的开发配置,开发配置包括服务和模块配置、系统字段配置、界面组件配置、验证规则配置、操作模板配置和生成规则配置。通过运行规则引擎,可以将代码跟语言包即国际化资源结合起来以形成国际化代码。
图4示意性示出了根据本申请实施例的一种服务器的结构框图。如图4所示,本申请实施例提供一种服务器,可以包括:
存储器410,被配置成存储指令;以及
处理器420,被配置成从存储器410调用指令以及在执行指令时能够实现上述的国际化软件开发的方法。
具体地,在本申请实施例中,处理器420可以被配置成:
抽取数据库的表结构以建立数据模型;
对数据模型进行抽象生成业务模型以生成后端代码;
通过可视化表单设计器在业务模型的基础上结合数据模型进行业务查询和表单定义以生成前端代码;
获取国际化资源;
通过规则引擎结合后端代码、前端代码和国际化资源以生成国际化软件工程代码。
在本申请实施例中,前端代码包括第一前端代码和第二前端代码。
进一步地,处理器420还可以被配置成:
取数据模型中的字段属性和页面属性;
通过可视化的表单设计器,根据字段属性和页面属性建立页面模型;
通过页面模型进行表单定义以生成第一前端代码。
进一步地,处理器420还可以被配置成:
获取数据模型的字段属性和页面属性;
根据字段属性和页面模型进行列查询;
获取业务模型中的业务关系和业务操作;
根据业务关系和业务操作进行行内操作和全局操作;
通过列查询、行内操作和全局操作生成第二前端代码。
进一步地,处理器420还可以被配置成:
基于业务模型驱动,收集在建立数据模型过程中的第一国际化资源和生成业务模型过程中的第二国际化资源;
将第一国际化资源和第二国际化资源存储于国际化组件中;
从国际化组件中获取第一国际化资源和第二国际化资源。
在本申请实施例中,第一国际化资源包括标签、引用、字典;
第二国际化资源包括提示信息和按钮。
进一步地,处理器420还可以被配置成:
获取上下文和开发配置以运行规则引擎;
通过规则引擎结合后端代码、前端代码和国际化资源以生成国际化软件工程代码;
其中,上下文包括代码生成规则、国际化注入规则和语言包生成规则,开发配置包括服务和模块配置、系统字段配置、界面组件配置、验证规则配置、操作模板配置和生成规则配置。
通过上述技术方案,首先抽取数据库的表结构以建立数据模型,再对数据模型进行业务建模以生成业务模型。然后通过可视化表单设计器在业务模型的基础上结合数据模型进行页面建模以生成页面模型。最后获取国际化资源,通过规则引擎结合业务模型、页面模型和国际化资源以生成国际化软件工程代码。本申请通过业务模型驱动可视化建模和页面设计,使得国际化资源的收集和注入可以自动进行,同时结合规则引擎为不同技术架构生成满足国际化需求的软件工程代码。
图5示意性示出了根据本申请实施例的一种国际化软件开发系统架构图。如图5所示,本申请实施例还提供一种国际化软件开发系统,可以包括:
上述的服务器;
模型组件510,与服务器通信,被配置成生成代码及国际化资源;
规则引擎组件520,与服务器通信,被配置成提供代码生成规则;
开发配置组件530,与服务器通信,被配置成辅助建模和运行规则引擎;
国际化组件540,与服务器通信,被配置成存储和提供国际化资源管理。
如图5所示,在本申请实施例中,国际化组件包括:
语言管理模块541,被配置成存储标签资源;
翻译管理模块542,被配置成存储引用资源、字典资源和提示信息资源;
词库管理模块543,被配置成存储按钮资源。
在本申请实施例中,服务器(图中未示出)分别与模型组件510、规则配置引擎520、开发配置组件530及国际化组件540通信。具体地,服务器首先抽取数据库的表结构以建立数据模型,然后在数据模型的基础上对数据模型进行抽象生成业务模型以生成后端代码。再通过可视化表单设计器在业务模型的基础上结合数据模型进行业务查询和表单定义以生成前端代码。在建立数据模型和生成业务模型的过程中基于业务模型驱动收集国际化资源并存储在国际化组件540中。国际化组件540包括语言管理模块541、翻译管理模块542和词库管理模块543。语言管理模块541用于存储标签资源;翻译管理模块542用于存储引用资源、字典资源和提示信息资源;词库管理模块543用于存储按钮资源。其中,语言管理模块541中还存储有业务系统支持语言,词库管理模块543还存储有标准翻译数据。结合业务系统支持的语言和标准的翻译数据,可以对国际化资源进行对应语言的翻译。最后通过开发配置组件530运行规则引擎组件520,再通过规则引擎组件520结合业务模型、页面模型和国际化资源以生成国际化软件工程代码。
本申请实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述的国际化软件开发的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种国际化软件开发的方法,其特征在于,应用于国际化软件开发系统,所述国际化软件开发系统与数据库通信,包括:
抽取所述数据库的表结构以建立数据模型;
对所述数据模型进行业务建模以生成业务模型;
通过可视化表单设计器在所述业务模型的基础上结合所述数据模型进行页面建模以生成页面模型;
获取国际化资源;
通过规则引擎结合所述业务模型、所述页面模型和所述国际化资源以生成国际化软件工程代码。
2.根据权利要求1所述的方法,其特征在于,所述通过可视化表单设计器在所述业务模型的基础上结合所述数据模型进行页面建模以生成页面模型包括:
通过所述可视化表单设计器,根据所述数据模型进行表单定义;
在所述业务模型的基础上结合所述数据模型进行业务查询。
3.根据权利要求2所述的方法,其特征在于,所述通过所述可视化表单设计器,根据所述数据模型进行表单定义包括:
获取所述数据模型中的字段属性和页面属性;
通过可视化的表单设计器,根据所述字段属性和页面属性进行表单定义。
4.根据权利要求2所述的方法,其特征在于,所述业务查询包括列查询、行内操作和全局操作,所述在所述业务模型的基础上结合所述数据模型进行业务查询包括:
获取所述数据模型的字段属性和页面属性;
根据所述字段属性和所述页面模型进行列查询;
获取所述业务模型中的业务关系和业务操作;
根据所述业务关系和所述业务操作进行行内操作和全局操作。
5.根据权利要求1所述的方法,其特征在于,所述获取国际化资源包括:
基于所述业务模型驱动,收集在建立所述数据模型过程中的第一国际化资源和生成所述业务模型过程中的第二国际化资源;
将所述第一国际化资源和所述第二国际化资源存储于国际化组件中;
从所述国际化组件中获取所述第一国际化资源和所述第二国际化资源。
6.根据权利要求5所述的方法,其特征在于,所述第一国际化资源包括标签、引用、字典;
所述第二国际化资源包括提示信息和按钮。
7.根据权利要求1所述的方法,其特征在于,所述通过规则引擎结合所述业务模型、所述页面模型和所述国际化资源以生成国际化软件工程代码包括:
获取上下文和开发配置以运行所述规则引擎;
通过所述规则引擎结合所述业务模型、所述页面模型和所述国际化资源以生成国际化软件工程代码;
其中,所述上下文包括代码生成规则、国际化注入规则和语言包生成规则,所述开发配置包括服务和模块配置、系统字段配置、界面组件配置、验证规则配置、操作模板配置和生成规则配置。
8.一种服务器,其特征在于,包括:
存储器,被配置成存储指令;以及
处理器,被配置成从所述存储器调用所述指令以及在执行所述指令时能够实现根据权利要求1至7中任一项所述的国际化软件开发的方法。
9.一种国际化软件开发系统,其特征在于,包括:
根据权利要求8的服务器;
模型组件,与所述服务器通信,被配置成生成代码及国际化资源;
规则引擎组件,与所述服务器通信,被配置成提供代码生成规则;
开发配置组件,与所述服务器通信,被配置成辅助建模和运行所述规则引擎;
国际化组件,与所述服务器通信,被配置成存储和提供国际化资源管理。
10.根据权利要求9所述的系统,其特征在于,所述国际化组件包括:
语言管理模块,被配置成存储标签资源;
翻译管理模块,被配置成存储引用资源、字典资源和提示信息资源;
词库管理模块,被配置成存储按钮资源。
CN202211542278.2A 2022-12-02 2022-12-02 国际化软件开发的方法、国际化软件开发系统及服务器 Pending CN116243914A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211542278.2A CN116243914A (zh) 2022-12-02 2022-12-02 国际化软件开发的方法、国际化软件开发系统及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211542278.2A CN116243914A (zh) 2022-12-02 2022-12-02 国际化软件开发的方法、国际化软件开发系统及服务器

Publications (1)

Publication Number Publication Date
CN116243914A true CN116243914A (zh) 2023-06-09

Family

ID=86628403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211542278.2A Pending CN116243914A (zh) 2022-12-02 2022-12-02 国际化软件开发的方法、国际化软件开发系统及服务器

Country Status (1)

Country Link
CN (1) CN116243914A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117270825A (zh) * 2023-10-25 2023-12-22 苏州工业职业技术学院 一种面向工业复杂业务需求的柔性软件开发方法及套件

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117270825A (zh) * 2023-10-25 2023-12-22 苏州工业职业技术学院 一种面向工业复杂业务需求的柔性软件开发方法及套件

Similar Documents

Publication Publication Date Title
WO2018000998A1 (zh) 界面生成方法、装置和系统
CN106354492B (zh) 一种快速调整交易流程对接的自动化代码生成方法及系统
KR20100038378A (ko) 지능적인 텍스트 주석을 위한 방법, 시스템 및 컴퓨터 프로그램
TW202034185A (zh) 用於基於結構化查詢語言語句實現計算服務的方法、裝置及系統、計算設備和非暫態性機器可讀儲存媒體
CN115952272B (zh) 一种生成对话信息的方法、装置、设备及可读存储介质
CN111309305B (zh) 面向智能合约的代码自动推荐方法、系统、计算机设备和存储介质
CN117331561B (zh) 一种智能低代码页面开发系统及方法
CN111144132B (zh) 一种语义识别方法及装置
CN112035197A (zh) 一种前端页面的配置方法及装置
CN116243914A (zh) 国际化软件开发的方法、国际化软件开发系统及服务器
CN115774552A (zh) 配置化的算法设计方法、装置、电子设备及可读存储介质
US8433729B2 (en) Method and system for automatically generating a communication interface
CN112970011A (zh) 记录查询优化中的谱系
CN109558580B (zh) 一种文本分析方法及装置
CN115756449A (zh) 一种页面复用方法、装置、存储介质及电子设备
CN115080046A (zh) 一种页面设计中多组件抽象关联融合方法和装置
US8719693B2 (en) Method for storing localized XML document values
CN117015781A (zh) 从图形用户界面生成自然语言界面
CN114238807A (zh) 数据可视化页面的处理方法和装置
CN112181407A (zh) 业务实现处理方法及装置、系统、电子设备和存储介质
Zhu et al. FaKnow: A Unified Library for Fake News Detection
CN117289905B (zh) 一种应用软件开发方法和装置、存储介质和电子设备
CN116594628A (zh) 数据溯源方法、装置和计算机设备
CN117633031A (zh) 一种大模型训练和用户档案数据查询方法、装置及设备
CN115964043A (zh) 前端页面开发方法及装置

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