基于J2EE架构的Java语言学习平台的设计与实现_第1页
基于J2EE架构的Java语言学习平台的设计与实现_第2页
基于J2EE架构的Java语言学习平台的设计与实现_第3页
基于J2EE架构的Java语言学习平台的设计与实现_第4页
基于J2EE架构的Java语言学习平台的设计与实现_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、基于J2EE架构的Java语言学习平台的设计与实现摘要本文提出了一种基于J2EE的Java语言学习平台的设计模型和实现方式。该系统基于J2EE平台,结合统一建模语言设计了客户端和效劳端的关键功能模块;利用多线程技术及同步控制理论实现了更加准确的逻辑错误检测。结合面向对象的工程化设计思想和反射技术解决庞大的测试用例调度问题,进步了系统的扩展性和强健性。系统实现的面向对象编程环境、逻辑功能检测等效劳为Java语言学习者提供了更加完善的学习平台,弥补了现有的支撑平台无法进展功能检测的缺乏。关键词统一建模语言;面向对象;逻辑检错;Java语言学习;J2EE1引言J2EE与传统的互联网应用程序模型相比有

2、着不可比较的优势1,这种应用建模系统使用UL语言设计底层架构、数据格式以及数据传输之间的连接。开发者只需关心程序的业务逻辑,把软件开发的注意焦点从代码编写层次进步到了设计建模这一更高层次的抽象2,进步了应用开发的效率和程序的可用性。Java语言是计算机专业的必修课程,它功能强大,面向对象,跨平台,面向网络应用。只是初学者学习起来有一定难度3。尤其在远程教育中,老师无法面对面辅导学生,更加加大了学习者的难度。如何更好地掌握面向对象的概念,理清编程思路,进步编程经历,是一个Java学习软件设计要考虑的问题,是在设计Java语言平台的过程中要考虑的众多问题之一。当前,基于J2EE的各类学习平台正在不

3、断开发和研究中。文献4给出了一种基于网络的Java语言学习支撑平台,主要实现用户程序的编译运行,提供老师与学生的交互功能。文献5和6介绍了基于组件开发的虚拟实验室平台,可定制特定课程的虚拟实验。文献7和8分别提出了/S形式下虚拟编程实验室和应用于计算机编程的交互式学习支撑平台。这些平台虽然针对特定课程实现了交互性和开放性,但在详细施行过程中,只提供了简单的编译运行环境,假设遇到逻辑错误与棘手的编译错误,系统无法提供有效帮助,需通过老师端人为解决,缺乏程序功能性检测效劳。因此,本文提出了基于J2EE的Java语言学习支撑平台。它提供了面向对象的编程环境,完善的编译检错效劳和功能强大的逻辑检错效劳

4、,能正确定位编译错误信息,能检测程序的功能完好性。本文采用面向对象的设计开发方法开发,使Java语言学习平台的系统性、灵敏性、强健性、实时性和可扩展性得到非常好的表达,降低了软件开发的难度,并且有助于培养和进步Java语言学习者分析问题和解决问题的理论动手才能。2系统架构与功能基于J2EE的Java语言学习平台的系统架构如图1所示。系统采用/S形式开发,客户端(lients)和效劳端(Servers)通过互联网进展通信连接。基于J2EE的客户端程序主要提供Java语言学习的编程环境和实战练习效劳。基于J2EE的效劳器端程序主要提供用户管理效劳、文件效劳和逻辑检错效劳,并包含四个数据库:用户数据

5、库、用例数据库、完型填空数据库和试题数据库。数据库统一由基于J2EE的数据库操作程序进展标准管理。图1基于J2EE的Java语言学习平台的系统架构平台的功能模块如图2所示。客户端主要包括五个功能模块:用户登录、编译检错、逻辑检错、完型填空和面向对象编程辅助设计。效劳器端主要包括三个功能模块:用户管理、数据库管理和逻辑检错效劳。其中,面向对象编程辅助设计和逻辑检错是本系统最主要的两大功能。面向对象编程模块主要是向用户提供可视化类图编辑环境并能生成代码,同时也能根据用户写的代码相应地生成类图并展示类图的构造。着重突出了Java程序的面向对象特点,让用户直观理解Java语言的特色。逻辑检错模块主要对

6、客户端提交的Java语言源文件进展平安检测和编译运行,利用重定向技术和数据库管理技术对程序进展逻辑检测,最后将检测分析的结果反应给客户端。图2基于J2EE的Java语言学习平台的系统模块用户可以通过客户端学习Java语言的相关知识,在客户端提供的面向对象编程环境中编写程序,当用户编写了一个完好的程序后,通过代码自动转化为类图,并展示类图的构造。用户也可先设计类图然后通过类图自动生成代码框架,余下的代码由用户通过手动进展编写。当用户完成了代码的编辑工作之后就通过编译检错功能来进展编译检错,并将编译结果显示在程序界面下的帮助栏内。假设遇到理解决不了的错误,通过系统提供的编译错误的帮助功能,得到编译

