CN102063294B - 支持松耦合的软件构建方法、系统及该系统的实现方法 - Google Patents
支持松耦合的软件构建方法、系统及该系统的实现方法 Download PDFInfo
- Publication number
- CN102063294B CN102063294B CN200910222378.5A CN200910222378A CN102063294B CN 102063294 B CN102063294 B CN 102063294B CN 200910222378 A CN200910222378 A CN 200910222378A CN 102063294 B CN102063294 B CN 102063294B
- Authority
- CN
- China
- Prior art keywords
- file
- building
- build
- interface
- configuration
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了支持松耦合的软件构建方法和系统,该方法在创建的构建执行入口文件中声明引用与所需构建的功能模块对应的构建配置接口文件,定义基本构建功能;在与所需构建的功能模块对应的构建配置接口文件中定义构建接口方法,该构建接口方法的内容是通过构建配置文件对相应基本构建方法的调用逻辑,与现有技术相比,在执行入口文件中就可以通过构建配置接口文件灵活配置本功能模块所需的环境参量等,而不会对其余功能模块的构建造成影响,且维护简单。该系统在构建配置单元与构建执行入口单元增加构建配置接口单元,降低了软件工程中模块构建的耦合度,提高软件功能模块构建系统的灵活性。
Description
技术领域
本发明涉及软件构建技术领域,尤其涉及一种支持松耦合的软件构建方法、系统及该系统的实现方法。
背景技术
随着软件技术发展,软件的规模越来越庞大,结构越来复杂,生产周期越来越短。这对软件工程的实施提出了越来越高的要求。大型的软件模块越来越趋向于低耦合的设计,这样不但增强软件模块的易用性,而且还能提高可移植性。这些复杂的软件是如何自动,快速的构建产生出来的呢?答案是通过软件构建系统生产出来的。软件的构建技术在大型软件项目中的作用越来越重要。
目前软件构建系统模块通常是采用紧耦合的方式实现软件构建,其典型的构建过程也是:构建执行入口文件采取依次调用、解析采用树状组织的构建配置文件。这种面向紧耦合方式实现的软件工程的缺点是其构建系统非常脆弱,不断变化软件工程构建需求对构建系统冲击非常大,比如,在构建软件系统时,每个需要构建的功能模块的构建配置文件都被构建执行入口文件引用,当其中一个功能模块的环境变量需要改变时,而其余的功能模块也可能涉及到该环境变量,现有技术通常是先执行完该功能模块的构建,再将构建执行入口文件中的环境变量恢复原状或者更改为其余功能模块所需的各种值,执行其余功能模块的构建,但是在构建执行入口文件引用大量构建配置文件的情况下,为本领域工程技术人员的准确无误的更改配置参数带来了极大的难度,同时,构建系统维护复杂。
如果有一个独立于构建系统的功能模块加入到现有构建系统中,经常会对新模块的构建配置文件进行大幅度改动才能使其较好的融合到现有系统的构建中。现在越来越多的软件倾向于集成已有的功能模块到现有系统中,因此,怎样以简单的构建配置修改,快速获得需要的功能同时满足不断变化的软件构建需求是本领域亟待解决的问题。
发明内容
本发明要解决的技术问题是,提供一种支持松耦合的软件构建方法、系统及该系统的实现方法,以简单的构建配置修改,快速获得需要的功能同时满足不断变化的软件构建需求且方便维护。
本发明采用的技术方案是,所述支持松耦合的软件构建系统的实现方法,包括:
步骤一、创建构建执行入口文件,包括在构建执行入口文件中声明引用与所需构建的功能模块对应的构建配置接口文件,定义基本构建功能;
步骤二、创建与所需构建的功能模块对应的构建配置接口文件,包括在构建配置接口文件中定义构建接口方法;
步骤三、创建构建配置文件,包括在构建配置文件中设置与基本构建功能对应的基本构建方法的具体实现。
所述步骤一创建构建执行入口文件进一步包括设置通用环境参量。
所述步骤一中所述基本构建功能的执行内容是对相应构建接口方法的调用逻辑。
所述步骤二创建所述构建配置接口文件进一步包括在各构建配置接口文件中设置构建本功能模块所需的环境参量。
所述步骤二中所述构建接口方法的执行内容是通过构建配置文件对相应基本构建方法的调用逻辑。
本发明还提供一种支持松耦合的软件构建系统,包括:
构建执行入口单元,用于在其中声明引用与所需构建的功能模块对应的构建配置接口单元,定义基本构建功能;
构建配置接口单元,与所需构建的功能模块对应,用于在其中定义构建接口单元并通过构建接口单元对构建配置单元进行调用;
构建配置单元,用于在其中设置与基本构建功能对应的基本构建方法的具体实现。
所述构建执行入口单元进一步用于设置通用环境参量。
所述基本构建功能的执行内容是对相应构建接口单元的调用逻辑。
所述构建配置接口单元进一步用于在其中设置构建本功能模块所需的环境参量。
所述构建接口单元进一步用于通过构建配置单元对相应基本构建方法进行调用。
基于所述支持松耦合的软件构建系统,本发明还提供一种支持松耦合的软件构建方法,包括以下步骤:
步骤一、通过构建执行入口文件指定要构建的功能模块;
步骤二、依据构建执行入口文件中对构建配置接口文件的引用关系,执行与需要构建的功能模块对应的构建配置接口文件中的构建接口方法;
步骤三、在构建接口方法中依次执行构建配置文件来构建需要的功能模块。
采用上述技术方案,本发明至少具有下列优点:
本发明所述支持松耦合的软件构建系统的实现方法,在创建的构建执行入口文件中声明引用与所需构建的功能模块对应的构建配置接口文件,定义基本构建功能;在与所需构建的功能模块对应的构建配置接口文件中定义构建接口方法,该构建接口方法的内容是通过构建配置文件对相应基本构建方法的调用逻辑,与现有技术相比,增加了构建配置接口文件,为构建执行入口文件调用构建配置文件时提供了适配的统一接口,因为构建配置接口文件是与所需构建的功能模块对应的,而每一个功能模块所包括的基本构建功能在构建执行入口文件中就可以唯一的识别,在执行入口文件中就可以通过构建配置接口文件灵活配置本功能模块所需的环境参量等,而不会对其余功能模块的构建造成影响,且维护简单。
本发明通过提供模块构建配置接口文件能够支持现有的松耦合软件构建方式,可以对构建配置文件不做任何修改直接调用模块构建配置接口文件定义的构建接口方法,方便了用户对特定模块构建,提高构建效率,而且还能方便的集成已经存在的模块构建配置文件到当前软件构建系统中。
本发明所述支持松耦合的软件构建系统,在构建配置单元与构建执行入口单元增加构建配置接口单元,降低了软件工程中模块构建的耦合度,提高软件功能模块构建系统的灵活性。
附图说明
图1为本发明第一实施例所述支持松耦合的软件构建系统的实现方法流程图;
图2为本发明第一实施例软件构建系统的文件架构示意图;
图3为本发明第二实施例所述支持松耦合的软件构建系统组成示意图;
图4为本发明第三实施例中基于所述支持松耦合的软件构建系统的所述支持松耦合的软件构建方法流程图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明提出的所述支持松耦合的软件构建方法、系统及该系统的实现方法,详细说明如后。
本发明第一实施例,如图1所示,一种支持松耦合的软件构建系统的实现方法,软件构建系统的文件架构如图2所示,包括如下步骤:
步骤S101、创建构建执行入口文件makefile,包括在构建执行入口文件makefile中声明引用与所需构建的功能模块对应的构建配置接口文件并定义基本构建功能:创建功能build1、清除功能clean1、生成依赖功能dep1、前置构建功能prebuild1、后置构建功能postbuild1,所述基本构建功能的执行内容是对相应构建接口方法的调用逻辑,例如:
build1的执行内容为:第一构建创建功能接口方法Module1_build1;
clean1的执行内容为:第一构建清除功能接口方法Module1_clean1;
dep1的执行内容为:第一构建生成依赖功能接口方法Module1_dep1;
prebuild1的执行内容为:第一构建前置构建功能接口方法Module1_prebuild1;
postbuild1的执行内容为:第一构建后置构建功能接口方法Module1_postbuild1。
该构建配置接口文件包括第一构建配置接口文件Module1_interface、第二构建配置接口文件Module2_interface、......、第N构建配置接口文件ModuleN_interface,本实施例,以构建第一功能模块Module1为例,那么,在构建执行入口文件makefile中声明引用与第一功能模块Module1对应的第一构建配置接口文件Module1_interface。
步骤S102、在构建执行入口文件中设置通用环境参量,这一步骤可以根据实际需要选择设置的具体环境参量,且与步骤S101没有严格的先后顺序。
步骤S103、创建与第一功能模块Module1对应的第一构建配置接口文件Module1_interface,包括在第一构建配置接口文件Module1_interface中定义构建接口方法:第一构建创建功能接口方法Module1_build1、第一构建清除功能接口方法Module1_clean1、第一构建生成依赖功能接口方法Module1_dep1、第一构建前置构建功能接口方法Module1_prebuild1、第一构建后置构建功能接口方法Module1_postbuild1。所述构建接口方法的执行内容是通过第一构建配置文件Module1_Implement对相应基本构建方法的调用逻辑。所述基本构建方法包括:创建方法build、清除方法clean、生成依赖方法dep、前置构建方法prebuild、后置构建方法postbuild。
例如,第一构建配置接口文件Module1_interface的内容如下:
Module1_build1的执行内容:
在环境参量的作用下,执行第一构建配置文件Module1_Implement中的创建方法build;
Module1_clean1的执行内容:
在环境参量的作用下,执行第一构建配置文件Module1_Implement中的清除方法clean;
Module1_dep1的执行内容:
在环境参量的作用下,执行第一构建配置文件Module1_Implement中的生成依赖方法dep;
Module1_prebuild1的执行内容:
在环境参量的作用下,执行第一构建配置文件Module1_Implement中的创建方法prebuild;
Module1_postbuild的执行内容:
在环境参量的作用下,执行第一构建配置文件Module1_Implement中的创建方法postbuild。
步骤S104、在第一构建配置接口文件Module1_interface中设置构建第一功能模块Module1所需的环境参量,比如:架构参数、CPU参数、工具链前缀描述等。这一步骤可以根据实际需要选择设置的具体环境参量,且与步骤S103没有严格的先后顺序。
步骤S105、创建第一构建配置文件Module1_Implement,包括在第一构建配置文件中Module1_Implement设置与基本构建功能对应的基本构建方法的具体实现,例如,第一构建配置文件Module1_Implement中的内容如下:
build的具体实现:编译源文件,链接源文件生成最终目标文件;
clean的具体实现:删除前一次构建生成的中间文件和结果文件;
dep的具体实现:生成编译所需的依赖关系描述;
prebuild的具体实现:完成编译所需文件的拷贝等功能;
postbuild的具体实现:完成构建目标文件拷贝到发布目录等功能。
上述五种是每个功能模块中通常应具备的基本操作,本领域技术人员可以基于此开发出不同软件工程中的应用,本发明不对此进行限定。
需要说明的是,本发明需要创建的构建配置文件为:第一构建配置文件Module1_Implement、第二构建配置文件Module2_Implement、......、第N构建配置文件ModuleN_Implement,但是由于本实施例是以构建第一功能模块Module1为例的,在构建执行入口文件makefile中声明引用与第一功能模块Module1对应的第一构建配置接口文件Module1_interface,因此步骤S105之具体描述了创建第一构建配置文件Module1_Implement及其内容。当需要构建其他功能模块时,就会用到其余的构建配置文件了。
本发明第二实施例,如图3所示,一种支持松耦合的软件构建系统,包括:
构建执行入口单元,用于在其中声明引用与所需构建的功能模块对应的构建配置接口单元,定义基本构建功能,所述基本构建功能的执行内容是对相应构建接口单元的调用逻辑。所述构建执行入口单元进一步用于设置通用环境参量。
构建配置接口单元,与所需构建的功能模块对应,用于在其中定义构建接口单元并通过构建接口单元对构建配置单元进行调用,所述构建配置接口单元进一步用于在其中设置构建本功能模块所需的环境参量。
构建配置单元,用于在其中设置与基本构建功能对应的基本构建方法的具体实现。所述构建接口单元进一步用于通过构建配置单元对相应基本构建方法进行调用。
本发明第三实施例,如图4所示,基于所述支持松耦合的软件构建系统,本发明还提供一种支持松耦合的软件构建方法,包括以下步骤:
步骤S201、通过构建执行入口文件指定要构建的功能模块;
步骤S202、依据构建执行入口文件中对构建配置接口文件的引用关系,执行与需要构建的功能模块对应的构建配置接口文件中的构建接口方法;
步骤S203、在构建接口方法中依次执行构建配置文件来构建需要的功能模块。
本发明所述支持松耦合的软件构建系统的实现方法,在创建的构建执行入口文件中声明引用与所需构建的功能模块对应的构建配置接口文件,定义基本构建功能;在与所需构建的功能模块对应的构建配置接口文件中定义构建接口方法,该构建接口方法的内容是通过构建配置文件对相应基本构建方法的调用逻辑,与现有技术相比,增加了构建配置接口文件,为构建执行入口文件调用构建配置文件时提供了适配的统一接口,因为构建配置接口文件是与所需构建的功能模块对应的,而每一个功能模块所包括的基本构建功能在构建执行入口文件中就可以唯一的识别,在执行入口文件中就可以通过构建配置接口文件灵活配置本功能模块所需的环境参量等,而不会对其余功能模块的构建造成影响,且维护简单。
本发明通过提供模块构建配置接口文件能够支持现有的松耦合软件构建方式,可以对构建配置文件不做任何修改直接调用模块构建配置接口文件定义的构建接口方法,方便了用户对特定模块构建,提高构建效率,而且还能方便的集成已经存在的模块构建配置文件到当前软件构建系统中。
本发明所述支持松耦合的软件构建系统,在构建配置单元与构建执行入口单元增加构建配置接口单元,降低了软件工程中模块构建的耦合度,提高软件功能模块构建系统的灵活性。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。
Claims (7)
1.一种支持松耦合的软件构建系统的实现方法,其特征在于,包括:
步骤一、创建构建执行入口文件,包括在构建执行入口文件中声明引用与所需构建的功能模块对应的构建配置接口文件,定义基本构建功能;所述基本构建功能的执行内容是对相应构建接口方法的调用逻辑;
步骤二、创建与所需构建的功能模块对应的构建配置接口文件,包括在构建配置接口文件中定义构建接口方法;所述构建接口方法的执行内容是通过构建配置文件对相应基本构建方法的调用逻辑;
步骤三、创建构建配置文件,包括在构建配置文件中设置与基本构建功能对应的基本构建方法的具体实现。
2.根据权利要求1所述支持松耦合的软件构建系统的实现方法,其特征在于,所述步骤一创建构建执行入口文件进一步包括设置通用环境参量。
3.根据权利要求1所述支持松耦合的软件构建系统的实现方法,其特征在于,所述步骤二创建所述构建配置接口文件进一步包括在各构建配置接口文件中设置构建本功能模块所需的环境参量。
4.一种支持松耦合的软件构建系统,其特征在于,包括:
构建执行入口单元,用于创建构建执行入口文件,包括在构建执行入口文件中声明引用与所需构建的功能模块对应的构建配置接口文件,定义基本构建功能;所述基本构建功能的执行内容是对相应构建接口方法的调用逻辑;
构建配置接口单元,用于创建与所需构建的功能模块对应的构建配置接口文件,包括在构建配置接口文件中定义构建接口方法;所述构建接口方法的执行内容是通过构建配置文件对相应基本构建方法的调用逻辑;
构建配置单元,用于创建构建配置文件,包括在构建配置文件中设置与基本构建功能对应的基本构建方法的具体实现。
5.根据权利要求4所述支持松耦合的软件构建系统,其特征在于,所述构建执行入口单元进一步用于设置通用环境参量。
6.根据权利要求4所述支持松耦合的软件构建系统,其特征在于,所述构建配置接口单元进一步用于在其中设置构建本功能模块所需的环境参量。
7.一种基于权利要求4所述的支持松耦合的软件构建系统实现的软件构建方法,其特征在于,包括以下步骤:
步骤一、通过构建执行入口文件指定要构建的功能模块;
步骤二、依据构建执行入口文件中对构建配置接口文件的引用关系,执行与需要构建的功能模块对应的构建配置接口文件中的构建接口方法;
步骤三、在构建接口方法中依次执行构建配置文件来构建需要的功能模块,具体的,通过构建配置文件对相应基本构建方法进行调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910222378.5A CN102063294B (zh) | 2009-11-16 | 2009-11-16 | 支持松耦合的软件构建方法、系统及该系统的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910222378.5A CN102063294B (zh) | 2009-11-16 | 2009-11-16 | 支持松耦合的软件构建方法、系统及该系统的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102063294A CN102063294A (zh) | 2011-05-18 |
CN102063294B true CN102063294B (zh) | 2014-06-11 |
Family
ID=43998585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910222378.5A Active CN102063294B (zh) | 2009-11-16 | 2009-11-16 | 支持松耦合的软件构建方法、系统及该系统的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102063294B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104283919B (zh) * | 2013-07-05 | 2019-11-05 | 中兴通讯股份有限公司 | 一种接口调用系统及方法 |
CN105760166B (zh) * | 2016-02-23 | 2019-02-15 | 浪潮通用软件有限公司 | 一种基于分层的源代码自动构建实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1746844A (zh) * | 2005-09-29 | 2006-03-15 | 浪潮电子信息产业股份有限公司 | 一种跨操作系统平台的机群系统监控和管理方法 |
CN101315604A (zh) * | 2008-06-30 | 2008-12-03 | 华为技术有限公司 | 软件定制模块的实现方法及系统 |
-
2009
- 2009-11-16 CN CN200910222378.5A patent/CN102063294B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1746844A (zh) * | 2005-09-29 | 2006-03-15 | 浪潮电子信息产业股份有限公司 | 一种跨操作系统平台的机群系统监控和管理方法 |
CN101315604A (zh) * | 2008-06-30 | 2008-12-03 | 华为技术有限公司 | 软件定制模块的实现方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102063294A (zh) | 2011-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103677835B (zh) | 软件集成方法及系统 | |
CN101667134B (zh) | 一种构建编译系统的方法及编译系统构建装置 | |
CN101963915A (zh) | 一种编译的构建方法及系统 | |
CN101859244A (zh) | 多工具链工程构建方法及系统 | |
CN107278290A (zh) | 积木式编程转换成程序代码的方法及装置 | |
CN102087594B (zh) | 扩展点和插件的管理方法和装置 | |
CN103473141A (zh) | 一种带外查看及修改bios设置选项的方法 | |
CN103116497B (zh) | 一种基于软件平台的多电子控制单元构建方法及系统 | |
CN104331294A (zh) | 一种可视化程序生成方法和装置 | |
CN103093038A (zh) | 一种物料清单的更新方法及装置 | |
CN106528150A (zh) | 一种j2ee项目的开发方法及开发平台 | |
CN101673358B (zh) | 基于权限组件对工作流组件中的权限管理的方法及装置 | |
CN103577165A (zh) | 一种表单生成方法和表单生成器 | |
CN102495552A (zh) | 面向星载电子系统的实时仿真系统 | |
CN102063294B (zh) | 支持松耦合的软件构建方法、系统及该系统的实现方法 | |
CN106126202A (zh) | 一种服务器操作系统的安装方法、装置及系统 | |
CN102037682B (zh) | 用于创建和配置设备网络的系统 | |
CN103500099A (zh) | 一种通过扩展点和扩展实现软件快速二次开发的方法 | |
Chang et al. | Dynamic software update model for remote entity management of machine‐to‐machine service capability | |
CN106873969A (zh) | 一种j2ee项目的开发方法及开发平台 | |
CN106020860A (zh) | 一种fpga的更新方法、装置及系统 | |
CN101753360B (zh) | 应用系统启动的方法、并行管理系统和应用管理系统 | |
CN103049602A (zh) | 基于模型驱动工程的将aadl组件转换到接口自动机模型方法 | |
CN101179390A (zh) | 数据更新系统及方法 | |
CN103631228A (zh) | 控制系统虚拟化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |