首页 > 文章中心 > 正文

软件开发中对构件的研究与合成

软件开发中对构件的研究与合成

摘要:随着我国的快速发展,科学技术的发展有很大的提升。针对软件的开发和在软件的性能上,有着高质量和不同程度的要求。在现在科技迅速发展的社会,传统的软件开发,已经不能满足社会的需要,同时人们生活的快速发展在需求上也越来越多。传统的软件开发面临着被淘汰的危险。基于构件的软件开发、开发的方法和各种优势已经是现在相关研究关注的方向。通过基于构件的软件开发中对构件的开发和方法技术上以及技术合成上进行了分析和研究,为以后在软件的研究中提供一些有益的参考。

关键词:软件重用;构件;构件合成;软件开发

每个软件的生存有着每个软件的周期性,一般软件都包括着很多种维护的阶段,一般都包含着分析和测试及编码等等。针对软件的开发,在各个方面都是在重复运行的反复工作的,对生产上大大地减少了效率,同时针对质量上也是不能控制的。软件的开发有很强的转变性,从各个方面都要进行转变,将是一个很复杂的工程。随着信息时代的趋势,软件的开发也在快速地发展,对于软件重用技术上还没有很好的解决方案进行解决。对于软件的开发有很高的期望,是可以使我们的发展道路走上工程化和产业化的一种希望。在软件的开发过程中常常有很多重复劳动,使得软件生产效率降低,软件产品质量也不能得到确切的保证。因此,软件的生产方式亟待一次根本性转变。随着面向对象技术的发展,软件重用技术成为一种可行的解决方案,被视为软件开发真正走上工程化和产业化道路的希望。基于构件的软件开发技术(Component-basedSoftwareDevelop-ment简称CBSD)就是应这一需要而产生的。

1开发意义

针对基于构件的软件开发,是一种特殊的软件,可以进行重复软件的运用,是一种基于分布目标的手段。不同的技术互相连接着,各种不同的因素相结合在一起。相结合的结果体现了共同实现软件重复运用的关键。一般普通软件的开发,主要是侧重于编写程序。但是基于构件软件开发,主要是侧重于构件的组装上,可以很好地对构件的系统完善,同时减少了侧重于软件维护的方向。在针对系统升级和开放中,可以大幅度地减少所需要的各种人力物力。基于构件的研究,主要是把软件进行分解,针对每一个分解成独立的单元。这种软件部件的思想早在Ada语言中的Package机制中已有了雏型,直到面对的对象,在技术上对对象的概述上可以进发现,针对软件部件的生产上有很好的奠基作用。如图1所示。所提到的软件部件简称为构件,以下是构件的基本概念。构件(component)是指一种特殊的软件,有着封装和规范以及可重复软件运用等优点,同时也是组成构件的主要因素,构件的基本特征主要包含以下几点:(1)构件是一种具有独立性的、可传递性的、来进行操作上的结合。(2)构件是软件开发时一个具有特殊性的软件,也是一种不可独特的软件单元,位于一个特殊的主要核心位置;同时对设计方面决定着封装,体现了一个大单元的小部分和其他构件一起结合而组成的。(3)构件的组成部分主要是很多的对象类所结合在一起所组成的,在某种物理意义的包。(4)构件自身带有一种特定性,是可以根据进程边界进行跨越式的操作,针对网络的实现,网络的语言和相关的开发软件上都是处于一个独立的对象,在操作系统上也是处于一个独立的对象,实现了可以随时使用的方便快捷优点。(5)构件具有的特殊性,在某种意义上可以随时随地进行分离,其软件系统具有标准化,以及重复运用性较强的的优点。

2构件组成

2.1形式化的构件陈述构件可以根据一个四元组来体现:构件其中包含着:(1)构件标识符;(2)构件说明;(3)构件体;(4)接口。如果进行构件的说明和构件体两种元组进行分离,要同时考虑一个问题,是通过很多程度设计的不同种类进行语言设计的体现;同时同一个构件也可以用很多不同构件体进行语言实现。在上一章就已经提过软件接口。其中构件的接口不单单只是靠外部物理来实现接口的作用,还可以进行外部逻辑接口的作用;针对外部逻辑接口,主要是提供一个形式化的构件,给用户提供各种功能的介绍,可以更方便进行对用户的心理受众情况以及对构件使用的普及。

2.2构件设计构件的设计可以从3个层次进行分析,如图2所示。针对构件的介绍中,主要是对构件功能的介绍和普及,对于构件的各种功能都很详细地了解。对构件的重要方面进一步进行标识,对构件功能的描写上,就只是单单地给用户提供外部逻辑接口的有效作用。具有逻辑设计的构件必须要在规范的情况下进行,主要是规范构件的语言定义,还通过构件操作来进行语言逻辑上的设计。其中逻辑性的设计和物理性设计是分开进行的,可以对构件语言上不同的种类进行实现。构件的发展也随着构件的规划越来越标准化,对构件未来在设计上的开发不再具有独立性,都是由构件制造商来进行开发。这样对用户系统的开发,可以更好地将周期缩短,同时在质量上可以很好地控制并有很高的稳定性。

2.3构件生命周期构件的特殊性体现了一种动态的定义,有一个独立的生命周期,其运行需要空间大、占内存多。针对构件的发展过程,有很多的构件在发展过程中被淘汰,其中对激活的构件是通过事件的发生来进行的,通过事件的发生消息和过程以及指令等方面来进行的。