7、错误提示信息,改正程序的语法错误,得到可运行的程序,然后通过互联网将源程序代码提交效劳器端进展逻辑检测,判断其程序的功能是否到达所需的要求,根据反应信息,对原有程序进展相应修正,到达编译与功能的双重正确性。3面向对象编程模块的设计与实现面向对象编程模块主要包含两个功能,第一是从通过程序获得类图:用户在编辑框里写出代码点击界面上的生成类图就可以在界面上生成类图。详细实现方案是:模块先分析用户编写的Java源文件,调用Jdk里的java编译声明,建立类程序的内部表示,包括类层次和“使用关系。然后对源程序再进展词法分析,将结果与java分析的结果比较和综合。得出相应的类的构造。调用Javad从源代码

8、的文档注释中获取用户的文档,把生成的类成员的信息保存在文档当中。生成类图,用不同的箭头和连线表示类之间的关系。类图生成过程流程图如图3所示。图3代码生成类图过程流程图第二是类图生成代码:将类图画在主窗口的面板上,将类与类之间的关系用箭头联络。并生成类属性对话框,在对话框里填写相应的辅助信息就可以生成相应的代码框架。模块设计主要包括四个子功能:编程界面的实现,包括主菜单设计、工具栏的设计和控制面板的设计。类图实现。在面板上表示的类图通过重写Java语言里的JLABEL实现,并在JLABEL里直接定义了句柄功能。通过调整句柄的位置实现类图的放大和缩校类与类之间连线的实现和箭头的实现,来可视化地表示

9、类与类之间的关系,并由事先定义好的LineRenderer接口,在设置箭头的范围、位置、大校代码生成。读取用户输入信息,并添加注释信息,输出到控制面板上。类图生成代码的流程图如图4所示。图4类图生成代码过程流程图通过对类图的设计与实现。我们得到了面向对象的编程模块统一视图。它遵循域模型一样的图解惯例。类图既显示操作名称也显示属性,说明了各局部之间的关系。它显示了系统分类器的静态构造;并为其它构造图提供了根本记号。转贴于论文联盟.ll.4逻辑检错功能的设计与实现系统提供的逻辑检错功能主要是向初学者提供功能完好性检测效劳。对有些初学者来说,他根据试题的要求编完了一个程序,并在客户端编译通过了编译器

10、,这个时候需要判断是否完成了设计所要求的功能。我们在效劳器端设计了庞大的测试用例库,学生从效劳器端的试题库读取相应的试题进展练习,我们把不同的试题进展了分类,对于不同的题目我们调用不同的测试用例进展检测,针对不同的程序采用不同的分析方法。同时,在进展程序检测的过程中,也考虑了系统的平安性。提供了平安检测机制。系统根据面向对象程序设计方法和反射技术实现了复杂的测试用例的调度。逻辑检错的实现主要由文件管理、编译检测、平安检测、输入输出接收、用例检测和反应信息六个效劳功能组成。一个完好的程序文件从提交到效劳器开场就执行相应的功能,当前功能段报错,说明源程序有问题,将不能进展下一层的功能检测效劳。系统

11、将把程序返回给客户端,保证系统的平安性和实时性。逻辑检错模块的序列如图5所示。图5逻辑检错功能模块的序列图文件管理主要接收处理客户端传来的Java源程序文件。编译检测模块对传来的Java源程序文件进展编译运行,假如程序存在错误,那么返回给客户端程序,提示用户先进展编译检错。如编译通过,那么进入平安性检错。判断程序可能出现的死循环状态,如出现死循环状态,那么效劳器将会死机。本系统利用J2EE平台提供的Press组件特性,运行可执行文件。Press组件可获取当前运行进程的信息,包括线程集、加载模块(.dll和.exe文件)和性能信息。根据进程的管理信息,判断进程是否完毕。系统周期性检测运行进程一次

12、,假设已正常完毕,那么表示程序不存在死循环,自动进展下一步操作,假设超过设定时间,进程仍未完毕,那么说明该程序是一个死循环或者恶意代码,系统自动调用Press组件的强迫中断方法,完毕进程,同时进展其它相关平安操作。输入输出接收确保Java语言源程序代码的编译正确性和平安性的前提下进展输入输出重定向操作。系统读取源程序代码进展分析,接收原有的键盘输入输出及文件输入输出操作,比方,将键盘输出函数Syste.ut类交换为Java.i.FilEinputStrea类。键盘输出类Syste.ut转化为JAVA.i.FileutputStrea类。成功的将原有的程序输入输出转化为系统指定的输入输出,对后面

