background image

盒法。用户可以通过修改构件的源码使构件能与其他构件相互作用。该方法可以对构件的特

性进行细致的控制

,但修改源码可能会导致维护和升级问题。(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.原子构件的组装。现以课件上传构件为例,说明原子构件的组装过程。原子构件组装的

思想是将构件模型中涉及到的三个层次组装成构件。通过原子构件的组装

,以上用户界面、功

/业务和数据访问三个层次的成分组合成一个完整的课件上传构件。 

  在上述三个构件中

,功能/业务层处于用户界面层之下、数据访问层之上,因此以功能/业务