李 韬(天津中德应用技术大学 经贸管理学院,天津 300350)
关于构件的软件开发技术分析
李 韬
(天津中德应用技术大学 经贸管理学院,天津 300350)
摘 要:关于构件的软件开发最根本的目的就是提高软件构件的可复用率,简化软件开发的过程,减小开发成本,缩短软件开发时间,同时还能将提高软件开发的质量。本文将对关于构件的软件开发开发方法和技术进行深入分析研究。
关键词:构件;软件开发;技术分析
软件作为一种信息时代下的高科技产品,是非常重要的基本设施。随着科学技术在快速的发展过程,对软件的性能要求也越来越高。尤其当前人们的日常生活已普及应用到诸如智能手机、电脑等电子产品,软件是电子产品的重要技术支持,也势必引起人们的普遍关注,人们对软件的质量及性能提出了更高的要求。以往的软件开发主要采取“面向对象、面向过程”的方法,这样的方法具有极其明显的缺陷,诸如适应性差,不灵活性,很难维护,造成软件的生产效率低下,质量不高。随着科学研究地不断深入,基于构件的软件开发技术被应用到软件开发中来。该技术改进了传统的软件生产方法,更好的利用构件技术的功能,能够继承与发展面向对象软件的工程,使其软件开发的成本有效的降低,而且提高了软件质量,同时软件的系统的安全性、灵活性,便于升级和维护性都得到了明显提高。关于构件的软件开发技术和他具有的很多优良特性,使其成为了软件开发中的一个热点。本文将对关于构件的软件开发开发方法和技术进行深入分析研究。
关于构件的软件工程(Component-based software engineering CBSE)是一种新型的软件开发模式,是用能即插即用的构件在软件构架下组装成一个应用程序,达到实现软件复用的目的。而构件实际上是一种存在于软件系统中的物品,其作用是对客观事物实际形态进行描述。构件可以单独进行制造、分配、装配工作,可以即插即用。一个构件往往是由一个或是多个对象包装组合而成,其构成一般具备四个要素,即名称、属性、实现和接口,主要是通过接口为用户提供服务。在构件化软件开发这一模式当中,构件模型处于核心部位,并随着该技术的不断深入发展而表现出多种形式。
首先是构件的软件具有复用性高的特点。就是在软件开发中避免重复劳动的解决方案,提高构件的通用化性,通用化程度越高,那么可复用性也越高,他们两者之间是成正比关系。因此在构件的软件设计中要避免构件的开发泛滥化,将开发的重点集中于应用的特有构成成分,让等待开发的软件在过程中就被复用。一方面减轻了工作量,避免重新开发可能引入错误,还大大提高了软件的可复用度。其次是构件的软件具有可靠性高的特点。可靠性强调的是在规定的时间内和在一些特殊的环境下使构件软件不失效的概率。在基于敏捷开发的构件化软件实践环境下,对于每个新的软件版本都以构件测试为基础,用户需要对每个构件采取使用性测试以发现软件失效。同时构建容易使用的话可以方便构件的开发人员选择,也同时提高了构件的可靠性和易理解性。最后构件的软件具有易组装性特点。构件里的实现语言与运行的环境是由不同人开发而存在不同。怎么样挑选合适的构件来组装构件,需要把构件在实例化过程之后再做组装,然后实际应用到需要开发的软件或者系统上面,因此构件组装的简单与否直接影响到软件的复用性。如果构件间表现出松散的偶合度和十分方便的组装机制,这样就会使得构件的组装容易。
基于构件的软件开发的核心就是构件级的可重用性,其工作的原理是整合现成的软件构件,并在此基础上构造一个大型的软件系统。这种方法不仅可以快速组装系统,减少软件开发的费用。还能有效的降低大型软件系统升级和维护的压力,提高软件系统灵活性,使软件系统更便于维护。而这一软件构造的过程则涵盖了设计、分析、实现并组装构建这一系列过程。系统的构建是以写代码的形式得以实现,采用已有的构件来装配与整合系统,因此构建能否与其他构件有效进行整合,是决定其能否被获得并使用的关键。
3.1构件的选取
为切合新系统的要求,选取以前开发的组件,或是重新购买合适构件,即为构件的选取过程。这一过程包括发现阶段及评估阶段,不论是何种阶段,均是为了保证构建及开发构建的质量。在构件选取的发现阶段,需要明确各种构建的属性,诸如性质、接口、特点、功能等,并在综合性的考虑其安全性、可靠性、可用性、可扩展性等各类属性的基础上,充分考虑构件的技术特性,包括构件的市场占有率,以及技术的成熟度等。当前互联网中存在许多专门的构件库,许多Web站点也会提供相关的构件链接,但这些构件库及链接也并非那么容易获取。因为不同类型的构件库具有各自不同的访问方式及组织,在很大程度上加大了其访问的难度,而Web站点中的构件链接也难以通过传统的搜索引擎检索到。基于此,需要将网络上的这些构件资源整合利用到构件系统的开发中来,不仅解决网络构件资源难以被获取的问题,还能节省软件开发的时间,提高软件的质量及实效。对于领域工程师来说,要获得所需构建,可通过商业购买、领域分析、逆向工程或自行开发等途径。在评估阶段中,主要运用EEE的特定域的构件评价技术、标准组织所设定的产品评估标准等方法,进行构建选取中的质量检测及评估,这些评估主要是集中在质量评估,对技术和方法还是不确定性。
3.2构件的调整
构件的调整主要是让构件间的冲突降低到最小,单个的构件是为了完成特定的功能需求,是在新系统完成之前为了符合前后文的假设进行适当地调整。当前最常用的方式主要有白盒法、黑盒法和灰盒法。白盒法主要是为实现构件调整的效果,进行适当的源码修改与控制。黑盒法是通过用户在没有API和扩展机制的条件下对构件进行二进制的编程修改。灰盒法具有提供构件自身的API或扩展机制,但是源码不可以修改。
3.3设置构件的措施
软件的系统结构称构架,构架是指用于化解问题的软件本身,属于可以重新构造和预制的骨架,能够将问题领域转变成解决领域。如构架的范围可以是建立在树状或者网络状框架基础上的节点关系、建立在抽象层次与交互层次基础上的构造,以及具备共享数据和控制状态功能的中央资源构造或者是具备了抽象与驱动功能的对象形态。而框架是强调表述体系构造的途径,以体现总体性的方法和设计规则,是一类方法论的系统。如:用ADL来描绘文本的方法、用于描绘某个概念的构造和用树状或者网络状来代表图形的方法等方面,可以说框架是用来探讨构架的一种机制,构架则是详细表述框架的一种结构。架构的设计就是用户实际需要,对系统进行规范化设计之后再选择适当的架构设计方案,对整个系统的各项实际实施的环节需要充分明确,因此构架的设计好坏,尤其是是否进行十分系统的架构设计就成为对构件的软件系统有非常重要的作用。
[参考文献]
[1] 刘舒宁.支持复用的软构件管理技术与系统研究[D].浙江大学,2015
[2] 谢 丹.基于图文处理的软构件检索技术研究[D].南京财经大学,2013
[3] 刘 崇.基于融合业务支撑环境的业务构件的设计与实现[D].北京邮电大学,2011
[4] 严鲁明.基于构件相关性的构件交互冲突检测研究[D].合肥工业大学,2009
[5] 郭东建.嵌入式分布计算环境下的高效软件构件化框架初探[J].科技致富向导,2013(33)
[6] 王 琦,曾广平,杨倾生.基于构件的服务模板研究[J].计算机工程与设计.2013(07)
[7] 王震东.领域化业务构件的描述体系研究和实现[D].南京航空航天大学,2012
Software Development Technology Analysis of Component
Li Tao
(Tianjin Institute of Applied Technology, Tianjin 300350, China)
Abstract:The most fundamental purpose of component-based development is improve the reuse rate of software component, simplify developing process,reduce development costs, shorten the time of software development, but also improve the quality of software development. In this paper, the methods and techniques of software development based on component are analyzed deeply.
key words:component; software development; technical analysis
作者简介:李韬(1980-),男,天津人。