13、的用例检测(aseheker)提供支持。用例检测模块和数据库通过用例调度机制进展交互。主要判断程序的逻辑正确性。系统通过调用Jdk包,对程序的源程序进展编译运行,并通过重定向处理,交换为在效劳器上运行的.lass文件。同时,通过测试用例调用数据库,生成相应的测试用例类,对程序进展测试。系统通过分析检测的结果,将结果返回给用户。用例调度机制是逻辑检测功能得以实现的重要组成局部,系统采用面向对象开发方法,具有可重用性、灵敏性和扩展性等优点。其用例图如图6所示。不同的程序用不同的测试用例和方法。假如为同一类题目单独编制测试用例和测试函数,不利于程序的晋级和扩展。因此,程序根据面向对象模块化的思路,将

14、每类题目组成一个用例测试类库,通过统一的调度模块调用相应的类信息来生成一个详细的事例对象。图6用例调度机制的用例图类实例的动态创立是此机制实现的关键。随着程序类型的增加,系统代码将会越来越复杂。系统为了保证软件工程的灵敏性和扩展性,采用了工厂设计形式、条件外置和反射技术来实现。工厂设计形式为系统构造提供了非常灵敏强大的动态扩展机制;在程序中通过用abstratTl类做整个系统工具类的模板。然后用tl类来做实体类。publilasstlipleentsabstratTl,使得程序的灵敏性得到很好的表达。条件外置,即通过应用程序的配置文件来实现,保证了系统信息管理的统一性;而反射技术,可以使用反射

15、动态地创立类型的实例,将类型绑定到现有对象,当程序关闭或用户要保存程序时,类图信息也动态的保存。当程序需要用到类图的信息时可以知道这个类的所有属性和方法;对于任意一个对象,都可以调用它的任意一个方法。程序用lass.frNae()来获取类名lass=lass.frNae(lassString);在程序中当检测一个程序的逻辑错误时,从相应的用例数据类库动态调用一个特定类型的定义,来实现实例对象。假设要扩大不同的测试用例类,那么不必改变系统的架构,只要往测试用例类库中添加相关的类型信息即可,保证了系统的强健性和扩展性。5系统的运行实例基于J2EE的Java语言学习平台为Java语言的学习者提供了一

16、个全真的编程环境,基于可视化的类图表示功能和强大的逻辑检错功能,以及丰富的齐全的学习资料。学习者通过这个平台,可以很好地进展编程理论,快速掌握编程技巧,养成良好的编程习惯和思想。Java语言的学习者在登录以后,进入客户端界面,客户端界面那么是面向对象编程的主界面。左边的树型目录是类图的创立、连接和编译。右边是面板,学习者在面板上可以拖动图标,并可以用连线表示类图的关系。学生通过生成类图,构建好类图之间的关系。然后双击相应的类图图标,下面的窗口一中自动得到相应的代码框架。如图7所示。假如想要程序实现更多的功能可以在类图框架里填写相应的代码。点击编译按钮可以编译执行。同时面板中也可以得到相应的类图

17、图标。窗口二是错误提示窗口,显示编译错误和逻辑错误的提示信息。学生可以通过编译检错和逻辑检错功能来实现其所编程序的正确性和完好性。图7系统运行后客户端界面在实际应用情况下。学生对Java语言的面向对象的特性得到更加深化的理解。系统错误提示更加简洁明了,准确性也明显进步。逻辑检测功能的操作也同样简单,客户端通过提交程序模块将.java源程序提交到效劳器端,效劳器端经分析处理后,通过网络将检测结果反应显示到客户端的功能检测栏。功能检测栏在Java的帮组文档区。6结论本文在对其它Java语言学习平台深化分析研究的根底上,结合了面向对象程序开发技术,并用UL语言中的用例图和序列图描绘了特定功能模块。详

18、细阐述了基于J2EE的Java语言学习平台的系统架构和实现方案。该平台为Java语言的初学者提供了可视化的面向对象的编程环境,完善的编译检错效劳和强大的逻辑检错功能。面向对象编程模块不但提供了可视化的类图表示功能,而且还提供了程序代码自动生成类图的功能。让用户更加深化的掌握面向对象编程的技术。系统提供的逻辑检错功能为用户检测程序的功能完好性和平安性,解决了Java语言学习者无法定位逻辑错误的困扰。平台采用面向对象的工程化构造思想设计,运行机制兼容性强,可以为远程教育中开发其它语言的学习支撑平台提供很好的参考模型。参考文献1D.Alur,J.rupi,andD.alks.reJ2EEPatterns,BestPratiesandDesignStrategies.SunirsystePress,sendeditin,2P.Niklaidu,N.Alexpulu,A.Tsadias,PA.Dais,PD.AnagnstpulsAdatingEISUL2.0PrfileusingastandardULdelingtlJISEA.2022.133印旻Java语言与面向对象程序设计北京:清华大学出版社,2000.6LBenetazz,Bert,FFerraris,AFerrer,ffelli,Parvis,VPi

温馨提示

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

评论

0/150

提交评论