复制成功
  • 图案背景
  • 纯色背景

笔记

  • 2019-11-16
    为大人带来形象的羊生肖故事来历 为孩子带去快乐的生肖图画故事阅读
    谈谈怎样学好数学_苏步青-中学生文库

音乐数字教学资源标准化测试系统的设计与满面实现

下载积分:1250

内容提示: 分分 类类 号号 学号学号 M201071586 学校代码学校代码 10487 密级密级 硕士学位论文硕士学位论文 音乐数字教学资源标准化测试系统音乐数字教学资源标准化测试系统 的设计与实现的设计与实现 学位申请人学位申请人:: 黄建新黄建新 学 科 专 业学 科 专 业 :: 电子与通信工程电子与通信工程 指 导 教 师 :指 导 教 师 : 吴砥吴砥 教授教授 答 辩 日 期 :答 辩 日 期 : 2012 年年 5 月月 26 日日 A Dissertation Submitted in Partial Fulfillment o...

文档格式:PDF| 浏览次数:5| 上传日期:2015-06-17 22:32:20| 文档星级:
分分 类类 号号 学号学号 M201071586 学校代码学校代码 10487 密级密级 硕士学位论文硕士学位论文 音乐数字教学资源标准化测试系统音乐数字教学资源标准化测试系统 的设计与实现的设计与实现 学位申请人学位申请人:: 黄建新黄建新 学 科 专 业学 科 专 业 :: 电子与通信工程电子与通信工程 指 导 教 师 :指 导 教 师 : 吴砥吴砥 教授教授 答 辩 日 期 :答 辩 日 期 : 2012 年年 5 月月 26 日日 A Dissertation Submitted in Partial Fulfillment of the Requirements For the Degree of Master of Engineering Design and Implementation of Standard Testing System for Digital Music Teaching Resource Candidate :Huang JianXin Major : Electronics & Information Engineering Supervisor :Prof. Wu Di Huazhong University of Science and Technology Wuhan, Hubei 430074, P. R. China May, 2012 独创性声明独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密□,在________年解密后适用本授权书。 本论文属于 不保密□。 (请在以上方框内打“√” ) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 I 摘要摘要 随着现代科技的迅猛发展,尤其是互联网技术的发展,信息技术给音乐艺术的发展带来了巨大的变革。同时音乐数字化服务呈现出快速的增长趋势,它已经成为使用范围极广、使用频率极高的互联网服务类型。为了规范音乐数字化服务的各个方面,音乐数字化标准的研制工作正在进行。与此同时,一个能够检测标准是否执行的标准测试系统也极为必要,并且具有重要的实现意义。 本文首先讨论了音乐数字化标准的必要性,其次论述了基于音乐数字化标准的标准测试系统的重要意义。再次介绍了在开发标准测试系统时需要用到的一些核心的技术,以这些技术为支撑,对音乐数字化标准测试系统进行了详细的设计,在系统详细设计的基础上,采用成熟的架构思想,实现了一个高性能的、可扩张的、易维护的音乐数字化标准测试系统。 本文实现的音乐数字化标准测试系统能够检测音乐数字化服务是否符合音乐数字化标准,从而更好的指导音乐数字化服务的提供,对音乐数字化服务的发展意义重大,同时对我国音乐艺术的发展也有积极的作用。 关键词关键词:音乐数字化服务,标准测试,web 服务 II Abstract With the rapid development of modern science and technology, especially the development of Internet technology, information technology has brought significant change to the music. Digital music service tends to develop fast,which has become very broad types of Internet services. In order to standardize various aspects of the digital music service, music digital standards development work is in progress.At the same time, a standard test that can detect whether the standard implementation of the system is even more urgent. This thesis first discusses the necessity of music digital standards. Then, we discuss the significance of testsystem which is based on music digital standards. Later, we introduce the core technologies which are necessary while we develop the standard testing system. Supported by these technologies, we design the music digital standard test system carefully. Based on the detailed design of the system, we take the mature structure, realizing a music digital standard test system of high performance, expansion and maintenance. From the thesis, the music digital standard test system can detect whether digital music service accord with the music digital standard. So it can improve the digital music service, which is important to the development of digital music service. At the same time, it has a positive effect on our music art. Key words: digital music service; standard test system; Web service III 目目 录录 摘要 .................................................................................................................. I Abstract ........................................................................................................... II 1 绪论 1.1 项目背景及研究意义 ........................................................................... (1) 1.2 国内外研究现状 ................................................................................... (2) 1.3 项目来源 ................................................................................................ (4) 1.4 论文结构 ................................................................................................ (4) 2 系统技术概述 2.1 Xml 资源描述 ........................................................................................ (5) 2.2 Xml 解析技术 ........................................................................................ (7) 2.3 Ajax 技术 ................................................................................................ (8) 2.4 WebService 技术 .................................................................................... (9) 2.5 本章小结 .............................................................................................. (10) 3 音乐数字化标准测试系统需求分析与系统设计 3.1 需求分析 .............................................................................................. (11) 3.2 总体设计 .............................................................................................. (14) 3.3 本章小结 .............................................................................................. (16) 4 音乐数字化标准测试系统实现 4.1 概述 ...................................................................................................... (18) 4.2 标准测试模块...................................................................................... (18) 4.3 标准测试 Web Service 模块 ............................................................... (25) 4.4 管理模块 .............................................................................................. (29) IV 4.5 系统测试和分析 ................................................................................. (31) 4.6 本章小结 .............................................................................................. (34) 5 总结与展望 5.1 论文总结 .............................................................................................. (35) 5.2 展望 ...................................................................................................... (35) 致谢 ............................................................................................................. (37) 参考文献 ..................................................................................................... (38) 1 1 绪论 1.1 项目背景及研究意义项目背景及研究意义 随着现代科学科技的迅猛发展,尤其是互联网技术的发展,信息技术给音乐艺术的发展带来了巨大的变革。音乐数字化服务已经成为中国网民用户数量最多,使用范围最广、使用频率最高的互联网业务服务类型,并呈现出了持续、迅速的增长趋势。数字化音乐迅猛发展,已经遍及到了音乐生活的各种角落,在音乐创作、音乐教学等领域空前活跃。 面对音乐数字化服务市场的庞大需求,国内的音乐数字化服务产业却处于初始发展状态。由于音乐数字化资源建设具有广泛性、复杂性以及多样性的特点,使得大量的数字化音乐资源难以共享和复用,并且不同的音乐数字化服务系统之间也难以进行互相沟通。资源和服务的重复开发导致了音乐数字化服务代价沉重并且发展缓慢。而解决这个问题的关键是音乐数字化学习资源的标准化。 音乐数字化学习资源属于数字化学习资源[1]的范畴。 数字化学习资源标准化最重要的目的是资源的重用和共享,使数字化资源能在异构系统中互换,把资源按照库的思想进行管理, 最终的目的是要延长资源使用生命周期[2]。 在E-learning[3]相关的标准规范中, 全球范围内具有最大影响的是SCORM[4](Sharable Content Object Reference Model,共用式内容物件引用模型)标准,它是美国国防部下面的高级分布式学习委员会组织设计的,目前的标准还在不断的更新中,SCORM2004[5]和SCORM1.2[6]互不兼容,目前迫切需要一个稳定的标准。大多数情况下,标准升级之后,标准化资源的升级也比较简单,可以通过自动化的方法完成标准化资源的升级,这是提倡标准化的原因。目前除了SCORM标准外,影响力较大的还有AICC[7]标准,中国也有自己的CELTS标准。 要实现一个广泛有效的音乐数字化服务应用系统必然要求提供一套音乐数字化标准体系。音乐数字化标准通过一系列的标准规范,解决音乐数字化服务系统中的共性问题,统一指导音乐数字化资源的开发以及音乐数字化服务的提供,实现资源与服务的最大程度的复用和共享。 2 理论上,通过音乐数字化标准就可以指导音乐数字化资源的开发以及服务的提供,从而构建一个高效和共享音乐数字化服务应用系统。但是实际上,仅仅拥有一套标准体系并不能达到目的。由于一些人为的原因,实际中制作的音乐数字化资源以及提供的服务并没有遵循了相应的音乐数字化标准,以致开发的资源不能在服务系统中使用,或者是被其他开发者共享和复用。可见,为了保证音乐数字化标准是严格执行的,必须有一套相应的标准一致性测试系统,以音乐数字化标准为基础,采用形式化的测试理论、 方法和技术[8], 对音乐数字化资源进行严格的标准一致性测试。通过标准一致性测试,能够检测到音乐数字化资源的制作是否符合相应的标准,并在资源不符合标准的情况下给出错误信息反馈,进而能够指导音乐数字化资源的开发,使音乐数字化资源能够在所有的音乐数字化服务系统共享、复用以及互操作。因而音乐数字化标准测试系统在音乐数字化服务中起到了重要的作用。 综上所述,本文的研究内容主要包括两个方面: 1. 本文将研究并制定音乐数字教学资源的元数据标准和内容封装标准; 2. 在音乐数字教学资源相关标准的基础上,设计并实现一个标准一致性测试系统。 该项目旨在提高我国音乐数字化教学和音乐欣赏数字化水平,传承中国传统音乐文化遗产,传播优秀民族民间音乐。它的实施能够很好的满足日益迫切的市场需求,同时对传统音乐资源的传承和保护具有重要的意义,在经济效益、社会效益方面也有可观的前景。该项目包括音乐数字化服务技术标准规范研制及测试应用,音乐数字化服务关键技术研究与服务平台开发,音乐数字化集成服务示范工程三个课题。 1.2 国内外研究现状国内外研究现状 1.2.1 教育信息资源元数据标准的研究现状教育信息资源元数据标准的研究现状 元数据标准是元数据的集合,是指如何描述某些特定类型的资料的规则集合,一般会包括语义层次上的著录规则和语法层次上的规定[9]。 教育信息资源元数据标准是指能够有效地描述教育信息资源的元数据标准,它是实现资源发现以及交流的基础, 涉及学习者相关、 内容相关、 数据与元数据、 管理系统与应用软件等各个方面[10]。 3 所谓教育信息资源,又称教育资源,指用于教学过程及其评价和管理的课件教材、辅导资料、习题集、试题集、教学标准与过程规范等,它可以使数字形态的,也可以是非数字形态的。要描述教育资源涉及到资源内容、资源使用对象、资源使用的教学和教学方法学要求、资源使用的技术以及过程要求等等[11]。 目前,国内外教育资源的元数据标准主要如下几种: 1. 都柏林核心元素集 DC[12](Dublin Core Metadata Initiative,都柏林核心元素集)是由美国OCLC公司发起的一个国际性合作项目, 用于网络资源的描述, 主要包括 15 个元数据核心元素:Title(标题)、Creator(创建者)、Subject(主题)、Description(描述)、Publisher(出版者)、Contributor(贡献者)、Date(日期)、Type(类型)、Format(格式)、Identifier(标识符)、Source(来源)、Language(语言)、Relation(关系)、Coverage(覆盖范围)、Rights(权利)。Dublin Core旨在为元数据使用提供一个最精简的标准集,使用者在遵循Dublin Core的前提下,可以添加自己领域的专门元素。因此,它能够在很广的范围内使用,并得到反馈,从而不断地修订发展和完善。 2. 学习对象元数据 IEEE LOM[13](Learning Object Metadata,学习对象元数据)是由IEEE学习技术标准委员会学习对象元数据工作组建立,用于完整、充分地描述一个学习对象的特征。它对学习对象元数据的语法和语义进行了定义,从而使用最小属性集完成对学习对象的管理、检索和评估,并进行有效的扩展。LOM将学习对象特征分为 9 个基本类别,即通用类、生命周期类、宏元数据类、技术类、教育类、权利类、注解类、关系类、分类类,每个类别又包括若干元素。LOM是国际目前一项发展相对完备的教育元数据标准,很多国家以LOM为基础建立了自己的教育元数据标准。 3. CELTS 学习对象元数据 CELTS 学习对象元数据是由我国信息技术标准化技术委员会教育技术分技术委员会制定。该标准以 LOM 为基础,定义了一个概念上的数据模型,用于描述一个学习对象元数据实例的结构。在该标准中,学习对象的相关特征分为 9 类,分别是通用、生存期、元一元数据、技术、教育、权利、关系、评注和分类。该概念模型定义了组成数据实例的各个数据元素,并且还规定了各个数据元素的约束属性。 4 1.3 项目来源项目来源 随着现代科技的迅猛发展,信息技术给音乐艺术的发展带来了巨大的变革。数字化音乐极大的影响了我国音乐教学、创作、研究、欣赏的各个方面,展现了它的技术优势。 “音乐数字化服务关键技术与示范应用”是“十一五”国家科技支撑计划重大项目。针对当前我国普遍存在的音乐资源丰富但音乐数字化服务却极为缺乏的现状[14],该项目的实施能够很好的满足当前我国对于音乐数字化服务的需求。本项目的实施,是信息学科与艺术科学的一次紧密结合,体现了我国音乐数字化及网络音乐教育与信息技术领域的多学科交叉融合,既有丰富的文化内涵,又有良好的技术支撑。该项目包括音乐数字化服务技术标准规范研制及测试应用,音乐数字化服务关键技术研究与服务平台开发,音乐数字化集成服务示范工程三个课题。 本系统是基于项目课题一“音乐数字化服务标准体系研究及测试应用” 。本系统以我国音乐数字化服务现状为基础,针对音乐数字化资源的特点,完成一套约束标准执行的一致性测试体系。通过标准测试系统使标准易于使用和验证,从而保证音乐数字化资源可以共享、复用以及扩展,促进音乐数字化服务的发展。 1.4 论文结构论文结构 本文共 5 章,内容和组织如下: 第 1 章为绪论部分,简明扼要的介绍了音乐数字化标准测试系统的项目背景及实现意义,国内外最新的研究进展以及项目的来源情况; 第 2 章详细介绍了音乐数字化标准测试系统的实现所涉及到的关键技术,包括XML 技术、XML 解析技术、Web Service 技术以及 Ajax 技术等; 第 3 章阐述了音乐数字化标准测试系统的需求分析,并给出了系统的功能模块设计和架构设计; 第 4 章对音乐数字化标准测试系统进行了概述,并给出了各个模块的详细设计和实现; 第 5 章对全文进行了总结,并指出了音乐数字化标准测试系统存在的问题以及今后的发展方向。 5 2 系统技术概述 2.1 Xml 资源描述资源描述 在音乐数字教学资源中,资源的描述文件是以 XML 文件的形式存在的,它是音乐数字教学资源标准的表现形式。那什么是 XML 呢?为何选用 XML 作为标准的描述呢?下面将进行介绍。 XML[15](eXtensible Markup Language,可扩展标记语言) ,是由W3C制定的一种标记语言,它类似于HTML[16](Hyper Text Markup Language,超文本标记语言)。标记是指计算机能够理解的符号,通过标记语言,计算机能够处理各种信息。HTML语言是用来表现或者是展示数据,而XML被设计的目的是用来传输和存储数据信息。XML是SGML[17](Standard Generalized Markup Language,标准通用标记语言)发展而来,是自IBM发展的GML(Generalized Markup Language)标准化后的名称。XML被广泛使用作为跨平台之间数据交互的形式[18],主要是针对数据内容,通过各种不同的格式化描述手段最终完成形式表达,它已经是W3C的推荐标准。 XML可以按照自定义的语法规则以及词汇表定义各种知识,并可以在网络上传输,能够被各种不同计算机平台所理解,一起完成各种不同的任务。下面是XML的一些特点[19]。 1. 开放性 XML 是基于规范和标准开放的,这也是取得成功的主要因素之一。根据 XML的标准规范,XML 能够在任何计算机平台上读取和处理,而且更重要的是,它允许以 HTTP 和其他的传输协议来传输交换 XML。 2. 可移植性 可移植性也是 XML 的一个特点。由于 XML 是纯文本,它可以自由的在各种不同的计算机平台之间被交换, 因为任何的平台和系统都支持具有文本格式的 XML 数据。XML 也是与语言无关的,它可以支持采用各种语言开发的应用程序。不同的环境以及操作系统之间可以互相通信,它对于那些混合有新系统和旧系统的业务很方便。可见,XML 具有很强的移植性。 6 3. 自我描述性 XML也具有很好的自我描述性。自我描述性就是,XML明确表示了文档自身各个部分的含义。XML文档一般具有相应的文档类型说明或是文档格式说明,因此具有自我描述的特征[20],也称为元数据,它极大地加强了采用了XML的Web页面的检索以及导航功能[21]。 XML文档的DTD文件或是Schema文件对整个XML文档的标签进行了定义,通过它们不仅可以用来检测XML文档的有效性,而且不同的计算机系统可以相互理解,这为分布式计算提供了方便。 4. 可扩展性 在 HTML 语言中,所有的使用的标签是预定义的,而在 XML 中,标签都是自定义的,XML 允许创建者自定义标签以及文档的结构。通过使用 XML,可以创建自己的语言。 有很多的语言都是派生自XML, 比如:Math XL (数学标记语言) 、 CML(化学标记语言)和 Tec ML(技术数据标记语言) ,它们都是应用于特定环境的派生语言。 由于上述所述特点, XML 在现实中具有广泛的应用, 主要表现在如下三个方面。 1. 丰富文件 XML结合XSL(或者是CSS和JavaScript),可以用于呈现自定义的丰富的页面[22],它属于文件为主的XML技术应用。 2. 元数据 元数据就是关于数据的数据[23],元数据可以为各种形态的信息资源提供规范、普遍的描述方法,为分布的、由多种资源组成的信息体系提供整合的工具与纽带。利用XML可以将元数据方案形式化,为机器处理提供规范的表达。本文中XML就是利用了可以用来描述元数据这一功能。 3. 配置文档 通常应用程序的一些变量会存放在 XML 文件中,供程序读取,这些变量由主机环境确定。 比如数据源的配置文件片段如表 2-1 所示, 访问数据库的用户名和密码被存放在 XML 配置文件中,当应用程序环境变化时,只要更改 XML 配置文件即可。 7 表 2-1 数据源的配置文件片段 <datasource> <dbhost>localhost</dbhost> <dbname>music</dbname> <dbuser>root</dbuser> <dbpassword>admin</dbpassword> </datasource> 2.2 Xml 解析技术解析技术 在音乐数字化学习资源标准测试系统中,相关标准是以Schema[24]文件的形式表现出来,而Schema文件也属于XML格式,因此,系统会涉及到对XML进行解析。由于该标准测试系统是采用PHP进行开发的, 所以本节将会具体介绍PHP中几种常见的XML解析技术,并对他们做简要的比较,以便确定系统应该选取的XML解析技术。PHP中解析XML主要分为两类方式:树和流。各种具体的解析技术介绍如下:  基于树的解析技术 在基于树的解析方式中,XML文档会被整个的加载到内存之中,文档的根会作为主干,后代节点以及节点属性作为分支。 1. DOM DOM[25](Document Object Model,文档对象模型)是用与平台和语言无关的方式表示XML文档的官方W3C标准,它能够让程序和脚本动态的访问和更新文档的内容、结构和样式[26]。DOM是基于树的解析器,它完全复制了XML文件之中的元素树,每个XML元素就是树上的一个节点。由于要创建整个XML文档对应的树,要占用大量的内存和处理器时间。 2. SimpleXML SimpleXML[27]是PHP中的一种扩展的XML文档解析方法,它也是一种基于树的解析方式。SimpleXML比较适合处理简单的、基本的XML文档。在XML文档不是太复杂、层次不深、没有混合内容的情况下,SimpleXML比DOM方式更加简单。SimpleXML拥有DOM的许多优点,它能够轻松地访问XML,能够与DOM互操作。 但是, 同DOM一样, 它的缺点也很明显, 它无法在内存中加载大型的XML文档。  基于流的解析技术 8 和基于树的解析方式不同,流解析方式不需要将整个文档加载到内存中,在基于流的解析方式之中,采用和流式音频同样的原理来解析XML流,节点在被处理完之后会被丢弃。它比较适合处理那些不熟悉的或者事不可预测的XML文件 1. XMLReader XMLReader[28]是PHP中一种扩展的XML文档解析方法,它是基于流的解析方式,也被称为pull类型解析器。在解析大型的XML文件时,XMLReader非常方便,它的编码比SAX更简单,速度也很快,是理想的基于流的解析方式。 2. SAX SAX(Simple API for XML)[29]是一种基于流的解析方式。事件是和读取的XML文档相关联,它以回调的方式编码。读取XML的过程中,对应一系列事件,元素打开关闭标记、元素内容、实体和解析错误有对应的事件。SAX解析方式的缺点是编码复杂,效率不是很高。 基于以上的讨论, 本系统采用 Simple XML 作为解析音乐数字教学资源的解析方法。 2.3 Ajax 技术技术 Ajax(Asynchronous JavaScript and XML,异步的JavaScript与XML技术)[30]是一种在网页开发上应用广泛的技术。Ajax不是一种单一的技术,而是综合运用多种技术。 在传统的 Web 应用开发中,用户端填写一张表单,然后向服务器端发送一个请求。服务器处理表单的请求,接着给客户端返回一个新的页面。在这种方式下带宽是被浪费的,因为服务器返回的新页面与旧的页面之间大部分 html 代码是相同的。与此同时,应用的反应时间会依赖于服务器的反应时间,而服务器的回应时间是与传输的内容大小有关的。因此,传统的方式下,用户界面的响应速度也会慢很多。由此可见,在传统的 Web 开发中,带宽利用和响应速度都有缺陷。 而在 Ajax 应用中,它只向服务器发送并取得少量必须的数据。由于在浏览器端和服务器端之间传输的数据量大大的减少了(大概是原来的 5%),所以服务器端的响应更加快速了。所以通过 Ajax 方式,带宽利用率和响应速度都会大幅提升。 9 2.4 WebService 技术技术 WebService是一种面向服务的架构技术, 它通过标准的Web协议将应用系统发布成为在线的服务,通过网络可以访问和使用该项服务[31]。从表面看,Web Service就是一个应用程序,它对外提供一个可以通过Internet进行调用的API,你可以通过编程来调用这个应用程序,从而使用它提供的服务。 Web Service是完全跨平台的,你可以使用任何编程语言在任何操作系统上将应用程序发布成为一项服务,客户端也可以在任何平台上面使用各种编程语言使用这个服务。Web Service就是为了异构系统的通信而产生的,它基本的思想就是使用基于XML的HTTP的远程调用提供一种标准的机制,而省去建立一种新协议的需求[32]。目前,支持Web Service通信的主要有两种标准协议,下面分别介绍如下。 1. XML-RPC XML-RPC[33]是一个很简单的、轻量级的标准协议,它通过HTTP协议进行RPC[34](Remote Procedure Call Protocol,远程过程调用协议)通信。在XML-RPC协议标准中,一个消息就是一个请求体为XML格式数据的HTTP-POST请求,同时,服务器在执行相应的调用方法时也会返回XML格式的结果。 XML-RPC只能使用有限的几种数据类型以及一些简单的数据结构。人们认为这个协议不够强大,不能满足处理复杂数据的需求。它的格式很简单,其中,method Call标签标识发送到Server端的调用请求,methodName用于标识请求方法的名称,请求参数用params和param标识。 2. SOAP 由于XML-RPC只支持简单类型的数据,于是就出现了SOAP(Simple Object Access Protocol,简单对象访问协议)[35]。与XML-RPC不同的是,SOAP利用XML Schema扩展了数据类型,同时也能够支持XML命名空间。SOAP在支持复杂数据类型的同时,也给系统之间增加了过多的复杂性。如错误!未找到引用源。错误!未找到引用源。所示,为一个典型的SOAP的请求报文。SOAP的消息是一个SOAP Envelope,它包括一个SOAP Header和一个SOAP Body. SOAP Header可以通过插入其他的消息以扩充Web Service的功能,SOAP Body则是具体的信息正文。和XML-RPC一样,SOAP的调用也是通过向一个URL发送HTTP Post消息报文(也支持HTTP Get报文形式) ,HTTP Request Header SOAP-Action给出了调用的方法名称。 由于 XML-RPC 只支持少量简单类型的数据类型,无法满足系统的要求,所以本 10 系统采用基于 SOAP 标准协议的 Web Service,使用 SOAP 还可以获得更加稳定、健壮的性能。 WSDL(Web Service Description Language, Web Service描述语言)[36]是一种用来描述Web Service的XML语言。Web Service用一种人和机器都能够理解的方式对服务进行了正式的描述性文档。它是基于XML语言的,描述了Web Service的函数、参数以及返回结果。 WSDL减轻了开发人员调用服务的难度, 他们只需要知道调用的函数名以及参数即可。 2.5 本章小结本章小结 本章为系统技术概述部分。主要介绍了音乐数字化标准测试系统的设计和实现需要用到的核心技术。首先介绍了对资源进行描述采用的 XML 语言、PHP 中解析XML 的 Simple XML 技术、Web 系统常用的 Ajax 技术以及提供 Web 服务的 Web Service 技术。这些核心技术是构建本系统的基础。 11 3 音乐数字化标准测试系统需求分析与系统设计 3.1 需求分析需求分析 3.1.1 功能需求功能需求 本课题的研究内容涉及到音乐数字化的资源、技术、标准和应用,这四个方面是紧密结合并且环环相扣,其中标准的研究起到了纽带的作用。标准研究的目标是建立一个音乐数字化服务各个环节的标准体系。只有在遵循音乐数字化服务标准体系的前提下,各个项目负责开发制作的音乐数字化资源以及音乐数字化服务系统才能够很方便的进行资源的共享以及系统之间的互操作。而相应的标准测试系统能够切实的保证音乐数字化服务的各个环节严格遵循了音乐数字化服务的标准体系中的标准。通过标准测试系统,能够检测音乐数字化资源的制作是否符合相应的标准规范,如果不符合,指出不符合的地方并给出修改意见,从而保证资源的复用和共享。 音乐数字化学习资源标准测试系统是以相应音乐数字化标准为理论基础,它对为音乐数字化服务提供的各种音乐数字化学习资源进行与标准相关的一致性测试,检测资源是否符合相应的标准规范。该测试系统的测试需求即为音乐数字化标准。只有通过了音乐数字化学习资源标准测试系统测试的音乐数字化资源才能被音乐数字化服务所应用。 如图 3-1 所示为音乐数字化学习资源标准测试系统在音乐数字化服务应用示范项目中的作用。 12 图 3-1 音乐数字化学习资源标准测试系统的地位 音乐数字化学习资源的开发者通过音乐数字化资源标准测试系统来测试他们制作的音乐数字化资源,指导音乐数字化资源的开发,进而保证音乐数字化资源的共享性和系统的互操作性。通过音乐数字化学习资源标准测试系统,资源开发者希望能够得到如图 3-2 所示的测试结果信息。 通过直观的标准测试结果信息, 能够使音乐数字化学习资源的制作更加准确有效。 图 3-2 音乐数字化学习资源标准测试系统测试结果信息 1. 测试通过与否信息 测试通过与否信息标识所测试的音乐数字化资源是否符合音乐数字化标准,这是测试结果中最直观的信息。如果测试通过信息为“不通过” ,则表示该音乐数字化资源不符合相应的音乐数字化标准,因而不能被应用到音乐数字化服务应用中。此种情况下,在测试错误信息中会有详细的错误信息,用于向音乐数字化资源制作方提供修改帮助。若测试结果信息为“通过” ,则表明它基本符合音乐数字化标准,能够在音乐数字化服务应用中复用和互操作。 2. 测试警告信息 若存在测试警告信息,则表明该音乐数字化资源与相应的音乐数字化标准不是 13 严格一致的,但是又是与标准硬性规定是一致的,它并没有影响该音乐数字化资源的可复用性以及可互操作性,因而它不是音乐数字化资源通过测试与否的指标。对于测试警告信息,并不要求强制修改。 3. 测试错误信息 只有在测试通过信息为“不通过”时,才会存在测试错误信息。测试错误信息表明该音乐数字化资源与相应的音乐数字化标准中的硬性规定有不一致的地方,不能忽略,需要修改才能被应用在音乐数字化服务应用中。测试错误信息会指出错误出现的节点的完整路径信息,以及出错的原因。根据详细的测试错误信息,音乐数字化资源开发者能够更好的进行资源开发。 3.1.2 流程需求流程需求 音乐数字化学习资源标准测试系统的核心功能是标准测试,标准测试的流程如图 3-3 所示。 首先测试系统的用户上传音乐数字化资源对应的包交换文件, 系统对包交换文件进行解压,定位到音乐数字化资源对应的资源描述文件。测试系统然后解析资源描述文件,并与音乐数字化标准对照,执行标准测试逻辑,得到测试信息,最后生成相应的测试报告。测试报告可供用户下载打印等,以指导音乐数字化资源的开发。 测试流程中的详细步骤如下: 1. 测试系统的用户将音乐数字化资源对应的包交换文件上传到服务器,系统对包交换文件进行解压以及解析,得到描述音乐数字化资源的 XML 文件; 2. 系统解析音乐数字化标准对应的 XML 文件,得到相应的测试需求信息,并存放在内存结构中; 3. 系统接着解析资源描述文件对应的 XML 文件,并与内存结构中的标准信息比对,执行标准测试逻辑,最后生成测试报告。 14 图 3-3 音乐数字化学习资源标准测试系统测试流程 3.1.3 界面需求界面需求 系统要提供统一、友好、简洁的界面显示,方便用户快速地熟悉各项测试的通道和入口,用户浏览页面时,滑动窗口到页面尾部,按 Page Down 键不超过三次。要求提供操作简单的交互界面,以方便不同层次的计算机使用人员进行使用,同时提供相应的帮助文档,方便用户在使用中遇到的困难和问题时随时查询。此外要充分考虑平台使用人员计算机水平参差不齐的现状,做到界面简洁、好用、 “傻瓜化” 。 3.2 总体设计总体设计 3.2.1 功能模块设计功能模块设计 音乐数字化标准测试系统是一个 PHP Web 系统。根据项目的需求分析,对系统采用模块化的设计与开发,并确定各个模块之间的关系。通过模块化的设计,能够降低系统的复杂度,使系统的设计开发、调试和维护更加的便利。 音乐数字化标准测试系统的功能模块设计如图 3-4 所示。 它主要包括了三大功能模块,分别是标准测试模块、标准测试 Web Service 模块以及管理模块。其中标准测试模块以及标准测试 Web Service 模块是系统的核心模块,它为本地用户以及远程用户提供基本的测试功能,实现了基本的业务需求。而管理模块则是属于辅助的模块,管理模块主要包括那些与核心的标准测试无关的功能模块,比如用户的注册登录、用户的个人信息管理以及用户的管理等等,它使得系统更好的提供服务。 由于该标准测试系统涉及到的标准包括音乐数字化资源元数据标准以及音乐数字化资源封装标准,所以如图 3-4 所示,标准测试模块又包括资源封装标准测试、元 15 素据标准测试以及测试记录管理模块。同理,标准测试 Web Service 模块包括了资源封装标准测试 Web Service 和元数据标准测试 Web Service。 管理模块则包括用户登录注册、用户管理以及用户个人信息管理等等模块。各个模块之间彼此独立,完成系统特定的功能,共同为音乐数字化标准测试系统服务。 图 3-4 音乐数字化标准测试系统功能模块 3.2.2 架构设计架构设计 音乐数字化学习资源标准测试系统采用了常用的三层结构的架构模式,系统从上到下分别是:表示层、业务逻辑层和数据访问层,如图 3-5 所示。通过使用三层架构模式,开发人员的分工更加的明确。一旦定义了各层之间的接口,各个层次的开发就可以同时进行。比如 UI 开发人员只需要关注系统的用户界面,领域的设计人员可以只关注业务的设计,而数据库设计人员只关心和数据库的操作。每个开发人员只负责明确的一部分,开发速度会明显的得到提升。 松散耦合也是三层架构的一个优点。如果系统没有进行分层设计,那么各种逻辑会纠缠在一起,彼此之间会严重的相互依赖。一旦某个部分改变,则会产生牵一发动全身的效果,影响极为严重。通过降低各层之间的耦合性,可以保证系统有良好的扩展性,在复用性方面也会有明显的优势。这一点对音乐数字化学习资源标准检测系统尤为重要,因为系统的测试需求随时会有改变,并且采用的数据库系统也是极易变化的,所以该系统的扩展性极为必要。该分层架构的各个部分的功能如下所示: 16 1. 表示层 WEB:主要为用户展示操作界面,实现和用户的交互,它接收用户的请求数据并将它交给下一层的业务逻辑层处理,以及返回并展示从业务逻辑层得到的数据。 2. 业务逻辑层 BLL:业务逻辑层起到承上启下的作用,用于处理上下交互的数据,从而实现业务目标。具体来说,它获取表示层的数据,并基于一定的业务规则对它进行逻辑处理,或者是从数据访问层取得到数据,然后将数据的处理结果返回给表示层。它是系统架构中的核心部分,它的关注点主要是业务规则的制定、业务流程的实现等等与具体业务需求有关的系统设计。 3. 数据访问层 DAL:有时也称之为持久层,用于实现与数据库的交互和访问,从数据库中获取数据、从数据库中删除数据以及保存数据到数据库中。 4. 业务实体 Model:它是系统中一些可以复用的类,是从各个层次抽象出来的共同的东西。如将数据对象实体和方法分离,以便能在多个层之间传递。 5. 通用类库 Common:它是系统中一些具有共性的通用辅助类以及工具方法,比如数据校验、缓存处理、加解密处理等。通过将这些通用的东西单独分离出来,作为独立的模块使用,从而在各个层之间得到极大的复用。 图 3-5 测试系统采用的三层架构 3.3 本章小结本章小结 本章是系统的需求分析和总体设计部分,首先对音乐数字化标准测试系统进行了需求分析,主要包括功能需求、流程需求、界面需求等。然后根据需求分析的结果对系统进行了功能模块的设计,并结合软件设计的思想对系统进行了系统整体架 17 构的设计。本章的整体设计是为下一步系统的实现做准备。 18 4 音乐数字化标准测试系统实现 4.1 概述概述 音乐数字化标准测试系统是用 PHP5 开发的一个 Web2.0 系统。该系统采用传统的三层架构模式开发,分别是表示层、业务逻辑层和数据访问层。其中,表示层采用纯 HTML+CSS 表示,不掺杂任何 PHP 代码,简洁易读。业务逻辑层和数据访问层采用面向对象的 PHP5 开发,使得系统具备易维护、高质量、效率高以及以扩展的优点。 表示层 HTML 通过 Ajax 向后台获取必要的数据,它使的系统交互更加的快速流畅。整个系统基于模块化的开发方式,首先对系统进行整体构建,明确各个模块的功能,规定好各个模块之间的接口和消息参数,使得模块之间达到真正的“高内聚、低耦合” 。 系统开发及运行环境系统开发及运行环境 系统开发工具:AptanaStudio 3 系统开发语言:PHP5 服务器:Apache2 数据库管理系统软件:Mysql5 运行平台:Win 7 / Windows XP / Windows 2000 / Windows 2003。 分辨率:1280*800 4.2 标准测试模块标准测试模块 标准测试模块是音乐数字化标准测试系统的核心模块, 如图 3-4 所示, 它又包括元数据标准测试、资源封装标准测试和测试记录管理模块。 4.2.1 标准测试标准测试 标准测试模块依照音乐数字化标准中的各个标准,对开发的音乐数字化资源进 19 行标准测试,判断资源的制作是否满足相关的标准,进而指导音乐数字化资源的制作。标准测试的详细流程如图 4-1 所示。详细的流程介绍如下: 图 4-1 标准测试流程 1. 音乐数字化学习资源的开发者完成的音乐数字化学习资源将会以.zip 文件的形式存在。音乐数字化学习资源包含了音乐数字化资源所必需的音乐多媒体文件以及对应的资源描述文件等,它是音乐数字化服务系统的基础。为使音乐数字化学习资源在音乐数字化服务系统中被共享、复用以及互操作,它首先需要被上传到标准测试系统中进行测试。在音乐数字化标准测试系统中,用户的音乐数字化学习资源将会以.zip 文件的形式上传。 2. 以.Zip 文件形式存在于标准测试系统之中的音乐数字化资源接着会被解压到文件夹,系统将会尝试在文件夹的特定目录中寻找特定名字的 XML 文件。比如在封装标准测试中,系统试图寻找文件夹根目录下的 description.xml 文件。如果资源描述文件顺利被获取,则进入测试流程的下一步,否则,本次测试流程结束,系统会返回相应的错误信息并返回给用户。 20 3. 在前一个步骤中得到了相应的资源描述文件,该XML文件是整个测试的基础。为了能够获取资源描述文件中包含的信息,必须对XML文件进行解析,而能够对XML文件进行解析的前提是该xml文件必须是合法的XML[37]。 如果该XML文件是合法的,系统将会对该合法的XML文件进行下一步的核心测试,否则,标准测试结束,系统会生成相应的错误信息,并返回给客户端。 4. 对于形式良好的 XML 文件,系统将会对它进行标准测试。标准测试是系统的核心业务,它涉及到两份 XML 文档,一份为以测试需求形式存在的 XML Schema 文件,另一份为用户待测试的 XML 文件。标准测试过程将会解析两份 XML 文档,获取相应的信息,然后进行逻辑比对,并生成测试报告。如果音乐数字化资源没有通过标准测试,测试报告会给出相应的错误信息,并指出错误的地方, 进而指导用户的资源开发过程。 标准测试报告界面如图 4-2所示。 图 4-2 标准测试报告界面 目前,我国音乐数字化标准正处在不断发展的阶段,在音乐数字化标准成为国家标准或是行业标准之前,将处于不断变化的状态,所以的音乐数字化标准测试系统的测试需求是变化的。另一方面,从软件开发的角度讲,在系统设计阶段该假设该测试系统的测试需求是变化的,并设计一个高扩展性系统,以应对需求的变化。这是音乐数字化标准测试系统的难点所在。 标准测试模块的核心和难点部分是标准测试逻辑。标准测试逻辑就是对资源描述文件 XML 进行一致性测试,目前对 XML 文档结构进行一致性测试的方法主要有 21 三种:1.XML DTD 或 XML Schema 法;2.节点比对法;3.配置文件法。 XML DTD 和 XML Schema 是专门用于定义 XML 文档结构和约束的文件,但是通过XML DTD或者XML Schema只能用于判断用户给定的XML文件是否符合XML DTD 或者是 XML Schema,而不能给用户提供详细的测试结果信息。而音乐数字化标准测试系统希望能够给用户提供详细而友好的比对信息,以便指导音乐数字化学习资源的开发。显然此方法存在很大的不足。 另一种对 XML 文档结构进行一致性测试的方法是节点比对法。在节点比对法中,测试系统对用户的 XML 文件进行 XML 解析,解析到的每一个节点都必须与测试需求进行一一比对,而测试需求的逻辑是根据相应的标准在代码中固化了的,它和标准是强耦合的,一旦标准改变,测试逻辑的代码都得发生改变。测试逻辑和音乐数字化标准的强耦合导致了系统是难以维护的,扩展性也很差,可复用性低。该系统不采用节点比对法。 还有一种方法是采用配置文件的方式。系统先将测试标准中对应的测试需求以键值对的形式配置到 properties 配置文件之中,如表 4-1 所示。配置文件中的每一小段对应一个标准 XML 文件中一个元素的测试需求,分别为元素类型、出现次数、是否必要、出现峰值等信息。在进行标准测试时,测试逻辑先读取一遍 properties 配置文件,即可得到待测信息。 表 4-1 标准测试需求配置文件 /description=org.itec.tvecm.entity.element.Description /description_count=1 /description_necessary=true /description_max=max /description/type=org.itec.tvecm.entity.element.Type /description/type_count=1 /description/type_necessary=true /description/type_max=max /description/subject=org.itec.tvecm.entity.element.Subject /description/subject_count=1 /description/subject_necessary=true 22 /description/subject_max=max /description/function=org.itec.tvecm.entity.element.Function /description/function_count=10 /description/function_necessary=false /description/function_max=min 采用配置文件存储标准测试信息的方式,极大的降低了系统的标准测试逻辑与音乐数字化标准的耦合程度。并且配置文件方便灵活,当测试需求发生变化时,可以...

关注我们

关注微信公众号

您选择了以下内容