支持松耦合的软件构建方法、 系统及该系统的实现方法 技术领域 本发明涉及软件构建技术领域, 尤其涉及一种支持松耦合的软件构建方法、 系统 及该系统的实现方法。
背景技术 随着软件技术发展, 软件的规模越来越庞大, 结构越来复杂, 生产周期越来越短。 这对软件工程的实施提出了越来越高的要求。大型的软件模块越来越趋向于低耦合的设 计, 这样不但增强软件模块的易用性, 而且还能提高可移植性。这些复杂的软件是如何自 动, 快速的构建产生出来的呢?答案是通过软件构建系统生产出来的。软件的构建技术在 大型软件项目中的作用越来越重要。
目前软件构建系统模块通常是采用紧耦合的方式实现软件构建, 其典型的构建过 程也是 : 构建执行入口文件采取依次调用、 解析采用树状组织的构建配置文件。 这种面向紧 耦合方式实现的软件工程的缺点是其构建系统非常脆弱, 不断变化软件工程构建需求对构 建系统冲击非常大, 比如, 在构建软件系统时, 每个需要构建的功能模块的构建配置文件都 被构建执行入口文件引用, 当其中一个功能模块的环境变量需要改变时, 而其余的功能模 块也可能涉及到该环境变量, 现有技术通常是先执行完该功能模块的构建, 再将构建执行 入口文件中的环境变量恢复原状或者更改为其余功能模块所需的各种值, 执行其余功能模 块的构建, 但是在构建执行入口文件引用大量构建配置文件的情况下, 为本领域工程技术 人员的准确无误的更改配置参数带来了极大的难度, 同时, 构建系统维护复杂。
如果有一个独立于构建系统的功能模块加入到现有构建系统中, 经常会对新模块 的构建配置文件进行大幅度改动才能使其较好的融合到现有系统的构建中。 现在越来越多 的软件倾向于集成已有的功能模块到现有系统中, 因此, 怎样以简单的构建配置修改, 快速 获得需要的功能同时满足不断变化的软件构建需求是本领域亟待解决的问题。
发明内容
本发明要解决的技术问题是, 提供一种支持松耦合的软件构建方法、 系统及该系 统的实现方法, 以简单的构建配置修改, 快速获得需要的功能同时满足不断变化的软件构 建需求且方便维护。
本发明采用的技术方案是, 所述支持松耦合的软件构建系统的实现方法, 包括 :
步骤一、 创建构建执行入口文件, 包括在构建执行入口文件中声明引用与所需构 建的功能模块对应的构建配置接口文件, 定义基本构建功能 ;
步骤二、 创建与所需构建的功能模块对应的构建配置接口文件, 包括在构建配置 接口文件中定义构建接口方法 ;
步骤三、 创建构建配置文件, 包括在构建配置文件中设置与基本构建功能对应的 基本构建方法的具体实现。
所述步骤一创建构建执行入口文件进一步包括设置通用环境参量。所述步骤一中所述基本构建功能的执行内容是对相应构建接口方法的调用逻辑。
所述步骤二创建所述构建配置接口文件进一步包括在各构建配置接口文件中设 置构建本功能模块所需的环境参量。
所述步骤二中所述构建接口方法的执行内容是通过构建配置文件对相应基本构 建方法的调用逻辑。
本发明还提供一种支持松耦合的软件构建系统, 包括 :
构建执行入口单元, 用于在其中声明引用与所需构建的功能模块对应的构建配置 接口单元, 定义基本构建功能 ;
构建配置接口单元, 与所需构建的功能模块对应, 用于在其中定义构建接口单元 并通过构建接口单元对构建配置单元进行调用 ;
构建配置单元, 用于在其中设置与基本构建功能对应的基本构建方法的具体实 现。
所述构建执行入口单元进一步用于设置通用环境参量。
所述基本构建功能的执行内容是对相应构建接口单元的调用逻辑。
所述构建配置接口单元进一步用于在其中设置构建本功能模块所需的环境参量。 所述构建接口单元进一步用于通过构建配置单元对相应基本构建方法进行调用。
基于所述支持松耦合的软件构建系统, 本发明还提供一种支持松耦合的软件构建 方法, 包括以下步骤 :
步骤一、 通过构建执行入口文件指定要构建的功能模块 ;
步骤二、 依据构建执行入口文件中对构建配置接口文件的引用关系, 执行与需要 构建的功能模块对应的构建配置接口文件中的构建接口方法 ;
步骤三、 在构建接口方法中依次执行构建配置文件来构建需要的功能模块。
采用上述技术方案, 本发明至少具有下列优点 :
本发明所述支持松耦合的软件构建系统的实现方法, 在创建的构建执行入口文件 中声明引用与所需构建的功能模块对应的构建配置接口文件, 定义基本构建功能 ; 在与所 需构建的功能模块对应的构建配置接口文件中定义构建接口方法, 该构建接口方法的内容 是通过构建配置文件对相应基本构建方法的调用逻辑, 与现有技术相比, 增加了构建配置 接口文件, 为构建执行入口文件调用构建配置文件时提供了适配的统一接口, 因为构建配 置接口文件是与所需构建的功能模块对应的, 而每一个功能模块所包括的基本构建功能在 构建执行入口文件中就可以唯一的识别, 在执行入口文件中就可以通过构建配置接口文件 灵活配置本功能模块所需的环境参量等, 而不会对其余功能模块的构建造成影响, 且维护 简单。
本发明通过提供模块构建配置接口文件能够支持现有的松耦合软件构建方式, 可 以对构建配置文件不做任何修改直接调用模块构建配置接口文件定义的构建接口方法, 方 便了用户对特定模块构建, 提高构建效率, 而且还能方便的集成已经存在的模块构建配置 文件到当前软件构建系统中。
本发明所述支持松耦合的软件构建系统, 在构建配置单元与构建执行入口单元增 加构建配置接口单元, 降低了软件工程中模块构建的耦合度, 提高软件功能模块构建系统 的灵活性。
附图说明 图 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 中的创建方法 Module1_clean1 的执行内容 : 在环境参量的作用下, 执行第一构建配置文件 Module1_Implement 中的清除方法build ;
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、 在构建接口方法中依次执行构建配置文件来构建需要的功能模块。
本发明所述支持松耦合的软件构建系统的实现方法, 在创建的构建执行入口文件 中声明引用与所需构建的功能模块对应的构建配置接口文件, 定义基本构建功能 ; 在与所 需构建的功能模块对应的构建配置接口文件中定义构建接口方法, 该构建接口方法的内容 是通过构建配置文件对相应基本构建方法的调用逻辑, 与现有技术相比, 增加了构建配置 接口文件, 为构建执行入口文件调用构建配置文件时提供了适配的统一接口, 因为构建配 置接口文件是与所需构建的功能模块对应的, 而每一个功能模块所包括的基本构建功能在 构建执行入口文件中就可以唯一的识别, 在执行入口文件中就可以通过构建配置接口文件 灵活配置本功能模块所需的环境参量等, 而不会对其余功能模块的构建造成影响, 且维护 简单。 本发明通过提供模块构建配置接口文件能够支持现有的松耦合软件构建方式, 可 以对构建配置文件不做任何修改直接调用模块构建配置接口文件定义的构建接口方法, 方 便了用户对特定模块构建, 提高构建效率, 而且还能方便的集成已经存在的模块构建配置 文件到当前软件构建系统中。
本发明所述支持松耦合的软件构建系统, 在构建配置单元与构建执行入口单元增 加构建配置接口单元, 降低了软件工程中模块构建的耦合度, 提高软件功能模块构建系统 的灵活性。
通过具体实施方式的说明, 应当可对本发明为达成预定目的所采取的技术手段及 功效得以更加深入且具体的了解, 然而所附图示仅是提供参考与说明之用, 并非用来对本 发明加以限制。