基于构件重用的软件开发方法研究

时间:2022-10-16 02:22:16

基于构件重用的软件开发方法研究

摘要:构件由于其本身的诸多特性,正在成为软件开发的一个热点,基于构件的软件开发方法被视为解决软件危机,提高软件生产效率和质量的一条现实可行的途径。构件重用的目标是达到需求、分析、设计、编码、测试的重用。

关键词:软件重用;构件;实现;软件开发

中图分类号:TP311.52 文献标识码:A文章编号:1007-9599 (2011) 08-0000-01

Software Development Methods Research Based on Component Reuse

Jin Xin

(Jiangxi Tourism Business Vocational College,Nanchang330100,China)

Abstract:Because of its many elements characteristic of software development is becoming a hot,component-based software development method is considered to solve the software crisis and to improve software productivity and quality of a realistic way.The goal is to achieve component reuse requirements,analysis,design,coding,test reuse.

Keywords:Software reuse;Component;Achieved;Software Development

一、构件软件开发过程

(一)构件选取

构件选取是将过去开发的组件按照适合新系统的原则选取出来的过程。也可以是在构件交易中购买合适构件的过程。这个过程甚至延伸到开发构件和维护构件的质量保证。

构件选取包括两个阶段:发现阶段和评估阶段。在发现阶段,构件将会被明确属性。如构件的功能(能提供什么样的服务),构件的接口(使用的方法)。这些属性还应包括一些不能孤立看待的要求,如构件的可靠性、可用性、可扩展性。在有些情况下也要考虑构件的非技术特性,如提供者的市场占有率,构件开发组织的过程和成熟度等。

在评估方面,现在已经有了好多种成熟的评估方法。例如Standards Organization(ISO)描述的产品评估的通用标准,以及IEEE的特定域的构件评价技术,还有适用于特定问题域的技术。这些方法都是基于一定的构件研究理论产生的解决构件质量评估的方法。但就构件评价技术本身来说是不确定的,这是使用难以互相比较的标准,不明确的系统期望,不精确的评价方法以及构件的快速修改造成的。

(二)构件的调整

由于单个的构件是为了完成特定的需求,基于不同的上下文假设。因此构件在应用于新系统之前需要调整。必须将构件之间的冲突降低到最小。常用的方法包括:1.白盒法。用户可以通过修改构件的源码使构件能与其他构件相互作用。该方法可以对构件的特性进行细致的控制,但修改源码可能会导致维护和升级问题。2.黑盒法。用户可以得到构件的二进制可执行形式,构件没有提供扩展机制或API。3.灰盒法。源码不可以修改,但提供了构件自身的扩展机制或可编程接口(API)。

二、系统的实现

(一)系统中的构件实现

软件工程网络课堂教学系统的开发环境为前台开发选择ASP,后台采用SQL Server 2000数据库,构件模型通过B/S构架的三层体系结构(表示层、业务逻辑层和数据访问层)实现。

现以课件构件的开发过程为例,说明一个构件中的用户界面/表示层、功能/业务逻辑层和数据访问层的实现。

1.课件上传构件的用户界面层实现。表示层的用户界面可分成动态和静态两种。通过Dreamweave的模板实现静态界面功能,通过ASP技术生成动态页面。动态页面中常见的动作是:解释用户请求;分发这些请求到相应的业务逻辑;选择下一个显示视图;生成和传送下一个视图给用户。

2.课件上传构件的功能/业务逻辑层实现。课件上传的业务逻辑层的作用是将用户上传的文件存入数据库,并将与文件相关的说明在用户界面层上显示出来。出于系统安全性的考虑,在构件设计时,对文件格式进行了限制,只能上传RAR压缩文件,并按照上传时间以“年+月+日+分+秒”的数字组合为文件重新命名,这将有效避免文件重名。

该层实现上使用VBScript脚本语言构造了一个类模块(add.asp)。该类包括如下属性:MMtitle(课件标题)、MMteacher(上传用户(系统自动生成))、MMunit(所属章节)、MMdiscrib(内容说明)、set upload(上传路径)、set file(存储路径(系统自动生成))。

3.课件上传构件的数据访问层实现。在系统数据库的开发过程中,为了方便今后数据库的维护与重用,将其具体功能如查询、插入等操作封装到一个构件(kejian.asp)中。

(二)基于构件的系统组装

1.原子构件的组装。现以课件上传构件为例,说明原子构件的组装过程。原子构件组装的思想是将构件模型中涉及到的三个层次组装成构件。通过原子构件的组装,以上用户界面、功能/业务和数据访问三个层次的成分组合成一个完整的课件上传构件。

在上述三个构件中,功能/业务层处于用户界面层之下、数据访问层之上,因此以功能/业务层构件add.asp作为组装的基础。其具体组装过程为:将用户界面层构件module.asp用VBScript脚本进行引用。引用语句为:

〈!--#include file="module.asp"--〉

数据访问层调用采用面向对象方式,将类FileInfo和类upload_file通过内部接口与类kejian组装成一个高内聚低偶合的原子构件,再通过外部接口与功能构件add.asp连接。

2.复合构件的组装。复合构件是由多个原子构件组装后形成的独立构件,封装在文件夹中,构件之间既没有数据上的耦合,也没有行为上的耦合,故采用黑盒方法进行组装。在组装时,通过接口绑定建立复合构件组装的外部接口和内部接口的对应关系。通过各种不同的连接件可以完成一些复杂的接口绑定,以实现所需的复合构件。复合构件的外部接口采用扩展连接件。由于扩展连接件据具有可扩展的特性,由其组装成的复合构件也具有可扩展的特性,同时内部接口是基于消息传递的,从而使组装出来的复合构件具有动态性。

参考文献:

[1]傅音翔.一种基于构件的软件开放方法[J].微计算机信息,2006,22

[2]何国斌.基于构件的软件开发的方法与实践[J].计算机工程与应用,2007,5

上一篇:数字电视运营支撑系统的设计与实现 下一篇:基于无证书签名认证的密钥分发服务系统