2.4构件与对象的区别构件和对象,粗略看来概念有点相似。深入分析一下,他们有着本质上的区别。表1给出它们在概念上的区别与不同。如表1所示。

3构件合成技术

针对构件的合成,主要是先从找原件开始进行,对内部的结构进行定义以及对外部接口的定义。其中接口的定义体现了内部系统的状况,但是系统的总体不只是所有各个部件的组成来实现的,系统的总体要多样化和个性化,对于构件的合成技术是非常重要的。

3.1构件合成的定义构件的合成定义,由参照Nierastrasz和Dami的进行定义,然后进行软件的合成,主要通过构件软件插口连接起来,来进行主要构造过程;其中对于软件插口的描述,主要是体现构件之间的产生的作用方法。其中构件合成可以分两大基本类型:(1)构件可以被合成进系统,但是又可以成为组成系统的一小部分。在这种环境下,构件将会被编译,而且也会被链接到系统成为内部合成部分。(2)构件独立地起作用,称为外部合成。

3.2构件合成的主要问题和解决办法在进行构件的合成中会出现很多的问题,其中主要的问题是,在进行构件的合成时对于不同种类的构件在合成中,并不能很好地被运用。针对于不同的构件包进行不同程度上的构件合成,往往会导致效率的降低。对于问题的出现,可以从以下几点进行概述:(1)对构件进行修改。(2)适配器/打包器。(3)创建带转换器的构件。这些方法有助于解决一些问题,但并没有解决重用问题的本身,即如果用户只想用“黑箱法”(不了解构件内部结构)那么对构件进行修改等方法就不会给用户带来明显益处。针对构件的合成从以下3方面进行分析,构件的组织部分、针对构件任务的分配情况,并且在构件的合成中是不是符合相互间需求。相关研究者对构件合成研究时,采用了很多不同的方法和类型来进行研究的,首先对插件的组织进行设计规划,对构件软插口也要进行设计规划;通过软插口的限制条件进行系统化,通过构件和封装的系统,根据不同特征不同种类进行分离。构件在开发中具有抽象化,其作用可以进行插口的分离,同时借助插口特殊作用来进行不同结构的类型形成,只要是出现较高的抽象化现象,就可以根据具体产生进行合适的应用。

3.3基于软件插口的构件合成技术针对软件插口的构件合成技术,为了构件合成的效率提升,对于用户可以重用构件,可以进行“黑箱法”方式来进行,主要针对重用构件以及维修保护的方便,介绍了一种基于软件插口的构件合成技术。如图3所示。针对图3中各项做出解释:MsgType是消息类型:有着请求、应答、自定义等各种类型;OrigalID是发送消息标识;UserID是接收消息的标识;MsgPriority是消息的优先机制,例如“先进先出FIFO”或“依据优先级”;Priority----当MsgPriority值为“依据优先级”时,指示优先级。以上不同消息的种类都各其所职,都有不同的作用和功能。软插口的消息主要是进行消息的处理功能。其消息的多样化可以进行一个请求,进行一组数据等形式来体现。消息的系统化体现了一个安全的储存点,软插口主要是通过管理器来管理的。软件插口的结构图如图4所示。软件插口为了信息点之间的链接有可靠性的传播作用,主要是根据消息通道等技术来实现的,在发送结点和接收结点上可以进行分别定义,其中有两个通道来进行消息的传递。在发送端,要将要发送的消息进行传送,在接收端时接收队列主要负责着信息的存放。构件和软件插口有着很重要的关系作用,可以用构件来进行信息的传递,在需要处理的数据时,必须要进行处理。要保证平台的稳定性和独立性特点,只要是根据消息机制的构件都可以进行结合,不但可以提高构建技术合成的性能,还能简化开发过程。

4结语

软件构件可以说是跨世纪软件技术发展的一个趋势,也是软件工程界的一个热门话题。构件技术主要是来源软件的重用优势,以及所谓软件的重用上进行软件成分来构造新的软件。不但软件开发上的人力物力和时间都能减少,同时对于软件的可靠性和质量上都有很大的提高。构件技术是目前发展最快的软件重用方式。旨在提高软件生产率,同时提升软件的可靠性,大力增强软件的可维护性功能,此软件的特殊重用技术在不同方面都有着很重要的作用。21世纪是信息化社会,电子产品普及到每个人的生活中,成为生活中一个必不可少的位置,软件作为这些电子产品的重要主体核心,同时也面临着软件的开发和需求上的压力,要不断地进行创新开发新的软件,来满足社会的应求和人们的需求。随着对构件的研究加深,构件自身有很多的特点和优势,已经成为很多相关研究者的关注,针对基于构件的软件开发方法上很有多种,已经被相关的研究者认为基于构件的软件开发,是能够解决软件的危机重要主体,可以大大地提升软件的质量和生产效率,成为现在一种可行的途径。

参考文献:

[1]陈余华,方美琪.信息系统工程的面向对象的方法.北京:清华大学出版社,1999.

[2]萨师煊,王珊.数据库系统概论.北京:高等教育出版社,1990.

[3]朱峰.基于工作过程系统化的数据库课程改革[J].电脑知识与技术,2009.

[4]岳国英.数据库技术与SQServer2005实用教程[M].北京:中国电力出版社,2008.

作者:余丽花 单位:广东省汕尾市广播电视大学