浅谈基于构件的软件开发和技术

2018-07-24 14:12:09

随着信息时代的来临,计算机、手机等电子用品在人们的日常生活中逐渐的得到了普及,而软件是这些电子产品技术支持,对于这些电子产品的运行性能和质量具有重要的作用。传统的软件开发主要使用的是“面向对象、面向过程”的方法,这种方法具有明显的缺点,并且软件的生产效率和质量低下。随着研究的深入,基于构件的软件开发技术则应运而生,这种方法不仅具有良好的灵活性、适应性和易维护性,还能较好的支持软件复用,其具体的开发方法与技术如下面所述。 

1 基于构件的软件开发过程 

基于构件的软件开发的核心是构件级的可重用性,其主要是通过将已经存在的构件进行适当的整合来完成大型软件系统的开发。这种方法不仅可以有效的降低大型软件系统升级和维护的压力,还可以更快速地整合系统,减少软件开发的费用。应用系统的软件作为软件开发中的一种,其主要建造过程包括构件的分析、设计、实现和组装。

基于构件的软件开发过程的理论基础是对于系统中重复出现的部分通过构件进行组合,即通过书写代码的方式来指导构件系统对特定的内容来进行整合与装配系统。此外,不同于传统软件开发方法的另一个地方时:在基于构件的软件开发技术当中,系统的整合在开发过程中处于核心的地位,而在传统的软件开发当中则仅仅是作为软件系统收尾的一个部分。基于此,决定构件的使用、重用和获得的关键是其是否可以与其他的构件之间进行很好地整合。

1.1 构件选取

构件的选取过程也可以看作是构件交易中购买合适构件的过程,即其主要是通过对原有的组件依据系统的要求来进行选取的过程。这个过程也可以扩展到维护构件和开发构件的质量保证上来。就构件的选取过程而言,其主要可以分为两个阶段,即:发现和评估阶段。

(1)发现阶段。该阶段主要是对各种构件的属性进行明确,如构件的接口、功能、性质、特点等。此外,对于这些构件的属性不应该独立的看待,还需要对其自身的一些特征进行综合的考虑与看待,如构件的可扩展性、可用性、可靠性。在某些特殊的情况下还需要对于构件的技术特性加以考虑,如构件开发组织的成熟度和过程、提供者的市场占有率等方面。 

(2)评估阶段。目前,我国对于构件的选取过程中的质量检测具有很多种比较成熟的评估方法。例如,IEEE的特定域的构件评价技术、标准组织(Standards Organization)所设定的产品评估标准以及一些适用于特殊问题的评定技术和标准。这些方法的一个共同特点就是:它们都是基于构件的相关理论所产生的解决构件质量评估的方法。但是,这种评价技术和方法具有不确定性,并且很难进行相互之间的比较,不能对构件进行快速修改和精确评价。

1.2 构件的调整  

单个构件为了符合上下文的假设,完成特定的功能和技术需求,必须要在新系统完成之前进行适当地调整。这种对构件进行调整的手段与技术可以通过将构件之间的通用性进行扩展,进而将构件之间的冲突程度降低到最小。目前,我国比较常用的方法主要包括:白盒法、黑盒法以及灰盒法。

(1)白盒法。该方法主要是通过用户对构件进行相应的修改与控制达到构件调整的目的,但是这种方法由于对源码进行了修改,很容易造成软件升级及维护方面的问题。

(2)黑盒法。该方法主要是通过用户对构件进行二进制的编程修改,这样可以在没有API和扩展机制的条件下进行。

(3)灰盒法。该法可以提供构件自身的API或者扩展机制,但是不可以对其源码进行修改。  

2 系统的实现 

2.1 系统中的构件实现  

软件工程网络课堂教学系统的开发所依据的构件模型主要是通过B/S架构的三层体系结构来实现的,其开发所依据的前后台分别采用ASP和SOL Server 2000数据库。对于一个构件中的业务逻辑层/功能、表示层/用户界面和数据访问层的实现方法可以通过课件构件的开发过程来加以说明。 

(1)用户界面层实现。课件上传构件的表示层用户界面可以分为动态和静态两种形式。其主要借助Dream weaver的模板来实现静态界面功能,而通过ASP技术来实现动态页面地生产。在设计的过程中,动态界面中常见的动作是:生成和传送下一个视图给用户、选择下一个显示视图、分发这些请求到相应的业务逻辑、解释用户请求。

(2)业务逻辑、功能层的实现。课件上传的业务逻辑层的作用是将所上传的文件的相关说明在用户界面显示出来,并将文件录入到相应的数据库当中。为了保证数据的安全与可靠性,在构件进行设计的时候,特意对上传文件的格式进行了特殊的性质,即只能上传RAR压缩文件,并且为了有效地避免造成文件重名的现象,对于上传的文件以上传的时间为新的文件名进行重新的命名。

(3)数据访问层的实现。课件上传构件数据访问层主要是用于数据及文件的存储功能,通过将具体的功能(如插入、查询等操作)封装到特定的构件当中,以方便今后数据库的重用与维护。

2.2 基于构件的系统组装 

(1)原子构件的组装。原子构件组装的核心思想是:将上述的三个层次(即:用户界面层、业务逻辑、功能层及数据访问层)组装成构件。其原理为:通过借助原子构件的组装,将用户界面、业务、功能和数据访问层这三个层次进行很好地整合,以使其构成一个完善的整合体,进而达到原子组装的目的。

上述的三个层次构件的排列顺序为,用户界面层在最上,其次是业务/功能层,最后是数据访问层。基于此,作为中介的业务/功能层构件是原子组装的基础。其具体的原子组装流程为:将用户界面层构件module.asp通过使用VBScipt脚本来加以引用。而作为其中一部分的数据访问层则是通过采取面向对象的方式,首先将功能构件ADD.ASP与外部接口连接,然后再类UPLOSD_FILE和类fileinfo内部的接口与类ke jian接口进行连接,以组装出一个低耦合、高内聚的原子构件。

(2)复合构件的组装。复合构件是通过多个原子构件组装在一起而形成的独立构件。这些组装所使用的构件分装在特定的文件当中,切各构件之间没有行为和数据上的耦合,因此可以通过采用黑盒方法对其进行组装。在组装的过程中,通过将各种不同地连接构件之间进行连接,并通过接口之间绑定的方式来对内、外部的接口进行组装,以得到所需要的复合构件。此外,鉴于扩展连接件具有可扩展的特性,对于复合构件的外部接口可以采用扩展连接件进行适当的连接,这样所得到的复合构件也将具备可扩展的特性,并且内部接口也可以进行信息的传递,所组装出来的构件也具有很好地动态性质。

总之,21世纪是信息化社会,计算机、手机等电子产品遍布在人们的生活中,软件作为这些电子产品的技术和功能支持,对于其具有重大的影响。因此,这必将导致软件的需求及其复杂程度的迅猛增加。基于此,人们必须不断探索软件开发新技术来满足软件发展的需要。随着研究的深入,构件以其本身诸多的优良特性,正在逐渐成为软件开发的一个热点,基于构件的软件开发方法被视为解决软件危机,提高软件生产效率和质量的一条现实可行的途径。