韩冰 钟声
摘要:软件复用是在软件开发中充分利用已有资源提高开发效率的解决方案。但在信息管理系统软件开发过程中普遍存在着需求复杂,开发工作量大、开发时间长、开发内容重复等突出问题,使得软件开发的效率和质量受到严重影响。构件技术是一种复用和快速组装的软件技术,能够提高软件开发效率,减少重复开发。在信息管理系统软件开发中引入构件技术,有利于提高软件的可扩展性和易维护性。
关键词:构件;软件复用;软件构件技术;软件开发;信息管理系统
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)34-8155-02
信息管理系统软件的开发,其面向的领域多样,需求变化快,所耗费的开发时间和工作量巨大,容易导致开发的效率和质量低下。而软件复用是在软件开发中充分利用已有资源提高开发效率的解决方案。基于软件复用理论的软件构件技术,是一种能够充分利用原有资源并快速组装软件的软件技术,将构件技术引入到信息管理系统软件开发中来,将有效的提高信息管理系统软件的开发效率和质量。
软件构件是指软件系统中具有明确标识、具备独立的功能、可重复使用的构成部分。它通过对软件对象单元的封装,并且可利用封装好的构件组装成一个更大的软件系统。将整个应用系统看成是一个可由各种零件(构件)拼装而成的系统,通过使用构件来集成开发和更新系统,通过定制和替换可复用的构件为维护和更新系统提供支持,把软件开发的重心转向对构件的开发、筛选和配置。这种新的方法称为基于构件的软件工程(ComponentBasedSoftwareEngineering,CBSE)[1]。
基于构件的软件开发(Component-BasedSoftwareDevelopment,CBSD),它提供了一种通过复用已有的或预先定制包装好的封装对象(构件)来组装软件应用系统的方法。构建一个软件应用系统,会使用到大量原有构件模块,这些构件可能是面向不同领域的,在不同开发环境,由不同人员在不同时间开发的,它们之间存在着一定差异性。在这种情况下,应用系统的开发过程就变成排除构件之间的差异性,探索构件一致性的过程。CBSD将软件开发中程序代码编写转变为对已有构件的筛选和组装,用更高的效率来完成应用系统的构造,减轻系统升级和维护负担,从而降低软件开发的成本[1]。
1构件技术在信息管理系统中的应用
1.1构件库管理软件
基于构件的软件开发其最明显的特点在于它在软件生命周期的各个阶段中,工作的基础不再是一无所有,软件开发人员可以在已有的构件资源中检索和筛选软件开发需要的构件,因此,基于构件的软件开发需要包含有大量构件的构件库做开发支持。为了能够满足多种信息管理系统开发的需要,构件库中应含有大量各种类型的构件,构件库中的构件应具备明确标识,能够实现构件的分类、检索、维护等。为此,需要专门的构件库管理软件来完成这些工作。它应具备以下几种功能:
1)构件存取功能—对构件库构件的检索、插入、修改和删除。
2)构件库运行管理功能—包括构件的识别、提取、执行和维护等。
3)构件分类、组织和管理功能—可以识别构件类型,并依据分类来管理各类构件。
4)构件库的创建和维护—可以创建新的构件库、实现构件库的恢复和转储、构件库的重构造与重组织以及性能检测分析等功能。
5)支持构件组合。
1.2构件的层次结构
构件的体系结构是分层体系结构,共分三层:系统构件层、通用构件层和专用构件层[2]。系统构件指在整个软件体系结构内都使用的构件。一般来说,它们都是开发工具提供的。通用构件又称为支撑构件,例如通用的数据查询模块、数据浏览模块等。通用构件一般是利用系统构件生成的。目前国内外已有大量产品,但为了适应具体的应用领域,常常需要二次开发。至于领域专用构件,国内外均在发展之中,而且不同的应用领域需求也不一样,一般需要专门开发[2]。
1.3构件的开发
CBSD整个过程从需求开始,首先建立系统的需求规约。在完成体系结构设计后,确定应用系统中可通过构件组装来构建的部分,而对于系统中无法通过构件组装来构建的部分,就需要开发人员采用其他方式开发新构件。对于那些可以用以构建应用系统的构件,开发人员一般需要进行如下活动:
构件鉴定(qualification):每个构件都需通过其约束条件和构件接口来判断构件是否可用以构建新系统。构件鉴定分为发现和评估两个阶段。发现阶段应对构件的各种属性做出明确鉴别,如构件的有用性(构件是否提供了满足需求的服务)及其可移植性(构件能够在何种环境下工作)、构件的质量属性(构件能够正确运行)等。构件由于其结构复杂,属性难以获取,使得构件的发现难度较大。评估阶段则依据应用系统的需求和构件属性判断构件是否符合新系统需求并可以在新系统中复用。
构件适配(adaptation):构件的集成是基于系统软件体系结构的设计,因此对于构件运行上下文及构件接口的一致性做出了严格的规定,系统对于构件的设计规则、连接关系和通信模式必须做出明确定义。如果采用不符合要求的构件来组装新系统,该构件有可能在新系统中无法正常工作,甚至导致整个系统的运行出现问题,这种情形称为失配(mismatch)。对构件属性及其接口进行调整,使之能够和体系结构对构件一致性要求相匹配的行为就是构件适配。如果通过对构件的修改和重新配置,仍然无法适配,那就只能重新寻找或定制其它适合的构件。
构件组装(composition):构件必须通过良好的软件体系结构规则才能组装成目标系统。体系结构的设计决定了构件之间连接和通信的方式,也决定了构件的组装机制,是构件能否成功组装的关键因素之一。
构件更新(update):随着软件技术的不断发展和系统需求的不断变化,对构件的要求也在不断变化,直接体现为对构件的替换或增加,其关键在于如何保证新构件不会影响到其他构件和整体系统的运行,只要通过对新构件的充分测试来保证其正确运行。
1.4信息管理系统的生成
基于构件的开发方法就是按照领域构架确定本系统哪些部分可采用构件组装,由于信息惯例系统有其特殊需求,因此软件构架和构件需依据其特殊需求进行特化处理,并依据信息管理系统软件构架的要求开发专用构件,然后在软件构架的基础上,将领域构件和系统专用构件组装成一个完整的信息管理系统[3]。具体步骤如下:
1)对信息管理系统进行需求分析,确定系统的数据流程和业务流程,获取系统的功能需求、性能需求、运行需求等。
2)根据应用需求,抽象出功能对象,明确划分功能对象与外界的接口,以此为基础,对数据流和业务流进行功能分割。分割的原则:业务流之间的联系尽量少,降低构件间的链接复杂性。
3)将以上结果映射为构件,准确区分通用性构件和专用性构件。根据构件各自的特性,分别采用不同的生成与获取方式。
4)系统动态集成。根据系统需求进行构件的组装。
5)系统测试。根据需求分析中所获取的功能需求,性能需求等设计测试用例,对系统进行全面测试,发现问题并及时解决问题。
6)提交用户,系统运行。
2结束语
构件技术的出现,使得各种技术形成的各种类型的软构件可以最大程度地得到复用,极大地满足了多个应用领域的要求。通过对多个领域的信息系统分析发现,在信息管理系统中,不同领域内对信息系统的需求存在有共通性,利用构件的复用技术,可以较大程度的提高信息管理系统的开发效率。但在利用构件技术实现信息系统的组装上仍存在一系列的问题。如何有效提取和鉴别可复用的构件;如何对已有构件资源实施有效地组织和管理并能充分利用各个应用领域的构件资源;如何进一步优化构件的组装等等,我们正是缺少了一个以面向构件开发为核心的系统化的开发环境。虽然这条道路还很漫长,但我们有理由相信,构件化软件必然是未来软件的发展方向。
参考文献:
[1]杨璇.基于构件的企业信息系统架构模式的研究与应用[J].新疆大学学报:自然科学版,2009(1):111-114.
[2]王继成.软构件技术及其在MIS中应用的研究[J].计算机应用研究,2003(6):7-9.
[3]张丹,赵记涛,张世虎.基于构件技术的企业MIS开发及应用[J].现代电子技术,2007(24):96-97.
[4]贾文峰.基于软件构件的MIS开发研究[J].洛阳大学学报,2007(2):87-90.
[5]任午令,唐任仲,郭尚鸿,等.基于构件的企业应用集成技术[J].浙江大学学报:工学版,2007,41(8):1283-1287.
[6]蒋蕊,王德占,卢志舟.基于构件的企业快速可再构信息系统开发集成模型[J].物流技术,2008,27(1):102-103.
[7]何毅俊,徐楠,陈松乔.基于XML的构件组装平台的设计与实现[J].计算机测量与控制,2007,15(7):933-936.
[8]李岱峰,覃正,王永鑫.基于业务构件的企业信息整合应用研究[J].郑州大学学报:哲学社会科学版,2006,39(5):97-100.