(计算机应用技术专业论文)组件测评虚拟实验室的设计与实现.pdf_第1页
(计算机应用技术专业论文)组件测评虚拟实验室的设计与实现.pdf_第2页
(计算机应用技术专业论文)组件测评虚拟实验室的设计与实现.pdf_第3页
(计算机应用技术专业论文)组件测评虚拟实验室的设计与实现.pdf_第4页
(计算机应用技术专业论文)组件测评虚拟实验室的设计与实现.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)组件测评虚拟实验室的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着计算机技术与i n t e r n e t 技术的突飞猛进的发展,远程教学作 为一种新的教学模式已经得到越来越广泛的应用。虚拟实验室是远 程教学的重要实现方式,在缓解资源不足、减少设备成本等方面做 出了重要贡献。 论文提出了一种组件测评虚拟实验室的设计模型和实现方案。该 系统帮助用户快速掌握j a v ab e a n 组件的结构和实现,弥补了现有平 台用户无法设计组件和测评组件的不足。系统采用b s 的开发模式, j a v a 语言实现,依次重点实现了组件编辑配置提交、数据管理、组件 语法检查、组件接口检查、组件功能检查。其中,利用r m i 机制实 现了将用户组件包上传至服务器;应用o r m 和h i b e r n a t e 技术分离 了系统的业务逻辑层和数据持久层;解析x m l 获取组件的配置信息; 利用j a v ab e a n 和反射技术解析组件类的内部信息进行接口检查;通 过黑盒测试方法,令用户组件和标准组件的输入相同判断输出是否相 同实现组件功能测评;采用多线程技术实现了多用户的并发访问。 本文对各个功能模块的设计思想和实现原理进行了详细的阐述,并给 出了一个运行实例,验证了平台的可行性和可操作性,具有良好的 实用价值。 本文最后对系统实现过程中的研究与开发工作进行了总结,并阐 述了将来进一步对该系统进行扩充与完善的一些工作。 关键词虚拟实验室,组件测评,j a v ab e a n ,h i b e r n a t e ,反射 a bs t r a c t w i t ht h er a p i dd e v e l o p m e n to fc o m p u t e rs c i e n c ea n di n t e r n e t t e c h n i q u e s ,r e m o t ee d u c a t i o na san e we d u c a t i o nm o d eh a sa l r e a d yb e e n m o r ea n dm o r ew i d e l yu s e d v i r t u a ll a b o r a t o r yp l a y sa ni m p o r t a n tr o l e i nr e m o t ee d u c a t i o n i tm a k e sag r e a tc o n t r i b u t i o nt os a v i n gr e s o u r c e s a n dr e d u c i n gc o s to fd e v i c e s t h ep a p e rp r o p o s e sad e s i g n i n gm o d e la n di m p l e m e n t i n gs c h e m eo f c o m p o n e n tt e s t i n ga n de v a l u a t i n gv i r t u a ll a b o r a t o r y t h es y s t e mh e l p st h e u s e r sm a s t e rt h ec o m p o n e n t ss t r u c t u r ea n dr e a l i z a t i o nr a p i d l y i tm a k e s u pf o rt h ed e f i c i e n c yo fn o td e s i g n i n ga n de v a l u a t i n gc o m p o n e n t si nt h e f o r m e rp l a t f o r m t h es y s t e mi sd e v e l o p e db yb sm o d ea n di m p l e m e n t e d w i t hj a v al a n g u a g e c o m p o n e n te d i t i n g ,c o n f i g u r i n ga n du p l o a d i n g ,d a t a m a n a g i n g ,c o m p o n e n tc o m p i l i n g ,c o m p o n e n t si n t e r f a c ei n s p e c t i n ga s w e l la sc o m p o n e n t sf u n c t i o ne v a l u a t i n ga r em a i n l yr e a l i z e di nt u r n i n d e t a i l ,t h es y s t e mm a k e su s eo fr m im e c h a n i s mt ou p l o a du s e r s c o m p o n e tj a rf i l et ot h es e r v e r , a p p l i e so r m a n dh i b e r n a t et os e p a r a t i n g t h el o g i co p e r a t i o nl a y e ra n dd a t a b a s el a y e ro ft h es y s t e m ,a n a l y s i z e s x m lt o g e tc o m p o n e t sc o n f i g u r a t i o ni n f o r m a t i o n ,p a r s e st h e i n n e r i n f o r m a t i o no fc o m p o n e n tc l a s st oc o m p l e t ei n t e r f a c ei n s p e c t i n gb yu s i n g j a v ab e a na n dr e f l e c t i o nt e c h n i q u e s ,t h r o u g hb l a c k - b o xt e s t i n gt h o u g h t , t h es y s t e mm a k e st h es a l n ei n p u tv a l u eo fu s e rc o m p o n e n ta n ds t a n d a r d c o m p o n e n t ,b yj u d g i n g t h e i ro u t p u tv a l u et or e a l i z ec o m p o n e n t sf u n c t i o n e v a l u a t i n g ,u s e sm u l t i t h r e a dt e c h n o l o g yt or e a l i z em a n yu s e r s a c c e s st o t h es e r v e ra tt h es a m et i m e t h ep a p e re x p a t i a t e so nt h ed e s i g nt h o u g h t a n dr e a l i z a t i o np r i n c i p l eo fe a c hf u c t i o nm o d u l e i tg i v e sa ne x a m p l e w h i c hv e r i f i e st h ep l a t f o r mh a sf e a s i b i l i t y , m a n i p u l a b i l i t y , a n dg o o d p r a c t i c a lv a l u e f i n a l l y , t h ep a p e rs u m su pt h ef i n i s h e dw o r kd u r i n gt h er e s e a r c ha n d d e v e l o p m e n to ft h es y s t e m ,a n dp r o p o s e ss o m ef u t u r ew o r k t oe x p a n dt h e s y s t e ma n dm a k ei tb e t t e r k e yw o r d sv i r t u a l l a b o r a t o r y , c o m p o n e n tt e s t i n ga n de v a l u a t i n g , j a v ab e a n ,h i b e r n a t e ,r e f l e c t i o n i l 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均已在论文中作了明确的说明。 作者签名: 聱盈日期:皿年上月旦日 学位论文版权使用授权书 本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文并根据国家或湖南省有关部门规定送交学位论文, 允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内 容,可以采用复印、缩印或其它手段保存学位论文。同时授权中国科 学技术信息研究所将本学位论文收录到中国学位论文全文数据库, 并通过网络向社会公众提供信息服务。 作者签名:驻导师签名立望兰日期:醴年上月丛日 硕士学位论文第一章绪论 第一章绪论 近1 0 年里,i n t e r a c t 在全球得到了飞速的发展,已成为当今世界上覆盖面 最广、规模最大、信息资源最丰富的计算机信息网络,极大地推动了世界科学 研究的发展。对于教育而言,其教学模式也应将随着通信手段的提高进行相应 的改进。目前,随着我国高等教育体制的深化改革,各高校的招生规模不断扩 大,使得高等院校原本紧张的实验教学资源陷入更加不足的境况。另一方面, 真实的实验设备存在损耗大,维护困难,开销高等局限性。因此,在充分利用 现有实验教学资源的同时,如何利用i n t e r n e t 来进行基于i n t e r n e t 的远程教学 已成为教育界的重要研究课题,如何利用计算机虚拟技术进行课程实验也已成为 一种趋势。 论文在本章讨论了虚拟实验室的研究背景和研究现状,并结合当前虚拟实验 室的开发过程与技术实现及其不足,阐述了组件测评虚拟实验室的必要性及其重 要意义。 1 1 课题的研究背景 近年来,i n t e r n e t 的飞速发展极大地改变了人们的生活方式,其丰富的信息 资源给人们的生活和学习带来了极大的便利,同时也为远程教学带来无限生机。 当高等教育正在探讨新世纪如何提高人类的文化和科技素质时,现代科技不仅急 剧地改变着人类的生产和生活方式,而且正在从各个方面改造教育本身【l 】,教学 方式和时空观念正在发生一系列深刻的变化,远程教学成为一种新的教学模式。 虽然这种教学模式仍处于研究发展阶段,但是由于利用i n t e r n e t 进行远程教学在 实时交互性和资源共享等方面所具有极大的优势,无疑具有巨大的发展潜力。因 此,远程教学已成为了国内外各高校和研究机构的研究热点,越来越受到政府和 企业及社会的关注。 因特网虚拟实验室作为2 1 世纪新型的远程教育模式,解决了长期困扰远程教 学中实践教学的欠缺问题,使得远程教育中的实验教学与远程教学模式相适应, 在改革传统教学方法、共享教育资源、提高教学水平、节约教育投资等方面都具 有重要意义,它的产生向人们展示了信息时代一种全新的教育模式和科学研究方 式【2 】。 虚拟实验室 3 j ( v i r t u a ll a b o r a t o r y ) 概念,亦称为“合作实验室( c o l l a b o r a t o r y ) ,最早在19 8 9 年由美国u n i v e r s i t yo fv i r g i n i a 的w i l l i a mw u l f 教授 提出,用来描述一个计算机网络化的虚拟实验室环境【4 1 。它致力于构筑一个综合 硕士学位论文第一章绪论 不同工具和技术的电子化、网络化的科学研究集成环境。在这个环境里,科学家 们可以非常有效地利用地理上分布的各种资源( 数据、信息、设备、人力) 来从事 科研活动。 w u l f 形象地把虚拟实验室称为“无墙的研究中心【5 1 。所谓虚拟实验室就是 以计算机网络为核心,将虚拟仪器通过网络连接起来,以实现数据采集、分析、 远程操作的一个系统。它与传统实验教学相比,具有以下优点1 6 , 7 : 1 完全基于网络,突破了时空限制,可以在任何时间、任何地点( 能上网即 可) 进行实验。 2 大幅降低实验成本。基于网络的虚拟实验室通过软件模拟实验场景,可 以省去购买昂贵实验设备的费用,从而大幅度地节省实验室的建设和使用费用。 3 实时的交互能力,便于交流。充分利用网络通信功能,使学生与教师、 学生与学生之间可以进行实时或非实时的交流,便于学生解决问题和协同实验。 4 资源共享。基于网络的虚拟实验室不仅可以供本校学生使用,也可以供 其它学校的学生使用,从而使不同学校之间共享资源、优势互补、交流经验。 5 实验可反复进行,允许学生犯错误,然后回退,并重新执行实验,直到 正确为止。 因此,用现代计算机网络技术研究虚拟实验室及其在远程教学中的应用,是 近几年国内外实验教学和远程教学的研究热点。它具有的透明性、资源共享性、 互操作性、用户自主性、扩展性以及安全性等特点是传统实验室无法比拟的嘲。 1 2 课题的研究现状 虽然虚拟实验室的提出至今不n - 十年的时间,但因其诱人的应用前景,各 国均在大力开发。目前,虚拟实验室在发达国家已十分普及,涵盖的领域包括基 础物理学、基础化学、海洋学、天体物理学以及分子生物学等等。代表性的成果 有:由美国国防部高级研究计划局( d a r p a ) 立项,南加利福尼亚劳伦斯伯克利实 验室( l b n l ) 、加利福尼亚的伯克利大学cb e r k e l e y ) 、美国施尔公司的p a l o a l t o 研究中,t , ( x e r op a r c ) 、南加利福尼亚信息科学学院( u s c i o ) 联合设计的网络仿 真器一一n s 。目前正以n s 为引擎,开发一个虚拟互联网络测试平台系统 v i n t ( v i r t u a li n t e r n e t w o r kt e s t b e d ) ,提供各专业网络设计人员作为网络性能测试 工具,已经有2 0 0 多家科研机构和大专院校使用【9 l ;美国i l l i n o i s 大学的n m r s c o p e 系纠m 】,通过i n t e m e t ,研究人员在任何地方都能使用i l l i n o i s 大学的仪器。如 n m r i ( 核磁共振仪1 的使用,只要向该大学递交了一个样品之后,经过授权的研 究人员就可以与服务器联机,服务器将显示出一张表示仪器设置的表格和功能清 单,通过点击屏幕上的按钮就可以进行实验,生成的图像将被传回到研究人员的 2 硕士学位论文 第一章绪论 计算机屏幕上【1 1 1 ;德国波鸿鲁尔大学电子工程与信息科学系工程实验室利用 j a v a a p p l e t 、m a t l a b 、v r m l 及图形等插件来执行仿真和数字或符号计算;加拿 大多伦多大学医学院同美国h o w a r dh u g e s 医学院合作,使用s h o c k w a v e 及f l a s h 图形动画制作软件将医学院中的动物解剖实验过程制作成交互式动画;美国犹他 州立大学的n e t b e de m u l a b 提供了一套网络虚拟实验环境【1 2 l ;美国亚利桑那州立 大学采用j a v a a p p l e t 技术开发的数字信号处理编辑器j - d s p 1 3 】,可以让用户通过 w e b 浏览器实现跨平台访问;西班牙大学电子系开发了电子仪器虚拟工作平台 【1 4 】;意大利帕瓦多大学建立了远程虚拟教育实验型1 5 】;新加坡国立大学开发了 远程示波器实验和压力容器实验1 1 6 1 。 在国内,虽然对虚拟实验室的研究起步较晚,但它的建设也得到了高度的重 视。目前,在很多高校已经建立了各具特色的虚拟实验室。例如:清华大学利用 虚拟仪器构建了汽车发动机检测系统;中国科技大学人工智能与计算机应用研究 室研制出了几何光学设计平台,可以完成所有的单透光和组合透光实验;中南大 学信息科学与工程学院建立了一个数字图像处理网上虚拟实验室【l 刀;华中理工大 学机械学院建立了一个工程测试网上虚拟实验室,学生可以通过联网计算机终端 来进行仿真实验;华中理工大学、四川联合大学、淮海工学院等高校也都将虚拟 实验室建成并投入到实验教学中,收到了良好的教学效果。 目前,虚拟实验室的实现方案大致可以分成两种类型,一种是纯软件的实现 方式,另一种是软硬结合的实现方式。从开发技术来看,虚拟实验室常采用的开 发技术主要有j a v a 、q u i c kt t m e 的v r 技术、v r m l 、a c t i v e x 控件技术和f l a s h 等。 由于j a v a 语言在平台无关性、安全性、健壮性及在网络编程方面的优点,使得j a v a 技术成为了虚拟实验室开发的主流技术。如文献 1 8 】中提出了一种以组件技术构 架的基于i n t e m e t 的数字图像处理仿真系统模型。该模型采用基于j a v a 的组件对象 技术,提高了开发效率,实现了软件重用,使得系统易于维护和扩充,并通过 c o r b a 技术来实现j a v a 与m a t l a b 之间的无缝联接,大大提高了系统的仿真能力; 文献 1 9 1 中提出的基于i n t e m e t 虚拟实验室是以j a v a 语言开发实现的,客户端用 j a v a a p p l e t 实现,设备组件用j a v ab e a n 实现。该实验室以组件的方式提供具体的 仪器设备,用户可以可视化地制定自己的实验流程,动态地引入、创建实验设备 对象;文献【1 5 】提出了基于w e b 的分布式虚拟教育实验室。该系统允许服务器端 的组件数据库分布在不同的主机上,客户端的请求通过远程连接管理者来定位服 务组件,服务组件的开发采用l a b v i e w 平台;文献 2 0 1 中描述了一个基亏:i n t e m e t 的自动控制理论远程实验室,其客户端采用了h t m l 和j a v aa p p l e t 页面作为用户 界面,服务器端则以m a t l a b s i m u l i n k 作为实验环境。用户利用服务器端的 m a t l a b s i m u l i n k 环境自行设计控制器进行实验,然后服务器端再将实验结 硕士学位论文第一章绪论 果返回到客户端;文献 2 1 1 中提出的i p 网络虚拟实验室是以一台e t h e m e ts w i t c h 和多台运行l i n u x 操作系统的p c 机作为仿真设备,用户可以在w e b 上远程输入 l i n u x 网络操作命令,服务器端将仿真设备的结果返回给用户;文献 2 2 1 提出了一 种可以用于远程学习的基于j a v a 的电子仪器辅助教学系统。该系统包括信息模 块、设备模块、检测模块和f a q 模块四部分,通过它能帮助用户学习示波镜、信 号发生器以及逻辑分析器的使用方法。 1 3 组件测评虚拟实验室的提出 组件就是一个在软件体系中,能够独立地被更换替代,基于特定接口提供和 获取服务,符合整个体系结构标准,同其它软件单元相互交流协作的软件包或者 插件田j 。组件技术是一种更高层次的对象技术:它独立于语言,面向应用程序, 只规定组件的外在表现形式,而不关心其内部实现方法。只要遵循组件技术的规 范,各个软件开发商就可以用自己方便的语言去实现可被复用的组件。与传统方 法设计的固化的整体性系统不同,基于组件的设计是在面向对象的设计基础上发 展起来的一种软件设计方法阱l ,该方法采用层次化、模块化、标准化的思想,通 过组件间互相提出请求及提供服务的协同工作机制来分析和设计系统。由于组件 具有良好的独立性和插接性能,在采用组件方式搭建的系统中,系统的部分特性 能够被删除、扩充、升级或替换,使系统变得十分灵活。应用程序开发人员还可 以利用这些组件组合成新的应用软件系统,使开发更加简单、可靠、快速且成本 低廉。 组件技术的典型代表是j a v ab e a n 技术,它由s u n 公司研究开发,将j a v a 技术 和组件技术结合在一起,是基于j a v a 环境的、可视的、可操纵的、可重用的组件。 其具备如下特征:内省( i n t r o s p e c t i o n ) 机制,用户定$ 1 j ( c u s t o m i z a t i o n ) 机制,事件 ( e v e n t ) 机制,特性( p r o p e r t i e s ) 机制,保持( p e r s i s t e n c e ) 机制,设计时刻功能和运行 时刻功能分离。另外,j a v ab e a n 提供内查( i n t r o s p e c t i o n ) 和自定义( c u s t o m i z a t i o n ) 机制的支持。通过其功能强大的反射1 2 副( r e n e c t i o n ) 技术支持,可以简单而快速的 分析和配置一个j a v ab e a n 。将j a v ab e a n 组件技术应用于虚拟实验室,可以在可 视化环境中有效提高系统的重用性,减少应用开发的工作量,便于系统的升级和 扩充。越来越多的人开始学习和开发b e a n 组件,但通过研究发现,现在在虚拟实 验室领域,所有组件都是系统已经设计好的,用户只能通过组装它们运行虚拟实 验流程,还没有对组件进行设计和测评的平台出现。 目前,我们已实现的数字图像处理【1 8 】、数字信号处理【2 6 1 、数字通信原理【2 7 1 、 计算机网络【2 8 1 、入侵检测系统 2 9 1 、计算机组成原理和密码学虚拟实验室1 3 0 】,它 们都是采用j a v ab e a n 组件技术来开发具体的实验设备,把具有特定功能的对象 4 硕士学位论文第一章绪论 的方法和属性封装起来,形成实验组件,并提供一定的接口供外界访问。用户也 是利用已经开发好的组件,修改属性参数,通过组装它t f j $ i j 定实验流程,查看运 行结果。这样,用户只是使用j a v ab e a n 组件,对该组件的内部结构、设计方法 和具体实现并不了解,系统并没有为用户自行设计开发j a v ab e a n 组件提供良好 的平台。为添补这方面的空白,本文提出了组件测评虚拟实验室,包括组件的设 计、配置、提交、检查和测试,辅助了用户对组件的学习掌握,为学习j a v ab e a n 组件开发的用户提供了科学便利的设计环境。 1 4 论文的组织结构 论文共分为六章。 第一章绪论。这一章主要介绍基于i n t e m e t 虚拟实验室的研究背景和研究现 状,并结合当前虚拟实验室的开发过程与技术实现以及组件测评机制的欠缺性, 阐述了组件测评虚拟实验室平台开发的必要性及其重要意义。 第二章系统的总体设计。这一章根据系统的需求分析,提出了平台的体系结 构,划分出系统的功能模块,简述了系统的运行流程,并对系统的运行环境进行 了介绍。 第三章系统的详细设计与实现。这一章主要介绍组件测评虚拟实验室的具体 设计与实现。根据系统功能模块的划分,详细阐述了组件编辑配置提交、数据 管理、组件语法检查、组件接口检查、组件功能检查几个功能模块的设计思想和 实现原理。 第四章系统的关键技术。对平台实现过程中使用的关键技术进行了详细的 阐述,包括j a v a 反射、d a o 、h i b e r n a t e 、多线程和r m i 等。通过采用这些技 术,很好地解决了服务器端和客户端在需求分析阶段所要求解决的问题,为平 台的实现提供了技术支持。 第五章系统的运行实例。这一章以测评数字图像处理的图像相加组件为例, 介绍了系统的整个实验流程,并对实验结果进行了简要地分析。 第六章结束语。对所做的设计与开发工作进行了总结,并阐述了将来进一步 扩展与完善此虚拟实验平台需要做的工作。 5 硕士学位论文第二章系统的总体设计 第二章系统的总体设计 基于组件的软件开发技术是当今软件工程学科的重点研究方向之一,它的灵 活性、重用性、可维护性和高效性为现代化软件生产工程化的发展提供了良好的 技术支持。在充分利用i n t e m e t 的优势上,我们提出了组件测评虚拟实验平台,用 以满足当前的实验教学的需要。系统不但提供了对用户设计的算法组件测试评定 的机制,而且通过用户在线设计检澳l j j a v ab e a n 组件,培养了他们的实践动手能力 和设计创新能力,提高了基于组件的软件开发技术。另外,通过多个用户对功能 组件的多种设计实现方式,丰富扩充了现有平台的组件库,使虚拟实验平台的功 能不断得到完善。 2 1 系统的需求分析 根据平台的辅助用户设计组件和运行管理实验的需求,考虑到交互性、重用 性和可扩充性等方面,我们设计了一种基于组件技术开发的虚拟实验平台。该系 统以原有的数字图像处理虚拟实验室为参考依据,提供了对串行运行实验流程的 虚拟实验组件的测评功能。从用户的角度描述系统功能,该平台具有如下的功能 需求: 注册标准实验 图2 1 组件测评虚拟实验室系统用例图 6 硕士学位论文 第二章系统的总体设计 系统设置了三类用户,分别是普通用户、匿名用户和管理员用户。普通用户 可以进行用户注册认证,运行系统标准实验并查看运行结果,也可以根据系统标 准组件选择设计其中的某一个设备组件,在线进行组件的测评,并将测评结果保 存至数据库;匿名用户属于非系统用户,不必进行用户注册,以该角色登录的用 户,也具有运行标准实验和组件测评的功能,但系统不会保存其用户信息和组件 测评结果,用户操作完成退出系统前,系统将与该用户有关的所有文件和数据库 信息都删除;管理员用户是级别最高的用户,除了具有普通用户的所有功能外, 还负责综合管理虚拟实验平台的组件、实验、数据库、普通用户和匿名用户,包 括增加、修改和删除这些信息,并负责将标准组件和标准实验注册进虚拟实验平 台,扩充和完善系统的功能。根据以上的需求分析,对应的系统用例图如图2 1 所示。 综上所述,组件测评虚拟实验室应设计为一个开放的系统,不仅能通过现有 的标准设备组件和实验,为所有用户提供运行虚拟实验的环境,而且重点提供给 他们进行组件设计测评的机制。同时,该系统能够在管理员用户的管理维护下, 进行标准设备组件和实验的扩充。 2 2 系统的体系结构 根据系统的功能需求,得到系统的体系结构,如图2 - 2 所示。 服务器端 图2 - 2 组件测评虚拟实验室体系结构图 7 硕士学位论文 第二章系统的总体设计 该系统采用b s 模式,由客户端和服务器端两部分构成。客户端采用浏览器 中嵌入j a v aa p p l e t 的方式,使得系统的客户端具有j a v a 语言的平台独立性、安全 性等特点【3 。用户可以通过菜单栏、类文件编辑面板、组件提交窗1 :3 等,进行组 件设计和上传至服务器;通过类文件查看面板、类解析面板、类属性编辑面板等, 配置分析组件,检查组件接口,运行组件所在实验,显示测试结果。服务器端包 括w r e b 服务器、j a v ab e a n 组件库、x m l 配置文件、实验流程库、用户信息库等, 主要提供i n t e m e t 访问,发布标准组件,响应远程用户的请求,分析设计组件,返 回测评结果给远程用户等功能。 其中,j a v ab e a n 组件库中的每个组件作为一个独立的虚拟仪器,具有各自的 关键信息,包括输入属性和关键方法,实现特定的功能。系统按照它们的接口匹 配规则和功能特性,已经搭建好了一系列标准的实验流程库,为用户自行开发设 计的组件提供测评标准和依据。x m l 配置文件保存了j a v ab e a n 组件的关键信息 名称,解析x m l 后再利用j a v a 反射技术以实现组件的接口匹配检测。数据库采用 y s q l s e r v e r2 0 0 0 ,完成对系统中组件、实验、用户及测评结果的存储管理。 2 3 系统的功能模块 组件测评虚拟实验平台,在功能上分为服务器端和客户端两部分,客户端提 供友好可交互的实验界面,分别实现用户认证模块和组件设计模块的功能。服务 器端侦听并响应客户端用户的请求,进行事务处理,实现数据管理模块和组件检 图2 - 3 组件测评虚拟实验室功能模块图 8 硕士学位论文 第二章系统的总体设计 查模块的功能,并返回结果给客户端用户。根据系统需求,将其进一步细化,得 到系统的功能模块图,如图2 3 所示,模块内部和模块之间符合高内聚、低耦合 的特征。 用户认证模块:主要负责用户注册和登录系统,进行身分认证和权限控制。 系统设置了三类角色的用户,分别是普通用户、匿名用户和管理员用户。用户可 以根据不同的操作意图,选择普通用户或匿名用户登录后,进入系统进行操作。 管理员用户是系统的开发、管理和维护者,该类型用户的注册需要由已注册成功 的管理员授权和确认。 组件设计模块:用户在此实现组件的编辑、配置和提交。系统进行a p p l e t 数字签名后,用户可以选择本地设计好的j a v ab e a n 组件源文件,在客户端进行 编辑,填写组件配置信息,系统据此生成该用户的组件配置文件,再将该源文件 和配置文件打包,利用r m i 上传至服务器。 数据管理模块:实现对组件和用户的管理。虚拟实验平台建立数据库v l a b , 存储系统的组件、实验、用户和成绩信息。包括c o m p o n e n t 、e x p e r i m e n t 、u s e r 、 c o m p o n e n tp e r f o r m a n c e 四个表,采用s q ls e r v e r2 0 0 0 数据库实现,管理方便, 运行速度快,可靠性高。 组件检查模块:这是系统实现组件测评的关键模块,依次实现组件语法检查、 组件接口检查和组件功能检查。组件语法检查模块判断用户设计的组件源文件 ( 后缀为j a v a ) 是否具有语法错误,以保证类、属性和方法的定义等符合j a v a 的语 法规范;组件接口检查模块中,系统读取组件x m l 配置文件,综合利用j a v ab e a n 和反射技术分别解析待测评组件和标准组件的输入属性和关键方法,判断接口是 否符合系统组件要求;组件功能检查模块中,实验流程由组件运行队列和组件连 线集合组成,将待测评组件替代标准组件,嵌入对应的实验流程运行,对比标准 组件实验结果,得出测评结果。 2 4 系统的运行流程 根据系统的功能模块,设计出系统的运行流程,如图2 4 所示。客户端用户 通过a p p l e t 登录认证进入虚拟实验平台后,编辑、配置、打包组件类,并将该包 上传至服务器。服务器首先进行组件语法检查,编译通过后,接着进行组件接口 检查,接口检查通过后,再进行组件功能检查。在服务器对用户设计的组件进行 检查的每一步,系统都会返回给用户此步检查的结果,若检查通过,才会进行下 一步检查,否则,提示用户组件设计错误原因,并退出系统。可见,组件语法检 查、接口检查、功能检查是条件顺序执行的,后一项检查必须在其之前的所有检 查都通过的条件下才能执行。一旦某项检查出现错误,将不必进行后面的检查, 9 这样,准确定位了组件的错误原因,提高了系统对组件检查的效率。最后,在用 户退出系统前,系统将根据其登录类别保存或放弃组件测评结果。 图2 - 4 组件测评虚拟实验室系统流程图 2 5 系统的运行环境 系统运行环境包括客户端运行环境和服务器端运行环境。客户端需要具有解 释j a v a 字节码的虚拟机,服务器端提供w e b 服务器和数据库服务器。下面针对 这两个部分具体介绍系统运行环境。 1 客户端运行环境 l o 硕士学位论文 第二章系统的总体设计 虚拟实验室使用j 2 s e 语言开发,具有j a v a 语言特有的跨平台性。只要计算 机系统具有解释j a v a 字节码的j v m ,即可在该计算机上执行j a v a ,所以它可以 运行在几乎所有流行的操作系统之上。如微软的w i n d o w s 系列,如w i n d o w s9 8 、 w i n d o w sm e 、w i n d o w sn t 、w i n d o w s2 0 0 0 系列,s u n 公司的s o l a r i s ,苹果公司 的m a c i n t o s h 以及l i n u x 和u n i x 操作系统等。 用户可以通过两种方式进入虚拟实验室,第一种方式是使用支持j a v a 的浏 览器。不过n e t s c a p e 和i n t e m e te x p l o r e r 的不同版本支持不同版本的j a v a ,所以 使用i e 和n e t s c a p e 6 0 以下版本的浏览器需要用户自己安装相应版本的j a v a 插 件( j a v ap l u g - - i n ) 。目前虚拟实验室使用的j d k 的版本是1 5 。第二种方式是使 用w e bs t a n 技术进入虚拟实验室,采用w e bs t a r t 技术会自动安装相应的j d k 运行环境。 2 服务器端运行环境 服务器端主要提供w e b 服务器和数据库服务器,可以安装在一台w i n d o w s 2 0 0 0s e r v e r 或w i n d o w sn t 上。在w i n d o w s2 0 0 0s e r v e r 或w i n d o w sn t 上安装 w e b 服务器,可以选择i i s 5 0 或其他w e b 服务器,也可以选择其他平台充当w e b 服务器,如l i n u x + a p a c h e 等。由于t o m c a t 是免费的优秀服务器,开放源代码, 在该平台上,我们采用t o m c a t5 5 进行相关的组件、属性文件等发布的服务。并 在服务器上安装了s q ls e r v e r2 0 0 0 提供数据库服务。 2 6 本章小结 本章首先分析了该组件测评虚拟实验平台的功能需求,然后介绍了系统的体 系结构及功能模块的划分,并结合系统的功能和结构,简述了系统的运行流程, 最后简单地介绍了系统的运行环境,使读者对该组件测评虚拟实验室有了一个总 体直观的认识。 硕士学位论文 第三章系统的详细设计与实现 第三章系统的详细设计与实现 该组件测评虚拟实验室采用面向对象设计( o b j e c to r i e n t e dd e s i g n ) 方法从客 户端和服务器来进行设计和实现。系统的客户端软件采用j a v a a p p l e t ,主要实现 用户的操作界面和组件的编辑配置提交。系统的服务器端主要侦听并响应多用户 的请求,实现实验流程的设计和用户组件的测试评定功能。本章将依次从组件编 辑配置提交、数据管理、组件语法检查、组件接口检查和组件功能检查这几个模 块的具体实现来详细阐述系统的设计与实现。 3 1 组件编辑配置提交模块 该模块位于系统的客户端,在用户认证成功后进行,包括组件的编辑、配置 和提交。用户进行组件编辑配置提交的序列图如图3 1 所示。 o 址k , 圈圈圉圈。 图3 - 1 组件编辑配置提交序列图 编辑面板e d i t p a n e l 包括组件源文件选择文本域和组件源文件编辑面板,用 户在组件源文件选择文本域中选择本地设计好的j a v a 文件,通过了a p p l e t 数字 签名,系统会自动在组件源文件编辑面板中显示出该源文件的内容,用户也可以 在此继续编辑。源文件编辑好后,用户需要在组件类配置信息面板c o n f i g u r e p a n e l 1 2 硕士学位论文第三章系统的详细设计与实现 中填写该组件的配置信息,以生成用户配置文件。然后按下保存按钮s a v e b u t t o n , 当配置文件保存成功并生成打包文件后,才将上传按钮u p l o a d b u t t o n 激活,用户 按下它完成将组件包提交至服务器,也可以按下取消按钮中途取消操作,最后服 务器会将结果信息返回给用户。 3 1 1 利用a p p l e t 数字签名解决访问本地文件的限制 为安全起见,w 曲浏览器只允许a p p l e t 在支持该a p p l e t l 拘主机上读写数据, 而不能更改或探测本地主机,这是一种被称为“沙箱的保护机制,可以保护本 地主机不受不完善a p p l e t 的损害或泄露本地主机的敏感信息。所以,在客户端用 户上传组件时,a p p l e t d x 程序在默认的情况下会受到安全限制,无法操作本地文 件与服务器建立连接实现通信。为解决这个问题,本系统采用数字签名技术,利 用j a v a 2 权限、策略文件和访问控制器来提供微调和可配置访问控制。在服务器 端,首先安装配置好j d k 。然后在d o s 下,将当前目录转到系统程序的所在目录, a p p l e t 数字签名操作步骤如表3 1 所示。 表3 1a p p l e t 数字签名操作步骤 步骤说明具体操作 将该目录下所有c l a s s 打包成 m y a p p l e t j a r 在e n t r y h t m l q 嵌) k a p p l e t j a re v fm y a p p l e t j a r c l a s s 使用密码i m a g e v l a b 创建一个k e y t o o l - g e n k e y - k e y s t o r ei m a g e s t o r e - s t o r e p a s s 钥匙文件i m a g e s t o r e ,有效期i m a g e v l a b - a l i a si m a g e - v a l i d i t y3 6 5 为3 6 5 天 用密码i m a g e v l a b 产生签名时k e y t o o l - e x p o r t - k e y s t o r ei m a g e s t o r e s t o r e p a s s 所要用的证书文件i m a g e c e r tl m a g e v l a b - a l i a si m a g e - f i l ei m a g e e e r t 用钥匙i m a g e s t o r e 对打包文j a r s i g n e r - k e y s t o r ei m a g e s t o r e - s t o r e p a s si m a g e v l a b 件m y a p p l e t j a r 进行签名m y a p p l e t j a ri m a g e 新建策略文件a p p l e t p o l i c y ,k e y s t o r e ”f i l e :f :i m a g e _ f i n a l s o u r e e i m a g e s t o r e , j k s ”; 让由i m a g e 签名的a p p l e t 拥有g r a n ts i g n e d b y ”i m a g e ” 本地文件的读权限 p e r m i s s i o nj a v a i o f i l e p e r m i s s i o n ” ”,”r e a d ”;) ; 一 修改目录$ j a v a h o m e 0 r e l i bj a v a s e c u r i t y 中,找到下面两行: s e c u r i t y 下的j a v a s e c u r i t y 文p o l i c y u r l 1 = f i l e :$ j a v a h o m e l i b s e c u r i t y j a v a p o l i c y 件,定义新的安全策略文件p o l i c y u r l 2 = f i l e :$ u s e r h o m e j a v a p o l i c y 的位置 在下面添写第三行: p o l i e y u r l 3 = f i l e :f :i m a g e _ f i n a l s o u r c e a p p l e t p o l i c y 1 3 硕士学位论文第三章系统的详细设计与实现 首先使用签名机制对包m y a p p l e t j a r 进行签名,使该a p p l e t 来自值得信赖的 提供者且未受到篡改。然后扩展j a v a s e c u r i t y p e r m i s s i o n 抽象类以实现对目标资源 的访问控制,在安全策略文件a p p l e t p o l i c y 中设置由i m a g e 签名的a p p l e t ,使其拥 有本地文件的读权限。这种访问是在安全管理器的监控下完成的,对于没有在安 全策略文件中许可的权限,抛出安全异常( s e c u r i t y e x c e p t i o n ) ,安全管理器验证不 通过,这样安全性和灵活性同时得到了保证,解决7 a p p l e t 访问本地资源的限制。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论