本发明面向软件过程管理领域,特别涉及一种软件构件库与构件开发工具的集成系统与方法。
背景技术:
软件过程(softwareprocess)是由一套关于项目的阶段、状态、方法、技术和开发、维护软件的人员以及整个软件生命周期的各个阶段(计划、文档、模型、编码、测试、手册等)组成。
软件开发过程包括设计软件的功能和实现的算法和方法、软件的总体结构设计和需求、模型、构件等模块设计、编程和调试、程序联调和测试以及编写、提交程序等一系列操作,软件工程过程的管理等方面。
软件过程的控制、预测和改进需要可信的和准确的数据,随着计算机软件的自身规模和精细程度的日益提升,软件开发过程已经发展为一个多要素相互联系、支持、影响和制约的复杂过程,为了对软件开发的整体过程实施有效的决策、规划、管理与考核,为了确保软件质量和提高产品竞争力,需要对软件开发过程进行数据管理,为快速开发高质量软件、有效地维护软件运行等各类活动提供指导性框架、实施方法和最佳实践。
构件是软件开发过程中需要管理的重要对象。构件是可供组装和复用的软件组成部分,具有相对独立的功能,以及按预定规则定义的接口,可被用来构造软件。构件一般是由第三方通过构件开发工具所开发的。
构件作为软件开发过程当中的管理对象,其是由独立的构件开发工具产生的,来源广泛,而且其组成和形式都更为复杂。因此,面向构件的管理形成可用、高效的数据库,并且实现与构件开发工具的集成化的难度比较大,是现有技术中需要解决的一个关键性问题。
技术实现要素:
本发明的目的在于针对软件开发过程中对构件的管理存在不足的现状,提出了一种软件构件库与构件开发工具的集成系统与方法。本发明针对构件的开发,实现了构件管理系统与构件开发工具的集成,通过约定的数据接口实现构件开发工具与构件库的数据交换。为构件开发工具提供构件库访问接口,支持构件设计、删除、新建和修改的功能,实现构件开发工具的结果与构件库同步。
本发明的技术方案具体如下面所描述:
一种软件构件库与构件开发工具的集成系统,其特征在于,包括:
构件开发工具集成接口,用于与外部的构件开发工具之间的数据交换,该接口的交换数据包括构件描述xml文件和构件包;
构件开发工具集成模块,是构件库的构件管理系统的一部分,用于通过构件开发工具集成接口实现构件开发工具与构件库的数据交换,为构件开发工具提供构件库访问接口,实现构件加载与解析入库、构件导出以及构件删除,并用于更新构件库从而实现构件开发工具的结果与构件库同步。
优选的是,所述构件描述xml文件包括由构件开发工具生成的描述构件基本信息和构件内部关联信息的xml标记;所述构件包是由构件开发工具对构件模型文件和构件实现代码文件按照规定的文件目录结构打包压缩形成的。
优选的是,为了将构件研发工具所生成的构件高效加入构件库,并实时更新构件库的状态,所述构件开发工具集成模块包括:加载构件并解析入库单元,该单元用于加载构件研发工具所生成的构件描述xml文件和构件包,通过解析构件描述xml文件获取构件基本信息,构件模型描述信息和构件实现代码描述信息,并将以上信息以及构件包保存到构件库;相应地更新构件库的构件时态信息和状态信息。
优选的是,为了便于对构件库中的构件进行高效和方便的导出和应用,所述构件开发工具集成模块进一步包括:出库构件并导出单元,该单元用于浏览构件,并且根据构件基本信息、构件模型描述信息和构件实现代码描述信息、构件包生成构件描述xml文件和构件包,对外导出所生成的构件描述xml文件和构件包,并更新构件库的构件时态信息和状态信息。
优选的是,为了便于删除构件库中已有的构件,从而实现构件库的精简与更新,所述构件开发工具集成模块进一步包括:删除构件并更新构件库单元,该单元用于将构件删除,并更新构件时态信息和状态信息。
本发明提供了一种软件构件库与构件开发工具的集成方法,其特征在于,包括以下步骤:
通过构件开发工具集成接口与外部的构件开发工具之间进行数据交换,该接口的交换数据包括构件描述xml文件和构件包;
通过构件开发工具集成模块为构件开发工具提供构件库访问接口,实现构件加载与解析入库、构件导出以及构件删除,并用于更新构件库从而实现构件开发工具的结果与构件库同步。
优选的是,所述构件描述xml文件包括由构件开发工具生成的描述构件基本信息和构件内部关联信息的xml标记;所述构件包是由构件开发工具对构件模型文件和构件实现代码文件按照规定的文件目录结构打包压缩形成的。
优选的是,为了将构件研发工具所生成的构件高效加入构件库,并实时更新构件库的状态,所述集成方法包括加载构件并解析入库步骤,该步骤中,加载构件研发工具所生成的构件描述xml文件和构件包,通过解析构件描述xml文件获取构件基本信息,构件模型描述信息和构件实现代码描述信息,并将以上信息以及构件包保存到构件库;相应地更新构件库的构件时态信息和状态信息。
优选的是,为了便于对构件库中的构件进行高效和方便的导出和应用,所述集成方法包括导出构件步骤,该步骤中,浏览构件,并且根据构件基本信息、构件模型描述信息和构件实现代码描述信息、构件包生成构件描述xml文件和构件包,对外导出所生成的构件描述xml文件和构件包,并更新构件库的构件时态信息和状态信息。
优选的是,为了便于删除构件库中已有的构件,从而实现构件库的精简与更新,所述集成方法进一步包括:删除构件并更新构件库步骤,该步骤中,将构件删除,并更新构件时态信息和状态信息。
可见,通过本发明的软件构件库与构件开发工具的集成系统与方法,提供了软件构件库及其构件管理系统与外部的构件开发工具之间有效的交互方式,本发明既是构件管理系统的一部分,又是构件管理系统与构件开发工具之间的接口,实现了面向第三发构件开发工具的集成,有利于将开发构件纳入构件库进行维护、管理以及应用,达到了构件开发过程管理的规范化和系统化。
附图说明
下面结合附图对本发明进行进一步详细的描述,以使得本发明的上述优点更加明确。
图1是本发明所述系统的构件开发工具集成接口示意图;
图2是本发明的构件包文件目录结构示意图;
图3是本发明所述构件管理系统的组成结构示意图;
图4是本发明所述构件管理系统的部件关系示意图;
图5是本发明所述加载构件并解析入库单元的操作流程图;
图6是本发明所述出库构件并导出单元的操作流程图;
图7是本发明所述删除构件并更新构件库单元的操作流程示意图。
具体实施方式
下面结合附图对本发明作进一步详细的描述。
为了实现与位于本系统外部的构件开发工具的集成,本系统提供了一个构件开发工具集成接口。该接口作为本系统连通外部的接口,如图1所示,实现与外部的构件开发工具之间的数据交换,该接口的交换数据包括构件描述xml文件和构件包。
构件开发工具开发生成对于构件基本信息和构件内部关联信息的构件描述xml文件;同时,构件开发工具将构件模型文件和构件实现代码文件按照规定的文件目录结构打包压缩形成构件包。
构件描述xml文件采用xml标记文本的格式,具体如下所示:
构件包所采用的文件目录结构如图2所示,每个构件的构件包包括若干的构件模型,构件模型包含模型描述文件、cdl文件、图形描述文件、说明文件以及一个或多个构件实现代码。构件实现代码包括.project文件、测试桩代码、驱动程序和边界值测试用例。
图3所示为软件构件管理系统的结构组成示意图。软件构件管理系统用于软件开发过程中对构件库的实现和管理。该系统包括5个一级部件和21个二级部件。其中5个一级部件如下:构件开发工具集成模块、构件库存储模块、构件库管理模块、构件时态应用模块和构件开发过程支持模块。构件开发工具集成模块包括3个二级部件:加载构件并解析入库单元,出库构件并导出单元,以及,删除构件并更新构件库单元。构件库存储模块包括5个二级部件:构件基本信息存储单元,构件模型存储单元,构件实现代码存储单元,构件应用情况信息存储单元,以及,构件时态信息存储单元。构件库管理模块包括5个二级部件:构件浏览单元、构件入库单元、构件修改单元、构件出库单元和构件删除单元。构件库时态应用模块包括2个二级部件:时态查询单元和时态演化图生成单元。构件开发过程支持模块包括6个二级部件:构件出入库单元,构件评审单元,构件变更单元,构件跟踪单元,版本控制单元,以及,构件管理数据统计分析单元。
图4示出了本系统的上述各部件的部件关系。下面结合图4,对该软件构件管理系统各部件的功能及其实现方式与流程进行详细介绍。
构件开发工具集成模块用于实现本系统与构件研发工具的集成,通过约定的数据接口(即上述构件开发工具集成接口)实现构件开发工具与构件库的数据交换;为构件开发工具提供构件库访问接口;支持构件新建、修改和删除的功能。
构件库存储模块用于存储构件基本信息、构件模型、构件实现代码、构件应用情况和构件时态信息。
构件库管理模块用于对构件库执行基本操作,包括构件浏览、构件入库、构件修改、构件删除和构件出库。
构件时态应用模块用于实现构件时态查询,以及生成和显示时态演化图。
构件研发过程支持模块用于实现软件研发过程中的支持功能,包含构件出入库、构件评审、构件变更、构件跟踪、版本控制和构件管理数据统计分析。
本发明所提供的一种软件构件库与软件研发工具的集成系统用于实现上述软件构件管理系统与外部的软件构件开发工具之间的集成与交互,从而将软件构件开发工具的构件纳入构件库,并且通过构件库对构件开发工具的开发提供支持和管理。
本发明所述的集成系统包括所述构件开发工具集成接口和所述构件开发工具集成模块。所述构件开发工具集成接口用于实现与外部的构件开发工具之间的数据交换;所述构件开发工具集成模块在通过该接口与构件开发工具实现数据交换的基础上,进而为构件开发工具提供构件库访问接口,支持构件设计、删除、新建和修改的功能,实现构件开发工具的结果与构件库同步。
具体来说,所述构件开发工具集成模块包括:加载构件并解析入库单元,该单元用于加载构件研发工具所生成的构件描述xml文件和构件包,通过解析构件描述xml文件获取构件基本信息,构件模型描述信息(模型描述和物理地址)和构件实现代码描述信息(实现代码描述和物理地址),并将此信息保存到构件库;相应地更新构件库的构件时态信息和状态信息。加载构件并解析入库单元通过所述接口输入构件描述xml文件和构件包,向系统输出构件基本信息,模型描述信息,构件实现代码描述信息,构件包,以及入库成功或入库失败的提示信息。加载构件并解析入库单元的具体操作流程如图5所示,包括以下流程:
(1)构件研发人员在构件研发工具中开发构件,生成构件基本信息和构件内部关联信息的构件描述xml文件,同时将构件模型文件和构件实现代码文件按照图2中的文件目录结构打包压缩生成构件包。
(2)通过构件开发工具集成接口将构件描述xml文件和构件包上传到本系统,由加载构件并解析入库单元解析构件描述xml文件;判断解析是否成功,如果失败则重新加载构件描述xml文件和构件包再次解析,如果成功则进入下一步;
(3)加载构件并解析入库单元将解析出的构件基本信息、构件模型描述信息(模型描述和物理地址)和构件实现代码描述信息(实现代码描述和物理地址)、构件包(服务器端的物理文件)加上构件标识和版本标识。调用构件导入的数据接口将数据存入构件库并更新构件库的构件时态信息和状态信息。
(4)判断入库是否成功,若成功则结束本操作;或失败则返回上一步(3)。
所述构件开发工具集成模块进一步包括:出库构件并导出单元,该单元用于浏览构件,并且根据构件基本信息、构件模型描述信息(模型描述和物理地址)和构件实现代码描述信息(实现代码描述和物理地址)、构件包(服务器端的物理文件)生成构件描述xml文件和构件包,对外导出所生成的构件描述xml文件和构件包,并更新构件库的构件时态信息和状态信息。出库构件并导出单元输入构件基本信息、构件模型描述信息、构件实现代码描述信息和构件包,对外输出构件描述xml文件和构件包,以及出库成功或出库失败的提示信息。具体处理流程如图6所示,包括以下流程:
(1)调用构件库的构件浏览功能,浏览构件库,由用户选择需要导出的构件。
(2)出库构件并导出单元调用构件库的构件导出功能导出构件,生成构件描述xml文件和构件包,并更新构件库的构件时态信息和状态信息。
(3)判断导出是否成功,如果导出成功则对外输出导出的构件描述xml文件和构件包;如果失败则返回步骤(1);并且,返回导出成功/失败提示信息。
所述构件开发工具集成模块进一步包括:删除构件并更新构件库单元,该单元用于将构件删除,并更新构件时态信息和状态信息。该单元输入为构件目录,输出为删除标识,构件描述xml文件,以及删除成功或删除失败的提示信息。具体处理流程如图7所示,包括以下流程:
(1)调用构件库的构件浏览功能,通过构件库的构件目录树浏览构件库,用户选择需要删除的构件
(2)删除构件并更新构件库单元删除该构件,并将删除标识记录在构件描述xml文件中,生成构件描述xml文件,并通过构件修改功能更新构件时态信息和状态信息
(3)判断删除是否成功,如果删除成功则结束本操作;如果失败则返回步骤(1);并且,返回删除成功/失败提示信息。
可见,通过本发明的软件构件库与构件开发工具的集成系统与方法,提供了软件构件库及其构件管理系统与外部的构件开发工具之间有效的交互方式,本发明既是构件管理系统的一部分,又是构件管理系统与构件开发工具之间的接口,实现了面向第三发构件开发工具的集成,有利于将开发构件纳入构件库进行维护、管理以及应用,达到了构件开发过程管理的规范化和系统化。
上述具体实施仅仅是示例性的,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行各种改进和变形,而这些改进或者变形落在本发明的保护范围内。本领域技术人员应该明白,上面的具体描述只是为了解释本发明的目的,并非用于限制本发明。本发明的保护范围由权利要求及其等同物限定。