论文部分内容阅读
摘要:本文首先讨论了面向方面程序设计,接着分析了XML测试用例模型、基于XML的异质多数据库集成系统系统功能,最后研究了数据集成的总体架构。因此本文具有深刻的理论意义和广泛的实际应用。
关键词:XML;XML测试用例;面向方面程序;数据集成
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)14-20869-01
1 面向方面程序设计
面向方面程序设计(AOP)是施乐公司帕洛阿尔托研究中心(Xerox PARC)在20世纪90年代发明的一种编程范式,它使开发人员可以更好地将本不该彼此纠缠在一起的任务(例如数学运算和异常处理)分离开来。AOP方法的优点表现,由于操作更为简洁,所以改进了性能:其次,它使程序员可以花费更少的时间重写相同的代码;AOP为不同过程提供更好的封装性,提高未来的互操作性。提出AOP的主题就是要分离关注点。其本质是用一种松散耦合的方式来实现独立的关注点,组合这些实现来建立最终系统。模块化实现的横切关注点配合独立的业务关注点来搭建。在AOP中,这些模块化单元叫方面。
AOP的开发步骤:①方面分解:分解需求将系统级横切关注点和核心模块的独立关注点分离开来;②关注点实现:各自独立实现这些关注点的逻辑与功能;③方面的重新组合:方面管理器AspectManager创建一个方面来指定重组的规则。重组过程,也叫织入过程,使用这些信息来构建最终系统。那么AOP的开发就是先把关注点分解出来,业务逻辑保留在模块中,而把横切关注点重新在运行时动态“晚绑定”。AOP带来的改进:
(1) 模块化横切关注点:AOP用最小的耦合处理每个关注点,使得即使是横切关注点也是模块化的。减小代码的冗余,系统功能更容易理解和维护。
(2) 系统容易扩展:各模块与横切关注点低耦合,很容易通过建立新的方面加入新的功能;相反,新模块加入时也可以动态织入方面,使系统易于扩展。
(3) 设计决定的推迟绑定:在设计时可以充分地选择预留的接口。
(4) 提高代码复用:松散耦合的实现意味着更好的代码重用性,AOP在使系统实现松散耦合这一点上比OOP做得更好。
2 XML测试用例模型
XML脚本文件与通常所说的测试脚本有很大的区别。通常所说的测试脚本大多用于GUI测试,主要用来记录用户与程序的交互过程,能够不断地重放,既可以手工编写,也可以录制产生。常用的脚本语言有TCL、Phyton和Perl等,测试用例主要包括用例编号、测试标题、重要级别、测试输入、操作步骤和预期结果等部分。测试脚本的生成依赖于测试输入、操作步骤和预期结果。xMl测试脚本语言主要用来描述激励函数名、参数值(输入数据)和返回值(及其结果), 而不是交互过程。利用XMLSchema技术可定义XML用例模型。测试用例模型由测试组长根据被测模块编写,测试人员依照测试用例模型生成相应的测试用例,并通过XML测试用例生成向导生成XMLN试文件。
(1) TestCaseNO表示测试用例编号,命名规则是项目名称 测试模块名称 编号。
(2) TestTitle表示测试标题,对测试用例的用途进行描述。
(3) TestLevel表示重要级别,定义测试用例的优先级别,分为“高”和“低”两级(用户可定制自己的重要级)。
(4) TestSite表示测试集合,包含若干个按一定顺序排列的测试步骤。
(5) TestStep表示测试步骤,对需要测试的接口进行描述,包括参数列表、接口名称和预期结果。
(6) ArgList表示参数列表,列举接口的每个参数,包括名称、注释和类型属性。
(7) InterName表示接口名称,包括名称、执行次数、出错处理属性。
(8) RValue表示预期结果,保存测试集合的预期结果。
3 基于XML的异质多数据库集成系统系统功能
数据交换平台系统的组成部分,数据交换平台系统针对结构化和非结构化数据,提出了基于XML的异质多库集成方案和基于XML的非结构化文档统一访问机制。数据交换平台系统实现以下主要目标:
(1) 建立统一数据表示模型,实现基于统一数据模型的异质多数据库的透明访问机制,提供统一的XML数据访问服务。
(2) 提供基于异质多数据库的统一数据视图,实现Web计算环境下异质、多数据源的透明访问服务。
(3) 实现基于XML的快速检索查询算法,提高XML检索的效率。
(4) 建立基于XML的非结构化数据表示模型,实现文本、网页、Office文档、PDF文档的统一访问服务。
(5) 提供XML的存贮、验证、转化、查询和优化等机制。
基于XML的异质多数据库集成系统主要实现:
(1) 数据库资源管理和用户管理。对连接在系统中的数据库资源进行管理,向用户报告目前连接在系统中的数据库、连接状态以及是否允许访问;数据库用户管理对访问数据库的用户进行身份验证,并确定其权限等级,保证有效用户对数据库进行合法的操作,维护数据库的安全性。
(2) 映射文件的自动生成和可视化修改。根据映射规则由XML文件的DTD或数据库表自动生成数据映射关系定义文件。由于在由XML文件向数据库表转换的过程中,系统无法识别主键等信息,需要用户指定。实现对映射关系定义文件的可视化修改,使用户不必了解映射关系文件的结构和映射细节,实现友好的映射过程,同时避免了用户修改映射文件可能造成的错误。
(3) 实现数据的双向转换。根据映射规则,在XML文件和数据库数据之间实现双向转换,从而实现外部对异质多数据库的统一视图和透明访问。
4 数据集成的总体架构
为支持分布式数据转换模式,基于XML标准,设计了支持数据库和XML元数据相互存取的集成中间件。其功能可以分为集成应用数据交换操作层和集中间件配置基础层两大部分。
基础层为支撑中间件的配置组件,生成配置文件充当数据导入/导出源数据交换的媒介,分别实现数据导出和导入功能。因此,该部分功能是由中间件配置者使用,实现异构数据源数据到XML格式的映射定义,或者实现XML格式到目标数据库的转换映射的定义;其主要功能包括数据格式映射定义、数据加密/解密、数据压缩/解压缩、形成Select命令等组件。应用操作层实现从异构数据源到XML文件以及由XML格式文件到目标数据库的数据迁移的工作,因此,该部分由一般用户使用,用来交换数据,或者实现数据的导出和导入工作;其主要功能包括数据发送/连接、格式适配器、格式转换器、数据清理等数据处理模块。其中,从各异构数据源中导出数据和向目标数据库写入数据的功能采用Web Service技术实现,使用这两个数据流向互逆的服务,可以分别完成对异构数据源数据的数据检索、交换、迁移以及数据更新的请求。该架构下实现的集成中间件可以集成任何可连接数据源的应用系统,各系统可以互为源数据或目的数据源,因此,实现了异构数据源间的数据集成。
参考文献:
[1] 田恒奎,高景昌. XML实现无数据库留言簿[J]. 吉林大学学报(信息科学版),2004,(01).
[2] 刘欣欣,管建和. TreeView控件的配置及应用技巧[J]. 电脑编程技巧与维护,2006,(10).
[3] 龚力. 基于JCE的数据加密密钥交换实现技术[J]. 电脑知识与技术(学术交流), 2007,(03) .
[4] 王明. 基于ASP.NET、SQL SERVER技术建设的网站安全问题及解决方案[J]. 计算机安全,2007,(05).
[5] 卢莉. 基于ASP.NET的电子商务网站构建技术[J]. 大众科技,2006,(01).
[6] 李莲花,刘渊. 基于元数据的网络远程教育资源管理系统[J]. 江南大学学报(自然科学版),2003,(01).
[7] 郑子慈,李善平,董金祥. 一个分布式产品数据管理系统的研究与开发[J]. 计算机研究与发展,1998,(10).
[8] 瞿裕忠. 一个基于XML的数据交换原型系统[J]. 计算机工程,2000,(09).
[9] 周莹新,艾波. 软件体系结构建模研究[J]. 软件学报,1998,(11).
关键词:XML;XML测试用例;面向方面程序;数据集成
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)14-20869-01
1 面向方面程序设计
面向方面程序设计(AOP)是施乐公司帕洛阿尔托研究中心(Xerox PARC)在20世纪90年代发明的一种编程范式,它使开发人员可以更好地将本不该彼此纠缠在一起的任务(例如数学运算和异常处理)分离开来。AOP方法的优点表现,由于操作更为简洁,所以改进了性能:其次,它使程序员可以花费更少的时间重写相同的代码;AOP为不同过程提供更好的封装性,提高未来的互操作性。提出AOP的主题就是要分离关注点。其本质是用一种松散耦合的方式来实现独立的关注点,组合这些实现来建立最终系统。模块化实现的横切关注点配合独立的业务关注点来搭建。在AOP中,这些模块化单元叫方面。
AOP的开发步骤:①方面分解:分解需求将系统级横切关注点和核心模块的独立关注点分离开来;②关注点实现:各自独立实现这些关注点的逻辑与功能;③方面的重新组合:方面管理器AspectManager创建一个方面来指定重组的规则。重组过程,也叫织入过程,使用这些信息来构建最终系统。那么AOP的开发就是先把关注点分解出来,业务逻辑保留在模块中,而把横切关注点重新在运行时动态“晚绑定”。AOP带来的改进:
(1) 模块化横切关注点:AOP用最小的耦合处理每个关注点,使得即使是横切关注点也是模块化的。减小代码的冗余,系统功能更容易理解和维护。
(2) 系统容易扩展:各模块与横切关注点低耦合,很容易通过建立新的方面加入新的功能;相反,新模块加入时也可以动态织入方面,使系统易于扩展。
(3) 设计决定的推迟绑定:在设计时可以充分地选择预留的接口。
(4) 提高代码复用:松散耦合的实现意味着更好的代码重用性,AOP在使系统实现松散耦合这一点上比OOP做得更好。
2 XML测试用例模型
XML脚本文件与通常所说的测试脚本有很大的区别。通常所说的测试脚本大多用于GUI测试,主要用来记录用户与程序的交互过程,能够不断地重放,既可以手工编写,也可以录制产生。常用的脚本语言有TCL、Phyton和Perl等,测试用例主要包括用例编号、测试标题、重要级别、测试输入、操作步骤和预期结果等部分。测试脚本的生成依赖于测试输入、操作步骤和预期结果。xMl测试脚本语言主要用来描述激励函数名、参数值(输入数据)和返回值(及其结果), 而不是交互过程。利用XMLSchema技术可定义XML用例模型。测试用例模型由测试组长根据被测模块编写,测试人员依照测试用例模型生成相应的测试用例,并通过XML测试用例生成向导生成XMLN试文件。
(1) TestCaseNO表示测试用例编号,命名规则是项目名称 测试模块名称 编号。
(2) TestTitle表示测试标题,对测试用例的用途进行描述。
(3) TestLevel表示重要级别,定义测试用例的优先级别,分为“高”和“低”两级(用户可定制自己的重要级)。
(4) TestSite表示测试集合,包含若干个按一定顺序排列的测试步骤。
(5) TestStep表示测试步骤,对需要测试的接口进行描述,包括参数列表、接口名称和预期结果。
(6) ArgList表示参数列表,列举接口的每个参数,包括名称、注释和类型属性。
(7) InterName表示接口名称,包括名称、执行次数、出错处理属性。
(8) RValue表示预期结果,保存测试集合的预期结果。
3 基于XML的异质多数据库集成系统系统功能
数据交换平台系统的组成部分,数据交换平台系统针对结构化和非结构化数据,提出了基于XML的异质多库集成方案和基于XML的非结构化文档统一访问机制。数据交换平台系统实现以下主要目标:
(1) 建立统一数据表示模型,实现基于统一数据模型的异质多数据库的透明访问机制,提供统一的XML数据访问服务。
(2) 提供基于异质多数据库的统一数据视图,实现Web计算环境下异质、多数据源的透明访问服务。
(3) 实现基于XML的快速检索查询算法,提高XML检索的效率。
(4) 建立基于XML的非结构化数据表示模型,实现文本、网页、Office文档、PDF文档的统一访问服务。
(5) 提供XML的存贮、验证、转化、查询和优化等机制。
基于XML的异质多数据库集成系统主要实现:
(1) 数据库资源管理和用户管理。对连接在系统中的数据库资源进行管理,向用户报告目前连接在系统中的数据库、连接状态以及是否允许访问;数据库用户管理对访问数据库的用户进行身份验证,并确定其权限等级,保证有效用户对数据库进行合法的操作,维护数据库的安全性。
(2) 映射文件的自动生成和可视化修改。根据映射规则由XML文件的DTD或数据库表自动生成数据映射关系定义文件。由于在由XML文件向数据库表转换的过程中,系统无法识别主键等信息,需要用户指定。实现对映射关系定义文件的可视化修改,使用户不必了解映射关系文件的结构和映射细节,实现友好的映射过程,同时避免了用户修改映射文件可能造成的错误。
(3) 实现数据的双向转换。根据映射规则,在XML文件和数据库数据之间实现双向转换,从而实现外部对异质多数据库的统一视图和透明访问。
4 数据集成的总体架构
为支持分布式数据转换模式,基于XML标准,设计了支持数据库和XML元数据相互存取的集成中间件。其功能可以分为集成应用数据交换操作层和集中间件配置基础层两大部分。
基础层为支撑中间件的配置组件,生成配置文件充当数据导入/导出源数据交换的媒介,分别实现数据导出和导入功能。因此,该部分功能是由中间件配置者使用,实现异构数据源数据到XML格式的映射定义,或者实现XML格式到目标数据库的转换映射的定义;其主要功能包括数据格式映射定义、数据加密/解密、数据压缩/解压缩、形成Select命令等组件。应用操作层实现从异构数据源到XML文件以及由XML格式文件到目标数据库的数据迁移的工作,因此,该部分由一般用户使用,用来交换数据,或者实现数据的导出和导入工作;其主要功能包括数据发送/连接、格式适配器、格式转换器、数据清理等数据处理模块。其中,从各异构数据源中导出数据和向目标数据库写入数据的功能采用Web Service技术实现,使用这两个数据流向互逆的服务,可以分别完成对异构数据源数据的数据检索、交换、迁移以及数据更新的请求。该架构下实现的集成中间件可以集成任何可连接数据源的应用系统,各系统可以互为源数据或目的数据源,因此,实现了异构数据源间的数据集成。
参考文献:
[1] 田恒奎,高景昌. XML实现无数据库留言簿[J]. 吉林大学学报(信息科学版),2004,(01).
[2] 刘欣欣,管建和. TreeView控件的配置及应用技巧[J]. 电脑编程技巧与维护,2006,(10).
[3] 龚力. 基于JCE的数据加密密钥交换实现技术[J]. 电脑知识与技术(学术交流), 2007,(03) .
[4] 王明. 基于ASP.NET、SQL SERVER技术建设的网站安全问题及解决方案[J]. 计算机安全,2007,(05).
[5] 卢莉. 基于ASP.NET的电子商务网站构建技术[J]. 大众科技,2006,(01).
[6] 李莲花,刘渊. 基于元数据的网络远程教育资源管理系统[J]. 江南大学学报(自然科学版),2003,(01).
[7] 郑子慈,李善平,董金祥. 一个分布式产品数据管理系统的研究与开发[J]. 计算机研究与发展,1998,(10).
[8] 瞿裕忠. 一个基于XML的数据交换原型系统[J]. 计算机工程,2000,(09).
[9] 周莹新,艾波. 软件体系结构建模研究[J]. 软件学报,1998,(11).