background image

  

[摘 要]基于构件的软件开发是提高软件生产效率和软件产品质量的有效途径。本文结合

我们的实践

,以“在线学习支持服务平台”项目为例,讨论基于构件的软件开发的技术应用。 

  

[关键词]基于构件;软件开发;技术应用 

  

 

  

“在线学习支持服务平台”是对学生远程学习进行教学辅导。经过多年对远程教育模式的

探索

,确立了成熟的远程教育教学模式――利用先进的网络数字信息技术,为广大的学生提供

开放的教育平台和最优秀的教育资源

,突出个性、学生自主学习的教学。 

  

“在线学习支持服务平台”是一个综合性的在线式基于 WEB 的远程教学平台,存储着核心

信息数据

,提供网上课程、信息发布、查询、BBS、VOD 视频点播等教学服务,该系统的开发技术

主要集软件复用、企业级应用程序开发于一体的

“基于构件的软件开发 ”。系统运行于

WINDOWS SERVER2000。用 SQL SERVER 2000 为后台数据库,用 ASP+IIS5.0 来架构网站。 

  由于

COM 组件既可以被嵌入动态 WEB 面面,还可以在 LAN 或桌面环境的 VB、VC 等应

用中使用。另外该组件之间是彼此独立的。当应用需求发生变更时

,可能需要更换中间层的个

COM 组件,但并不影响其他组件的继续使用。组件具有若干对外接口(属性和方法)。可以根

据不同的应用需求

,有选择地使用不同的接口。即使不再使用某些接口时,COM 接口本身仍然

可继续使用。同一

COM 组件可以在不同的应用环境中重复使用。因此,结合我们的实际情况,

我们现有的各级软件系统都是基于微软

Windows 系统列平台,且开发人员对 COM 组件技术

也较熟悉

,对开发语言 VB6 也很熟悉,因此我们确定使用微软的 COM 组件技术来开发该平台。

 

  该平台采用

B/S 结构进行设计,把整个系统分为三个层:数据库层,应用逻辑层,用户界面层。

用户界面是浏览器

(如 IE 等),并通过 ASP 语言来实现同应用逻辑层构件交互。应用逻辑层负

责事务处理。应用逻辑层主要通过使用

COM 组件方式来实现,数据库层用 SQL SERVER 实现。

 

  我们依据平台的主要功能

,在平台开发中,如果采用传统的方法来开发,则每实现一个功能

都要编写同样的代码

,为了节省开发时间和提高维护效率,我们把共用的代码模块都做成组件,

例如我们把记录操作

(如记录的删除、增加、修改等)、数据库操作、查询做成用户管理组件,把用

户身份认证和用户类型识别做成用户管理组件

,把所有实现与数据库的连接做成连接组件,把

用户的错误操作、与系统的的交互出错等做成错误处理组件。对于各组件我们采用

VB6 语言

进行编写并生成

DLL 文件,通过注册成为 COM 程序,供各个组件调用。在数据库连接方面,我

们采用了

ADO 技术。由于 ADO 采用了 OLE―DB 技术,使能访问各式各样的数据并提高了访