APP下载

构件的软件开发技术和方法

2018-12-21车雪

电子技术与软件工程 2018年10期
关键词:构件分类软件

文/车雪

构件的软件开发流行于20世纪90年代,一个软件构件是可执行软件的一个可分离的单元。构件可以提高软件开发中构件复用成度,缩短软件的开发周期,提高系统的稳定性,软件构件是软件复用的基本单元,为了实现软件的复用,必须不断地积累软件部件,并将其组成软件库。了解构件的软件开发技术和方法可以从构件的概念及应用优势、构件的主要内容和构件的软件开发过程来了解。

1 构件的概念及构件的应用优势

构件是软件的构成元素,它几乎是独立并可被替换的一部分。其可以明确辩识,可以通过构件接口访问它所提供的服务。而且构件和语境有明显依靠关系,是可以组装的软件实体。从广义上讲构件可以是数据,也可以是被封装的对象类、软件构架、文档、测试用例等。软件构件是由第三方提供的可组装软件实体,软件构件都承载着一些有用的功能,并且遵循某种构件模型。可复用构件则是指具有可复用价值的构件。

当前我国软件企业方面面对着日益增加的竞争压力,在国际市场上稍不注意就有可能会被淘汰,角逐愈激烈愈能促进软件这个行业的发展。传统软件开发方式仅仅是通过软件开发人员手工设计的模式,如果稍有变动就必须重新开发系统。这样很难跟得上现在软件行业的发展。然而现在的构件软件技术在碰到业务流程发生变化或系统升级等情况时,不需要全盘推翻重新开发,只需要增加新的构件或改动原来的构件即可完成。这样不仅节省时间和成本,还大大提升了软件开发的效率。相比于传统的软件开发技术,构件的软件开发的软件产品更能吻合客户的需求,上市时间和软件质量也是遥遥领先于传统的软件开发。

2 构件的主要内容

构件的主要内容可以从构件的基本特点、构件的要素和常用构件的基本模式进行大致的了解。

2.1 构件的基本特点

(1)自描述:构件必须能够识别其属性、存取方法和事件,通过这些信息可以使开发环境将第三方软件构件紧密地结合起来。

(2)可移植性:构件应该能在不同硬件平台运行和软件环境中工作。

(3)通用性:构件不是为某一个企业或客户专门定制的,而是在某一领域中通用的。

(4)连结机制:构件必须能产生事件或具有让程序员从语意上实现相互连接的其它机制。

(5)是预先创建的:在软件开发周期中,源代码复用代价比较高,所以最好是预先创建的。构件是第三方通过现成买来的,根据接口参数和约束条件进行调用的。

2.2 构件要素

一般完工的构件应具备以下要素:

(1)规格说明:建立在接口概念之上,作为服务提供方与客户之间的契约。

(2)一个或多个实现:应符合规格说明,各自实现。

(3)受约束的构件标准:即符合某种构件模型。

(4)包装方法:按不同的方式分组,提供一套可以替换的服务。

(5)部署方法:即可以部署多个实例。

2.3 常用构件的分类模式

由于软件构件蕴含着及其大量的信息,且构件数量也是十分庞大,对于其分类就显得尤为重要了。常用的构件分类模式有枚举分类、属性―值分类和刻面分类。

枚举分类:将构件按某些性质分成若干大类,再将大类分成若干较小的类,经过多次分解,形成构件分类的层次结构。这样的分层结构易于理解或检索,但在建立层次结构之前需进行领域分析。

属性―值分类:为每一个构件定义一组属性,开发人员可以通过指定一组特定属性对构件库检索,这样具有较好的灵活性,使用的属性数量没有限制;属性没有优先级。

刻面分类:根据一组刻面对构件进行分类。每个刻面从不同的侧面对构件库中的构件进行分类,并根据重要性设置刻面的优先级。用户通过指定一组刻面的术语值寻找匹配的构件。这种方法同样具有较好的灵活性,易于加入新的刻面值,易于扩展和修改。

3 构件的软件开发过程

传统的软件开发过程在重用元素及开发方法上和构件的软件开发都有很大的不同。自构件的出现以来软件的重用元素得到了根本的改变。且相比于传统的软件开发过程,构件的软件开发过程亦有很大不同。构件的软件开发过程可分为以下几步:

3.1 按照需求选择构件

按照需求从构件库查找所需的标准构件,并对构件的功能、可靠性和市场价值进行分析,筛选出一些较好的构件。

3.2 构件的修改和扩展

部分构件不能直接应用于软件的开发,需按照所需要求进行修改或扩展。

3.3 构件的测试

修改或扩展的构件需在构造应用工具上进行测试,保证构件的功能及能够正常应用,以免造成软件开发过程中返工的现象。

3.4 构件的装配和集成

将构件装配成模板。

3.5 应用系统的部署

先完成应用逻辑和数据定义编程的工作,然后对应用服务器及客户的标准完成文件的配置和部署。

3.6 系统的演化

通过系统中某些构件的升级或替换使系统中的功能不断地进行改进完善即系统的演化。

4 结语

相比于传统的软件开发技术所开发出的软件,CBSD技术软件的复用,可以有效的地提高软件开发的效率和质量,降低开发和维护的成本。科技在不断地进步,相信在不久的将来,构件的软件开发技术会更加完善,改去现存的缺点,大大提高软件开发的工作效率。在科技发展迅猛的现在,唯有顺应潮流,不断地学习并掌握新的技术,才不会被这个时代所淘汰。同时相对于企业来说,不断引进发达的技术,培养工作人员的技能,才能大大提高产品的质量和工作效率,在软件开发市场获取一席之地。

猜你喜欢

构件分类软件
禅宗软件
分类算一算
分类讨论求坐标
软件对对碰
数据分析中的分类讨论
建筑构件
建筑构件
建筑构件
建筑构件
谈软件的破解与保护