专利名称:一种业务组件及基于业务组件的应用软件开发方法和系统的制作方法
技术领域:
本发明涉及软件工程技术领域,尤其涉及一种业务组件及基于业务組件的 应用软件开发方法和系统。
背景技术:
在软件工程领域,软件组件定义为自包含的、可编程的、可重用的、与语 言无关的软件单元,软件组件可以很容易被用于组装应用程序中。鉴于软件组 件的易组装特性,基于软件组件的开发方法被广泛的应用于软件工程领域。
基于软件组件的开发是一种软件开发范型,在这种范型的支持下,软件组 件的开发者和应用软件的开发者可以实现产业分工,软件组件的开发者关注软
件系统开发,并交付最终的软件产品。在这种分工合作的方式下,软件系统开 发方式更加规范,由此以更高的开发效率开发出质量更好的软件系统产品。
发明人通过研究发现,现有的软件组件开发模型涉及到的软件组件均属于 技术组件,技术组件具有技术功能含义,屏蔽了复杂繁冗的底层技术,对底层 硬件技术、软件技术和网络通讯技术进行抽象和包装。不同的行业都有自身的 行业特点,同 一个行业中的不同业务之间也存在很多的区别,所以现有技术中, 以技术组件为基础开发某一具体行业的应用软件时,因为技术组件不具有业务 针对性,所以存在很多的困难,以银行业为例,银行业应用软件系统要求各个
交易之间具有业务相关性,难以直接用现有的技术组件表达其业务含义;银行 业应用软件系统中的一项业务功能的实现需要多个技术组件的耦合与关联,增 加技术组件开发应用系统的组合复杂度;基于技术组件模型开发的银行业应用 软件系统在投产后不易根据业务需要进行业务扩展,难以满足客户多样化的业 务需求。
发明内容
有鉴于此,本发明实施例的目的在于提供一种基于业务组件的应用软件开 发方法和系统,从而实现应用软件系统的业务需求。为实现上述目的,本发明实施例提供了如下技术方案
一种业务组件,包括业务组件接口、业务数据存储单元和业务逻辑单元,
其中
所述业务组件接口 ,用于为业务数据存储单元和业务逻辑单元提供处理数 据并对外提供业务组件数据处理结果;
业务数据存储单元,用于存储业务组件属性数据和从业务组件接口获取的 业务数据;
业务逻辑单元,用于利用从业务组件接口和/或业务数据存储单元中获取
的数据根据当前业务组件的功能执行逻辑运算,并将结果输送给业务组件接 o 。
所述业务组件还包括
至少两个业务组件组成业务组件库,用于对所述业务组件进行存储和管理。
一种基于业务组件的应用软件开发方法,包括
根据应用软件待实现功能确定所述功能对应的业务流程拓朴;
根据所述业务流程拓朴确定当前业务流程所需的业务组件及各个业务组 件之间的连接关系;
获取当前业务流程所需的业务组件,并4艮据所述连接关系组装所述业务组 件以形成与所述待实现功能对应的应用软件。
所述获取当前业务流程所需的业务组件具体为 从业务组件库中获取当前业务流程所需的业务组件。 当所述业务组件库中没有所述业务流程所需的业务组件时,新建所需的业 务组件。
所述方法还包4舌
将新建的所述业务组件加入所述业务组件库中。
根据所述连接关系组装所述业务组件以形成与所述待实现功能对应的应 用软件包4舌根据所述连接关系对各个业务组件进行技术要素的配置和定义;
当所述技术要素的配置和定义完成后,按照所述连接关系将各个业务组件
进行连接;
当所述连接完成后,生成代码。 所述生成代码具体为 根据预设配置信息,在指定位置生成代码。 一种基于业务组件的应用软件开发系统,包括 业务组件存储单元,用于存储业务组件;
业务流程确定单元,用于才艮据所获取的待实现的应用软件的功能确定业务 流程拓朴;
业务组件确定单元,用于根据所述业务流程拓朴确定当前业务流程所需的 业务组件以及各个业务组件之间的连接关系;
业务组件获取单元,用于从所述业务组件存储单元中获取当前业务流程所 需的业务组件;
业务组件组装单元,用于根据所述连接关系组装所述业务组件以形成与所 述待实现功能对应的应用软件。 所述系统还包括
业务组件构造单元,用于构造所述业务组件存储单元中没有的新业务组
件;
所述业务组件存储单元,还用于将所述业务组件构造单元构造的新业务组 件进行保存。
所述业务组件组装单元包括
设定子单元,用于根据所述连接关系对各个业务组件进行技术要素的配置 和定义;
组装子单元,用于当所述技术要素的配置和定义完成后,按照所述连接关
系将各个业务组件进行连接;
代码生成子单元,用于当所述连接完成后,生成代码。所述代码生成子单元还包括地址配置模块,用于记录所述代码生成的地
址;
所述代码生成子单元,用于当所述连接完成后,将代码生成到所述代码生 成地址指定的位置。
可见,在本发明实施例中,根据应用软件待实现功能确定所述功能对应的 业务流程拓朴;根据所述业务流程拓朴确定当前业务流程所需的业务组件及各 个业务组件之间的连接关系;在获取当前业务流程所需的业务组件后,根据所 述连接关系组装所述业务组件以形成与所述待实现功能对应的应用软件,本发 明实施例所提供的应用软件开发方法基于业务组件进行的。业务组件具有业务 含义,可以直接表达业务概念,满足了应用软件的业务需求。
图1为本发明一实施例所4是供的业务组件的结构示意图2为本发明一实施例所^是供的方法的流程图3为本发明另一实施例所^是供业务流程拓朴示意图4为本发明一实施例所提供的一系统的结构示意图5为本发明一实施例所提供的一系统中一单元的结构示意图。
具体实施例方式
本发明实施例公开了 一种业务组件及基于业务组件的应用软件开发方法 和系统,为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并 举实施例,对本发明作进一步详细说明。
参见图1,本发明实施例所提供的业务组件包括业务组件接口 101、业务 数据存储单元102和业务逻辑单元103组成,其中
业务组件接口 101,用于为业务数据存储单元102和业务逻辑单元103提 供处理数据并对外提供业务组件lt据处理结果。
业务组件接口是业务组件与其他实体或者用户界面进行信息交互的窗口 。
所述其他实体包括其他的业务组件或者其他信息交互渠道。以金融领域为 例,所述其他信息交互渠道可以是ATM机或者网上银行。
具体地,所述业务组件4妄口包4舌业务组件输入接口和业务组件输出4姿口 ,所述业务组件输入接口用于为业务数据存储单元和业务逻辑单元提供处理数
据;业务组件输出接口则用于提供业务组件数据处理结果。
业务数据存储单元102,用于存储业务组件属性数据和从业务组件接口获 取的业务数据。
业务组件通过特定业务数据表达其业务内容。在业务组件设计过程中,凡 是涉及到业务内容之处,均需使用业务数据集合中的数据,优选地,本发明实 施例中,使用中文作为业务数据的基本文字,例如,在银行应用软件中常见的 客户信息类业务数据有客户号、客户名称、性别、籍贯、生日等;常见的客户 账务信息类的业务数据有账号、分账号、余额、利息积数、透支金额等。
业务逻辑单元103,用于利用从业务组件接口 101和/或业务数据存储单元 102中获取的数据根据当前业务组件的预期功能执行逻辑运算,并将结果输送 给业务组件接口。
所述数据包括业务组件属性数据和从业务组件接口获取的业务数据。 业务逻辑用来表达业务组件的处理逻辑。业务逻辑可以用计算机伪语言的
方式表达,也可以用自然语言形式表达。无论是伪语言的方式还是自然语言的
形式,都有严格的语法要求。
所述业务组件还可以包括业务功能描述单元104,用于说明业务组件的作
用、功能、约束条件和使用方法等。
业务组件是对通过应用软件所对应的业务功能的抽象而形成的。业务组件 通过其业务逻辑单元对数据的处理而具备业务要素,具有业务含义,可以直接 在构建应用软件时根据不同业务组件的业务特点进行使用。业务组件在实现粒 度上要大于技术组件,它本身具有内在的业务涵义,而技术组件本身不具有业 务涵义,其涵义需要应用软件开发人员根据不同的业务语境动态指定。
以下以"新建股东A投资人"业务组件的制作为例,说明业务组件的制作 过程。
首先要确定业务组件功能。本例中,"新建股东/投资人,,组件的业务功能 为根据外部提供的股东或投资人的信息,在目标系统中添加该信息。
然后根据业务组件的功能确定业务组件的接口、业务数据和处理逻辑。本
9例中,业务组件接口包括输入接口和输出接口 ,其中输入接口用于接收待添加 的股东/投资人信息,输出接口用于显示处理结果和提示信息;本例中的业务
数据包括客户关联信息,公司客户基本信息;处理逻辑指示了当前业务组件如
何根据业务组件接口和业务数据处理当前业务,从而实现当前业务组件的功
能。在本例中,所述处理逻辑包括
S1:根据业务组件接口输入的客户信息判断该客户所属客户类型;
S2:根据客户信息中包含的证件类型与证件号码,以及所ii^户类型,从 业务数据存储单元中查询是否存在该客户信息;
S3:如果没有该客户信息,则将此客户信息添加至目标系统中;
S4:通过业务组件接口反馈处理结果信息。
在本发明的另 一实施例中,至少两个业务组件组成业务组件库。
当一个业务组件被建立起来后,可以保存到业务组件库中,通过所述业务 组件库对已经建立的业务组件进行集中保存和管理。
参见图2,本发明实施例还提供一种基于业务組件的应用软件开发方法, 包括
步骤201:根据应用软件待实现功能确定所述功能对应的业务流程拓朴。
通过对待实现功能分析确定实现该功能所需的操作以及具体的处理步骤 形成所述业务流程拓朴。
一个业务流程拓朴包含用户界面层和业务处理层两部分。在用户界面层确 定当前业务流程拓朴所对应功能的界面所嚢括的输入要素、显示要素和界面操 作要素。在业务处理层确定实现当前业务流程拓朴所对应功能的具体处理步
骤。 '
步骤202: 一艮据所述业务流程拓朴确定当前业务流程所需的业务组件及各 个业务组件之间的连接关系。
当一个业务流程拓朴确定之后, 一个功能的实现方式就确定了。图3显示 的是一个实现新增公司客户信货关系功能的业务流程拓朴。由业务流程拓朴确 定,要实现新增公司客户需要执行六个步骤,包括公司客户建档判断、本机构 公司客户判断、公司客户终于信息核对、新增客户档案、建立客户关系以及显示处理结果。其中,根据处理结果的不同所显示的处理结果的内容会有不同。
在确定了实现新增公司客户功能的业务流程拓朴之后,就需要根据所述业 务流程拓朴确定该业务流程拓朴对应的业务组件和各个业务组件之间的连接 关系。
通过前面对业务组件的描述可以知道,业务组件的实质是具有业务要素和 业务含义的功能模块,根据业务流程拓朴确定业务組件及各个业务组件间的连
接关系包括
首先根据业务流程拓朴中的步骤确定各个步骤所对应的业务组件;
然后根据各个步骤之间的逻辑关系确定各个业务组件之间的连接关系。
仍然以图3所示的业务流程拓朴为例。首先由业务流程拓朴确定,要实现 新增公司客户需要执行六个步骤,包括公司客户建档判断、本机构公司客户判 断、公司客户重要信息核对、新增客户档案、建立客户关系以及显示处理结果, 下面以公司客户重要信息核对和建立客户关系两个步骤来说明如何建立不同 业务组件之间的连接关系。
假设步骤公司客户重要信息核对对应的业务组件为Al,那么Al的输入 接口应该接收到待核对的公司信息,然后Al的业务逻辑单元将收到的待核对 信息和Al的业务数据存储单元中存储的业务数据进行核对,如果发现待核对 的公司信息是公司客户,那么就将核对的结果通过A1的业务组件输出接口输 出给下一步骤对应的业务组件,即建立客户关系对应的业务组件A2, A2通过 自身的业务组件输入接口接收Al的结果。相应的,如果A1的业务逻辑单元 通过核对发现待核对的公司信息不是公司客户,那么可以直接通过A1的业务 组件输出接口将结果进行显示。
业务流程中的所需的业务组件可从预先建立的业务组件库中选取。 如果业务组件库没有现成的业务组件,可以直接才艮据业务要求建立临时业 务组件,并对临时业务组件进行业务功能描述。经后续设计开发工作,完成组 件开发以后,将临时组件转变为正式组件,加入到组件库中,以供后续应用软 件设计时使用。
步骤203:根据所述连接关系组装业务组件以形成与所述待实现功能对应的应用软件。
如前所述,此时已经确定了待实现功能所需的业务组件和组件之间的连接 关系,根据所述连接关系将各个组件进行组装即可以生成与待实现功能相对应 的应用l欠件。
组装业务组件是指在业务流程拓朴所对应的业务组件确定完毕并且业务 组件库中没有的业务组件也制作完成后,按照业务流程拓朴确定的各个业务组 件之间的连接关系对各个业务组件进行技术要素的配置和定义,如属性修改、 输入输出值定义等,为完成应用程序生成做技术准备工作。
当完成业务组件组装后执行"生成代码,,操作,可以根据系统代码生成的 规则和要素,从业务组件代码自动生成编程语言与目标操作系统相对应的程序 代码。
在本发明一实施例中,生成的代码可以根据地址配置信息,直接生成到指 定的服务器的物理路径之下。
优选地,在本发明另一实施例中,生成的代码可以直接编译运行。
至此,生成了与待实现功能相对应的应用程序软件。
本发明实施例所提供的应用软件开发方法是基于业务组件进行的。业务组 件具有业务含义,可以直接表达业务概念。对于某一个行业来说,许多功能的 实现会用到共同的业务组件,所以提高了业务组件的重用性。
当随着实际应用的需要,某个应用软件的功能发生变化时,只需要将新功 能的业务流程拓朴与原功能的业务流程拓朴进行比较,调整改变后的业务组件 即可,能够满足用户多样化的业务需求。
本发明实施例以一个待实现功能为例对本发明实施例所提供的基于业务 组件的应用软件的开发方法进行了说明,但是,当待实现的功能为多个时,可 以通过对多个功能进行分解,对每个功能均可参照本发明实施例所提供的方法 来开发对应的应用库欠件,本发明对此不再赘述。
与方法实施例相对应,本发明实施例还提供一种基于业务组件的应用软件
开发系统,参见图4,该系统包括
业务组件存储单元401,用于存储业务组件;在实际应用中,所述业务组件存储单元可以由业务组件库来实现。 业务流程确定单元402,用于根据所获取的待实现的应用软件的功能确定
业务流程拓朴;
业务组件确定单元403,用于根据所述业务流程拓朴确定当前业务流程所 需的业务组件以及各个业务组件之间的连接关系;
业务组件获取单元404,用于从所述业务组件存储单元中获取当前业务流 程所需的业务组件;
业务组件组装单元405,用于根据所述连接关系组装所述业务组件以形成 与所述待实现功能对应的应用软件。
具体地,参见图5所述业务组件组装单元405包括
设定子单元501,用于一艮据所述连接关系对各个业务组件进行技术要素的 配置和定义;
组装子单元502,用于当所述技术要素的配置和定义完成后,按照所述连 接关系将各个业务组件进行连接;
代码生成子单元503,用于当所述连接完成后,生成代码。 优选地,在本发明另 一实施例中,所述代码生成子单元还可以包括一个地 址配置模块,用于记录所述代码生成的地址;
所述代码生成子单元503,用于当所述连接完成后,将代码生成到所述代 码生成地址指定的位置。
当某个功能涉及道的业务组件不包括在业务组件存储单元时,就需要构建 新的业务组件,故在本发明另 一实施例中,图4所示的系统还包括
业务组件构造单元406,用于根据业务组件待实现功能构造业务组件;
所述业务组件存储单元401 ,还用于将所述业务组件构造单元构造的业务 组件进行保存。
本发明实施例所提供的应用软件开发系统是基于业务组件进行的。业务组 件具有业务含义,可以直接表达业务概念。对于某一个行业来说,许多功能的 实现会用到共同的业务组件,所以提高了业务组件的重用性。当随着实际应用的需要,某个应用软件的功能发生变化时,只需要将新功 能的业务流程拓朴与原功能的业务流程拓朴进行比较,调整改变后的业务组件 即可,能够满足用户多样化的业务需求。
本发明实施例所提供的系统以具有业务含义的业务组件为基础开发应用
发周期长、软件适应性差、维护费用高的缺点。
本发明实施例以一个待实现功能为例对本发明实施例所提供的基于业务 组件的应用软件的开发系统进行了说明,但是,当待实现的功能为多个时,可 以通过对多个功能进行分解,对每个功能均可参照本发明实施例所提供的系统 来开发对应的应用软件,本发明对此不再赘述。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例 如程序模块。 一般地,程序模块包括执行特定任务或实现特定抽象数据类型的 例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本 发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来 执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地 和远程计算机存储介质中。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通 技术人员来说,在不脱离本发明原理的前提下,还可以做出若千改进和润饰, 这些改进和润饰也应视为本发明的保护范围。
权利要求
1、一种业务组件,其特征在于,包括业务组件接口、业务数据存储单元和业务逻辑单元,其中所述业务组件接口,用于为业务数据存储单元和业务逻辑单元提供处理数据并对外提供业务组件数据处理结果;业务数据存储单元,用于存储业务组件属性数据和从业务组件接口获取的业务数据;业务逻辑单元,用于利用从业务组件接口和/或业务数据存储单元中获取的数据根据当前业务组件的功能执行逻辑运算,并将结果输送给业务组件接口。
2、 根据权利要求1所述的业务组件,其特征在于,还包括至少两个业务组件组成业务组件库,用于对所述业务组件进行存储和管理。
3、 一种基于业务组件的应用软件开发方法,其特征在于,包括根据应用软件待实现功能确定所述功能对应的业务流程拓朴;根据所述业务流程拓朴确定当前业务流程所需的业务组件及各个业务组 件之间的连接关系;获取当前业务流程所需的业务组件,并根据所述连接关系组装所述业务组 件以形成与所述待实现功能对应的应用软件。
4、 根据权利要求3所述的方法,其特征在于,所述获取当前业务流程所 需的业务组件具体为从业务组件库中获取当前业务流程所需的业务组件。
5、 根据权利要求4所述的方法,其特征在于,当所述业务组件库中没有 所述业务流程所需的业务组件时,新建所需的业务组件。
6、 根据权利要求5所述的方法,其特征在于,还包括 将新建的所述业务组件加入所述业务组件库中。
7、 根据权利要求3 6任意一项所述的方法,其特征在于,根据所述连接关系组装所述业务组件以形成与所述待实现功能对应的应用软件包括根据所述连接关系对各个业务组件进行技术要素的配置和定义;当所述技术要素的配置和定义完成后,按照所述连接关系将各个业务组件进行连接;当所述连接完成后,生成代码。
8、 根据权利要求7所述的方法,其特征在于,所述生成代码具体为 根据预设配置信息,在指定位置生成代码。
9、 一种基于业务组件的应用软件开发系统,其特征在于,包括 业务组件存储单元,用于存储业务组件;业务流程确定单元,用于根据所获取的待实现的应用软件的功能确定业务 流禾呈拓朴;业务组件确定单元,用于根据所述业务流程拓朴确定当前业务流程所需的 业务组件以及各个业务组件之间的连接关系;业务组件获取单元,用于从所述业务组件存储单元中获取当前业务流程所 需的业务组件;业务组件组装单元,用于根据所述连接关系组装所述业务组件以形成与所 述待实现功能对应的应用软件。
10、 根据权利要求9所述的系统,其特征在于,还包括 业务组件构造单元,用于构造所述业务组件存储单元中没有的新业务组件;所述业务组件存储单元,还用于将所述业务组件构造单元构造的新业务组 件进行保存。
11、 根据权利要求9所述的系统,其特征在于,所述业务组件组装单元包括设定子单元,用于冲艮据所述连接关系对各个业务组件进行技术要素的配置 和定义;组装子单元,用于当所述技术要素的配置和定义完成后,按照所述连接关系将各个业务组件进行连接;代码生成子单元,用于当所述连接完成后,生成代码。
12、根据权利要求11所述的系统,其特征在于,所述代码生成子单元还包括地址配置模块,用于记录所述代码生成的地址;所述代码生成子单元,用于当所述连接完成后,将代码生成到所述代码生 成地址指定的位置。
全文摘要
本发明实施例公开了一种业务组件及基于业务组件的应用软件开发方法和系统,其中所述基于业务组件的应用软件开发方法包括根据应用软件待实现功能确定所述功能对应的业务流程拓扑;根据所述业务流程拓扑确定当前业务流程所需的业务组件及各个业务组件之间的连接关系;在获取当前业务流程所需的业务组件后,根据所述连接关系组装所述业务组件以形成与所述待实现功能对应的应用软件,本发明实施例所提供的应用软件开发方法是基于业务组件进行的。业务组件具有业务含义,可以直接表达业务概念,满足应用软件的业务需求。
文档编号G06F9/44GK101593111SQ200910141310
公开日2009年12月2日 申请日期2009年5月31日 优先权日2009年5月31日
发明者建 吕, 孔宪武, 超 宋, 王世栋, 胡昊翔, 波 赵, 韩文学 申请人:大连新中连软件集团有限公司